:root{--ink:#182839;--muted:#728092;--bg:#f4f6f8;--line:#dfe6eb;--blue:#176f87;--blue2:#0b5369;--pale:#e7f2f3;--white:#fff;--gold:#d8a75c;--red:#b53c38;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:14px;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{background:#142e3d;color:white;border-bottom:3px solid var(--gold)}.top-inner{max-width:1600px;margin:auto;padding:0 30px;display:flex;align-items:center;gap:32px;min-height:78px}.brand{color:white;display:flex;align-items:baseline;font-size:25px;font-weight:850;letter-spacing:-1px;white-space:nowrap}.brand b{font-weight:400;color:#a5e4e8;margin-left:5px}.brand small{font-size:9px;letter-spacing:1.2px;color:#94aeb9;margin-left:12px}.nav{display:flex;align-items:center;flex-wrap:wrap;gap:3px;flex:1}.nav a{font-size:12px;color:#c5d4dc;font-weight:550;padding:10px 11px;border-radius:8px}.nav a:hover,.nav a.active{color:white;background:rgba(255,255,255,.12);text-decoration:none}.userbox{display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:11px;color:#a7c3cb}.userbox a{color:white;border:1px solid #64818b;border-radius:8px;padding:6px 12px}.container{max-width:1536px;margin:0 auto;padding:35px 32px 50px}.eyebrow{color:var(--blue);letter-spacing:2px;font-size:10px;font-weight:800}.page-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-top h1{font-size:clamp(28px,3vw,44px);letter-spacing:-1.4px;line-height:1.1;margin:8px 0 8px}.page-top p{margin:0;color:var(--muted)}.top-actions{display:flex;gap:9px}.btn,button.primary,button.soft{border:0;display:inline-block;border-radius:9px;padding:11px 16px;font-weight:700;font-size:13px;white-space:nowrap}.btn.primary,.primary{background:var(--blue);color:white;border:0;border-radius:9px;padding:11px 17px;font-weight:700}.btn.primary:hover,.primary:hover{background:var(--blue2);text-decoration:none}.btn.soft,.soft{background:var(--pale);color:var(--blue2);border:0}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;box-shadow:0 4px 17px rgba(21,45,60,.035)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric{display:flex;flex-direction:column;gap:4px;color:var(--ink);min-height:145px}.metric:hover{text-decoration:none;border-color:#a9cad0}.metric span{font-size:12px;color:var(--muted);font-weight:700}.metric strong{font-size:42px;line-height:1.2;letter-spacing:-1.5px}.metric small{font-size:11px;color:var(--blue)}.dash-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}.stack{display:flex;flex-direction:column;gap:18px}.stack.panel{gap:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.section-head h2{margin:0}.section-head p{margin:5px 0 0;font-size:12px;color:var(--muted)}h2{font-size:20px;letter-spacing:-.35px;margin:0 0 17px}h3{font-size:16px;letter-spacing:-.2px;margin:18px 0 12px}.muted,.small{color:var(--muted)}.small{font-size:12px}.agenda-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf1f3;padding:12px 0}.agenda-row:last-child{border:0}.agenda-row>div strong{display:block;font-size:13px}.agenda-row small{color:var(--muted);font-size:11px}.date-pill{font-size:11px;background:#e9f5f6;color:var(--blue);border-radius:8px;padding:8px;min-width:61px;text-align:center;font-weight:750;white-space:nowrap}.date-pill.late{color:var(--red);background:#faebeb}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.action-grid a{padding:15px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:750}.action-grid a:hover{border-color:var(--blue);text-decoration:none;background:#fafdfd}.action-grid small{display:block;margin-top:3px;color:var(--muted);font-weight:400}.project-line{margin:14px 0}.project-line strong{display:block}.project-line small{display:block;color:var(--muted)}.progress{height:6px;background:#edf0f2;border-radius:8px;overflow:hidden;margin-top:8px}.progress i{height:100%;background:var(--blue);display:block;border-radius:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.stack label,.quote-tools label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#485968;min-width:0}.form-grid input,.form-grid select,.form-grid textarea,.stack input,.quote-tools select,.quote-line input,.searchline input{display:block;background:#fff;border:1px solid #cedae0;padding:11px 12px;border-radius:8px;color:var(--ink);outline:none;width:100%;min-width:0}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.quote-line input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #ddf3f5}.form-grid textarea{min-height:96px;resize:vertical}.form-grid label:has(textarea){grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:20px;align-items:center;margin-top:19px}.searchline{display:flex;gap:8px;max-width:550px;margin:0 0 20px}.searchline button{border:0;background:var(--blue);color:white;border-radius:8px;padding:0 17px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px}.table-wrap table,.print-sheet table{border-collapse:collapse;width:100%;min-width:690px}.table-wrap td,.table-wrap th,.print-sheet td,.print-sheet th{padding:13px 14px;text-align:left;border-bottom:1px solid #e7edf0;vertical-align:top;overflow-wrap:anywhere;max-width:310px}.table-wrap th,.print-sheet th{background:#f2f6f8;color:#536778;text-transform:uppercase;letter-spacing:.45px;font-weight:800;font-size:10px}.table-wrap td{font-size:12px}.table-wrap tr:last-child td{border-bottom:none}.actions{white-space:nowrap}.actions a,.actions form{display:inline-block;margin-right:8px}.link-danger{padding:0;background:none;border:0;color:var(--red);font-size:12px}.empty{text-align:center;color:var(--muted);padding:40px!important}.notice,.alert{padding:14px 17px;border:1px solid #bbdedb;background:#eaf8f7;border-radius:10px;margin-bottom:18px}.alert{border-color:#e9b1b1;background:#ffefef;color:#812e2e}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dow{text-align:center;color:var(--muted);font-size:11px;font-weight:800;padding:12px}.cal-day{border:1px solid #e3e9ed;min-height:115px;border-radius:9px;padding:9px;overflow:hidden}.cal-day.other{background:#f7f9fa;opacity:.6}.cal-day.today{border:2px solid var(--blue)}.cal-day>strong{font-size:12px}.cal-event{background:#dcebef;padding:3px 5px;border-radius:4px;font-size:10px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.task{background:#f1e5cd}.cal-event.progetto{background:#e9e4f6}.cal-event.evento{background:#dfeadd}.legend{color:var(--muted);font-size:11px;padding-top:12px}.quote-tools{display:flex;align-items:end;gap:14px;margin:14px 0}.quote-tools label{max-width:490px;flex:1}.quote-line{display:grid;grid-template-columns:minmax(200px,3fr) minmax(70px,1fr) minmax(100px,1fr) auto;gap:9px;margin-bottom:9px}.remove-line{border:1px solid #edcdcd;border-radius:8px;background:#fff4f4;color:#9f3636;padding:0 13px}.print-sheet{max-width:900px;background:white;margin:20px auto;border:1px solid var(--line);padding:44px}.print-title{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid var(--blue);padding-bottom:17px;font-size:20px;font-weight:800}.print-title span{color:var(--blue)}.print-sheet table{min-width:0;margin:22px 0}.print-sheet td,.print-sheet th{max-width:none}.totals{text-align:right;line-height:2}.footer{padding:36px 0 0;font-size:11px;color:#9aa4aa;text-align:center}.setup{max-width:700px;margin:7vh auto 30px;padding:26px}.setup-mark{font-size:32px;letter-spacing:-1.7px;font-weight:800;color:#164359}.setup-mark b{color:#36949d;font-weight:400}.setup-mark small{font-size:12px;letter-spacing:1px;color:var(--muted)}.setup h1{font-size:37px;letter-spacing:-1px;margin-bottom:10px}.setup>p{color:var(--muted)}.setup .panel{margin:24px 0}.setup .span-all{grid-column:1/-1}.setup .stack{gap:18px}.setup .stack button{align-self:flex-start}@media(max-width:1180px){.top-inner{align-items:flex-start;flex-wrap:wrap;padding:17px 22px;gap:10px}.nav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap}.nav a{white-space:nowrap}.userbox{margin-left:auto}.container{padding:28px 20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.dash-grid,.form-grid{grid-template-columns:1fr}.page-top{display:block}.top-actions{margin-top:18px}.calendar{gap:2px}.cal-day{min-height:80px;padding:4px}.cal-event{font-size:8px}.panel{padding:16px}.quote-line{grid-template-columns:1fr 65px 90px;gap:5px}.quote-line .remove-line{grid-column:1/-1;padding:6px}.quote-tools{display:block}.quote-tools button{margin-top:8px}.print-sheet{padding:16px}.page-top h1{font-size:32px}}@media print{body{background:#fff}.topbar,.page-top,.eyebrow,.footer,.no-print{display:none!important}.container{padding:0;max-width:none}.print-sheet{box-shadow:none;border:none;margin:0;max-width:none;padding:0}a{color:inherit}}
