:root{--ink:#182b38;--ink2:#294353;--paper:#edf1ef;--surface:#fbfcfa;--line:#cbd5d3;--muted:#66777d;--orange:#e77439;--teal:#1e7776;--lime:#d4e08c;--red:#b9433c;--green:#387a53;--amber:#c48126;--role:#d06a35;--shadow:0 12px 36px rgba(24,43,56,.09);--sans:system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--sans);background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app{min-height:100vh;padding-bottom:25px}.demo-ribbon{height:28px;background:#dce6df;color:#34564a;padding:5px max(18px,calc((100% - 1440px)/2));font-size:11px;letter-spacing:.06em;display:flex;justify-content:space-between}.demo-ribbon strong{font-weight:800}.shell-head{position:sticky;top:0;z-index:20;background:#f9fbf8ed;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.head-inner{max-width:1440px;margin:auto;padding:13px 24px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:10px;min-width:190px;color:var(--ink)}.brand-mark{width:34px;height:34px;border:2px solid var(--ink);display:grid;place-items:center;position:relative;transform:rotate(45deg);border-radius:5px}.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--orange)}.brand-mark:before{width:2px;height:22px}.brand-mark:after{height:2px;width:22px}.brand-word{font-weight:900;font-size:12px;letter-spacing:.14em;line-height:1.25}.brand-word span{display:block;font-size:9px;font-weight:600;letter-spacing:.23em;color:var(--muted)}.job-chip{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:22px;min-width:255px}.job-chip b{font:700 12px var(--mono);letter-spacing:.01em}.job-chip span{font-size:11px;color:var(--muted);display:block;margin-top:3px}.job-pulse{height:8px;width:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #c4812620}.head-spacer{flex:1}.role-switch{display:flex;align-items:center;gap:7px}.role-switch label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.role-select{background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px 32px 9px 11px;color:var(--ink);font-weight:700;min-width:190px}.reset{border:1px solid var(--line);border-radius:6px;background:transparent;padding:9px 12px;color:var(--ink);font-size:12px;font-weight:700}.reset:hover{background:#e8efeb}.nav{max-width:1440px;margin:auto;padding:0 24px;display:flex;gap:4px;overflow:auto;scrollbar-width:none}.nav button{border:0;background:transparent;padding:12px 14px 11px;color:#64757b;font-size:12px;font-weight:750;border-bottom:3px solid transparent;white-space:nowrap}.nav button.active{color:var(--ink);border-color:var(--role)}.nav button:hover{color:var(--ink);background:#eaf0ec}.main{max-width:1440px;margin:0 auto;padding:25px 24px 60px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:19px}.eyebrow{font:800 10px var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--role);margin-bottom:8px}.page-heading h1{font-size:clamp(25px,3vw,34px);line-height:1.1;letter-spacing:-.045em;margin:0;font-weight:820}.page-heading p{margin:7px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;border-radius:5px;font-weight:750;font-size:12px;transition:transform .18s,background .18s;display:inline-flex;align-items:center;gap:7px}.btn:hover:not(:disabled){transform:translateY(-1px);background:#eff4f1}.btn-primary{background:var(--ink);border-color:var(--ink);color:#f9fbf8}.btn-primary:hover:not(:disabled){background:#284656;color:#fff}.btn-warm{background:var(--orange);border-color:var(--orange);color:#fff}.btn-small{padding:7px 10px;font-size:11px}.btn-danger{color:var(--red);border-color:#dcbdb9}.btn:disabled{opacity:.48}.grid{display:grid;gap:15px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 2px 8px #182b3807}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #e2e9e5;gap:12px}.panel-head h2,.panel-head h3{font-size:13px;margin:0;font-weight:820;letter-spacing:-.01em}.panel-body{padding:16px 17px}.panel-kicker{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.kpi{padding:17px;min-height:125px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-18px;bottom:-31px;width:90px;height:90px;border:15px solid #e9efeb;border-radius:50%}.kpi .label{font-size:11px;color:var(--muted);font-weight:700}.kpi .value{font:800 27px var(--mono);letter-spacing:-.06em;margin:12px 0 5px}.kpi .meta{font-size:10px;color:var(--muted)}.kpi .delta{color:var(--green);font-weight:800}.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:3px;font-size:10px;line-height:1.15;font-weight:800;background:#e8eeea;color:#435c51;white-space:nowrap}.tag.warn{background:#f6ecd9;color:#885d1e}.tag.danger{background:#f6e4e0;color:#9e4137}.tag.good{background:#e1ede5;color:#37694b}.tag.blue{background:#e0e9ec;color:#375e6e}.tag.outline{background:transparent;border:1px solid var(--line);color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:15px;margin-top:15px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#607179;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px;border-bottom:1px solid #e8ece9;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f1f5f2}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:11px}.strong{font-weight:800}.job-link{border:0;background:none;padding:0;color:var(--ink);font:800 12px var(--mono);text-decoration:underline;text-decoration-color:#bbc9c4;text-underline-offset:3px}.job-link:hover{color:var(--orange)}.progress{height:7px;background:#e4ebe7;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--teal);border-radius:inherit}.bar-row{display:grid;grid-template-columns:90px 1fr 42px;align-items:center;gap:10px;margin:13px 0;font-size:11px}.bar-track{height:11px;background:#e9efeb;position:relative;border-radius:2px}.bar-track span{height:100%;display:block;background:var(--role);border-radius:2px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--sans);fill:#66777d;font-size:9px}.chart .axis{stroke:#d9e1dd;stroke-width:1}.chart .target{stroke:#b9433c;stroke-width:1.5;stroke-dasharray:4 4}.alert-box{padding:14px 16px;background:#fbf2e1;border-left:4px solid var(--amber);border-radius:3px;color:#624b27;font-size:12px;line-height:1.5}.alert-box strong{color:#45371f}.red-box{background:#f8e9e6;border-color:var(--red);color:#70362f}.green-box{background:#e4efe7;border-color:var(--green);color:#34583f}.job-banner{background:var(--ink);color:#eef3f0;border-radius:7px;padding:17px 20px;display:flex;align-items:center;gap:18px;margin-bottom:16px}.job-banner .job-symbol{width:42px;height:42px;border:1px solid #718994;display:grid;place-items:center;transform:rotate(45deg);font:700 13px var(--mono);color:#e4a16e}.job-banner .job-symbol span{transform:rotate(-45deg)}.job-banner h2{font:800 14px var(--mono);margin:0 0 5px}.job-banner p{margin:0;color:#c0cfc8;font-size:11px}.job-banner .job-right{margin-left:auto;text-align:right}.job-banner .job-right b{font:800 20px var(--mono);display:block}.job-banner .job-right span{font-size:10px;color:#bac9c3}.section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 11px}.section-title h2{font-size:15px;margin:0;letter-spacing:-.02em}.section-title span{font:700 10px var(--mono);color:var(--muted)}.stepper{display:flex;align-items:center;gap:0;overflow:auto;padding:13px 15px;border-bottom:1px solid #e2e9e5}.step{display:flex;align-items:center;gap:7px;color:#82918f;font-size:10px;font-weight:750;white-space:nowrap}.step:not(:last-child):after{content:"";height:1px;width:19px;background:#cad5cf;margin:0 9px}.step .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid #cbd5d3;font:700 10px var(--mono)}.step.current{color:var(--ink)}.step.current .n{background:var(--role);border-color:var(--role);color:white}.step.done .n{background:#e1ede5;color:var(--green);border-color:#b7d1bf}.config-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:15px}.config-form{padding:21px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:750;font-size:11px;color:#40555e}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5d3;background:#fff;border-radius:4px;padding:10px 11px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #1e77761c}.field small{color:var(--muted);font-size:10px}.full{grid-column:1/-1}.range{width:100%;accent-color:var(--role)}.config-nav{display:flex;justify-content:space-between;gap:8px;margin-top:22px}.preview-card{padding:18px}.window-preview{min-height:270px;display:grid;place-items:center;background:#edf2ef;border:1px solid #d9e2dd;border-radius:4px;overflow:hidden}.window-preview svg{width:min(100%,400px);height:auto}.toggle-group{display:flex;background:#e9efeb;border-radius:4px;padding:3px;gap:2px}.toggle-group button{border:0;padding:6px 10px;background:transparent;border-radius:3px;font-size:10px;font-weight:800;color:var(--muted)}.toggle-group button.selected{background:white;color:var(--ink);box-shadow:0 1px 3px #0001}.output-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.output{padding:14px;border:1px solid var(--line);border-radius:5px;background:#fff}.output h3{font-size:11px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.1em}.output.customer{border-top:3px solid var(--teal)}.output.production{border-top:3px solid var(--orange)}.output-line{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #edf0ed;font-size:10px}.output-line:last-child{border:0}.output-line b{font:800 11px var(--mono);text-align:right}.piece-list{display:flex;flex-direction:column;gap:8px}.piece-card{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:5px;background:white}.piece-number{width:33px;height:33px;background:#eaf0ec;display:grid;place-items:center;font:800 11px var(--mono);border-radius:4px}.piece-card .piece-info{flex:1;min-width:0}.piece-card b{display:block;font-size:11px}.piece-card small{color:var(--muted);font-size:10px}.piece-card .piece-price{font:800 12px var(--mono)}.piece-card button{border:0;background:transparent;color:var(--muted);padding:5px}.cut-bars{display:grid;gap:15px}.cut-item{padding:13px;background:#fff;border:1px solid var(--line);border-radius:5px}.cut-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px}.cut-track{display:flex;height:35px;width:100%;background:#f1dfdc;border:1px solid #d9b1ab;overflow:hidden;border-radius:2px}.cut-segment{height:100%;border-right:2px solid #fff;background:#76958c;display:flex;align-items:center;justify-content:center;color:white;font:700 9px var(--mono);min-width:1px}.cut-waste{background:#cf6a5c;color:white;display:grid;place-items:center;font:700 9px var(--mono);min-width:4px}.cut-legend{display:flex;gap:14px;font-size:10px;color:var(--muted);margin-top:7px}.legend-dot{display:inline-block;width:8px;height:8px;background:#76958c;margin-right:5px}.legend-dot.waste{background:#cf6a5c}.dept-board{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;overflow:auto;padding-bottom:10px}.dept-col{background:#e4ebe7;border-radius:5px;padding:10px;min-height:280px}.dept-head{display:flex;align-items:center;justify-content:space-between;margin:2px 1px 10px;font-size:11px;font-weight:850}.lot-card{padding:12px;background:white;border:1px solid #ced8d3;border-left:3px solid var(--role);border-radius:4px;margin:8px 0;cursor:grab}.lot-card:active{cursor:grabbing}.lot-card b{font:800 11px var(--mono)}.lot-card p{font-size:10px;color:var(--muted);margin:6px 0}.piece-grid{display:grid;grid-template-columns:repeat(8,minmax(34px,1fr));gap:6px}.piece-tile{aspect-ratio:1;display:grid;place-items:center;border-radius:3px;color:white;font:800 10px var(--mono);cursor:pointer;border:2px solid transparent}.piece-tile:hover{border-color:#172a36;transform:scale(1.04)}.piece-tile.current{background:#c48126}.piece-tile.done{background:#488060}.piece-tile.pending{background:#7b8b8c}.piece-tile.issue{background:#bf4e43}.trace{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:13px 0}.trace-node{font:700 10px var(--mono);padding:8px 10px;background:#edf2ef;border:1px solid var(--line);border-radius:3px}.trace-arrow{color:#96a6a0}.week-grid{display:grid;grid-template-columns:120px repeat(5,minmax(90px,1fr));font-size:10px}.week-grid>div{padding:10px 8px;border-bottom:1px solid #e4e9e6;border-right:1px solid #edf0ed}.week-grid .week-label{font-weight:800;background:#f0f4f1}.week-grid .load{background:linear-gradient(90deg,#bed6c8 var(--fill),transparent var(--fill));font:700 10px var(--mono)}.week-grid .load.over{background:linear-gradient(90deg,#edd1c8 var(--fill),transparent var(--fill));color:#954b35}.phone{max-width:560px;margin:0 auto;background:#f9fbf8;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.phone-top{background:var(--ink);color:#f2f5f3;padding:21px 19px 18px}.phone-top .eyebrow{color:#e8a278}.phone-top h2{font-size:24px;margin:0}.phone-top p{font-size:12px;color:#c5d0cc;margin:7px 0 0}.phone-section{padding:16px}.phone-action{width:100%;padding:15px;text-align:left;border:1px solid var(--line);background:white;border-radius:6px;color:var(--ink);font-weight:800;margin:5px 0}.phone-action span{display:block;font-weight:500;color:var(--muted);font-size:11px;margin-top:4px}.phone-action.checked{border-color:#7ca68c;background:#e8f1ea}.phone .btn{min-height:46px}.big-input{font-size:18px!important;font-weight:800!important}.measure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.measure-grid .field input{text-align:center;font-size:16px;font-weight:800}.role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:24px}.role-card{background:#f9fbf8;border:1px solid #d4ded8;border-radius:7px;padding:19px;min-height:200px;display:flex;flex-direction:column;text-align:left;color:var(--ink);transition:transform .2s,border .2s,box-shadow .2s}.role-card:hover{transform:translateY(-4px);border-color:var(--role);box-shadow:var(--shadow)}.role-icon{width:39px;height:39px;display:grid;place-items:center;background:#e8efeb;border-radius:5px;margin-bottom:18px;color:var(--role)}.role-card h2{font-size:15px;margin:0 0 7px}.role-card p{color:var(--muted);font-size:11px;line-height:1.55;margin:0}.role-card .enter{margin-top:auto;padding-top:17px;color:var(--role);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.splash{max-width:1300px;margin:auto;padding:8vh 32px 60px}.splash-top{display:flex;align-items:center;justify-content:space-between}.splash h1{font-size:clamp(40px,7vw,76px);letter-spacing:-.07em;line-height:.98;max-width:760px;margin:66px 0 16px}.splash h1 em{font-style:normal;color:var(--role)}.splash .intro{font-size:16px;color:var(--muted);max-width:530px;line-height:1.55}.splash-note{margin-top:30px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font:700 10px var(--mono);display:flex;justify-content:space-between}.timeline{display:flex;align-items:flex-start;gap:0;margin:22px 0}.timeline-step{flex:1;position:relative;text-align:center;color:#87958f;font-size:10px;font-weight:700}.timeline-step:not(:last-child):after{content:"";position:absolute;left:58%;right:-42%;height:2px;top:10px;background:#dce4df}.timeline-step .dot{width:21px;height:21px;margin:0 auto 7px;border:2px solid #c5d2cb;border-radius:50%;background:#f9fbf8;position:relative;z-index:1}.timeline-step.complete .dot{background:var(--teal);border-color:var(--teal)}.timeline-step.active{color:var(--ink)}.timeline-step.active .dot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px #e7743922}.client-update{padding:15px;background:#f8f0e5;border-left:4px solid var(--orange);border-radius:3px;font-size:12px;line-height:1.5}.doc-list{display:flex;flex-direction:column}.doc{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e6ebe7;font-size:11px}.doc:last-child{border:0}.doc-icon{width:28px;height:32px;border:1px solid #cbd5d3;display:grid;place-items:center;font:800 8px var(--mono);color:var(--role)}.doc .btn{margin-left:auto}.toast{position:fixed;right:20px;bottom:22px;z-index:60;background:var(--ink);color:white;padding:13px 17px;border-radius:5px;box-shadow:var(--shadow);font-size:12px;animation:toastIn .25s ease}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#182b3877;display:grid;place-items:center;padding:18px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#f9fbf8;border-radius:7px;box-shadow:0 30px 80px #10212c55}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px;margin:0}.modal-content{padding:19px}.modal-close{border:0;background:transparent;font-size:22px;color:var(--muted)}.toast[hidden],.modal-backdrop[hidden]{display:none}.checkline{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #e7ece8;font-size:12px}.checkline input{accent-color:var(--teal);width:19px;height:19px;flex:none}.checkline small{display:block;color:var(--muted);margin-top:3px}.status-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.role-badge{background:var(--role);color:white;padding:6px 8px;border-radius:3px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.donut-wrap{display:flex;align-items:center;gap:18px}.donut{width:125px;height:125px;border-radius:50%;background:conic-gradient(var(--teal) 0 71%,#d5dfd9 71% 100%);display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;inset:16px;background:var(--surface);border-radius:50%}.donut strong{position:relative;font:800 20px var(--mono)}.donut-legend{font-size:11px;line-height:2}.donut-legend i{display:inline-block;width:8px;height:8px;background:var(--teal);margin-right:7px}.donut-legend i.gray{background:#d5dfd9}.kanban{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:10px;overflow:auto}.kan-col{padding:10px;background:#e5ece8;border-radius:5px;min-height:170px}.kan-col h3{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:2px 0 10px}.kan-card{background:white;border:1px solid #ced8d3;border-radius:4px;padding:11px;margin:7px 0}.kan-card b{font:800 10px var(--mono)}.kan-card p{margin:6px 0;color:var(--muted);font-size:10px}.partner-hero{background:#234553;color:#f6f7f3;padding:22px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:20px}.partner-hero h2{font-size:21px;margin:0 0 6px}.partner-hero p{margin:0;color:#cad8d5;font-size:11px}.partner-hero .discount{font:800 31px var(--mono);color:#d8e59b;text-align:right}.partner-hero .discount small{display:block;color:#c4d0cb;font:700 9px var(--sans);letter-spacing:.12em;text-transform:uppercase}.no-print{}.print-sheet{display:none}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.role-grid{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.config-layout{grid-template-columns:1fr}.head-inner{gap:12px}.brand{min-width:145px}.job-chip{min-width:0}.head-inner{flex-wrap:wrap}.head-spacer{display:none}.role-switch{margin-left:auto}.nav{padding:0 14px}.main{padding:20px 15px 50px}}@media(max-width:680px){.demo-ribbon{padding:5px 12px}.head-inner{padding:10px 12px;gap:9px}.brand{min-width:auto}.brand-word{font-size:10px}.brand-word span{font-size:8px}.brand-mark{width:29px;height:29px}.job-chip{order:3;flex:1;border-left:0;padding-left:0}.job-chip span{display:none}.role-switch{margin-left:auto}.role-switch label{display:none}.role-select{min-width:132px;font-size:11px;padding:8px 7px}.reset{padding:8px}.nav button{padding:11px 10px;font-size:11px}.main{padding:17px 12px 46px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:28px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:13px;min-height:105px}.kpi .value{font-size:22px}.panel-head,.panel-body{padding:13px}.job-banner{padding:13px;gap:11px}.job-banner .job-symbol{width:34px;height:34px;flex:none}.job-banner .job-right b{font-size:16px}.output-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.step{font-size:9px}.step:not(:last-child):after{width:10px;margin:0 5px}.step .n{width:20px;height:20px}.config-form{padding:15px}.role-grid{grid-template-columns:1fr 1fr;gap:9px}.role-card{min-height:175px;padding:14px}.splash{padding:35px 17px 45px}.splash h1{margin:54px 0 14px;font-size:48px}.splash .intro{font-size:14px}.splash-note{font-size:9px;gap:12px}.role-icon{margin-bottom:12px}.week-grid{grid-template-columns:82px repeat(5,minmax(66px,1fr));font-size:9px}.week-grid>div{padding:8px 4px}.piece-grid{grid-template-columns:repeat(6,minmax(34px,1fr))}.actions{width:100%}.actions .btn{flex:1;justify-content:center}.donut-wrap{flex-direction:column;align-items:flex-start}.client-update{font-size:13px}.phone{border-radius:8px}.phone-top h2{font-size:23px}.phone-action{font-size:14px;min-height:56px}.phone-action span{font-size:12px}.btn{min-height:42px}.table-wrap table{min-width:600px}}@media print{body{background:white}.shell-head,.demo-ribbon,.no-print,.modal-backdrop,.toast{display:none!important}.main{max-width:none;padding:0}.print-sheet{display:block}.panel{box-shadow:none;break-inside:avoid}.app{padding:0}.page-heading{margin-bottom:10px}}
