@charset "UTF-8";
:root{--bg:#f5f7f8;--white:#fff;--ink:#20302b;--muted:#718079;--line:#e4e9e6;--green:#175b48;--green-light:#e8f2ec;--amber:#a36810;--amber-light:#fff6e4;--red:#b44b46;--red-light:#fdf0ed;--blue:#366b99;--blue-light:#edf3fa;--purple:#7963a5;--radius:12px;--side:238px;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #81b2a0;outline-offset:3px}button{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg{width:17px;height:17px}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650}h2{font-size:17px;letter-spacing:-.3px;font-weight:650}h3{font-size:15px;font-weight:600}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:16px}.grow{flex:1;min-width:0}.strong{font-weight:600}.mono{font-variant-numeric:tabular-nums;font-family:Consolas,'Courier New',monospace;font-size:12px}.link{border:0;background:none;color:var(--green);font-weight:600;padding:0;text-align:left}.divider{height:1px;background:var(--line);margin:20px 0}.btn{border:1px solid #dce3df;border-radius:7px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:white;white-space:nowrap;font-weight:550;line-height:20px;transition:.15s}.btn:hover{background:#f0f4f2;border-color:#b3c8bb}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#104936}.btn.danger{color:var(--red);border-color:#edccc6}.btn.compact{padding:6px 11px;font-size:13px}.icon-btn{border:1px solid var(--line);background:#fff;width:36px;height:36px;border-radius:7px;display:inline-grid;place-items:center;position:relative}.icon-btn:hover{background:var(--green-light)}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;line-height:1.4;border-radius:5px;padding:4px 8px;background:#f0f2f1;color:#69736e;font-weight:550}.badge.green{background:var(--green-light);color:var(--green)}.badge.amber{background:var(--amber-light);color:var(--amber)}.badge.red{background:var(--red-light);color:var(--red)}.badge.blue{background:var(--blue-light);color:var(--blue)}.badge.purple{background:#f1edf9;color:var(--purple)}.status-dot{height:5px;width:5px;border-radius:50%;background:currentColor}.avatar{width:33px;height:33px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;background:#e7eee8;color:var(--green);font-size:11px;font-weight:650;letter-spacing:.2px}.avatar.blue{background:#e8eff6;color:var(--blue)}.avatar.purple{background:#efebf6;color:var(--purple)}.avatar.amber{background:#f8eedc;color:var(--amber)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:20;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 16px}.brand{display:flex;align-items:center;gap:10px;padding:0 13px 32px}.brand-symbol{height:31px;width:31px;display:grid;place-items:center;font-size:23px;font-weight:850;letter-spacing:-3px;color:white;background:var(--green);border-radius:7px;padding-right:3px;transform:skew(-5deg)}.brand-name{font-size:27px;font-weight:800;letter-spacing:2px;line-height:1}.brand-sub{font-size:9px;letter-spacing:2px;color:#839189;margin-top:7px}.nav-caption{font-size:10px;color:#96a199;letter-spacing:1.5px;padding:7px 13px 10px;font-weight:650}.nav-item{width:100%;padding:12px 13px;display:flex;gap:12px;align-items:center;border:0;border-radius:7px;color:#6b7771;background:none;text-align:left;margin:2px 0;font-size:14px}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#f4f7f5;color:var(--green)}.nav-item.active{background:var(--green-light);color:var(--green);font-weight:650}.nav-count{font-size:11px;margin-left:auto;border-radius:4px;background:#d8e9df;color:var(--green);padding:2px 6px}.nav-spacer{height:21px}.sidebar-bottom{margin-top:auto;padding-top:20px}.demo-card{border:1px solid #e2e9e4;background:#f7faf8;padding:13px;border-radius:8px;margin:0 4px 15px;line-height:1.7;color:#748179;font-size:11px}.demo-card strong{display:block;color:#40564a;font-size:12px;margin-bottom:4px}.profile{border-top:1px solid var(--line);padding:15px 5px 0;display:flex;align-items:center;gap:10px}.profile .name{font-size:13px;font-weight:600}.profile .role{font-size:11px;color:var(--muted);max-width:140px;line-height:1.5}.profile button{margin-left:auto;border:0;background:none;color:var(--muted);padding:4px}
.shell{margin-left:var(--side);min-height:100vh}.topbar{height:74px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.breadcrumb{display:flex;align-items:center;gap:12px;color:#89948d;font-size:12px}.breadcrumb strong{font-weight:500;color:#43524a}.top-actions{display:flex;align-items:center;gap:20px}.top-actions .local{font-size:11px;color:#78867e;display:flex;align-items:center;gap:6px}.top-actions .local svg{width:13px;height:13px}.notification-dot{width:6px;height:6px;background:#c78b3f;border:1px solid white;border-radius:50%;position:absolute;top:6px;right:7px}.top-actions .icon-btn{border:0}.main{max-width:1700px;margin:auto;padding:27px 34px 30px}.demo-strip{background:#edf3ef;border:1px solid #dce8df;padding:10px 13px;border-radius:7px;display:flex;align-items:center;gap:9px;color:#5c7465;font-size:12px;margin-bottom:29px}.demo-strip svg{width:15px;height:15px}.demo-strip strong{color:#345743;font-weight:650}.demo-strip button{margin-left:auto;font-size:11px;white-space:nowrap}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p{color:var(--muted);margin-top:7px;font-size:13px}.page-heading .date{font-size:12px;color:var(--muted);margin-bottom:9px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:19px 20px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#6d7a71;font-size:12px;margin-bottom:15px}.stat-icon{display:grid;place-items:center;width:31px;height:31px;background:#f4f6f4;border-radius:7px;color:#76827a}.stat-icon svg{width:16px;height:16px}.stat-number{font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.1}.stat-foot{font-size:11px;color:#8b948e;margin-top:9px}.stat-foot span{color:var(--green)}.stat.amber .stat-icon{background:var(--amber-light);color:var(--amber)}.stat.red .stat-icon{background:var(--red-light);color:var(--red)}.stat.green .stat-icon{background:var(--green-light);color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 21px}.card-head h2{font-size:15px}.card-head p{font-size:11px;color:var(--muted);margin-top:5px}.card-body{padding:0 21px 22px}.card-body.pad{padding-top:21px}.count{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:5px;background:#f1f4f2;color:#738078;font-size:11px;font-weight:500;margin-left:6px}.tabs{display:flex;align-items:center;gap:22px;padding:0 21px;border-bottom:1px solid var(--line);overflow:auto}.tab{border:0;background:none;padding:11px 0 14px;color:#849088;white-space:nowrap;font-size:12px;border-bottom:2px solid transparent}.tab.active{border-bottom-color:var(--green);color:var(--green);font-weight:600}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{background:#fafbfa;color:#849087;font-size:10px;font-weight:550;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:13px 20px}td{font-size:13px;border-top:1px solid #eef1ee;padding:17px 20px;vertical-align:middle}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f9fbf9}.task-title{display:block;font-weight:550;font-size:13px;margin-bottom:7px}.task-meta{font-size:11px;color:#87938b;display:flex;gap:7px;align-items:center}.task-code{color:#688274;font-size:10px;font-family:Consolas,monospace;font-weight:600}.table-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:14px 20px;font-size:11px;color:#8b958f}.table-footer .link{font-size:11px}.due{font-size:12px;white-space:nowrap}.due.overdue{color:var(--red)}.tiny-avatar{width:25px;height:25px;font-size:9px}.priority{padding:16px 18px;border-top:1px solid var(--line);display:flex;gap:11px}.priority:first-child{border-top:0}.priority-mark{width:29px;height:29px;border-radius:7px;background:var(--amber-light);color:var(--amber);display:grid;place-items:center;flex-shrink:0}.priority-mark.red{background:var(--red-light);color:var(--red)}.priority-mark svg{width:15px;height:15px}.priority h3{font-size:12px;line-height:1.5;margin-bottom:5px}.priority p{font-size:11px;color:var(--muted);line-height:1.6;margin-bottom:8px}.priority .link{font-size:11px}.note-card{background:#edf3ef;border:1px solid #dce8df;border-radius:var(--radius);padding:20px;margin-top:18px}.note-card h3{font-size:13px;color:#305a44;margin-bottom:7px}.note-card p{font-size:11px;color:#75867b;line-height:1.8}.note-card svg{color:var(--green);width:23px;height:23px;margin-bottom:12px}.section-bottom{margin-top:24px}.workflow{display:flex;gap:0;padding:8px 22px 25px}.workflow-item{flex:1;position:relative;font-size:11px;color:var(--muted);padding-top:28px}.workflow-item:before{content:'';position:absolute;top:7px;left:0;right:0;height:1px;background:var(--line)}.workflow-item:after{content:'';width:9px;height:9px;border:3px solid #fff;border-radius:50%;background:#b9cfc2;position:absolute;left:0;top:0;box-shadow:0 0 0 1px #dfE8e2}.workflow-item.active:after{background:var(--green)}.workflow-item strong{display:block;color:#4a6253;font-size:12px;margin-bottom:5px}.workflow-item .number{font-size:17px;color:#253f30;margin-top:5px}.footnote{display:flex;justify-content:space-between;margin-top:23px;font-size:10px;color:#97a198;gap:15px}.footnote span:last-child{white-space:nowrap}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.search{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:7px;background:white;padding:10px 12px;flex:1;min-width:210px}.search svg{color:#8c9890;width:17px;height:17px}.search input{border:0;outline:0;min-width:0;width:100%;padding:0;background:none}.filter{background:#fff;border:1px solid var(--line);border-radius:7px;padding:10px;max-width:200px;color:#586a5e}.empty{padding:36px 22px;text-align:center;color:var(--muted);line-height:1.8}.empty svg{display:block;margin:0 auto 13px;color:#91a99a;width:30px;height:30px}.empty h3{color:#53685b;margin-bottom:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.info-item label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.info-item div{font-size:14px;line-height:1.5}.info-item.full{grid-column:1/-1}.stages{display:flex;overflow:auto;padding:23px 20px;gap:0}.stage{position:relative;min-width:90px;flex:1;text-align:center;font-size:10px;color:#96a099;padding:0 5px}.stage:before{content:'';height:1px;background:var(--line);position:absolute;top:12px;left:0;right:0}.stage:first-child:before{left:50%}.stage:last-child:before{right:50%}.stage-num{width:25px;height:25px;position:relative;margin:0 auto 9px;display:grid;place-items:center;border-radius:50%;background:white;border:1px solid var(--line);font-size:10px}.stage.done .stage-num{background:#e8f2ec;color:var(--green);border-color:#d5e7dc}.stage.current{color:var(--green);font-weight:650}.stage.current .stage-num{background:var(--green);color:white;border-color:var(--green);box-shadow:0 0 0 4px #e9f1ec}.detail-tabs{padding:0 20px;gap:24px;margin-bottom:0}.detail-tabs .tab{font-size:13px}.detail-content{padding:24px}.proposed{font-size:11px;color:#8d763f;line-height:1.7;background:#fbf7ed;padding:10px 13px;border-radius:6px;border:1px solid #f1e7d2}.timeline{display:grid;gap:0}.timeline-item{position:relative;padding:0 0 23px 24px;border-left:1px solid #e1e8e3;margin-left:5px}.timeline-item:before{content:'';position:absolute;width:7px;height:7px;border:3px solid white;border-radius:50%;background:#99b5a4;left:-7px;top:2px;box-shadow:0 0 0 1px #e0e9e3}.timeline-item p{font-size:13px;margin-bottom:5px}.timeline-item small{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field>span,.field>label{font-size:12px;font-weight:550;color:#536559}.field input,.field select,.field textarea{width:100%;border:1px solid #dce4dd;border-radius:6px;padding:10px 11px;background:white;color:var(--ink);min-width:0;line-height:1.5}.field textarea{resize:vertical;min-height:95px}.field small{font-size:11px;color:var(--muted);line-height:1.6}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.hint{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0}.checklist{display:grid;gap:13px}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:13px;cursor:pointer}.check input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0;margin-top:3px}.alert{border:1px solid #efd8ba;background:var(--amber-light);color:#876018;border-radius:8px;padding:14px 16px;line-height:1.7;font-size:13px}.alert.red{border-color:#f0d5cd;background:var(--red-light);color:#a54f42}.alert.green{border-color:#d9e8dd;background:var(--green-light);color:var(--green)}.error{font-size:13px;color:var(--red);background:var(--red-light);padding:12px;border-radius:6px;margin-top:14px}.file-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.file-row:last-child{border:0}.file-row svg{color:#7d9688}.file-row small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.file-row a{font-size:13px;font-weight:500}.upload{border:1px dashed #b9cbc0;border-radius:8px;padding:17px;background:#fbfdfb}.upload input{max-width:100%;font-size:12px}.upload p{font-size:11px;color:var(--muted);margin-top:8px}.progress-track{height:5px;background:#edf1ee;border-radius:5px;overflow:hidden;min-width:65px}.progress-fill{height:100%;background:#69a589;border-radius:5px}.route-row{display:grid;grid-template-columns:1fr 175px;gap:15px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.route-row select{border:1px solid var(--line);border-radius:5px;padding:8px;background:white;width:100%}.gantt{min-width:790px}.gantt-header,.gantt-row{display:grid;grid-template-columns:230px repeat(14,minmax(34px,1fr));align-items:center;min-height:58px;border-bottom:1px solid var(--line);position:relative}.gantt-header{min-height:47px;background:#f9fbf9;font-size:11px;text-align:center;color:#87958c}.gantt-header>div:first-child{text-align:left;padding-left:20px}.gantt-name{padding:12px 20px;font-size:12px}.gantt-name small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.gantt-cell{height:100%;border-left:1px solid #f0f3f1;grid-row:1}.gantt-bar{grid-row:1;z-index:1;border-radius:5px;background:#d8eade;border:1px solid #b5d4c2;font-size:10px;color:var(--green);height:25px;display:flex;align-items:center;justify-content:center;margin:0 2px;min-width:0;overflow:hidden}.gantt-bar.late{background:#fae9dc;border-color:#edcbb6;color:#a96930}.gantt-today{background:#f0f6f1}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.material-card{padding:18px;border-bottom:1px solid var(--line)}.material-card:last-child{border:0}.material-card h3{font-size:13px}.notification{padding:16px;border-bottom:1px solid var(--line);display:flex;gap:12px}.notification.unread{background:#f4f9f5}.notification p{font-size:13px}.notification small{font-size:11px;color:var(--muted)}
dialog{width:min(690px,calc(100vw - 32px));max-height:90vh;padding:0;border:1px solid var(--line);border-radius:15px;color:var(--ink);box-shadow:0 28px 100px #132e243b}dialog::backdrop{background:#122a236b;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:25px 27px 18px;gap:20px}.modal-head h2{font-size:21px}.modal-head p{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.7}.modal-body{padding:2px 27px 27px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-choice{display:flex;gap:11px;align-items:center;padding:15px;text-align:left;border:1px solid var(--line);border-radius:8px;background:white}.account-choice:hover,.account-choice.selected{border-color:#84b599;background:#f1f7f3}.account-choice strong{display:block;font-size:13px;margin-bottom:4px}.account-choice small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.login{min-height:100vh;display:grid;grid-template-columns:.95fr 1.05fr;background:#fff}.login-aside{background:#174c3c;color:white;padding:65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-aside .brand{padding:0;color:white}.login-aside .brand-symbol{background:#d2e4d7;color:#17543e}.login-aside .brand-sub{color:#a5c3b0}.login-aside h1{font-size:49px;line-height:1.2;letter-spacing:-2px;max-width:400px}.login-aside p{color:#adc8b7;max-width:340px;font-size:15px;margin-top:23px}.login-aside .eyebrow{color:#9abea7;margin-bottom:20px}.login-route{border-top:1px solid #ffffff25;display:flex;gap:15px;padding-top:25px;font-size:12px;color:#b9d0c2;align-items:center;flex-wrap:wrap}.login-route svg{width:14px}.login-main{padding:55px;display:flex;align-items:center;justify-content:center}.login-box{max-width:480px;width:100%}.login-box h2{font-size:29px;letter-spacing:-1px;margin-bottom:9px}.login-box>p{font-size:13px;color:var(--muted);margin-bottom:28px}.login-box .account-grid{margin-bottom:25px}.login-box .btn.primary{width:100%}.login-footer{margin-top:24px;font-size:11px!important;text-align:center;line-height:1.8}.demo-login-label{display:inline-flex;font-size:11px;color:#57715f;background:#edf3ef;border:1px solid #dae6de;padding:5px 9px;border-radius:5px;margin-bottom:20px}.mobile-menu{display:none}#toast{position:fixed;bottom:25px;left:calc(50% + var(--side)/2);transform:translateX(-50%) translateY(20px);background:#233d30;color:#fff;border:1px solid #ffffff30;padding:13px 21px;border-radius:9px;box-shadow:0 8px 28px #10241d22;z-index:100;max-width:min(650px,90vw);opacity:0;pointer-events:none;transition:.2s;font-size:13px;line-height:1.6}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:1550px){:root{--side:250px}.main{padding:32px 46px}.topbar{padding:0 46px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}td{padding:21px 22px}.stat{padding:24px}.stat-number{font-size:36px}}
@media(max-width:1150px){:root{--side:210px}.sidebar{padding-left:12px;padding-right:12px}.main{padding:25px 23px}.topbar{padding:0 23px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-side{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.note-card{margin-top:0}.detail-grid{grid-template-columns:minmax(0,1fr)}.stats{gap:12px}.stat{padding:16px}.top-actions .local{display:none}.login-aside{padding:40px}.login-main{padding:32px}.login-aside h1{font-size:40px}}
@media(max-width:820px){:root{--side:180px}.brand{padding-left:8px;padding-right:8px}.brand-name{font-size:22px}.brand-sub{font-size:8px;letter-spacing:1px}.sidebar .demo-card{display:none}.nav-item{font-size:12px;padding:11px 8px;gap:10px}.profile .role{font-size:10px}.profile .name{font-size:11px}.profile{gap:7px}.stats{grid-template-columns:repeat(2,1fr)}.main{padding:22px 18px}.topbar{padding:0 18px}.dashboard-side{grid-template-columns:1fr 1fr}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-heading .btn{font-size:12px;padding:8px 10px}.two-col{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-aside{padding:25px;display:block}.login-aside h1,.login-aside p,.login-route,.login-aside .eyebrow{display:none}.login-aside .brand{padding:0}.login-main{padding:30px}.workflow{flex-wrap:wrap;gap:16px}.workflow-item{min-width:110px}.demo-strip{align-items:flex-start;line-height:1.6}.demo-strip button{margin-top:2px}}
@media(max-width:620px){:root{--side:0px}.sidebar{width:235px;transform:translateX(-100%);transition:.2s;box-shadow:6px 0 50px #18342433}.sidebar.open{transform:translateX(0)}.mobile-menu{display:inline-grid}.shell{margin-left:0}.topbar{height:62px;padding:0 15px}.top-actions{gap:7px}.breadcrumb{font-size:11px;gap:7px}.main{padding:18px 14px}.demo-strip{margin-bottom:22px;font-size:11px}.demo-strip button{display:none}.page-heading{flex-wrap:wrap;gap:15px}.page-heading p{font-size:12px}.stats{gap:10px;margin-bottom:20px}.stat-number{font-size:28px}.stat-top{font-size:11px}.stat{padding:14px}.dashboard-side{grid-template-columns:1fr}.dashboard-grid{gap:16px}.footnote{flex-direction:column;line-height:1.5}.tabs{gap:18px}.info-grid,.form-grid{grid-template-columns:1fr}.field.full,.info-item.full{grid-column:auto}.detail-content{padding:18px}.card-head{padding:17px}.account-grid{grid-template-columns:1fr}.login-main{padding:28px 21px}.login-box h2{font-size:27px}.account-choice{padding:12px}.login-box .account-grid{gap:7px}.login-aside{padding:23px}.modal-head{padding:22px 20px 16px}.modal-body{padding:0 20px 22px}.toolbar .filter{flex:1;max-width:none;min-width:140px}.route-row{grid-template-columns:1fr 145px}.page-heading h1{font-size:25px}.top-actions>.avatar{display:none}.gantt-header,.gantt-row{grid-template-columns:200px repeat(14,minmax(34px,1fr))}.dialog{max-height:94vh}#toast{left:50%}}
/* Escala legible para operación diaria: texto principal 16 px, controles 14 px. */
body{font-size:16px}.btn,.field input,.field select,.field textarea,.search input,.filter{font-size:14px}.page-heading p,.card-head p,.hint,.field>span,.field>label,.info-item label,.check,.route-row,.tab,.detail-tabs .tab,.stat-top,.task-title,td,.due,.priority h3,.priority .link,.note-card h3,.notification p,.timeline-item p,.file-row a{font-size:14px}.badge{font-size:13px}.small,.mono,.stat-foot,.task-meta,.task-code,.table-footer,.card-head .badge,.priority p,.note-card p,.demo-strip,.proposed,.info-item .small,.upload p,.field small,.file-row small,.timeline-item small,.notification small,.gantt-name small,.demo-card{font-size:12px}.info-item p,.card-body>p,.login-box>p,.login-aside p{font-size:16px}.breadcrumb{font-size:13px}.stat-number{font-size:34px}.stat-top{gap:8px;line-height:1.4}.task-title{line-height:1.5}.task-meta{line-height:1.5;flex-wrap:wrap}.table-footer .link{font-size:12px}.card-head h2,.card-body h2{font-size:16px}.priority p,.note-card p{line-height:1.8}.field small,.hint{line-height:1.7}.stat-number.money{font-size:28px}.stat-number{overflow-wrap:anywhere}.demo-card{font-size:12px}.account-choice strong{font-size:14px}.account-choice small,.login-footer{font-size:12px!important}.brand-sub{letter-spacing:1.4px}.sidebar{overflow-y:auto}.modal-head p{font-size:14px}.workflow-item{font-size:12px}.workflow-item strong{font-size:13px}th{font-size:11px}.gantt-name{font-size:13px}.gantt-header{font-size:12px}.gantt-bar{font-size:12px}.info-item div{font-size:16px}.footnote{font-size:11px}
@media(max-width:620px){.stats{gap:10px}.stat{padding:14px}.stat-top{font-size:13px}.stat-number{font-size:30px}.page-heading p{font-size:14px}.main{padding:18px 14px}.topbar .breadcrumb{font-size:12px}.card-head{flex-wrap:wrap}.demo-strip{font-size:12px}.nav-item{font-size:14px}.demo-card{display:none}.login-box>p{font-size:14px}.page-heading h1{font-size:27px}.form-actions .btn{flex:1}.dashboard-side{display:block}.note-card{margin-top:16px}}
@media(max-width:620px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.stat-number{font-size:clamp(24px,7vw,30px)}.sidebar.open:after{content:'Esc para cerrar';font-size:11px;color:var(--muted);margin:15px 8px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
