:root{--pine:#243a32;--pine2:#365b4c;--moss:#6e8b73;--terracotta:#d77a4b;--sand:#f0eee6;--paper:#f7f7f2;--white:#fffefa;--ink:#293630;--muted:#78827b;--line:#e4e6df;--amber:#d49b3e;--danger:#b9574b;--blue:#67889a;--radius:13px;--shadow:0 12px 35px rgba(40,58,48,.065);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d49b3e66;outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;flex:0 0 252px;background:var(--pine);color:#f6f5ee;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100dvh;padding:22px 14px 14px;z-index:8}.brand{display:flex;align-items:center;gap:10px;padding:1px 11px 22px}.brand-mark{width:36px;height:36px;border:1px solid #ffffff57;border-radius:10px;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px;font-weight:700;color:#f7f1dc}.brand-mark span{color:#d49b3e}.brand>div:nth-child(2),.splash-brand>div:nth-child(2){display:flex;flex-direction:column;letter-spacing:2.7px}.brand>div:nth-child(2) b,.splash-brand>div:nth-child(2) b{font-size:13px;letter-spacing:3px}.brand>div:nth-child(2) small,.splash-brand>div:nth-child(2) small{font-size:8px;letter-spacing:1.8px;color:#b9c7bb;margin-top:3px}.sidebar-close{display:none}.company-switch{display:flex;align-items:center;gap:9px;background:#ffffff0d;border:1px solid #ffffff16;border-radius:9px;padding:10px;margin:0 2px 20px}.company-avatar{height:29px;width:29px;display:grid;place-items:center;border-radius:8px;background:#d49b3e;color:var(--pine);font-size:10px;font-weight:800}.company-switch div{flex:1;min-width:0}.company-switch b,.company-switch small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-switch b{font-size:11px}.company-switch small{font-size:9px;color:#afc0b4;margin-top:4px}.company-switch>span:last-child{color:#abb9ae}.nav-groups{overflow:auto;flex:1}.nav-group{margin-bottom:16px}.nav-heading{color:#91a99a;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;font-weight:700;padding:0 12px 7px}.nav-item{border:0;background:transparent;width:100%;display:flex;align-items:center;text-align:left;gap:11px;color:#d0dbd3;padding:9px 12px;border-radius:8px;margin:1px 0;font-size:12px;transition:background .18s,color .18s}.nav-item:hover{background:#ffffff12;color:white}.nav-item.active{background:#e9eee5;color:var(--pine);font-weight:700}.nav-icon{width:17px;text-align:center;font-size:16px;color:#a9c1af}.nav-item.active .nav-icon{color:var(--pine2)}.nav-count{font-style:normal;margin-left:auto;border-radius:99px;background:var(--terracotta);color:white;font-size:9px;padding:2px 6px}.sidebar-bottom{padding-top:12px}.weather-mini{padding:12px 10px;border-top:1px solid #ffffff18;display:flex;gap:10px;color:#e0ad53}.weather-mini div{display:flex;flex-direction:column}.weather-mini b{font-size:10px;color:#f4f2e9}.weather-mini small{font-size:9px;color:#aebdb0;margin-top:4px}.user-card{border-top:1px solid #ffffff18;padding:13px 4px 4px;display:flex;align-items:center;gap:9px}.user-avatar{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;background:#d8e0d4;color:#344d3d;font-weight:800;font-size:11px}.user-card div:nth-child(2){flex:1}.user-card b,.user-card small{display:block}.user-card b{font-size:11px}.user-card small{color:#aebdb0;font-size:10px;margin-top:3px}.user-card button{border:0;background:none;color:#c7d0c9}.main-area{min-width:0;flex:1}.content{max-width:1500px;margin:0 auto;padding:32px 39px 20px}.mobile-top{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}.eyebrow{display:block;color:#78857c;font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.page-head h1{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.12;letter-spacing:-.8px;font-weight:500;margin:6px 0 4px;color:#273b31}.page-head p{margin:0;color:#7d8780;font-size:12px}.head-actions{display:flex;align-items:center;gap:12px}.date-chip{font-size:10px;color:#728078;white-space:nowrap}.date-chip:first-letter{color:#6f9879}.btn{border:1px solid #dfe3dc;background:#fffefa;color:#44554b;border-radius:7px;padding:9px 13px;font-size:11px;font-weight:700;transition:background .15s,transform .15s,border .15s;white-space:nowrap}.btn:hover{background:#eef1e9;border-color:#bdc8bb;transform:translateY(-1px)}.btn.primary{background:var(--pine2);border-color:var(--pine2);color:white}.btn.primary:hover{background:#294a3b}.btn-light{background:#ffffff17;color:#fff;border-color:#ffffff45}.btn-outline{background:transparent;border-color:#cbd4ca}.link-btn{border:0;background:transparent;color:#52735d;padding:5px 7px}.icon-btn{width:32px;height:32px;border:1px solid #ffffff55;color:white;background:#ffffff16;border-radius:8px;font-size:17px}.focus-card{background:var(--pine);color:#f7f7ef;border-radius:14px;padding:22px 24px 16px;margin-bottom:18px;box-shadow:0 14px 35px #223d3013;position:relative;overflow:hidden}.focus-card:after{content:"";position:absolute;right:-70px;top:-140px;width:320px;height:320px;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 36px #ffffff04,0 0 0 72px #ffffff04;pointer-events:none}.focus-top{display:flex;justify-content:space-between;align-items:flex-start}.tag{display:inline-flex;align-items:center;border-radius:4px;padding:5px 7px;font-size:8px;font-weight:800;letter-spacing:1px}.tag-light{background:#ffffff16;color:#d3dfd4}.focus-top h2{font-family:Georgia,serif;font-weight:500;font-size:25px;margin:10px 0 4px}.focus-top h2 span{font-family:inherit;color:#d9e0d7;font-size:20px}.focus-top p{margin:0;color:#aebdb3;font-size:11px}.focus-grid{display:grid;grid-template-columns:minmax(200px,1fr) 205px 190px;gap:30px;padding:24px 0 19px}.metric-label,.focus-metric>span{display:block;font-size:9px;letter-spacing:1.2px;color:#b0c0b4;font-weight:700}.progress{height:6px;background:#e8ebe5;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#749a77;border-radius:8px;transition:width .35s}.focus-card .progress{background:#ffffff20;margin-top:12px}.focus-card .progress i{background:#d5a24d}.progress.large{height:8px}.progress-meta{display:flex;align-items:center;gap:10px;margin-top:8px}.progress-meta b{font-size:18px;color:#f4d08a}.progress-meta span{color:#afbeb2;font-size:10px}.focus-metric{border-left:1px solid #ffffff22;padding-left:23px;display:flex;flex-direction:column;justify-content:center}.focus-metric strong{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:9px 0 5px}.focus-metric small{font-size:10px;color:#aebdb3}.focus-bottom{border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;padding-top:12px;color:#b6c4b9;font-size:10px;position:relative;z-index:1}.focus-bottom>div:first-child{display:flex;align-items:center}.avatar-stack{display:inline-flex;margin-right:10px}.avatar-stack i{font-style:normal;display:grid;place-items:center;width:23px;height:23px;margin-right:-5px;border:2px solid var(--pine);background:#d2bb8b;color:#314739;border-radius:50%;font-size:7px;font-weight:800}.avatar-stack i:nth-child(2){background:#b3c4b6}.avatar-stack i:nth-child(3){background:#d79a75}.focus-links{display:flex;gap:8px}.focus-links .btn{font-size:9px;padding:7px 10px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.metric-card{min-height:112px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px 16px;position:relative}.metric-card>span{display:block;font-size:9px;color:#879087;letter-spacing:1px;font-weight:800}.metric-card>b{display:block;font-family:Georgia,serif;font-size:26px;font-weight:500;margin:8px 0 3px;color:#2e4236}.metric-card small{display:block;color:#919990;font-size:10px}.sparkline{position:absolute;right:14px;bottom:13px;color:#c9895e;font-size:19px;letter-spacing:-2px}.green-text{color:#648d70}.amber-text{color:#b6802b}.metric-foot{position:absolute;right:13px;bottom:15px;font-size:9px}.mini-progress{margin-top:10px;max-width:90px}.dashboard-grid,.bottom-grid,.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.card{background:var(--white);border:1px solid var(--line);border-radius:11px;padding:17px 18px;box-shadow:0 3px 12px #344d3905;min-width:0}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.card-title h3,.card h3{font-family:Georgia,serif;font-weight:500;font-size:18px;color:#34463a;margin:5px 0 0}.card-title .eyebrow{font-size:8px}.pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;background:#eef0ec;color:#667169;font-size:9px;font-weight:700;white-space:nowrap}.pill.green{background:#e8f0e8;color:#54775b}.pill.amber{background:#f6efdf;color:#946a27}.pill.blue{background:#e9eff0;color:#5c7882}.pill.red{background:#f5e9e6;color:#a74f45}.inbox-row{display:flex;align-items:center;gap:10px;border-top:1px solid #eceee8;padding:11px 0}.inbox-row:first-of-type{border-top:0}.inbox-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:13px;flex:0 0 auto}.inbox-icon.orange{background:#f6ebe2;color:#c47a4d}.inbox-icon.coral{background:#f4e7e3;color:#b96858}.inbox-icon.blue{background:#e9eff0;color:#658294}.inbox-icon.green{background:#e9f0e8;color:#6a8d70}.inbox-row>div{flex:1;min-width:0}.inbox-row b,.inbox-row small{display:block}.inbox-row b{font-size:11px}.inbox-row small{font-size:9px;color:#89928a;margin-top:3px}.job-progress-row{display:grid;grid-template-columns:83px 1fr 36px;gap:7px;align-items:center;border-top:1px solid #eceee8;padding:10px 0}.job-id{font-size:9px;font-weight:800;color:#718178}.job-name{font-size:10px;font-weight:700}.job-name small{display:block;color:#929990;font-size:9px;font-weight:400;margin-top:3px}.job-pct{font-size:11px;font-weight:700;text-align:right;color:#58725e}.week-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.week-strip>div{position:relative;background:#f5f5ef;border-radius:8px;text-align:center;padding:10px 5px}.week-strip small,.week-strip b{display:block}.week-strip small{font-size:8px;color:#89938a}.week-strip b{font-family:Georgia,serif;font-size:19px;font-weight:500;margin-top:4px}.week-strip i{position:absolute;top:8px;right:9px;background:#d9a254;color:white;border-radius:50%;height:14px;width:14px;font-size:8px;font-style:normal}.week-strip .today{background:#e9eee7;color:#345742}.mini-announce{background:#f2eee2;border-color:#e9e2d1}.mini-announce h3{font-size:17px;margin:10px 0 4px}.mini-announce p{font-size:11px;margin:0;color:#6e786e}.mini-announce>span:last-child{display:block;margin-top:14px;font-size:9px;color:#99845d}.app-footer{border-top:1px solid #e7e9e2;padding:16px 0 8px;display:flex;justify-content:space-between;color:#9aa098;font-size:9px;margin-top:20px}.mobile-welcome{display:none}.client-hero{background:#e4e9df;border-radius:14px;min-height:180px;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;position:relative;overflow:hidden}.client-hero:after{content:"";position:absolute;width:270px;height:270px;border:1px solid #7089762a;border-radius:50%;right:100px;top:-40px;box-shadow:0 0 0 30px #7089760c,0 0 0 60px #7089760c}.client-hero .tag{background:#d3ddd0;color:#506b58}.client-hero h2{font-family:Georgia,serif;font-size:30px;line-height:1.05;font-weight:500;margin:12px 0 5px}.client-hero p{margin:0;color:#748075;font-size:11px}.client-number{font-family:Georgia,serif;font-size:56px;color:#355744;z-index:1;margin-right:10%;}.client-number small{display:block;font-family:inherit;font-size:12px;color:#77877a;text-align:center;margin-top:-5px}.client-grid{margin-top:18px}.client-grid .btn{margin-top:8px}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-placeholder{height:115px;background:linear-gradient(145deg,#d7ddd1,#f0e7d4);border-radius:9px;display:flex;align-items:center;justify-content:center;position:relative;color:#74877a;font-size:26px;overflow:hidden}.photo-placeholder:after{content:"";position:absolute;width:130px;height:130px;border:1px solid #ffffff94;transform:rotate(45deg);left:30%;top:22%}.photo-placeholder small{position:absolute;bottom:8px;left:10px;color:#536252;font-size:9px;background:#fffefaad;padding:4px 6px;border-radius:4px;z-index:1}.p1{background:linear-gradient(135deg,#ded6c5,#b5c0b4)}.p2{background:linear-gradient(145deg,#e3e7dd,#cfb499)}.p3{background:linear-gradient(135deg,#cad4cf,#ead8bc)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:23px 0 11px}.section-title h2{font-family:Georgia,serif;font-size:20px;font-weight:500;margin:0}.section-title>span{font-size:10px;color:#929990}.compact p{font-size:11px;color:#879087}.card-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:11px}.card-row:first-child{border-top:0}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.searchbox{display:flex;align-items:center;gap:8px;background:#fffefa;border:1px solid var(--line);border-radius:7px;padding:0 10px;color:#8c978d;height:35px;min-width:230px}.searchbox input{border:0;outline:none;background:transparent;width:100%;font-size:10px;color:var(--ink)}.filter-pills{display:flex;gap:4px;flex:1}.filter-btn{border:0;background:transparent;color:#7d887e;border-radius:6px;padding:8px 10px;font-size:10px}.filter-btn:hover,.filter-btn.selected{background:#e7ece5;color:#3e654e}.toolbar>.btn{margin-left:auto}.table-wrap{overflow:auto;background:var(--white);border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left;min-width:760px}th{font-size:8px;letter-spacing:1px;color:#8d968d;background:#f7f7f2;padding:12px 13px;font-weight:800}td{padding:11px 13px;border-top:1px solid #eceee8;font-size:10px;color:#4f5d53}td b{font-size:10px}td small{display:block;color:#929991;font-size:9px;margin-top:4px}.money{font-weight:700;color:#3f5145}.text-button{border:0;padding:0;background:transparent;color:#52745c;font-weight:800;font-size:10px}.table-progress{display:flex;align-items:center;gap:7px}.table-progress .progress{width:65px}.table-progress small{margin:0;white-space:nowrap}.mt{margin-top:15px}.notice-band{margin-top:14px;border:1px solid #e3e8df;background:#eef2eb;border-radius:9px;padding:13px 16px;display:flex;gap:15px;align-items:center;font-size:10px}.notice-band b{color:#4c6c53}.notice-band span{color:#77827a}.operations-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(245px,.8fr);gap:14px;align-items:start}.main-column,.side-column{display:grid;gap:14px}.report-card{padding:19px}.subtle{color:#929b91;font-family:inherit;font-size:12px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);background:#f4f5ef;border-radius:8px;margin:15px 0 10px;padding:11px}.report-summary>div{text-align:center;border-right:1px solid #dfe3da}.report-summary>div:last-child{border:0}.report-summary b,.report-summary small{display:block}.report-summary b{font-family:Georgia,serif;font-size:19px;color:#355741;font-weight:500}.report-summary small{font-size:8px;color:#828c83;margin-top:3px}.work-entry{display:grid;grid-template-columns:26px minmax(120px,1fr) minmax(210px,.8fr);align-items:center;gap:9px;padding:13px 0;border-top:1px solid #eceee8}.work-index{height:21px;width:21px;border-radius:6px;background:#ebefe9;display:grid;place-items:center;color:#66806b;font-size:9px;font-weight:800}.work-detail b{display:block;font-size:11px}.work-detail small{display:block;font-size:9px;color:#89928a;margin-top:4px}.work-input{display:flex;align-items:flex-end;gap:9px}.work-input label,.estimate-fields label{display:flex;flex-direction:column;gap:4px;color:#7f8980;font-size:8px}.work-input input,.estimate-fields input{width:68px;padding:7px 8px;border:1px solid #e1e5de;border-radius:5px;background:white;color:#38493d;font-size:10px}.work-input>small{font-size:9px;color:#879087;margin-bottom:8px}.report-note label,.form-field{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#7b867c}.report-note textarea,.form-field textarea{resize:vertical;min-height:55px;border:1px solid #e0e5dc;border-radius:7px;padding:9px;background:#fffefa;font-size:10px;color:#445147}.card-actions{display:flex;align-items:center;gap:8px;margin-top:13px}.privacy-note{margin-top:12px;padding-top:10px;border-top:1px solid #eef0eb;color:#969e96;font-size:9px}.variation-card{padding:19px}.variation-body{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:start}.sim-photo{height:132px;border-radius:8px;background:linear-gradient(145deg,#d9dfd6 0 35%,#c6d2c7 36% 60%,#e8dfcf 61%);position:relative;overflow:hidden}.sim-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,#f7f5e9 49%,#f7f5e9 52%,transparent 53%),linear-gradient(0deg,transparent 65%,#f7f5e9 66%,#f7f5e9 69%,transparent 70%);opacity:.8}.sim-label{position:absolute;left:8px;bottom:7px;background:#fffefaad;border-radius:3px;padding:4px 5px;font-size:7px;color:#677367;letter-spacing:.5px}.wall-line{position:absolute;left:45%;height:60%;top:20%;border-left:3px dashed #ca754c;transform:rotate(14deg)}.pin-light{position:absolute;top:35%;left:40%;color:#bc7047;font-size:14px}.pin-light.p2{left:58%;top:49%}.variation-copy>p{font-size:10px;line-height:1.55;color:#737e74;margin:1px 0 11px}.estimate-fields{display:flex;gap:7px;flex-wrap:wrap}.estimate-fields label:first-child{flex:1;min-width:130px}.estimate-fields label:first-child input{width:100%}.quote-breakdown{background:#f5f5ef;border-radius:7px;padding:8px 10px}.quote-breakdown>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #e8eae3;font-size:9px}.quote-breakdown>div:last-child{border:0}.quote-breakdown span{color:#7e887f}.quote-breakdown b{color:#43574a}.variation-footer{display:flex;justify-content:flex-end;align-items:center;gap:11px;border-top:1px solid #eceee8;margin-top:15px;padding-top:11px;font-size:9px;color:#8b948a}.variation-footer b{color:#46634c}.variation-footer .arrow{font-size:15px;color:#c28352}.decision-card{border-color:#ece4d4;background:#fffdf7}.decision-card h3{font-size:17px}.decision-card>p{font-size:9px;margin:6px 0 12px}.decision-facts{padding:9px 0;border-top:1px solid #ebe8df;border-bottom:1px solid #ebe8df}.decision-facts>div,.mini-stat{display:flex;justify-content:space-between;padding:6px 0;font-size:9px}.decision-facts span,.mini-stat span{color:#858e84}.decision-facts b,.mini-stat b{color:#44564a}.select-label{display:flex;flex-direction:column;gap:5px;margin:10px 0;color:#818b81;font-size:9px}.select-label select,.person-role-select{border:1px solid #e1e5dd;border-radius:5px;background:white;color:#4a584e;padding:6px;font-size:9px}.check-row{display:flex;align-items:center;gap:7px;font-size:9px;color:#748076;margin:8px 0 11px}.full{width:100%}.readonly-banner{background:#eff1eb;border-radius:6px;padding:9px;color:#7b857a;font-size:9px;margin-top:10px}.economy-tile{background:#edf1eb}.economy-tile h3{margin-bottom:10px}.economy-tile>small{display:block;border-top:1px solid #dce3da;padding-top:9px;margin-top:5px;font-size:8px}.activity-line{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-top:1px solid #eceee8}.activity-dot{width:7px;height:7px;border-radius:50%;background:#87a487;margin-top:4px}.activity-line b,.activity-line small{display:block;font-size:9px}.activity-line small{color:#8b958b;margin-top:3px}.person-avatar{display:inline-grid;place-items:center;width:25px;height:25px;vertical-align:middle;border-radius:50%;background:#e8ede5;color:#47654e;font-size:8px;font-weight:800;margin-right:5px}.person-role-select{margin-left:6px;max-width:112px}.planning-alert{display:flex;gap:10px;background:#f8f0de;border:1px solid #eadfbe;color:#83632c;border-radius:8px;padding:10px 13px;margin-bottom:13px;font-size:11px}.planning-alert>span{font-size:16px}.planning-alert small{display:block;color:#93805b;font-size:9px;margin-top:3px}.planning-card{padding:17px 18px}.plan-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.plan-head h3{margin-top:5px}.plan-head>div:last-child{display:flex;gap:5px;align-items:center}.plan-head .btn{padding:7px 9px;font-size:9px}.schedule-scroll{overflow:auto}.schedule-grid{display:grid;grid-template-columns:150px repeat(6,minmax(110px,1fr));min-width:830px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.schedule-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:57px;padding:6px}.schedule-corner,.week-head{background:#f5f6f0;font-size:9px;font-weight:800;color:#78847a}.week-head small{display:block;font-weight:400;color:#9ba298;margin-top:4px}.person-cell{background:#fbfbf7}.person-cell b,.person-cell small{display:block}.person-cell b{font-size:9px}.person-cell small{font-size:8px;color:#919a91;margin-top:3px}.schedule-cell{position:relative;background:#fffefa}.schedule-cell.occupied{background:#fcf9f1}.assignment{height:42px;border-radius:5px;padding:5px 6px;display:flex;flex-direction:column;justify-content:center;cursor:grab;overflow:hidden}.assignment b{font-size:8px;white-space:nowrap}.assignment small{font-size:7px;white-space:nowrap;margin-top:3px}.sched-focus{background:#e9e2d2;border-left:3px solid #d49b3e;color:#596047}.sched-blue{background:#e8eef0;border-left:3px solid #7c9cab;color:#526c76}.sched-green{background:#e8efe8;border-left:3px solid #83a182;color:#526a55}.slot-add{border:0;background:transparent;color:#b8c1b8;width:100%;height:100%;font-size:16px;min-height:38px}.legend{display:flex;align-items:center;gap:17px;margin-top:12px;font-size:9px;color:#808a80}.legend span{display:flex;align-items:center;gap:5px}.legend i{height:9px;width:9px;border-radius:3px;background:#e9e2d2}.legend .legend-b{background:#e8eef0}.legend .legend-c{background:#e8efe8}.capacity-row{display:flex;justify-content:space-between;margin:12px 0 8px;font-size:10px}.card>small{display:block;margin-top:8px;color:#929a92;font-size:9px}.stock-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #eceee8;font-size:9px}.stock-row b,.stock-row small{display:block}.stock-row small{color:#929990;font-size:8px;margin-top:3px}.stock-row .progress{grid-column:1/-1;height:4px}.detail-feature{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.detail-feature h3{margin:10px 0 4px}.detail-feature p{max-width:290px;color:#89928a;font-size:10px;line-height:1.6}.detail-mark{display:grid;place-items:center;width:41px;height:41px;background:#edf1eb;border-radius:12px;color:#66806a;font-size:20px}.safety-disclaimer{border:1px solid #ecdcc8;background:#f7f1e8;border-radius:8px;padding:13px 15px;margin-bottom:14px;color:#7f6342}.safety-disclaimer b{font-size:10px}.safety-disclaimer p{font-size:9px;line-height:1.5;margin:5px 0 0}.finance-banner{padding:11px 14px;border-radius:7px;background:#f5eee1;color:#846b3e;font-size:10px;margin-bottom:14px}.waterfall-card{padding:20px 22px}.waterfall svg{width:100%;height:auto;max-height:310px}.waterfall-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:12px}.waterfall-summary>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);padding-left:14px}.waterfall-summary>div:first-child{padding-left:0}.waterfall-summary>div:last-child{border:0}.waterfall-summary span{font-size:8px;letter-spacing:.8px;color:#929a92}.waterfall-summary b{font-family:Georgia,serif;font-size:16px;font-weight:500}.comparison{display:flex;align-items:center;gap:16px;margin:18px 0}.comparison>div:not(.comparison-arrow){display:flex;flex-direction:column;gap:5px}.comparison small{font-size:9px;color:#879087}.comparison b{font-family:Georgia,serif;font-size:25px;font-weight:500;color:#537559}.comparison span{font-size:9px;color:#7d887e}.comparison-arrow{color:#b88148}.comparison .after b{color:#bb7750}.muted{color:#89928a;font-size:10px;line-height:1.6}.chart-bars{height:160px;display:flex;align-items:flex-end;gap:12px;padding:8px 10px 0;border-bottom:1px solid var(--line)}.chart-bars>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px}.chart-bars i{width:70%;max-width:30px;background:#78937b;border-radius:4px 4px 0 0}.chart-bars small{font-size:8px;color:#929a92}.impersonation-bar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#d9a44e;color:#3e3c2e;font-size:10px}.impersonation-bar .btn{padding:5px 9px;font-size:9px;border-color:#9b7638;color:#4b4128;background:#f6e9c9}.splash{min-height:100vh;display:grid;grid-template-columns:minmax(400px,1.05fr) minmax(380px,.95fr);background:#f4f2e9}.splash-left{min-height:100vh;position:relative;background:var(--pine);color:#f5f4ec;padding:34px 7vw;overflow:hidden;display:flex;flex-direction:column}.splash-brand{display:flex;align-items:center;gap:11px;position:relative;z-index:2}.splash-copy{margin:auto 0;position:relative;z-index:1;padding:48px 0 0}.splash-copy .eyebrow{color:#b5c6b9}.splash-copy h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,78px);font-weight:400;line-height:.98;letter-spacing:-2px;margin:18px 0 17px}.splash-copy h1 em{color:#dca75c;font-weight:400}.splash-copy>p{max-width:360px;color:#b7c4b9;line-height:1.7;font-size:12px}.splash-meta{display:flex;gap:17px;margin-top:26px;color:#c4d0c4;font-size:9px}.splash-art{position:absolute;bottom:76px;right:8%;width:290px;height:210px;opacity:.8}.art-building{position:absolute;bottom:0;left:74px;width:126px;height:126px;z-index:1}.building-roof{position:absolute;top:0;left:-15px;border-left:78px solid transparent;border-right:78px solid transparent;border-bottom:43px solid #c29259}.building-body{position:absolute;top:42px;left:8px;right:8px;height:82px;background:#d9d3bc;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:9px;padding:10px}.building-body i{background:#72877b}.building-body i:nth-child(2),.building-body i:nth-child(5){background:#b5a78a}.art-plan{position:absolute;bottom:2px;left:0;padding:8px 10px;border:1px solid #ffffff3b;border-radius:5px;color:#f4e9ca;font-family:monospace;font-size:9px;z-index:2}.art-plan span{display:block;color:#c1d0c2;font-family:inherit;margin-top:4px}.art-orbit{position:absolute;border:1px solid #ffffff18;border-radius:50%;width:260px;height:120px;transform:rotate(-24deg);left:20px;top:25px}.orbit-b{width:320px;height:150px;left:-10px;top:8px;transform:rotate(23deg)}.splash-foot{font-size:9px;color:#9fb2a2;display:flex;justify-content:space-between;position:relative;z-index:2}.splash-foot span{color:#7f9685}.role-panel{align-self:center;justify-self:center;width:min(450px,calc(100% - 60px));padding:42px 0}.role-panel-head .eyebrow{color:#718374}.role-panel-head h2{font-family:Georgia,serif;font-size:35px;font-weight:500;line-height:1.05;color:#2e4337;margin:12px 0 8px;letter-spacing:-.7px}.role-panel-head p{font-size:11px;line-height:1.6;color:#849086;max-width:350px;margin:0 0 22px}.role-list{display:grid;gap:8px}.role-choice{display:flex;align-items:center;gap:12px;width:100%;background:#fffefa;border:1px solid #e4e6dc;border-radius:9px;padding:12px;text-align:left;color:#34463a;transition:transform .16s,border .16s,box-shadow .16s}.role-choice:hover{transform:translateX(3px);border-color:#9eb19e;box-shadow:var(--shadow)}.role-icon{display:grid;place-items:center;width:36px;height:36px;background:#edf1e9;color:#54745a;border-radius:9px;font-size:16px}.role-choice:nth-child(2) .role-icon{background:#f3ede2;color:#a17842}.role-choice:nth-child(3) .role-icon{background:#e9eff0;color:#678596}.role-choice:nth-child(4) .role-icon{background:#f2e9e4;color:#a56d54}.role-choice>span:nth-child(2){flex:1}.role-choice b,.role-choice small{display:block}.role-choice b{font-size:11px}.role-choice small{font-size:9px;color:#89938b;margin-top:4px}.role-arrow{font-size:17px;color:#94a095}.demo-reset-note{font-size:9px;line-height:1.5;color:#929b91;margin-top:18px}.reset-link{border:0;background:transparent;color:#758174;padding:8px 0;font-size:9px}.modal-scrim{position:fixed;inset:0;background:#1c2c2480;z-index:30;display:grid;place-items:center;padding:20px;animation:fadein .16s}.modal{width:min(680px,100%);max-height:min(90vh,850px);overflow:auto;border-radius:13px;background:#fffefa;box-shadow:0 20px 60px #15231c40;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}.modal-head h2{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:5px 0 0}.modal-head .icon-btn{color:#53645a;background:#f1f3ec;border-color:#e2e6df}.modal-body{padding:16px 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:13px}.job-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.job-fact{padding:11px;border:1px solid #e9ece5;border-radius:7px}.job-fact span{display:block;color:#8c968c;font-size:8px;letter-spacing:.8px}.job-fact b{display:block;margin-top:6px;font-size:11px}.modal-section{border-top:1px solid #eceee8;margin-top:14px;padding-top:12px;font-size:10px}.modal-section p{color:#818b82;line-height:1.6}.timeline{display:flex;gap:8px;flex-wrap:wrap}.timeline span{padding:7px 9px;border-radius:5px;background:#f0f2eb;color:#687568;font-size:9px}.modal-variation{grid-template-columns:1fr 1.1fr}.large-photo{height:190px}.signature-wrap{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.signature-wrap>b{font-size:10px}.signature-wrap p{font-size:9px;color:#8b948b;margin:5px 0 9px}.signature-wrap canvas{display:block;width:100%;height:104px;border:1px dashed #b7c4b6;border-radius:6px;background:linear-gradient(#fffefa,#fafbf7);touch-action:none}.sign-actions{display:flex;justify-content:flex-end}.form-field{margin-bottom:12px}.form-field input,.form-field select{border:1px solid #e0e5dc;border-radius:6px;padding:9px;background:#fffefa;color:#425147;font-size:10px}.toast-region{position:fixed;right:22px;bottom:20px;z-index:50}.toast{background:#293f34;color:#fffefa;border-radius:8px;padding:12px 16px;box-shadow:0 8px 25px #24372c2e;font-size:11px;display:flex;align-items:center;gap:9px;animation:rise .2s}.toast span{color:#d8ad60}.mobile-open{transform:translateX(0)!important}.hidden{display:none!important}@keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.content{padding:27px 24px 18px}.sidebar{width:225px;flex-basis:225px}.focus-grid{grid-template-columns:1fr 180px 170px;gap:20px}.operations-layout{grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr)}}
@media(max-width:800px){.sidebar{position:fixed;left:0;top:0;width:268px;height:100dvh;transform:translateX(-102%);transition:transform .2s;box-shadow:15px 0 40px #182b2350}.sidebar-close{display:block;margin-left:auto;border:0;background:none;color:#e2e9e1;font-size:22px}.mobile-top{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--pine);color:white;position:sticky;top:0;z-index:6}.mobile-top button{border:0;background:transparent;color:white;font-size:17px;padding:5px}.brand-mini{font-size:11px;letter-spacing:2px;font-weight:800}.brand-mini span{color:#afc1b1;font-weight:400;font-size:9px}.content{padding:23px 18px 16px}.page-head{align-items:flex-start}.page-head h1{font-size:29px}.head-actions{flex-direction:column;align-items:flex-end}.date-chip{display:none}.focus-grid{grid-template-columns:1fr 1fr;gap:15px}.focus-progress{grid-column:1/-1}.focus-metric{padding-left:14px}.dashboard-grid,.bottom-grid,.grid-2{gap:10px}.operations-layout{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(2,1fr)}.decision-card{grid-row:span 2}.splash{grid-template-columns:1fr 1fr}.splash-left{padding:27px 32px}.splash-copy h1{font-size:55px}.splash-art{right:0;transform:scale(.8);transform-origin:right bottom}.role-panel{width:calc(100% - 40px)}.app-footer{gap:8px;flex-direction:column}}
@media(max-width:600px){body{font-size:13px}.content{padding:19px 13px 14px}.page-head{margin-bottom:15px}.page-head h1{font-size:27px}.page-head p{font-size:10px;line-height:1.4;max-width:260px}.head-actions>.btn{font-size:9px;padding:8px}.focus-card{padding:17px 15px 13px;border-radius:11px}.focus-top h2{font-size:21px}.focus-top h2 span{font-size:16px}.focus-top p{font-size:9px}.focus-grid{padding:18px 0 13px;grid-template-columns:1fr 1fr;gap:14px}.focus-metric strong{font-size:20px}.focus-metric small{font-size:8px}.focus-bottom{align-items:flex-start;gap:9px;flex-direction:column}.focus-bottom>div:first-child{font-size:9px}.focus-links{align-self:flex-end}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-grid.three{grid-template-columns:1fr 1fr}.metric-card{padding:11px;min-height:96px}.metric-card>span{font-size:8px}.metric-card>b{font-size:20px;margin:8px 0 2px}.metric-card small{font-size:8px}.sparkline{font-size:15px;right:10px}.dashboard-grid,.bottom-grid,.grid-2{grid-template-columns:1fr;gap:9px;margin-bottom:9px}.card{padding:14px}.card-title h3,.card h3{font-size:16px}.client-hero{padding:20px 18px;min-height:150px}.client-hero h2{font-size:26px}.client-number{font-size:45px;margin-right:4%}.client-grid{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr 1fr}.photo-placeholder{height:90px}.operations-layout{gap:10px}.side-column{grid-template-columns:1fr}.decision-card{grid-row:auto}.report-summary{padding:9px 4px}.report-summary b{font-size:16px}.report-summary small{font-size:7px}.work-entry{grid-template-columns:23px 1fr;gap:7px}.work-input{grid-column:2;justify-content:flex-start}.variation-body{grid-template-columns:1fr}.sim-photo{height:160px}.estimate-fields{display:grid;grid-template-columns:1fr 1fr}.estimate-fields label:first-child{grid-column:1/-1}.variation-footer{justify-content:flex-start;flex-wrap:wrap}.toolbar{flex-wrap:wrap}.searchbox{min-width:100%;flex:1}.filter-pills{order:2;overflow:auto}.toolbar>.btn{margin-left:auto}.table-wrap{margin:0 -2px}table{min-width:760px}.notice-band{align-items:flex-start;flex-direction:column;gap:5px}.plan-head{align-items:flex-start;flex-direction:column}.plan-head>div:last-child{flex-wrap:wrap}.planning-card{padding:13px 10px}.schedule-scroll{margin:0 -9px}.schedule-grid{grid-template-columns:110px repeat(6,100px);min-width:710px}.splash{display:flex;flex-direction:column}.splash-left{min-height:310px;padding:20px 22px 18px}.splash-brand .brand-mark{width:31px;height:31px}.splash-copy{padding:22px 0 6px;margin:0}.splash-copy h1{font-size:43px;margin:11px 0}.splash-copy>p{font-size:10px;max-width:280px;margin:0}.splash-meta{margin-top:13px;gap:10px;font-size:8px}.splash-art{transform:scale(.48);right:3px;bottom:18px;opacity:.36}.splash-foot{margin-top:auto;font-size:7px}.splash-foot span{display:none}.role-panel{width:100%;padding:25px 20px}.role-panel-head h2{font-size:29px}.role-panel-head p{font-size:10px;margin-bottom:15px}.role-choice{padding:10px;gap:9px}.role-choice small{font-size:8px}.role-icon{width:31px;height:31px}.app-footer{font-size:8px}.impersonation-bar{height:auto;min-height:39px;padding:5px 10px;font-size:8px;gap:6px}.impersonation-bar .btn{font-size:8px;padding:5px}.modal-scrim{padding:9px}.modal{padding:15px;max-height:94dvh}.modal-head h2{font-size:20px}.modal-variation{grid-template-columns:1fr}.large-photo{height:150px}.waterfall-card{padding:14px}.waterfall-summary b{font-size:12px}.waterfall-summary span{font-size:7px}.waterfall svg{min-width:620px}.waterfall-card{overflow:hidden}.job-modal-grid{gap:7px}.job-fact{padding:8px}.toast-region{left:12px;right:12px;bottom:12px}.toast{justify-content:center}.mobile-welcome{display:block;background:#e8ece3;border-radius:12px;padding:17px;margin-bottom:12px}.welcome-top{display:flex;justify-content:space-between}.welcome-top>div:first-child>span{font-size:8px;color:#718174;letter-spacing:.8px;font-weight:700}.welcome-top h2{font-family:Georgia,serif;font-weight:500;font-size:23px;margin:7px 0 3px}.welcome-top p{font-size:9px;color:#7d897e;margin:0}.weather{display:flex;flex-direction:column;align-items:center;color:#cf9b46;font-size:16px}.weather b{font-family:Georgia,serif;font-size:16px;color:#4b5e4e}.weather small{font-size:8px;color:#858f85}.today-task{display:grid;grid-template-columns:85px 1fr 8px;align-items:center;padding:12px 0;border-top:1px solid #d8e0d6;margin-top:10px}.task-time{font-size:8px;color:#758278}.today-task b,.today-task small{display:block}.today-task b{font-size:10px}.today-task small{font-size:8px;color:#7f8b80;margin-top:4px}.task-dot{height:7px;width:7px;border-radius:50%;background:#d39d49}.mobile-actions{display:flex;gap:7px;margin-top:7px}.mobile-actions .btn{flex:1}.splash .splash-left{flex:0 0 auto}.role-panel{align-self:stretch}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ===== v2: shell, moduli, leggibilità ===== */
body{padding-top:30px}
.demo-banner{position:fixed;top:0;left:0;right:0;height:30px;z-index:40;display:flex;align-items:center;justify-content:center;gap:12px;background:#2b2a22;color:#f3e6c4;font-size:11px;letter-spacing:.6px;font-weight:700}
.demo-banner button{border:1px solid #f3e6c455;background:transparent;color:#f3e6c4;border-radius:5px;padding:3px 9px;font-size:11px}
.impersonation-bar{position:sticky;top:30px;z-index:20;min-height:44px;font-size:13px}
.impersonation-bar .btn{font-size:12px;padding:8px 12px}
.sidebar{top:30px;height:calc(100dvh - 30px)}
.topbar{position:sticky;top:30px;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 39px;background:#f7f7f2ee;border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.menu-btn{display:none;border:1px solid var(--line);background:var(--white);border-radius:8px;width:44px;height:44px;font-size:18px}
.perspective{font-size:13px;color:#56655b;flex:1}.perspective b{color:var(--pine)}
.role-switch{display:flex;align-items:center;gap:8px;font-size:12px;color:#77827a}
.role-switch select,.field select,.field input,.field textarea,.mini-form input,.mini-form select,td select{border:1px solid #d9dfd5;border-radius:7px;background:#fffefa;color:var(--ink);padding:8px 10px;font-size:13px;min-height:38px}
.nav-item{font-size:13px}.nav-groups{padding-top:4px}
.page-head p,.muted{font-size:13px}
.card-title h3,.card h3{font-size:19px}
.metric-card>span,.eyebrow{font-size:10px}.metric-card small,.inbox-row small,td small{font-size:11px}
td,th{font-size:12px}.inbox-row b,td b{font-size:13px}
.pill{font-size:11px}.pill.light{background:#ffffff22;color:#f4f2e8}
.btn{font-size:13px;min-height:38px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto}
.tab{border:0;background:transparent;padding:11px 14px;font-size:13px;font-weight:700;color:#7a857c;border-bottom:3px solid transparent;white-space:nowrap;min-height:44px}
.tab.active{color:var(--pine);border-color:var(--amber)}
.job-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;padding-bottom:4px}
.chip{border:1px solid var(--line);background:var(--white);border-radius:99px;padding:8px 13px;font-size:12px;white-space:nowrap;color:#4f5d53}
.chip.active{background:var(--pine);color:#fff;border-color:var(--pine)}
.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:12px 0}
.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#6c776f;min-width:120px}
.field.grow{flex:1}.field textarea{min-height:70px;resize:vertical;width:100%}
.mini-form{display:flex;gap:6px;align-items:center}.mini-form input{width:110px}
.empty{border:1px dashed #cfd6cc;border-radius:10px;padding:22px;text-align:center;color:#7d887f;background:#fbfbf7}
.empty b,.empty small{display:block}.empty small{margin-top:5px;font-size:12px}
.card-actions.wrap{flex-wrap:wrap}
.job-progress-row{width:100%;border:0;background:transparent;text-align:left;grid-template-columns:90px 1fr 90px 52px;cursor:pointer}
.job-progress-row:hover{background:#f3f5ef}.job-pct small{display:block;font-size:10px;color:#8b948b}
.check-line{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);min-height:48px}
.check-line input{width:22px;height:22px}.check-line b,.check-line small{display:block}.check-line small{color:#8a948b;font-size:11px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
.photo-placeholder{margin:0;height:130px}.photo-placeholder img,.sim-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-placeholder figcaption{position:absolute;left:8px;bottom:8px;right:8px;background:#fffefae0;border-radius:5px;padding:4px 6px;font-size:11px;color:#46534a;z-index:1}
.gantt svg,.waterfall svg{width:100%;height:auto}
.scenario-box{margin:14px 0;border:2px dashed #d9a44e;background:#fbf5e6;border-radius:11px;padding:16px}
.scenario-box .eyebrow{color:#8c6a2c}.scenario-box .comparison{flex-wrap:wrap}
.offline-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef2eb;border-radius:9px;padding:8px 12px;margin-bottom:12px;font-size:13px}
.offline-bar>span{flex:1}
.step{display:flex;align-items:center;gap:10px;margin:16px 0 8px;font-size:15px}
.step-n{width:28px;height:28px;border-radius:50%;background:var(--pine);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.worker-list{display:grid;gap:8px}
.worker-row{display:grid;grid-template-columns:1fr 100px 20px;gap:10px;align-items:center;background:#f6f7f2;border-radius:9px;padding:10px 12px}
.worker-row b,.worker-row small{display:block}.worker-row small{font-size:12px;color:#7c877e}
.worker-row input{font-size:18px;font-weight:700;text-align:center;border:1px solid #d6ddd2;border-radius:8px;padding:8px;min-height:48px;width:100%}
.work-entry{grid-template-columns:1fr 90px 90px;align-items:end}
.work-entry input{width:100%}
.big{min-height:52px;font-size:16px}
.price-list{max-height:430px;overflow:auto;margin-top:10px}
.price-row{display:grid;grid-template-columns:1fr 80px 44px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:12px}
.price-row small{display:block;color:#7f8a81}.price-row input{border:1px solid #d9dfd5;border-radius:6px;padding:6px;width:100%}
.chat{display:flex;flex-direction:column;gap:10px}
.msg{background:#f4f6f0;border-radius:10px;padding:10px 12px}.msg small{margin-left:8px;color:#8a948b;font-size:11px}.msg p{margin:5px 0 0;font-size:14px}
.sched-proposal{background:#fff;border:1px dashed #d9a44e;color:#8a6a2f;margin-top:4px}
.drop-hover{outline:2px dashed var(--amber);outline-offset:-3px}
.red-text{color:#b9574b;font-style:normal}
.sig-img{max-width:240px;border:1px solid var(--line);border-radius:6px;background:#fff}
.signature-wrap canvas{height:150px}
.params{margin:8px 0 0;padding-left:18px;font-size:12px}
.chart-bars .bars{display:flex;align-items:flex-end;gap:2px;height:150px}
.chart-bars .bars i{width:8px;background:#6f8f75;border-radius:3px 3px 0 0}.chart-bars .bars i.cost{background:#d77a4b}
.chart-bars{gap:4px;height:auto;overflow-x:auto}
.grid-2>form.card{margin:0}
.boot-error{padding:40px;font-size:15px}
.toast-err{background:#7d3a32}
#print-area{display:none}
/* Collaboratore: mobile-first, testo ≥16px, target ≥48px */
.role-collab .content{font-size:16px;max-width:720px}
.role-collab .btn,.role-collab .tab,.role-collab .nav-item,.role-collab select,.role-collab input,.role-collab textarea{font-size:16px;min-height:48px}
.role-collab .muted,.role-collab small,.role-collab td,.role-collab .pill,.role-collab .privacy-note,.role-collab .eyebrow{font-size:14px}
.role-collab .mobile-welcome{display:block;background:#e8ece3;border-radius:14px;padding:20px;margin-bottom:14px}
.role-collab .mobile-welcome h2{font-family:Georgia,serif;font-weight:500;font-size:26px;margin:6px 0}
.role-collab .today-task{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #d6ddd2;padding:12px 0}
.role-collab .today-task b{display:block;font-size:16px}.role-collab .today-task small{font-size:14px}
.role-collab .mobile-actions{display:grid;gap:10px;margin-top:12px}
.metric-grid.two{grid-template-columns:1fr 1fr}
@media(max-width:800px){.menu-btn{display:block}.topbar{padding:8px 14px}.sidebar{top:30px;height:calc(100dvh - 30px)}.role-switch span{display:none}.work-entry{grid-template-columns:1fr 1fr}.work-entry .field.grow{grid-column:1/-1}}
@media(max-width:600px){.perspective{font-size:12px}.inline-form{flex-direction:column;align-items:stretch}.field{min-width:0}.job-progress-row{grid-template-columns:80px 1fr 48px}.job-progress-row .progress{display:none}.mini-form{flex-wrap:wrap}}
@media print{
  body{padding:0;background:#fff}
  body.printing #app>*:not(#print-area){display:none!important}
  body.printing #print-area{display:block;font-family:Georgia,serif;color:#111;padding:20px}
  #print-area table{width:100%;border-collapse:collapse;min-width:0}#print-area td,#print-area th{border-bottom:1px solid #ccc;padding:6px;font-size:12px;text-align:left}
  .doc-head{display:flex;justify-content:space-between;border-bottom:2px solid #333;margin-bottom:18px;padding-bottom:10px}.doc-head h1{margin:0;font-size:22px}
  .doc-total{text-align:right;font-size:16px}.doc-note{font-size:11px;color:#555}
  .demo-banner,.sidebar,.topbar,.btn,.toast-region{display:none!important}
}
