:root{color:#1c2926;font-synthesis:none;--ink:#1c2926;--muted:#687773;--brand:#12312b;--brand-soft:#e4efeb;--line:#dce3df;--surface:#fff;--blue:#2f6fed;--green:#27835a;--amber:#b46d18;--red:#bf453e;--shadow:0 8px 28px #1a352d12;background:#f2f5f3;font-family:Aptos,Segoe UI,system-ui,sans-serif}.ds-tab-list{max-width:100%;overflow:auto hidden}.documents-panel,.activity-history{min-width:0;padding-top:6px}.documents-panel>.ds-filter-bar{grid-template-columns:minmax(260px,1.4fr) minmax(150px,.55fr) minmax(180px,.65fr);margin-bottom:15px}.documents-table .ds-table{min-width:1250px}.documents-table th:last-child,.documents-table td:last-child{text-align:left;width:auto;min-width:315px}.document-name{align-items:center;gap:8px;max-width:310px;display:flex}.document-name svg{color:var(--green);flex:none}.document-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-actions{align-items:center;gap:4px;display:flex}.row-actions .ds-button{min-height:32px;padding:4px 8px;font-size:9px}.documents-loading,.activity-loading{gap:10px;padding:14px 0;display:grid}.document-upload-form textarea,.documents-panel textarea{resize:vertical;width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:9px 10px}.document-dropzone{min-height:190px;color:var(--muted);text-align:center;cursor:pointer;background:#f7faf8;border:2px dashed #b8c9c3;border-radius:12px;place-items:center;padding:24px;transition:border-color .15s,background .15s;display:grid}.document-dropzone:hover,.document-dropzone.is-dragging{color:var(--green);border-color:var(--green);background:#eff7f3}.document-dropzone strong{color:var(--ink);margin-top:9px;font-size:14px}.document-dropzone span{font-size:11px}.document-dropzone small{margin-top:8px;font-size:9px}.selected-document{border:1px solid var(--line);background:#f3f7f5;border-radius:9px;align-items:center;gap:10px;min-width:0;padding:11px 13px;display:flex}.selected-document span,.selected-document strong,.selected-document small{min-width:0;display:block}.selected-document strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-document small{color:var(--muted);margin-top:3px;font-size:9px}.document-drawer{gap:15px;display:grid}.document-drawer h3{overflow-wrap:anywhere;margin:0;font-size:18px}.document-drawer>p{white-space:pre-wrap;color:var(--muted);margin:0;font-size:11px;line-height:1.65}.document-drawer dl{border:1px solid var(--line);border-radius:9px;grid-template-columns:100px minmax(0,1fr);margin:0;display:grid}.document-drawer dt,.document-drawer dd{border-top:1px solid var(--line);margin:0;padding:9px 11px}.document-drawer dt:first-of-type,.document-drawer dt:first-of-type+dd{border-top:0}.document-drawer dt{color:var(--muted);font-size:9px;font-weight:700}.document-drawer dd{overflow-wrap:anywhere;min-width:0;font-size:10px}.document-drawer code{word-break:break-all;font-size:8px}.activity-history .panel-heading{justify-content:space-between;align-items:end;gap:15px;margin-bottom:14px;display:flex}.activity-history .panel-heading h2{margin:0 0 3px;font-size:16px}.activity-history .panel-heading p{color:var(--muted);margin:0;font-size:11px}.activity-history .panel-heading .ds-control{width:190px}.timeline-family{width:29px;height:29px;color:var(--green);background:#edf5f1;border-radius:8px;place-items:center;display:grid}.timeline-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline-title>strong{color:var(--ink);font-size:12px}.timeline-title>span{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.timeline-content p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.45}.timeline-content ul{flex-wrap:wrap;gap:5px;margin:7px 0 0;padding:0;list-style:none;display:flex}.timeline-content li{color:#566660;background:#f1f4f2;border-radius:5px;padding:3px 6px;font-size:9px}.timeline-entry--costs .timeline-family{color:#8a6019;background:#fff5df}.timeline-entry--documents .timeline-family{color:#285dbd;background:#edf3ff}@media (width<=1120px){.documents-panel>.ds-filter-bar{grid-template-columns:minmax(230px,1.2fr) repeat(2,minmax(135px,.6fr))}.detail-actions{flex-wrap:wrap;justify-content:flex-end}}@media (width<=760px){.documents-panel>.ds-filter-bar{grid-template-columns:1fr}.section-heading,.activity-history .panel-heading{flex-direction:column;align-items:stretch}.activity-history .panel-heading .ds-control{width:100%}.timeline-entry{grid-template-columns:82px 29px minmax(0,1fr);padding-left:14px}.timeline-title{flex-direction:column;align-items:flex-start}}.sidebar nav{min-height:0;padding-right:2px;overflow-y:auto}.sidebar-footer{flex:none}.global-search-trigger{min-width:320px;height:38px;color:var(--muted);border:1px solid var(--line);text-align:left;background:#f7f9f8;border-radius:8px;align-items:center;gap:9px;margin-right:auto;padding:0 10px;font-size:11px;display:flex}.global-search-trigger span{flex:1}.global-search-trigger kbd,.global-search-input kbd,.global-search-footer kbd{color:#66736f;white-space:nowrap;background:#edf1ef;border:1px solid #d8e0dc;border-radius:4px;padding:2px 5px;font:9px/1.4 inherit}.global-search-dialog{width:min(680px,100vw - 32px);max-height:min(720px,100vh - 48px);color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:15px;padding:0;box-shadow:0 28px 100px #0b211b52}.global-search-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d1e1a85}.global-search-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px 16px 10px;display:grid}.global-search-head>svg{color:var(--green)}.global-search-head h2{margin:0;font-size:15px}.global-search-input{border:1px solid #aebdb7;border-radius:10px;align-items:center;gap:10px;margin:0 16px 12px;padding:0 12px;display:flex;box-shadow:0 0 0 3px #2f6fed17}.global-search-input input{min-width:0;height:46px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.global-search-body{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:min(520px,100vh - 220px);padding:3px 10px 10px;overflow-y:auto}.global-search-group{padding:11px 4px 2px}.global-search-group h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 8px 5px;font-size:9px}.global-search-result{cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:8px;display:grid}.global-search-result>svg{color:#6d7d78}.global-search-result span,.global-search-result strong,.global-search-result small{min-width:0}.global-search-result strong,.global-search-result small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.global-search-result strong{font-size:11px}.global-search-result small{color:var(--muted);margin-top:3px;font-size:9px}.global-search-result.is-active{box-shadow:inset 3px 0 var(--green);background:#edf5f1}.global-search-message{min-height:190px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;padding:24px;display:grid}.global-search-message p{max-width:430px;color:var(--ink);margin:0;font-size:12px}.global-search-message span{font-size:10px}.global-search-message.is-error p{color:var(--red)}.global-search-loading{align-content:center;gap:10px;min-height:150px;padding:30px 8px;display:grid}.global-search-loading span{background:linear-gradient(90deg,#edf1ef 25%,#f8faf9 50%,#edf1ef 75%) 0 0/200% 100%;border-radius:8px;height:42px;animation:1.4s infinite skeleton}.global-search-footer{color:var(--muted);justify-content:flex-end;gap:13px;padding:9px 14px;font-size:9px;display:flex}.global-search-footer span{align-items:center;gap:5px;display:flex}.inline-retry{color:inherit;background:0 0;border:0;margin-left:5px;font-weight:800;text-decoration:underline}.dashboard-layout{gap:18px;display:grid}.dashboard-primary-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.dashboard-metric{min-height:116px;padding:17px;position:relative;overflow:hidden}.dashboard-metric:before,.domain-metric:before{content:"";background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.dashboard-metric>span,.dashboard-metric>small{color:var(--muted);display:block}.dashboard-metric>span{color:var(--ink);font-size:11px;font-weight:700}.dashboard-metric>strong{color:var(--ink);margin:10px 0 5px;font-size:28px;display:block}.dashboard-metric>small{font-size:9px}.dashboard-zero{color:var(--green);text-align:center;justify-items:center;padding:30px;display:grid}.dashboard-zero h2{color:var(--ink);margin:9px 0 5px;font-size:17px}.dashboard-zero p{max-width:590px;color:var(--muted);margin:0 0 14px;font-size:11px;line-height:1.55}.dashboard-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.domain-metrics{min-width:0;padding:18px}.domain-metrics>header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.domain-metrics>header>span{color:var(--green);align-items:center;gap:8px;display:flex}.domain-metrics h2{color:var(--ink);margin:0;font-size:14px}.icon-link{width:31px;height:31px;color:var(--muted);background:#f5f7f6;border:0;border-radius:7px;place-items:center;display:grid}.domain-metrics>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.domain-metric{background:#f7f9f8;border-radius:8px;min-width:0;padding:11px 10px 10px 13px;position:relative}.domain-metric span{min-height:26px;color:var(--muted);font-size:9px;line-height:1.35;display:block}.domain-metric strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:16px;display:block;overflow:hidden}.dashboard-follow-up{min-width:0}.follow-up-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.follow-up-block{min-width:0;box-shadow:none;padding:16px}.follow-up-block h3{margin:0 0 9px;font-size:12px}.follow-up-block>p{color:var(--muted);margin:16px 0 4px;font-size:10px}.follow-up-block>div{display:grid}.follow-up-block button{min-width:0;color:var(--ink);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 0;display:grid}.follow-up-block button:first-child{border-top:0}.follow-up-block span,.follow-up-block strong,.follow-up-block small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.follow-up-block strong{font-size:10px}.follow-up-block small{color:var(--muted);margin-top:2px;font-size:8px}.dashboard-panel{min-width:0;padding:19px}.dashboard-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.dashboard-item-list,.dashboard-commessa-list{display:grid}.dashboard-item-list>button,.dashboard-commessa-list>button{min-width:0;color:var(--ink);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(180px,1fr) auto minmax(85px,.35fr) auto;align-items:center;gap:10px;padding:10px 5px;display:grid}.dashboard-item-list>button:first-child,.dashboard-commessa-list>button:first-child{border-top:0}.dashboard-item-list>button:hover,.dashboard-commessa-list>button:hover,.follow-up-block button:hover{background:#f7f9f8}.dashboard-item-list span,.dashboard-item-list strong,.dashboard-item-list small,.dashboard-commessa-list span,.dashboard-commessa-list strong,.dashboard-commessa-list em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.dashboard-item-list strong,.dashboard-commessa-list strong{font-size:10px}.dashboard-item-list span small,.dashboard-commessa-list em{color:var(--muted);margin-top:3px;font-size:8px;font-style:normal}.dashboard-item-list>button>small{color:var(--muted);font-size:9px}.dashboard-commessa-list>button{grid-template-columns:minmax(180px,1fr) auto minmax(120px,.4fr) auto}.dashboard-commessa-list .project-code{margin-bottom:3px}.compact-empty .ds-empty{min-height:120px;padding-block:10px}.compact-empty .ds-empty h2{font-size:12px}.dashboard-loading{gap:18px;display:grid}.dashboard-loading-panel{gap:12px;padding:20px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card{flex-direction:column;align-items:flex-start;min-width:0;padding:22px;display:flex}.settings-card>header{color:var(--green);align-items:center;gap:11px;margin-bottom:18px;display:flex}.settings-card h2{color:var(--ink);margin:0;font-size:16px}.settings-card header p{color:var(--muted);margin:3px 0 0;font-size:10px}.settings-card dl{border-top:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:0;width:100%;margin:0 0 18px;display:grid}.settings-card dt,.settings-card dd{border-bottom:1px solid var(--line);margin:0;padding:9px 0;font-size:10px}.settings-card dt{color:var(--muted)}.settings-card dd{overflow-wrap:anywhere;font-weight:700}.settings-security{flex:1}.settings-security p{color:var(--muted);font-size:11px;line-height:1.55}.settings-about{grid-column:1/-1}.application-facts{flex-wrap:wrap;gap:10px 22px;display:flex}.application-facts span{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.application-facts svg{color:var(--green)}@media (width<=1120px){.global-search-trigger{min-width:260px}.dashboard-domain-grid{grid-template-columns:minmax(0,1fr)}.follow-up-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-two-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.sidebar nav{padding-right:0;overflow:auto hidden}.environment{display:none}.global-search-trigger{justify-content:center;width:42px;min-width:42px;padding:0}.global-search-trigger span,.global-search-trigger kbd{display:none}.global-search-dialog{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}.global-search-body{max-height:calc(100vh - 190px)}.global-search-footer{justify-content:center}.global-search-result .ds-badge{display:none}.dashboard-primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{min-height:105px}.dashboard-domain-grid,.follow-up-grid,.settings-grid{grid-template-columns:minmax(0,1fr)}.domain-metrics>div{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-about{grid-column:auto}.dashboard-item-list>button{grid-template-columns:minmax(0,1fr) auto}.dashboard-item-list>button>small,.dashboard-item-list>button>svg{display:none}.dashboard-commessa-list>button{grid-template-columns:minmax(0,1fr) auto}.dashboard-commessa-list .ds-progress,.dashboard-commessa-list>button>svg{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ds-tabs,.ds-tab-panel,.commessa-tasks,.task-table{min-width:0;max-width:100%}.quick-views{flex-wrap:wrap;gap:8px;margin:-5px 0 14px;display:flex}.quick-views .ds-button{min-height:34px;padding:7px 12px;font-size:11px}.quick-views .active{color:#fff;background:var(--brand);border-color:var(--brand)}.attivita-toolbar{margin-bottom:18px;padding:16px}.attivita-toolbar .ds-filter-bar{grid-template-columns:minmax(210px,1.35fr) repeat(5,minmax(120px,.7fr));margin-bottom:11px}.attivita-toolbar .list-options{justify-content:space-between}.task-loading{gap:11px;padding:20px;display:grid}.task-table .ds-table{min-width:1080px}.task-table td:first-child{max-width:260px}.cell-subtitle,.cell-warning{max-width:240px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:9px;display:block;overflow:hidden}.cell-warning{color:var(--amber)}.quick-status{min-width:112px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:7px 26px 7px 9px;font-size:10px;font-weight:700}.task-detail{gap:16px;display:grid}.task-detail h3{margin:-10px 0 0;font-size:14px}.task-detail>p{white-space:pre-wrap;margin:0}.task-detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.task-detail-grid>span{min-width:0;color:var(--ink);background:#f7f9f8;border-radius:9px;align-content:start;gap:6px;padding:11px;font-size:11px;display:grid}.task-detail-grid small{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:700}.task-detail-grid em{color:var(--amber);font-size:9px;font-style:normal}.drawer-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:15px;display:flex}.commessa-tasks{gap:15px;padding-top:6px;display:grid}.commessa-tasks>.section-heading{margin:0}.task-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.task-summary .ds-card{min-height:118px}.dashboard-tasks{margin-bottom:18px;padding:20px}.dashboard-task-list{display:grid}.dashboard-task{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) auto minmax(115px,.35fr) 120px;align-items:center;gap:14px;padding:12px 5px;display:grid}.dashboard-task:first-child{border-top:0}.dashboard-task>div{min-width:0}.dashboard-task strong,.dashboard-task small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-task strong{font-size:12px}.dashboard-task small{color:var(--muted);margin-top:4px;font-size:9px}.dashboard-task>span{font-size:10px;font-weight:700}.commessa-dashboard-metrics{margin-top:4px}@media (width<=1120px){.attivita-toolbar .ds-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-task{grid-template-columns:minmax(180px,1fr) auto 115px}.dashboard-task>.ds-badge{display:none}}.cost-surface{min-width:0;padding:20px}.cost-surface .ds-filter-bar{grid-template-columns:minmax(250px,1.5fr) repeat(5,minmax(120px,.55fr))}.cost-table .ds-table{min-width:1260px}.cost-table .ds-table th:last-child,.cost-table .ds-table td:last-child{text-align:left;width:auto;min-width:100px}.money-cell{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.cost-form textarea{resize:vertical;width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:9px 10px}.cost-form .ds-alert{margin-bottom:0}.cost-drawer{gap:16px;display:grid}.drawer-title-row,.drawer-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.drawer-title-row>span:last-child{color:var(--muted);font-size:10px}.cost-drawer h3{color:var(--ink);margin:0;font-size:19px}.cost-drawer dl{border:1px solid var(--line);border-radius:9px;grid-template-columns:105px minmax(0,1fr);gap:0;margin:0;display:grid}.cost-drawer dt,.cost-drawer dd{border-top:1px solid var(--line);margin:0;padding:10px 12px}.cost-drawer dt:first-of-type,.cost-drawer dt:first-of-type+dd{border-top:0}.cost-drawer dt{color:var(--muted);font-size:10px;font-weight:700}.cost-drawer dd{overflow-wrap:anywhere;color:var(--ink);font-size:11px}.audit-card{color:var(--muted);gap:5px;padding:13px;display:grid}.cost-breakdown{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0 18px;display:grid}.cost-breakdown article{border:1px solid var(--line);background:#f6f8f7;border-radius:9px;gap:5px;min-width:0;padding:13px;display:grid}.cost-breakdown strong{color:var(--ink);font-size:11px}.cost-breakdown span{color:var(--muted);white-space:nowrap;font-size:9px}.dashboard-costs{padding:20px}@media (width<=1120px){.cost-surface .ds-filter-bar{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(125px,.6fr))}.cost-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}}.warehouse-surface,.warehouse-table,.commessa-materials,.commessa-material-table{min-width:0;max-width:100%}.warehouse-surface{padding:18px}.warehouse-surface .ds-filter-bar{grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(120px,.65fr));margin-bottom:16px}.warehouse-table .ds-table{min-width:1040px}.warehouse-table td:nth-child(2){max-width:250px}.warehouse-table td{font-variant-numeric:tabular-nums}.allocated-quantity{color:var(--blue);font-weight:700}.available-quantity{color:var(--green);font-weight:700}.shortage-quantity{font-weight:700;color:var(--red)!important}.material-detail{gap:18px;display:grid}.material-detail>p{color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.6}.material-detail h3{margin:0 0 10px;font-size:13px}.material-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.material-detail-head>span{color:var(--muted);font-size:10px}.stock-trio,.reservation-context{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stock-trio>span,.reservation-context>span{border:1px solid var(--line);background:#f4f7f5;border-radius:9px;min-width:0;padding:11px}.stock-trio small,.stock-trio strong,.reservation-context small,.reservation-context strong{display:block}.stock-trio small,.reservation-context small{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:700}.stock-trio strong,.reservation-context strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.material-usage-list,.movement-list{border:1px solid var(--line);border-radius:9px;display:grid}.material-usage-list article,.movement-list article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px;display:grid}.material-usage-list article:first-child,.movement-list article:first-child{border-top:0}.material-usage-list strong,.material-usage-list small,.movement-list span,.movement-list small{display:block}.material-usage-list small,.movement-list small{color:var(--muted);margin-top:3px;font-size:9px}.material-usage-list article>span{color:var(--muted);text-align:right;font-size:9px}.material-usage-list em{color:var(--amber);margin-top:4px;font-style:normal;font-weight:700;display:block}.movement-list article{grid-template-columns:105px minmax(0,1fr)}.movement-list article>strong{font-size:12px}.material-form textarea,.stock-adjustment textarea{resize:vertical;width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:9px 10px}.material-active-toggle{background:#f5f8f6;border-radius:9px;align-items:flex-start;gap:9px;padding:11px;display:flex}.material-active-toggle strong,.material-active-toggle small{display:block}.material-active-toggle small{color:var(--muted);margin-top:3px;font-size:9px}.supplier-surface,.purchase-surface,.supplier-table,.purchase-table,.order-item-table,.commessa-purchases{min-width:0;max-width:100%}.supplier-surface,.purchase-surface,.purchase-detail-section{padding:18px}.supplier-surface .ds-filter-bar{grid-template-columns:minmax(260px,1fr) 180px;margin-bottom:16px}.purchase-surface .ds-filter-bar{grid-template-columns:minmax(260px,1.4fr) repeat(2,minmax(150px,.6fr));margin-bottom:16px}.supplier-table .ds-table{min-width:940px}.purchase-table .ds-table{min-width:1120px}.order-item-table .ds-table{min-width:1020px}.purchase-mini-metric{gap:8px;padding:17px;display:grid}.purchase-mini-metric span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.purchase-mini-metric strong{font-size:25px}.supplier-detail{gap:18px;display:grid}.supplier-detail dl{grid-template-columns:105px 1fr;gap:10px;margin:0;display:grid}.supplier-detail dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.supplier-detail dd{margin:0;font-size:12px}.supplier-detail a{color:var(--green);align-items:center;gap:5px;display:inline-flex}.supplier-detail section p{white-space:pre-wrap;color:var(--muted);font-size:11px;line-height:1.6}.supplier-form textarea,.purchase-form textarea,.receipt-form textarea{resize:vertical;width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:9px 10px}.purchase-form{min-width:min(760px,100vw - 100px)}.purchase-requirements h3{margin:4px 0 10px;font-size:13px}.purchase-requirements>div{gap:8px;display:grid}.purchase-requirements article,.receipt-lines article{background:#f7f9f8;border-radius:9px;grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:12px;padding:12px;display:grid}.purchase-requirements strong,.purchase-requirements small,.receipt-lines strong,.receipt-lines small,.receipt-lines em{display:block}.purchase-requirements small,.receipt-lines small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}.receipt-lines{gap:8px;display:grid}.receipt-lines em{color:var(--green);margin-top:6px;font-size:9px;font-style:normal;font-weight:700}.purchase-summary{margin-top:0}.purchase-detail-section{margin-bottom:15px}.receipt-list{gap:8px;display:grid}.receipt-list article{background:#f7f9f8;border-radius:9px;grid-template-columns:1fr auto;gap:5px 15px;padding:12px;display:grid}.receipt-list small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.receipt-list p{color:var(--muted);grid-column:1/-1;margin:4px 0 0;font-size:10px}.commessa-purchases .panel-heading{margin-bottom:14px}.dashboard-purchases{margin-bottom:18px;padding:20px}.dashboard-purchase-list{display:grid}.dashboard-purchase-list article{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:minmax(0,1fr) auto 130px;align-items:center;gap:12px;padding:11px 4px;display:grid}.dashboard-purchase-list small{color:var(--muted);margin-top:3px;font-size:9px;display:block}@media (width<=1100px){.supplier-surface .ds-filter-bar,.purchase-surface .ds-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-form{min-width:0}.purchase-requirements article,.receipt-lines article{grid-template-columns:1fr}}.stock-adjustment{gap:15px;display:grid}.stock-preview{color:var(--green);background:var(--brand-soft);border-radius:10px;grid-template-columns:auto repeat(2,minmax(0,1fr));align-items:center;gap:12px;padding:14px;display:grid}.stock-preview small,.stock-preview strong{display:block}.stock-preview small{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:700}.stock-preview strong{color:var(--ink);margin-top:4px;font-size:13px}.commessa-materials{gap:15px;padding-top:6px;display:grid}.commessa-materials>.section-heading{margin:0}.commessa-material-table .ds-table{min-width:1030px}.commessa-material-table td{font-variant-numeric:tabular-nums}.commessa-material-table td:first-child{max-width:270px}.table-actions{gap:4px;display:flex}.table-actions .ds-button{min-height:32px;padding:5px 8px;font-size:9px}.selected-material{border:1px solid var(--line);background:#f4f7f5;border-radius:9px;padding:12px}.selected-material strong,.selected-material small{display:block}.selected-material small{color:var(--muted);margin-top:4px;font-size:9px}.formula-note{color:var(--muted);background:#fff8ec;border-radius:8px;margin:0;padding:10px;font-size:10px;line-height:1.5}.dashboard-materials{margin-bottom:18px;padding:20px}.dashboard-material-list{display:grid}.dashboard-material-list article{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(125px,.45fr));align-items:center;gap:13px;padding:12px 5px;display:grid}.dashboard-material-list article:first-child{border-top:0}.dashboard-material-list article:hover{background:#f7f9f8}.dashboard-material-list div,.dashboard-material-list strong,.dashboard-material-list small{min-width:0}.dashboard-material-list div>strong,.dashboard-material-list small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.dashboard-material-list small{color:var(--muted);margin-top:4px;font-size:9px}.dashboard-material-list>article>span{color:var(--muted);font-size:9px}.dashboard-material-list>article>span strong{color:var(--ink);margin-top:3px;font-size:11px;display:block}@media (width<=1120px){.warehouse-surface .ds-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-material-list article{grid-template-columns:minmax(190px,1fr) repeat(2,minmax(110px,.45fr))}.dashboard-material-list article>span:nth-of-type(2){display:none}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:800px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2f6fed59}.app-shell{grid-template-columns:242px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:10;color:#dbe7e3;background:var(--brand);flex-direction:column;width:242px;padding:25px 17px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 9px 30px;display:flex}.brand-mark{color:#17352f;background:#e7b85f;border-radius:10px;place-items:center;width:38px;height:38px;font-size:21px;font-weight:700;display:grid}.brand strong{color:#fff;letter-spacing:.08em;font-size:19px;font-weight:700;display:block}.brand span,.sidebar-footer span{color:#91a9a2;margin-top:2px;font-size:11px;display:block}.sidebar nav{gap:4px;display:grid}.nav-item{color:#b8cac5;border-radius:9px;align-items:center;gap:12px;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#e7b85f24;box-shadow:inset 3px 0 #e7b85f}.sidebar-footer{border-top:1px solid #ffffff1a;align-items:center;gap:10px;margin-top:auto;padding:16px 9px 2px;display:flex}.sidebar-footer strong{color:#edf4f2;font-size:12px;display:block}.avatar{color:#fff;background:#35594f;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.main-content{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fffc;justify-content:flex-end;align-items:center;gap:16px;height:61px;padding:0 36px;display:flex}.environment{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.environment>span{background:var(--green);border-radius:50%;width:7px;height:7px}.profile-button{width:36px;height:36px;color:var(--brand);border:1px solid var(--line);background:0 0;border-radius:9px;place-items:center;display:grid}.page-content{max-width:1460px;margin:0 auto;padding:34px 36px 44px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.export-control{justify-items:end;gap:4px;display:grid;position:relative}.export-control>small{color:#a63731;text-align:right;max-width:280px;font-size:9px}.export-control button:disabled{cursor:wait;opacity:.6}.eyebrow{color:var(--green);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}.page-header h1{letter-spacing:-.025em;margin:6px 0 5px;font-size:29px;font-weight:700;line-height:1.2}.page-header p{color:var(--muted);margin-bottom:0;font-size:14px}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.button.primary{color:#fff;background:var(--brand);box-shadow:0 4px 12px #12312b2e}.button.primary:hover{background:#1d483f}.button.secondary{color:var(--brand);border-color:var(--line);background:#fff}.button.full{width:100%;margin-top:10px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card,.surface{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px}.metric-card{min-height:138px;padding:19px 19px 16px;position:relative;overflow:hidden}.metric-card:before{content:"";background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.metric-top{color:var(--ink);justify-content:space-between;gap:10px;font-size:12px;font-weight:600;display:flex}.tone-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.metric-value{color:var(--ink);margin:13px 0 6px;font-size:30px;font-weight:700;display:block}.metric-card p{color:var(--muted);margin:0;font-size:11px}.metric-card.blue{color:var(--blue)}.metric-card.amber{color:var(--amber)}.metric-card.red{color:var(--red)}.metric-card.green{color:var(--green)}.content-grid{grid-template-columns:minmax(0,1.75fr) minmax(250px,.75fr);gap:18px;display:grid}.surface{padding:20px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.section-heading h2{margin-bottom:3px;font-size:16px;font-weight:700}.section-heading p{color:var(--muted);margin-bottom:0;font-size:11px}.text-button{color:var(--green);background:0 0;border:0;align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}.project-list{display:grid}.project-row{border-top:1px solid #e9eeeb;grid-template-columns:minmax(185px,1.25fr) auto minmax(120px,.8fr) 75px;align-items:center;gap:18px;padding:15px 2px;display:grid}.project-main h3{white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:13px;font-weight:700;overflow:hidden}.project-main p,.project-code{color:var(--muted);margin:0;font-size:10px}.project-code{color:var(--green);font-weight:700}.status{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.status.success{color:#1b6948;background:#e1f2e9}.status.info{color:#285dbd;background:#e7efff}.status.warning{color:#925510;background:#fff0d8}.progress-block>div:first-child{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.progress-block strong{color:var(--ink)}.progress-track{background:#e8edea;border-radius:99px;height:5px;margin-top:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.due{color:var(--muted);align-items:center;gap:7px;display:flex}.due span{color:var(--ink);font-size:11px;font-weight:700;display:block}.due small{color:var(--muted);margin-bottom:1px;font-size:8px;font-weight:500;display:block}.action-row{border-top:1px solid #e9eeeb;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px 0;display:grid}.priority{background:var(--blue);border-radius:50%;width:7px;height:7px;margin-top:5px}.priority.urgente{background:var(--red)}.priority.alta{background:var(--amber)}.action-row strong,.action-row span{display:block}.action-row strong{font-size:11px;line-height:1.35}.action-row div span{color:var(--muted);margin-top:3px;font-size:10px}.action-row small{color:var(--muted);background:#f0f3f1;border-radius:4px;padding:3px 6px;font-size:8px}.placeholder{text-align:center;max-width:650px;margin:70px auto 0;padding:60px}.placeholder svg{color:var(--green)}.placeholder h1{margin:16px 0 8px;font-size:25px;font-weight:700}.placeholder p{color:var(--muted);line-height:1.6}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.ds-button{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.ds-button:hover{transform:translateY(-1px)}.ds-button:active{transform:translateY(0)}.ds-button:disabled{cursor:not-allowed;opacity:.55}.ds-button--primary{color:#fff;background:var(--brand);box-shadow:0 4px 12px #12312b29}.ds-button--primary:hover{background:#1d483f}.ds-button--secondary{color:var(--brand);border-color:var(--line);background:#fff}.ds-button--secondary:hover{background:#f6f8f7;border-color:#bdcbc6}.ds-button--ghost{color:var(--muted);background:0 0}.ds-button--ghost:hover{color:var(--ink);background:#edf2ef}.ds-button--danger{color:#a63731;background:#fff0ef;border-color:#f2cfcc}.ds-button--danger:hover{background:#ffe6e3}.ds-icon-button{width:36px;height:36px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:8px;flex:none;place-items:center;display:inline-grid}.ds-icon-button:hover{color:var(--brand);background:#f5f8f6}.ds-icon-button:disabled{opacity:.4;cursor:not-allowed}.ds-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px}.ds-metric{min-height:138px;color:var(--ink);padding:19px 19px 16px;position:relative;overflow:hidden}.ds-metric:before{content:"";background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.ds-metric>span{color:var(--ink);font-size:12px;font-weight:600;display:block}.ds-metric>span:after{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;position:absolute;top:20px;right:19px}.ds-metric strong{color:var(--ink);margin:13px 0 6px;font-size:30px;display:block}.ds-metric small{color:var(--muted);font-size:11px}.ds-tone--neutral{color:#7c8985}.ds-tone--info{color:var(--blue)}.ds-tone--success{color:var(--green)}.ds-tone--warning{color:var(--amber)}.ds-tone--danger{color:var(--red)}.ds-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.ds-badge>span{background:currentColor;border-radius:50%;width:5px;height:5px}.ds-badge--neutral{color:#596763;background:#edf1ef}.ds-badge--info{color:#285dbd;background:#e7efff}.ds-badge--success{color:#1b6948;background:#e1f2e9}.ds-badge--warning{color:#925510;background:#fff0d8}.ds-badge--danger{color:#a83a35;background:#fee9e7}.ds-avatar{color:#fff;background:#3c6258;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.ds-avatar--small{width:27px;height:27px;font-size:9px}.ds-avatar--medium{width:36px;height:36px;font-size:11px}.ds-avatar--large{width:48px;height:48px;font-size:13px}.ds-table-wrap{border:1px solid var(--line);border-radius:9px;max-width:100%;overflow-x:auto}.ds-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.ds-table th{color:var(--muted);text-align:left;letter-spacing:.03em;text-transform:uppercase;background:#f5f7f6;padding:10px 13px;font-size:10px}.ds-table td{border-top:1px solid #e8edeb;padding:12px 13px}.ds-table td>strong,.ds-table td>small{display:block}.ds-table td>small{color:var(--muted);margin-top:2px}.ds-table th:last-child,.ds-table td:last-child{text-align:right;width:48px}.table-person{white-space:nowrap;align-items:center;gap:8px;display:flex}.ds-tabs{min-width:0}.ds-tab-list{border-bottom:1px solid var(--line);gap:4px;display:flex}.ds-tab-list button{color:var(--muted);background:0 0;border:0;padding:10px 13px;font-size:12px;font-weight:700;position:relative}.ds-tab-list button[aria-selected=true]{color:var(--brand)}.ds-tab-list button[aria-selected=true]:after{content:"";background:var(--green);height:2px;position:absolute;inset:auto 8px -1px}.ds-tab-panel{min-height:170px;padding-top:12px}.ds-dialog,.ds-drawer{color:var(--ink);border:1px solid var(--line);background:#fff;padding:0;box-shadow:0 24px 80px #0b211b40}.ds-dialog{border-radius:14px;width:min(520px,100vw - 40px)}.ds-dialog::backdrop,.ds-drawer::backdrop{background:#0d1e1a7a}.ds-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:20px 20px 15px;display:flex}.ds-dialog-head h2{margin:0;font-size:17px}.ds-dialog-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.ds-dialog-body{color:#4d5c58;padding:20px;font-size:13px;line-height:1.6}.ds-dialog-actions{border-top:1px solid var(--line);background:#f7f9f8;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.ds-drawer{border-width:0 0 0 1px;width:min(390px,100vw - 30px);height:100vh;max-height:100vh;margin:0 0 0 auto}.ds-dropdown{width:fit-content;position:relative}.ds-dropdown summary{min-height:36px;color:var(--brand);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:700;list-style:none;display:flex}.ds-dropdown summary::-webkit-details-marker{display:none}.ds-dropdown-menu{z-index:15;border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow);background:#fff;border-radius:9px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.ds-dropdown-menu button{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:8px;font-size:11px}.ds-dropdown-menu button:hover{background:#f0f4f2}.ds-control,.ds-field{gap:5px;min-width:0;display:grid}.ds-control>span:first-child,.ds-field>label{color:#465651;font-size:10px;font-weight:700}.ds-control select,.ds-control input,.ds-field input{width:100%;min-height:38px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 10px}.ds-control select:focus,.ds-control input:focus,.ds-field input:focus,.ds-search input:focus{border-color:#7ca3f4;outline:3px solid #2f6fed2e}.ds-search{min-width:220px;height:38px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.ds-search:focus-within{border-color:#7ca3f4;outline:3px solid #2f6fed2e}.ds-search input{background:0 0;border:0;outline:none;flex:1;min-width:0}.ds-filter-bar{grid-template-columns:minmax(220px,1.5fr) minmax(130px,.6fr) minmax(140px,.7fr) auto;align-items:end;gap:9px;margin-bottom:13px;display:grid}.ds-date>span:last-child{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:5px;padding-left:9px;display:flex}.ds-date input{border:0;padding-left:2px}.ds-slider{gap:10px;display:grid}.ds-slider>div{justify-content:space-between;align-items:center;display:flex}.ds-slider label{font-size:12px;font-weight:700}.ds-slider output{color:var(--green);font-size:18px;font-weight:700}.ds-slider input{width:100%;accent-color:var(--green)}.ds-progress{min-width:110px}.ds-progress>div:first-child{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:9px;display:flex}.ds-progress>div:first-child strong{color:var(--ink)}.ds-progress [role=progressbar]{background:#e8edea;border-radius:99px;height:5px;overflow:hidden}.ds-progress [role=progressbar] span{border-radius:inherit;background:var(--green);height:100%;display:block}.ds-tooltip{display:inline-flex;position:relative}.ds-tooltip [role=tooltip]{z-index:20;pointer-events:none;opacity:0;color:#fff;background:#20342f;border-radius:5px;width:max-content;max-width:180px;padding:5px 7px;font-size:10px;transition:opacity .12s;position:absolute;bottom:calc(100% + 7px);right:0}.ds-tooltip:hover [role=tooltip],.ds-tooltip:focus-within [role=tooltip]{opacity:1}.ds-alert{border:1px solid;border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.ds-alert strong{font-size:12px;display:block}.ds-alert p{margin:2px 0 0;font-size:11px}.ds-alert--info{color:#28549f;background:#edf3ff;border-color:#cfddf7}.ds-alert--success{color:#1c6b49;background:#e9f6ef;border-color:#c8e5d5}.ds-alert--warning{color:#8e5615;background:#fff6e8;border-color:#efd8b7}.ds-alert--danger{color:#9f3c36;background:#fff0ef;border-color:#efcfcc}.ds-alert--neutral{color:#4d5d58;border-color:var(--line);background:#f2f5f3}.ds-empty{min-height:160px;color:var(--muted);text-align:center;align-content:center;justify-items:center;padding:22px;display:grid}.ds-empty h2{color:var(--ink);margin:8px 0 3px;font-size:14px}.ds-empty p{max-width:460px;margin:0 0 12px;font-size:11px;line-height:1.5}.ds-skeleton{background:linear-gradient(90deg,#edf1ef 25%,#f7f9f8 50%,#edf1ef 75%) 0 0/200% 100%;border-radius:5px;animation:1.5s infinite skeleton;display:block}.skeleton-list{gap:14px;padding:24px 8px;display:grid}@keyframes skeleton{to{background-position:-200% 0}}.ds-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:9px;margin-top:11px;font-size:10px;display:flex}.ds-pagination .ds-icon-button{width:30px;height:30px}.ds-field small{min-height:14px;color:var(--muted);font-size:9px}.ds-field small.error{color:var(--red)}.ds-field [aria-invalid=true]{border-color:var(--red)}.ds-stack{gap:12px;display:grid}.foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.foundation-section{min-width:0;padding:19px}.foundation-wide{grid-column:1/-1}.foundation-page .page-header{align-items:center}.page-actions,.button-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.component-note{color:var(--muted);margin:16px 0 0;font-size:10px;line-height:1.5}.foundation-section .ds-progress{margin-top:18px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.button-row{margin-top:16px}.auth-loading{text-align:center;background:radial-gradient(circle at 50% 36%,#fff 0,#f2f5f3 48%);place-content:center;justify-items:center;gap:10px;min-height:100vh;padding:40px;display:grid}.auth-loading .brand-mark{margin-bottom:8px}.auth-loading strong{color:var(--brand);font-size:18px}.auth-loading span{max-width:440px;color:var(--muted);font-size:12px;line-height:1.6}.auth-loading .ds-button{margin-top:10px}.login-page{background:#eef3f0;grid-template-columns:minmax(330px,.9fr) minmax(470px,1.1fr);min-height:100vh;display:grid}.login-context{color:#eaf2ef;background:var(--brand);flex-direction:column;justify-content:space-between;min-height:100vh;padding:45px clamp(42px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-context:after{content:"";border:1px solid #e7b85f38;border-radius:50%;width:460px;height:460px;position:absolute;bottom:-180px;right:-150px;box-shadow:0 0 0 70px #e7b85f0a,0 0 0 150px #ffffff06}.login-brand{z-index:1;color:#fff;letter-spacing:.12em;align-items:center;gap:12px;display:flex;position:relative}.login-brand>span{width:40px;height:40px;color:var(--brand);background:#e7b85f;border-radius:10px;place-items:center;font-size:21px;font-weight:800;display:grid}.login-message{z-index:1;max-width:470px;position:relative}.login-message .eyebrow{color:#e7b85f}.login-message h1{color:#fff;letter-spacing:-.045em;max-width:460px;margin:13px 0 16px;font-size:clamp(39px,5vw,66px);line-height:1.02}.login-message p{color:#afc2bc;font-size:16px}.login-security{z-index:1;color:#e7b85f;align-items:flex-start;gap:11px;max-width:390px;display:flex;position:relative}.login-security strong,.login-security span{display:block}.login-security strong{color:#eef5f2;font-size:12px}.login-security span{color:#91aaa2;margin-top:3px;font-size:10px;line-height:1.5}.login-form-area{place-content:center;justify-items:center;padding:48px;display:grid}.login-card{width:min(430px,100%);padding:38px}.login-card-icon{width:42px;height:42px;color:var(--green);background:var(--brand-soft);border-radius:11px;place-items:center;margin-bottom:20px;display:grid}.login-card h2{letter-spacing:-.025em;margin:8px 0 6px;font-size:25px}.login-card>p{color:var(--muted);margin-bottom:24px;font-size:12px}.login-card form{gap:15px;display:grid}.login-card form .ds-button{width:100%;margin-top:4px}.login-help{max-width:390px;color:var(--muted);text-align:center;margin:17px 0 0;font-size:10px;line-height:1.5}.login-card form .login-back{margin-top:-5px}.topbar .ds-dropdown summary{justify-content:space-between;min-width:130px}.ds-dropdown-menu a,.ds-dropdown-menu button{width:100%;min-height:34px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px;font-size:11px;text-decoration:none;display:flex}.ds-dropdown-menu a:hover,.ds-dropdown-menu button:hover{background:#f0f4f2}.ds-dropdown-menu .danger-action{color:#a63731}.users-surface{min-width:0;padding:20px}.users-surface .ds-table{min-width:850px}.users-loading{gap:10px;padding:14px 0;display:grid}.dialog-form{gap:14px;display:grid}.dialog-form>.inline-actions{margin:4px -20px -20px}.ds-dialog{max-height:calc(100vh - 40px)}.ds-dialog-body{max-height:calc(100vh - 185px);overflow-y:auto}.forbidden-page{max-width:620px;color:var(--muted);text-align:center;justify-items:center;margin:70px auto 0;padding:58px;display:grid}.forbidden-page svg{color:var(--green)}.forbidden-page h1{color:var(--ink);margin:16px 0 8px;font-size:24px}.forbidden-page p{max-width:460px;margin:0;line-height:1.6}.profile-grid{grid-template-columns:minmax(245px,.65fr) minmax(430px,1.35fr);gap:18px;display:grid}.profile-identity{align-self:start;align-items:flex-start;gap:15px;padding:24px;display:flex}.profile-identity h2{margin:4px 0 3px;font-size:17px}.profile-identity p{color:var(--muted);overflow-wrap:anywhere;margin-bottom:10px;font-size:11px}.profile-details{padding:24px}.profile-details h2{margin-bottom:18px;font-size:16px}.profile-details dl{border:1px solid var(--line);border-radius:9px;gap:0;margin:0 0 24px;display:grid}.profile-details dl>div{border-top:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 14px;display:grid}.profile-details dl>div:first-child{border-top:0}.profile-details dt{color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.profile-details dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:600}.profile-details form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.profile-security{grid-column:1/-1;padding:24px}.security-card-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;display:grid}.security-card-heading h2{margin:3px 0 0;font-size:17px}.security-icon{width:42px;height:42px;color:var(--green);background:var(--brand-soft);border-radius:11px;place-items:center;display:grid}.profile-security>p{max-width:670px;color:var(--muted);margin:16px 0;font-size:12px;line-height:1.6}.enrollment-setup{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.totp-qr{border:1px solid var(--line);background:#fff;border-radius:12px;place-items:center;width:208px;height:208px;display:grid}.totp-qr svg{max-width:100%;height:auto;display:block}.enrollment-setup h3{color:var(--ink);margin:0 0 6px;font-size:15px}.enrollment-setup p{margin:0 0 14px}.manual-key-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.manual-key{overflow-wrap:anywhere;max-width:100%;color:var(--ink);border:1px solid var(--line);-webkit-user-select:all;user-select:all;background:#f4f7f5;border-radius:7px;padding:8px 9px;font-size:11px;display:block}.enrollment-config{gap:18px}.commesse-toolbar{margin-bottom:18px;padding:16px}.commesse-toolbar .ds-filter-bar{margin-bottom:11px}.commesse-toolbar form{min-width:0}.list-options{border-top:1px solid var(--line);justify-content:flex-end;align-items:end;gap:10px;padding-top:11px;display:flex}.list-options .ds-control{width:205px}.view-toggle{gap:5px;display:flex}.view-toggle .active{color:#fff;background:var(--brand);border-color:var(--brand)}.commessa-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.commessa-card{cursor:pointer;min-width:0;padding:18px;transition:transform .15s,box-shadow .15s}.commessa-card:hover{transform:translateY(-2px);box-shadow:0 13px 34px #1a352d1f}.commessa-card:focus-visible{outline:3px solid #2f6fed4d}.commessa-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.commessa-card h2{white-space:nowrap;text-overflow:ellipsis;margin:14px 0 3px;font-size:16px;overflow:hidden}.commessa-card>p{min-height:17px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:17px;font-size:11px;overflow:hidden}.commessa-card .ds-progress{margin-bottom:17px}.commessa-card-meta{border-top:1px solid var(--line);grid-template-columns:1.15fr 1.25fr .55fr;gap:9px;padding-top:13px;display:grid}.commessa-card-meta span{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.commessa-card-meta small{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:8px;font-weight:600;display:block}.due-danger{color:var(--red)!important}.due-warning{color:var(--amber)!important}.due-neutral{color:var(--ink)}.commessa-table .ds-table{min-width:1160px}.commessa-table .ds-table th:last-child,.commessa-table .ds-table td:last-child{text-align:left;width:auto;min-width:115px}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f6f9f7}.commessa-table .ds-progress{min-width:120px}.commessa-form{gap:14px;display:grid}.commessa-form textarea{resize:vertical;width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:9px 10px}.commessa-form .ds-alert{margin:0}.commessa-form .form-actions{border-top:1px solid var(--line);background:#f7f9f8;justify-content:flex-end;gap:8px;margin:4px -20px -20px;padding:14px 20px;display:flex;position:sticky;bottom:-20px}.commessa-form+*{display:none}.technician-picker{border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:11px;display:grid}.technician-picker legend{color:#465651;padding:0 5px;font-size:10px;font-weight:700}.technician-picker label{background:#f7f9f8;border-radius:7px;align-items:flex-start;gap:7px;min-width:0;padding:7px;font-size:11px;display:flex}.technician-picker label span,.technician-picker label small{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.technician-picker label small{color:var(--muted);margin-top:2px;font-size:9px}.technician-picker p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px}.back-link{color:var(--green);align-items:center;gap:6px;margin-bottom:13px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.detail-header{align-items:center}.detail-header h1{margin-top:5px}.detail-actions{align-items:center;gap:10px;display:flex}.commessa-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:6px 0 15px;display:grid}.commessa-metric{min-height:112px;padding:17px}.commessa-metric>span{color:var(--muted);text-transform:uppercase;margin-bottom:14px;font-size:10px;font-weight:700;display:block}.commessa-metric>div{gap:4px;display:grid}.commessa-metric strong{font-size:14px}.commessa-metric small{color:var(--muted);font-size:9px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.detail-section{min-width:0;padding:20px}.detail-section h2{margin-bottom:17px;font-size:15px}.detail-section>p{color:var(--muted);font-size:12px;line-height:1.65}.detail-section .detail-value{color:var(--ink);font-size:18px;font-weight:700}.description-card p{white-space:pre-wrap}.people-list{gap:9px;display:grid}.person-line{align-items:center;gap:9px;min-width:0;display:flex}.person-line span,.person-line strong,.person-line small{min-width:0;display:block}.person-line small{color:var(--muted);text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.muted{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.progress-editor{gap:14px;display:grid}.progress-editor .ds-button{justify-self:end}.progress-editor .ds-alert{margin:0}.timeline-card{padding:21px}.timeline{display:grid}.timeline-entry{border-left:1px solid var(--line);grid-template-columns:105px 28px minmax(0,1fr);gap:10px;padding:12px 0 12px 20px;display:grid;position:relative}.timeline-dot{background:var(--green);border-radius:50%;width:7px;height:7px;position:absolute;top:19px;left:-4px}.timeline-entry time{color:var(--muted);font-size:10px}.timeline-entry strong{font-size:11px}.timeline-entry p{color:var(--muted);margin:3px 0 0;font-size:11px}.detail-loading{gap:18px;display:grid}.metric-loading{align-content:center;gap:14px;min-height:138px;padding:20px;display:grid}.dashboard-recent{padding:20px}.dashboard-project{cursor:pointer}.dashboard-project:hover{background:#f7f9f8}@media (width<=1120px){.app-shell{grid-template-columns:206px minmax(0,1fr)}.sidebar{width:206px;padding-inline:12px}.page-content,.topbar{padding-inline:24px}.metric-card{padding-inline:15px}.project-row{grid-template-columns:minmax(170px,1fr) auto minmax(105px,.7fr);gap:12px}.due{display:none}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(230px,.7fr)}.ds-filter-bar{grid-template-columns:minmax(200px,1.3fr) minmax(115px,.6fr) minmax(125px,.7fr)}.ds-filter-bar>.ds-button{grid-column:3}.foundation-grid{grid-template-columns:minmax(0,1fr)}.foundation-wide{grid-column:auto}.login-context{padding-inline:40px}.login-form-area{padding-inline:36px}.profile-grid{grid-template-columns:minmax(0,1fr)}.profile-identity{align-self:stretch}.commessa-card-grid,.commessa-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.commessa-card-meta{grid-template-columns:1fr 1fr}.commessa-card-meta span:last-child{display:none}}@media (width<=760px){body{min-width:0}.app-shell{min-width:0;padding-top:68px;display:block}.sidebar{flex-direction:row;align-items:center;gap:8px;width:100%;height:68px;padding:8px 10px;inset:0 0 auto;box-shadow:0 4px 18px #12312b29}.brand{flex:none;margin:0}.brand>div:last-child,.sidebar-footer{display:none}.brand-mark{width:38px;height:38px}.sidebar nav{overscroll-behavior-inline:contain;scrollbar-width:thin;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.nav-item{flex:none;justify-content:center;min-width:46px;height:46px;padding:0}.nav-item span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main-content{width:100%;min-width:0;overflow:hidden}.topbar{justify-content:space-between;height:54px;padding-inline:14px}.topbar .ds-dropdown summary{min-width:0;max-width:190px}.page-content{width:100%;padding:22px 14px 34px}.page-header,.detail-header{flex-direction:column;align-items:stretch;gap:12px}.page-header h1{font-size:24px}.page-header p{font-size:12px}.detail-actions,.page-actions{flex-wrap:wrap;justify-content:flex-start}.ds-tab-list{overscroll-behavior-inline:contain;width:100%}.documents-table,.documents-panel,.activity-history{width:100%;max-width:100%}.ds-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.document-drawer dl{grid-template-columns:82px minmax(0,1fr)}}
