:root{color:#172b3a;font-synthesis:none;--ink:#172b3a;--muted:#596b7a;--line:#dce3e9;--accent:#146d65;--paper:#fff;--nav:#1c3040;--soft:#f7f9fa;--tint:#e9f4f0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f3f5f7;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;min-height:42px;padding:8px 13px;font-size:.875rem}button:hover:not(:disabled){background:#edf2f4}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #228d83}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical}label{flex-direction:column;gap:6px;font-size:.875rem;font-weight:500;display:flex}label small{font-weight:400}fieldset{border:0;min-width:0;margin:0;padding:0}h1,h2,p{margin:0}h1{letter-spacing:-.04em;font-size:1.7rem;font-weight:550;line-height:1.25}h2{letter-spacing:-.01em;font-size:1.075rem;font-weight:550}strong{font-weight:550}small,.muted{color:var(--muted)}small{font-size:.8rem}.muted{margin-top:8px;font-size:.875rem;line-height:1.6}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover:not(:disabled){background:#105a54}.text-button{color:var(--accent);background:0 0;border:0;padding:6px 0}.text-button:hover:not(:disabled){background:0 0;text-decoration:underline}.full{width:100%}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.end{justify-content:flex-end;margin-top:20px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.75rem;display:block}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.25rem;font-weight:550;display:flex}.brand-mark{color:#9de0d6;background:#314d5c;border-radius:8px;place-items:center;width:34px;height:38px;font-size:1.8rem;display:grid}.app{grid-template-columns:205px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--nav);color:#eef5fa;flex-direction:column;gap:34px;padding:26px 14px;display:flex}.sidebar .brand{padding:0 7px}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav button{color:#b7c8d4;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.sidebar nav button span{text-align:center;width:20px;font-size:1.125rem}.sidebar nav button[aria-current],.sidebar nav button:hover{color:#eef5fa;background:#314d5c}.side-foot{color:#b7c8d4;border-top:1px solid #314d5c;margin-top:auto;padding:18px 8px 0;font-size:.75rem}.side-foot strong{color:#eef5fa;margin-bottom:4px;font-size:.875rem;display:block}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:15px 28px;display:flex}.breadcrumb{color:var(--muted);font-size:.8rem}.breadcrumb span{color:#a2b0ba;margin:0 8px}.user{align-items:center;gap:10px;min-width:0;font-size:.8rem;display:flex}.user>div{overflow-wrap:anywhere}.user small{font-size:.75rem;display:block}.avatar{background:var(--tint);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.logout{margin-left:8px;font-size:.8rem}.content{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:30px}.heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.panel{border:1px solid var(--line);background:var(--paper);border-radius:9px;min-width:0;padding:20px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.kpi span{color:var(--muted);font-size:.875rem}.kpi strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-top:8px;font-size:1.85rem;display:block}.scroll{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.project-list{max-height:540px}.project-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;border-radius:0;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:17px 3px;display:flex}.project-row:last-child{border-bottom:0}.project-row>div:first-child{overflow-wrap:anywhere;min-width:0}.project-row .project-name{font-size:1rem;font-weight:550;display:block}.project-title{color:var(--muted);margin:4px 0;font-size:.875rem;display:block}.project-right{align-items:center;gap:14px;max-width:40%;display:flex}.project-right>span:last-child:not(.tag){color:var(--muted);font-size:1.5rem}.tag{white-space:normal;border-radius:5px;padding:5px 9px;font-size:.8rem;display:inline-flex}.blue{color:#295ba0;background:#eaf1fc}.amber{color:#80500b;background:#fff5e5}.violet{color:#6a44a0;background:#f0ebfb}.teal{color:#146d65;background:#e9f4f0}.orange{color:#9a491a;background:#fff0e4}.pink{color:#98345c;background:#fbeaf1}.gray{color:#556472;background:#edf0f3}.empty{text-align:center;padding:38px 12px}.empty p{color:var(--muted);margin-top:8px;font-size:.875rem}.filters{grid-template-columns:minmax(0,1fr) 235px;gap:18px;margin-bottom:14px;display:grid}.two-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.stack{gap:18px;display:grid}.description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.75}.details{max-height:290px;margin:0}.details>div,.meta-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;font-size:.875rem;display:flex}.details>div:last-child,.meta-line:last-child{border-bottom:0}.details dt,.meta-line span{color:var(--muted);flex-shrink:0;max-width:46%}.details dd{text-align:right;overflow-wrap:anywhere;margin:0}.meta-line strong{text-align:right;overflow-wrap:anywhere}.period{margin:16px 0;font-size:1rem}.back{margin-bottom:15px}.tabs{border-bottom:1px solid var(--line);margin-bottom:22px;display:flex}.tabs span{color:var(--accent);border-bottom:2px solid var(--accent);padding:10px 12px;font-size:.875rem}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.span{grid-column:1/-1}.error,.notice{overflow-wrap:anywhere;border-radius:7px;margin:12px 0;padding:13px 16px;font-size:.875rem}.error{color:#a43439;background:#fff0f0;border:1px solid #efd5d6}.error button{margin-left:12px}.notice{background:var(--tint);color:var(--accent);border:1px solid #c9e3db}.loading{min-height:50vh;color:var(--muted);place-items:center;display:grid}.workspace-foot{color:var(--muted);border-top:1px solid var(--line);padding:16px 30px;font-size:.75rem}.access-panel{text-align:center;max-width:600px;margin:35px auto;padding:38px}.access-panel .primary{margin-top:24px}.lock-mark{color:var(--accent);margin-bottom:16px;font-size:2rem;display:block}.auth-shell{background:#f3f5f7;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:30px 16px;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-width:460px;padding:34px;box-shadow:0 10px 30px #172b3a08}.auth-card .brand{margin-bottom:40px}.auth-card h1{font-size:1.65rem}.auth-card form{gap:18px;margin-top:26px;display:grid}.auth-card form .error,.auth-card form .notice{margin:0}.auth-links{flex-direction:column;align-items:flex-start;gap:4px;margin-top:18px;display:flex}.auth-foot{color:var(--muted);margin-top:20px;font-size:.8rem}dialog{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;width:calc(100% - 32px);max-width:510px;max-height:90dvh;padding:26px;overflow:auto}dialog::backdrop{background:#10233280}dialog form{gap:18px;display:grid}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.dialog-heading button{min-width:42px;font-size:1.3rem}dialog .actions{margin-top:0}@media (width>=1500px){.content{padding-top:38px}.project-list{max-height:620px}}@media (width<=1050px){.app{grid-template-columns:180px minmax(0,1fr)}.topbar{padding:15px 20px}.breadcrumb{display:none}.user{margin-left:auto}.content{padding:24px 20px}.two-columns{grid-template-columns:1fr}.details{max-height:290px}}@media (width<=700px){.app{display:block}.sidebar{gap:16px;padding:14px 16px}.sidebar .brand{padding:0;font-size:1.15rem}.sidebar nav{flex-direction:row;gap:4px}.sidebar nav button{justify-content:center;gap:7px;padding:8px;font-size:.8rem}.side-foot{display:none}.topbar{min-height:65px;padding:12px 16px}.user{width:100%}.user>div{flex:1}.avatar{display:none}.content{padding:24px 16px}.heading{flex-wrap:wrap;gap:16px}.heading h1{font-size:1.5rem}.kpis{gap:8px}.kpi{padding:12px 10px}.kpi span{font-size:.75rem}.kpi strong{font-size:1.6rem}.panel{padding:16px}.filters{grid-template-columns:1fr;gap:12px}.project-row{align-items:flex-start;gap:8px}.project-right{max-width:42%}.project-right>span:last-child:not(.tag){display:none}.form-grid{grid-template-columns:1fr}.span{grid-column:auto}.auth-card{padding:26px}.auth-card .brand{margin-bottom:30px}.workspace-foot{padding:16px}.project-list{max-height:520px}.access-panel{padding:28px 20px}.panel-head{flex-wrap:wrap}.details>div{font-size:.875rem}.sidebar nav button span{display:none}}@media (prefers-reduced-motion:no-preference){button{transition:background .12s,color .12s}}.project-open{text-align:left;overflow-wrap:anywhere;background:0 0;border:0;flex:1;min-width:0;padding:0}.project-open:hover:not(:disabled){color:var(--accent);background:0 0}.status-select{border:0;max-width:220px;min-height:42px;padding:7px;font-size:.8rem}.status-select option{color:var(--ink);background:#fff}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px}.tabs button[aria-current]{border-bottom-color:var(--accent);color:var(--accent)}.survey-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.survey-toolbar .muted{margin:0}.survey-columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.survey-columns>.panel:only-child{grid-column:1/-1;width:100%;max-width:780px}.survey-sections{background:var(--soft);border:1px solid var(--line);border-radius:8px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.survey-sections button{background:0 0;border-color:#0000;flex:1;min-width:0;padding:8px 6px}.survey-sections button[aria-pressed=true]{background:var(--accent);color:#fff}.survey-table-head,.survey-row{grid-template-columns:minmax(0,1fr) minmax(125px,42%);align-items:center;gap:12px;display:grid}.survey-table-head{color:var(--muted);background:var(--soft);padding:10px 12px;font-size:.75rem}.survey-rows{max-height:520px}.survey-row{border-bottom:1px solid var(--line);min-height:52px;padding:4px 12px}.survey-row input,.survey-row select{min-height:42px;padding:6px 8px}.survey-row input{text-align:right;font-variant-numeric:tabular-nums}.survey-row span{overflow-wrap:anywhere}.survey-other{min-height:80px}.survey-person{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.survey-help{margin-top:16px}.survey-columns fieldset:disabled input,.survey-columns fieldset:disabled select,.survey-columns fieldset:disabled textarea,.fee-fields input:disabled,.fee-fields select:disabled{opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink);background:#f7f9fa}.fee-fields{gap:16px;display:grid}.fee-fields .payment-pending,.fee-fields .payment-pending:disabled{color:#a43439;-webkit-text-fill-color:#a43439;background:#fff0f0;border-color:#efd5d6}.fee-fields .payment-received,.fee-fields .payment-received:disabled{color:#146d65;-webkit-text-fill-color:#146d65;background:#e9f4f0;border-color:#c9e3db}.credit-total{background:var(--tint);color:var(--accent);border-radius:7px;margin-top:22px;padding:16px}.credit-total span{font-size:.8rem;display:block}.credit-total strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.6rem;display:block}@media (width<=1050px){.survey-columns{grid-template-columns:1fr}.survey-columns>.panel:only-child{max-width:none}}@media (width<=700px){.survey-toolbar{flex-direction:column;align-items:flex-start}.survey-table-head,.survey-row{grid-template-columns:minmax(0,1fr) minmax(116px,43%);gap:8px;padding-left:6px;padding-right:6px}.survey-sections button,.survey-row{font-size:.8rem}.survey-person{grid-template-columns:1fr}.survey-rows{max-height:520px}}.quote-table-head,.quote-line{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:20px;padding:8px 12px;display:grid}.quote-table-head{color:var(--muted);background:var(--soft);font-size:.8rem}.quote-table-head>span:last-child{text-align:right}.quote-line input{text-align:right;font-variant-numeric:tabular-nums}.quote-lines:disabled input{opacity:1;background:var(--soft);color:var(--ink);-webkit-text-fill-color:var(--ink)}.quote-totals{margin-top:18px}.quote-totals>div{justify-content:space-between;gap:20px;padding:12px;font-size:.9rem;display:flex}.quote-totals strong{white-space:nowrap;font-variant-numeric:tabular-nums}.quote-final{background:var(--tint);color:var(--accent);border-radius:7px}.quote-final strong{font-size:1.15rem}.quote-totals .quote-extra{align-items:flex-start}.quote-extra span{gap:4px;display:grid}.quote-extra small{color:var(--muted);font-size:.82em;font-weight:400;display:block}.quote-terms{border-top:1px solid var(--line);margin-top:26px;padding-top:18px}.quote-terms h2{margin:0 0 12px}.quote-terms h3{color:var(--accent);margin:16px 0 5px;font-size:.95rem}.quote-terms p,.quote-terms li{font-size:.9rem;line-height:1.55}.quote-terms p{margin:0}.quote-terms ul{margin:8px 0;padding-left:22px}.approval-history{max-height:264px}.approval-entry{border-bottom:1px solid var(--line)}.approval-entry summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:16px 8px;display:flex}.approval-entry summary small{display:block}.approval-entry summary:before{content:"›";color:var(--accent)}.approval-entry[open] summary:before{content:"⌄"}.approval-entry summary>span{flex:1}.approval-entry dl{margin:0;padding:0 12px 12px}.approval-entry dl>div{justify-content:space-between;gap:16px;padding:8px 0;font-size:.8rem;display:flex}.approval-entry dd{white-space:nowrap;margin:0}.attention{color:#bc353b}.kpis.with-approvals{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=700px){.quote-table-head,.quote-line{grid-template-columns:minmax(0,1fr) 115px;gap:10px;padding:8px 0}.quote-line{font-size:.8rem}.quote-totals>div{padding:12px 8px;font-size:.8rem}.quote-final strong{font-size:1rem}.kpis.with-approvals{grid-template-columns:repeat(2,minmax(0,1fr))}}.material-table-scroll{max-height:408px;overflow:auto}.material-table{border-collapse:collapse;width:100%;min-width:660px;font-size:.8rem}.material-table th{background:var(--soft);z-index:1;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;height:48px;color:var(--muted);padding:10px;font-weight:500;position:sticky;top:0}.material-table td{border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;height:72px;padding:10px}.material-table tbody tr:last-child td{border-bottom:0}.material-table .tag{max-width:140px}.material-name{text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:235px;display:block;overflow:hidden}.paid-check{flex-direction:row;align-items:center;gap:8px;min-width:140px;font-size:.8rem;display:flex}.paid-check input{width:20px;height:20px;min-height:20px;accent-color:var(--accent)}.paid-check.paid{color:var(--accent)}.tag.payment-pending{color:#a43439;background:#fff0f0}.material-dialog{max-width:660px}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.extra-work-list{gap:14px;max-height:720px;padding-right:4px;display:grid}.extra-work-card{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:18px}.extra-work-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.extra-work-heading h3{margin:0;font-size:1rem;font-weight:550;line-height:1.35}.extra-work-card .description{margin-top:14px;font-size:.9rem;line-height:1.6}.extra-work-meta{color:var(--muted);margin-top:12px;font-size:.75rem}.extra-work-totals{background:var(--line);border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:16px;display:grid;overflow:hidden}.extra-work-totals>div{background:#fff;padding:12px}.extra-work-totals span{color:var(--muted);font-size:.75rem;display:block}.extra-work-totals strong{font-variant-numeric:tabular-nums;margin-top:4px;display:block}.extra-materials{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:16px;padding:12px}.extra-materials>strong{font-size:.8rem}.extra-materials>div{justify-content:space-between;gap:16px;padding-top:9px;font-size:.8rem;display:flex}.extra-work-actions{margin-top:16px}.extra-approvals{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.extra-approvals summary{color:var(--accent);cursor:pointer;font-size:.8rem}.extra-approvals>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:3px 16px;padding:10px 0;font-size:.8rem;display:grid}.extra-approvals>div:last-child{border-bottom:0}.extra-approvals small{grid-column:1/-1}.extra-work-panel dialog{background:#fff}@media (width<=700px){.extra-work-card{padding:14px}.extra-work-heading{gap:8px}.extra-work-totals{grid-template-columns:1fr}.extra-work-totals>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.extra-work-totals strong{margin:0}.extra-work-actions button{flex:1}.extra-materials>div{align-items:flex-start}.extra-work-list{max-height:640px}}.work-log-list{gap:12px;max-height:620px;padding-right:4px;display:grid}.work-log-entry{border:1px solid var(--line);background:var(--soft);border-left:4px solid #8ba0ae;border-radius:8px;padding:16px}.work-log-entry.work{border-left-color:#228d83}.work-log-entry.obstacle{background:#fffaf6;border-left-color:#d36d31}.work-log-entry.note{border-left-color:#4d7cb8}.work-log-heading,.work-log-heading>div,.work-log-footer{align-items:center;gap:10px;display:flex}.work-log-heading,.work-log-footer{justify-content:space-between}.work-log-heading time{color:var(--muted);white-space:nowrap;font-size:.8rem}.work-log-entry .description{margin:14px 0;font-size:.9rem;line-height:1.6}.work-log-footer{align-items:flex-end}.danger-button{color:#a43439;border-color:#efd5d6}.danger-button:hover:not(:disabled){background:#fff0f0}.obstacle-count{background:var(--soft);min-width:38px;height:38px;color:var(--muted);border-radius:50%;place-items:center;font-weight:600;display:grid}.obstacle-count.active{color:#9a491a;background:#fff0e4}.obstacle-list{max-height:194px;padding-right:4px}.obstacle-list>div{border-bottom:1px solid var(--line);padding:13px 4px}.obstacle-list>div:last-child{border-bottom:0}.obstacle-list>div>div{justify-content:space-between;gap:14px;font-size:.8rem;display:flex}.obstacle-list time{color:var(--muted);white-space:nowrap}.obstacle-list p{margin-top:7px;font-size:.875rem;line-height:1.55}.empty.compact{padding:20px 8px}.work-log-overview{margin-top:18px}.overview-events{max-height:246px;margin-top:12px}.overview-events>div,.overview-obstacles>div{border-bottom:1px solid var(--line);padding:12px 2px}.overview-events>div:last-child,.overview-obstacles>div:last-child{border-bottom:0}.overview-events p,.overview-obstacles p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 4px;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.overview-obstacles{max-height:170px;margin-top:12px}.overview-obstacles>div{border-left:3px solid #d36d31;padding-left:12px}.work-log-panel dialog{background:#fff}@media (width<=700px){.work-log-heading,.work-log-footer{flex-direction:column;align-items:flex-start}.work-log-footer .actions{width:100%}.work-log-footer .actions button{flex:1}.work-log-list{max-height:560px}.work-log-panel .panel-head>.actions{width:100%}.work-log-panel .panel-head>.actions button{flex:1}.obstacle-list{max-height:190px}}.task-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.task-filters button{min-height:36px;padding:6px 11px;font-size:.8rem}.task-filters button[aria-pressed=true]{background:var(--tint);color:var(--accent);border-color:#c9e3db}.task-list{gap:12px;max-height:592px;padding-right:4px;display:grid}.task-card{border:1px solid var(--line);background:var(--soft);border-left:4px solid #3b78c2;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px;display:flex}.task-card.in_progress{border-left-color:#ca7b18}.task-card.done{background:#f5faf8;border-left-color:#228d83}.task-card.overdue{border-left-color:#bc353b}.task-main{flex:1;min-width:0}.task-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.task-heading h3{margin:0;font-size:1rem;font-weight:550;line-height:1.4}.task-heading>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.task-card .description{margin-top:10px;font-size:.875rem;line-height:1.6}.task-meta{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:13px;font-size:.78rem;display:flex}.task-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:220px;display:flex}.task-actions select{width:auto;min-width:120px;min-height:42px;font-size:.8rem}.task-overview{margin-top:18px}.task-count{background:var(--tint);min-width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;font-weight:600;display:grid}.overview-tasks{max-height:214px;margin-top:12px}.overview-tasks>div{border-bottom:1px solid var(--line);padding:12px 2px}.overview-tasks>div:last-child{border-bottom:0}.overview-tasks>div>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.overview-tasks strong{font-size:.875rem;line-height:1.4}.overview-tasks small{margin-top:5px;display:block}@media (width<=700px){.task-card{flex-direction:column;gap:14px}.task-heading{gap:8px}.task-heading>div{justify-content:flex-start}.task-actions{width:100%;min-width:0}.task-actions select,.task-actions button{flex:1}.task-list{max-height:560px}.tasks-panel .panel-head>.actions{width:100%}.tasks-panel .panel-head>.actions button{flex:1}}.handover-progress{border:1px solid var(--line);background:var(--soft);border-radius:8px;margin:6px 0 18px;padding:14px}.handover-progress strong{font-size:.875rem;display:block}.handover-progress>div{background:#dce8e5;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.handover-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .16s;display:block}.handover-list{max-height:480px;padding-right:4px}.handover-list label{border-bottom:1px solid var(--line);cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;padding:14px 5px;display:flex}.handover-list label:last-child{border-bottom:0}.handover-list input{width:21px;height:21px;min-height:21px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0}.handover-list label>span{gap:4px;display:grid}.handover-list label.completed strong{color:var(--muted);text-decoration:line-through}.handover-list label.completed small{color:var(--accent)}.access-note{background:var(--soft);border-radius:7px;padding:12px}.file-upload{border:1px solid var(--line);background:var(--soft);border-radius:8px;margin:14px 0 18px;padding:16px}.file-upload input[type=file]{background:#fff;min-height:42px;padding:8px}.file-list{gap:10px;max-height:470px;padding-right:4px;display:grid}.file-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:flex-start;gap:13px;padding:14px;display:flex}.file-icon{background:var(--tint);width:38px;height:38px;color:var(--accent);border-radius:7px;flex-shrink:0;place-items:center;font-size:1.3rem;display:grid}.file-main{flex:1;gap:4px;min-width:0;display:grid}.file-main strong,.file-main small,.file-main p{overflow-wrap:anywhere}.file-main p{color:var(--muted);white-space:pre-wrap;margin-top:4px;font-size:.82rem}.file-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-actions button{min-height:38px;padding:6px 10px;font-size:.8rem}.project-files.photo .file-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-files.photo .file-card{min-height:118px}.project-files.photo .file-card:before{content:"KÉP";letter-spacing:.1em;color:var(--accent);background:var(--tint);border-radius:4px;padding:6px 7px;font-size:.65rem;font-weight:600}.project-files.photo .file-icon{display:none}@media (width<=700px){.handover-list{max-height:460px}.file-card{flex-wrap:wrap;gap:10px}.file-main{min-width:calc(100% - 50px)}.file-actions{justify-content:stretch;width:100%}.file-actions button{flex:1}.project-files.photo .file-list{grid-template-columns:1fr}.file-upload .actions button{width:100%}}.finance-source-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.finance-source-grid>div{border:1px solid var(--line);background:var(--soft);border-radius:8px;min-width:0;padding:14px}.finance-source-grid>div>strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:12px 0 5px;font-size:1.25rem;display:block}.finance-source-grid>div>small{line-height:1.45;display:block}.finance-kpis{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:16px;display:grid;overflow:hidden}.finance-kpis>div{background:#fff;padding:14px}.finance-kpis span{color:var(--muted);font-size:.78rem;display:block}.finance-kpis strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:5px;font-size:1.1rem;display:block}.finance-list{gap:12px;max-height:570px;padding-right:4px;display:grid}.finance-card{border:1px solid var(--line);background:var(--soft);border-left:4px solid #3b78c2;border-radius:8px;align-items:center;gap:16px;padding:16px;display:flex}.finance-card.cancelled{opacity:.72;border-left-color:#8ba0ae}.finance-card-main{flex:1;min-width:0}.finance-card-heading,.payment-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.finance-card-heading h3{margin:0;font-size:1rem;line-height:1.4}.finance-card-heading .eyebrow{margin-bottom:4px}.finance-meta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:.75rem;display:flex}.finance-progress{background:#dce3e9;border-radius:999px;height:6px;margin-top:13px;overflow:hidden}.finance-progress span{background:var(--accent);height:100%;display:block}.finance-amounts{color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin-top:11px;font-size:.78rem;display:flex}.finance-amounts strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:4px}.finance-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.payment-list{max-height:430px;padding-right:4px}.payment-card{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:15px 3px;display:flex}.payment-card:last-child{border-bottom:0}.payment-card.voided{opacity:.65}.payment-card>div:first-child{flex:1;min-width:0}.payment-heading{justify-content:flex-start;align-items:center}.payment-card p{overflow-wrap:anywhere;margin-top:6px;font-size:.85rem}.payment-card small{margin-top:4px;display:block}.finance-check{flex-direction:row;align-items:center;gap:10px;padding:10px 0;display:flex}.finance-check input{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex-shrink:0}@media (width<=1050px){.finance-source-grid,.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.finance-source-grid{grid-template-columns:1fr}.finance-card,.payment-card{flex-direction:column;align-items:stretch}.finance-actions{justify-content:stretch;width:100%}.finance-actions button{flex:1}.finance-kpis{grid-template-columns:1fr 1fr}.finance-page .panel-head>.primary{width:100%}.finance-amounts{grid-template-columns:1fr 1fr;display:grid}.payment-heading{justify-content:space-between}}.schedule-list-panel{margin-bottom:18px}.schedule-list{max-height:243px;padding-right:4px}.schedule-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;border-radius:0;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:80px;padding:13px 4px;display:flex}.schedule-row:last-child{border-bottom:0}.schedule-row>span:first-child{gap:4px;min-width:0;display:grid}.schedule-row strong,.schedule-row small{overflow-wrap:anywhere}.schedule-row:hover:not(:disabled){background:var(--soft)}.schedule-row-right{color:var(--muted);text-align:right;justify-content:flex-end;align-items:center;gap:12px;max-width:52%;font-size:.8rem;display:flex}.schedule-calendar-panel{padding:0;overflow:hidden}.schedule-toolbar{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.schedule-toolbar>button{padding:6px;font-size:1.2rem}.schedule-toolbar .eyebrow{margin-bottom:3px}.schedule-toolbar h2{text-transform:capitalize}.schedule-help{background:var(--soft);border-bottom:1px solid var(--line);color:var(--muted);padding:12px 20px;font-size:.8rem}.calendar-scroll{overscroll-behavior-x:contain;overflow-x:auto}.calendar{background:#fff;min-width:760px}.calendar-weekdays{border-bottom:1px solid var(--line);background:#f7f9fa;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{text-align:right;color:var(--muted);border-right:1px solid var(--line);padding:10px 12px;font-size:.75rem;font-weight:600}.calendar-weekdays span:last-child{border-right:0}.calendar-week{border-bottom:1px solid var(--line);min-height:calc(45px + var(--calendar-lanes)*28px);padding-bottom:8px}.calendar-week:last-child{border-bottom:0}.calendar-day-grid,.calendar-event-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-day{text-align:right;border-right:1px solid var(--line);height:40px;color:var(--ink);padding:7px 10px}.calendar-day:last-child{border-right:0}.calendar-day.outside{color:#98a5af;background:#fafbfc}.calendar-day time{font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;min-width:26px;height:26px;font-size:.78rem;display:inline-grid}.calendar-day.today time{background:var(--accent);color:#fff;font-weight:600}.calendar-event-grid{grid-auto-rows:24px;gap:4px 0;padding:0 4px}.calendar-bar{text-align:left;border:0;border-radius:4px;min-width:0;height:24px;min-height:24px;margin:0 2px;padding:2px 8px;font-size:.72rem;font-weight:600;line-height:20px;overflow:hidden;box-shadow:inset 0 0 0 1px #172b3a10}.calendar-bar span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-bar:hover:not(:disabled){filter:brightness(.96)}@media (width<=700px){.schedule-row{flex-direction:column;align-items:flex-start;gap:8px}.schedule-row-right{text-align:left;justify-content:space-between;width:100%;max-width:none}.schedule-toolbar{gap:9px;padding:15px 16px}.schedule-help{padding:11px 16px}.calendar-scroll{margin-bottom:2px}.calendar{min-width:700px}}.field-project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-project-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:15px;padding:19px;display:grid}.field-project-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.field-project-heading .eyebrow{margin-bottom:5px}.field-project-card>p{color:var(--muted);min-height:42px;font-size:.875rem}.field-project-card dl{gap:8px;margin:0;display:grid}.field-project-card dl>div{justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.field-project-card dt{color:var(--muted)}.field-project-card dd{text-align:right;overflow-wrap:anywhere;margin:0}.field-mode{max-width:980px;margin:0 auto}.field-project-summary{background:var(--nav);color:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:15px;padding:22px;display:grid}.field-project-summary .eyebrow,.field-project-summary>div>p{color:#b7c8d4}.field-project-summary>div>p{margin-top:6px;font-size:.875rem}.field-contact-actions{grid-column:1/-1;gap:9px;display:flex}.button-link{color:#fff;border:1px solid #587182;border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:8px 15px;font-size:.875rem;text-decoration:none;display:inline-flex}.button-link.primary{border-color:var(--accent);background:var(--accent)}.field-tabs{z-index:5;border:1px solid var(--line);background:#e7ecef;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:14px 0;padding:6px;display:grid;position:sticky;top:0;box-shadow:0 6px 16px #172b3a0a}.field-tabs button{background:0 0;border-color:#0000;min-height:46px;padding:8px}.field-tabs button[aria-current]{color:var(--accent);border-color:var(--line);background:#fff;box-shadow:0 2px 5px #172b3a0d}.field-content{gap:14px;display:grid}.field-content>.stack{gap:14px}.field-content .panel{border-radius:10px}.field-material-list{gap:10px;max-height:570px;padding-right:3px;display:grid}.field-material-card{border:1px solid var(--line);background:var(--soft);border-radius:8px;gap:11px;padding:14px;display:grid}.field-material-card>small{color:var(--accent);font-weight:600}.field-material-card>div,.field-material-card>p{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-material-card>div strong{overflow-wrap:anywhere}.field-material-card>p{color:var(--muted);flex-wrap:wrap;font-size:.8rem}.field-material-card>p strong{color:var(--ink)}.field-material-card>button{justify-self:end}@media (width<=850px){.field-project-list{grid-template-columns:1fr}}@media (width<=700px){.sidebar nav{overscroll-behavior-x:contain;padding-bottom:2px;overflow-x:auto}.sidebar nav button{white-space:nowrap;flex:none}.field-project-card{padding:16px}.field-project-card>p{min-height:0}.field-project-summary{margin:0 -2px;padding:18px 16px}.field-tabs{gap:2px;margin:10px -4px;padding:5px;top:0}.field-tabs button{padding:7px 3px;font-size:.76rem}.field-content .panel{padding:15px}.field-content .panel-head>.actions{width:100%}.field-content .panel-head>.actions button{flex:1}.field-material-card>button{width:100%}.field-contact-actions .button-link{flex:1}}.service-form{gap:14px;margin-top:18px;display:grid}.service-picker{margin-top:20px}.service-members,.service-audit{max-height:400px;margin-top:16px}.service-members>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.service-audit article{border-bottom:1px solid var(--line);padding:12px 0}.service-audit small{overflow-wrap:anywhere;display:block}.service-audit pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:12px;font-size:.8rem}.assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.assignment-group{align-content:start;gap:9px;display:grid}.assignment-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 2px;font-size:.82rem}.assignment-member{border:1px solid var(--line);background:var(--soft);cursor:pointer;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;padding:13px;display:grid}.assignment-member.selected{background:var(--tint);border-color:#9bcac3}.assignment-member input{width:20px;height:20px;min-height:20px;accent-color:var(--accent)}.assignment-member span{min-width:0;display:grid}.assignment-member strong,.assignment-member small{overflow-wrap:anywhere}.access-note{color:var(--muted);background:var(--soft);border-radius:7px;margin-top:18px;padding:12px;font-size:.82rem}.assignment-audit{max-height:360px;margin-top:14px}.assignment-audit article{border-bottom:1px solid var(--line);padding:13px 0}.assignment-audit article:last-child{border-bottom:0}.assignment-audit article>div{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.assignment-audit p{overflow-wrap:anywhere;margin-top:8px;font-size:.82rem}.assignment-audit p span{color:var(--muted)}.project-obstacle-alert{color:#a32632;background:#fff0f0;border-radius:6px;width:max-content;max-width:100%;margin-top:9px;padding:5px 10px;font-size:.82rem;font-weight:750;display:inline-block}.work-log-entry.obstacle.resolved{background:#f6fbf9;border-left-color:#228d83}.work-log-entry.resolved .work-log-footer time{font:inherit}.work-log-heading>div{flex-wrap:wrap}@media (width<=700px){.assignment-list{grid-template-columns:1fr}.assignment-page .panel-head>button{width:100%}.assignment-page .actions.end button{flex:1}}.member-settings{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.member-settings label{flex:1;min-width:220px}.file-main strong{white-space:pre-wrap;overflow-wrap:anywhere}.file-name{overflow-wrap:anywhere}.pdf-export{margin-bottom:16px}.pdf-export .notice{margin-top:8px}.workflow-settings>h3,.workflow-settings h3{color:#153a5d;margin:28px 0 12px}.workflow-section{background:#f8fbfd;border:1px solid #dbe5ed;border-radius:14px;margin:14px 0;padding:18px}.workflow-section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px;display:flex}.workflow-section-head>label:first-child{min-width:min(100%,280px)}.workflow-switch{align-items:center;gap:10px;font-weight:600;line-height:1.5;display:flex}.workflow-switch input{flex:none;width:18px;height:18px}.workflow-rows{gap:12px;margin:12px 0 18px;display:grid}.workflow-row{background:#fff;border:1px solid #dbe5ed;border-radius:12px;grid-template-columns:minmax(140px,2fr) minmax(110px,1fr) minmax(85px,.6fr) auto;align-items:end;gap:12px;padding:13px;display:grid}.workflow-row .workflow-description{grid-column:span 2}.workflow-row .workflow-options{grid-column:1/-1}.workflow-row-actions{white-space:nowrap;align-self:end}@media (width<=950px){.workflow-row{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-row-actions{flex-wrap:wrap;grid-column:1/-1}}@media (width<=560px){.workflow-row{grid-template-columns:1fr}.workflow-row .workflow-description,.workflow-row .workflow-options,.workflow-row-actions{grid-column:1}}.tenant-deletion{border:1px solid #b55b5b}.tenant-deletion .deletion-summary{background:#fff7f4;border-radius:.5rem;margin:1rem 0;padding:1rem}.tenant-deletion .deletion-summary pre{white-space:pre-wrap;overflow-wrap:anywhere}.tenant-deletion .mfa-qr{width:180px;height:180px;margin:.5rem 0;display:block}.tenant-deletion .danger{color:#fff;background:#a32626}.public-offer{width:min(100%,760px);max-height:calc(100vh - 32px);overflow:auto}.public-offer h1{margin-bottom:4px}.public-offer .quote-totals{margin:22px 0}.public-offer .quote-totals h2{margin-top:0}.public-offer form{gap:16px;display:grid}.public-offer .actions{flex-wrap:wrap}.quote-send{border:1px solid var(--line,#dce4ea);background:var(--surface-soft,#f7f9fb);border-radius:12px;margin-top:20px;padding:18px}.quote-send h3{margin:0 0 8px}.project-notification-badge{color:#b42318;background:#fee2e2;border-radius:999px;align-self:flex-start;margin-top:8px;padding:4px 9px;font-size:.78rem;font-weight:750;display:inline-flex}.quote-decision-notice{border-left:4px solid;border-radius:8px;margin:0 0 16px;padding:16px 18px}.quote-decision-notice p{margin:6px 0 0}.quote-decision-notice.accepted{color:#155c42;background:#e8f7ef;border-color:#16845b}.quote-decision-notice.rejected{color:#8e1f1f;background:#fff0f0;border-color:#c52c2c}.tag.red{color:#b42318;background:#fee2e2}.handover-item{border-bottom:1px solid var(--line,#e2e8ee);padding:14px 0}.handover-item:last-child{border-bottom:0}.handover-item-check{align-items:flex-start;gap:12px;display:flex}.handover-item-check>input{margin-top:4px}.handover-item-check>span{gap:4px;display:grid}.handover-file{background:#f4f7f9;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 0 30px;padding:8px 10px;display:flex}.handover-upload{align-items:flex-end;gap:10px;margin:10px 0 0 30px;display:flex}.handover-upload label{flex:1;min-width:0}.handover-finish{margin-top:18px}@media (width<=600px){.public-offer{max-height:calc(100vh - 16px)}.handover-upload{flex-direction:column;align-items:stretch}.handover-file{margin-left:0}}.invoice-import-details{max-height:none}.departure-panel{gap:16px;display:grid}.departure-progress{background:var(--soft);border-radius:8px;padding:14px}.departure-group h3{margin:0 0 8px}.departure-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.departure-row>label{flex-direction:row;flex:1;align-items:center;gap:14px;min-height:48px;display:flex}.departure-row input[type=checkbox]{width:28px;height:28px;min-height:28px;accent-color:var(--accent);flex-shrink:0}.departure-row label>span{overflow-wrap:anywhere;gap:4px;display:grid}.departure-row.packed{background:var(--tint)}.departure-row details{flex-shrink:0;max-width:125px}.departure-row summary{cursor:pointer;padding:10px;font-size:1.3rem}.departure-row details button{width:100%;margin-top:6px;display:block}.departure-prepare summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:550}.departure-prepare .actions{margin-top:12px}.departure-panel select{min-height:48px}.field-tabs{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.field-tabs button{min-width:0;padding:12px 4px;font-size:.75rem}.sidebar-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-menu-toggle{display:none}@media (width<=700px){.sidebar{z-index:20;gap:0;padding:12px 16px;position:relative}.sidebar-heading{width:100%}.mobile-menu-toggle{color:#eef5fa;background:#314d5c;border-color:#587182;align-items:center;gap:8px;min-height:44px;display:inline-flex}.mobile-menu-toggle:hover:not(:disabled){background:#405c6b}.sidebar nav{display:none}.sidebar.menu-open nav{background:var(--nav);border:1px solid #587182;border-radius:0 0 10px 10px;flex-direction:column;gap:4px;max-height:calc(100dvh - 90px);padding:10px;display:flex;position:absolute;top:calc(100% - 1px);left:16px;right:16px;overflow:visible auto;box-shadow:0 12px 24px #10233240}.sidebar.menu-open nav button{text-align:left;justify-content:flex-start;width:100%;min-height:46px;padding:12px;font-size:.875rem}.sidebar.menu-open nav button span{display:inline-block}}
