@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#11130f;--ink-2:#1b1e18;--paper:#f2f1e9;--surface:#fff;--muted:#696c63;--line:#dcdcd1;--acid:#d7ff3f;--acid-dark:#a9d000;--danger:#d83a30;--warning:#e68a00;--success:#15803d;--info:#087c9c;--shadow:0 16px 50px rgba(17,19,15,.08);--radius:14px;--sidebar:272px;--card-padding:22px;--ease:cubic-bezier(.2,.8,.2,1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Google Sans","Arial Nova","Helvetica Neue",Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;background:var(--acid);padding:12px 18px;font-weight:800}.skip-link:focus{top:12px}*:focus-visible{outline:3px solid #1882ff;outline-offset:2px}
.boot-loader{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:16px;letter-spacing:.16em}.boot-loader span{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-page{min-height:100dvh;background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(420px,.85fr);overflow:hidden}.login-art{position:relative;padding:clamp(36px,6vw,88px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 80% 20%,#32372a 0,transparent 34%),linear-gradient(145deg,#0d0f0b,#1c2018);isolation:isolate}.login-art:after{content:"";position:absolute;right:-4%;bottom:-6%;z-index:-1;width:min(62vw,700px);height:min(62vw,700px);background:#20241c;-webkit-mask:url(logoicon.svg) center/contain no-repeat;mask:url(logoicon.svg) center/contain no-repeat}.login-art h1{margin:0;max-width:680px;font-size:clamp(52px,7vw,112px);line-height:.87;letter-spacing:-.075em;font-weight:950;text-transform:uppercase}.login-art h1 em{color:var(--acid);font-style:normal}.login-art-copy{max-width:460px;color:#b9bdae;font-size:17px}.login-panel{background:var(--paper);color:var(--ink);display:grid;place-items:center;padding:32px}.login-card{width:min(430px,100%)}.login-card h2{font-size:36px;line-height:1.05;letter-spacing:-.045em;margin:0 0 10px}.login-card>p{color:var(--muted);margin:0 0 34px}.login-card .button{margin-top:12px}
.login-page.has-hero-background{background-color:#080b07;background-image:linear-gradient(90deg,rgba(6,9,5,.35),rgba(6,9,5,.68)),var(--login-hero);background-position:center;background-size:cover}.login-page.has-hero-background .login-art{background:linear-gradient(90deg,rgba(6,9,5,.88) 0%,rgba(6,9,5,.56) 72%,rgba(6,9,5,.2) 100%)}.login-page.has-hero-background .login-art:after{opacity:.32}.login-page.has-hero-background .login-art-copy{color:#d7dbcf;text-shadow:0 1px 16px rgba(0,0,0,.6)}.login-page.has-hero-background .login-panel{background:rgba(242,241,233,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.brand-lockup{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.04em}.brand-mark{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:var(--acid);color:var(--ink);font-weight:950;font-size:24px;line-height:1;clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}.brand-mark svg{width:20px;height:20px}.brand-mark.dark{background:var(--ink);color:var(--acid)}.eyebrow,.step-kicker{font-size:11px;letter-spacing:.18em;font-weight:900;text-transform:uppercase}.eyebrow{color:var(--acid)}
.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:50;background:radial-gradient(circle at 12% -5%,rgba(215,255,63,.08),transparent 28%),linear-gradient(180deg,#12150f 0%,#0d0f0c 100%);color:#fff;padding:18px 12px 14px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #272b23;box-shadow:10px 0 34px rgba(10,12,8,.06)}.sidebar .brand-lockup{padding:0 8px 18px;border-bottom:1px solid #30332c;flex-shrink:0}.sidebar .brand-mark{box-shadow:0 8px 22px rgba(185,229,20,.18)}.sidebar .brand-copy{font-size:15px}.sidebar .brand-copy small{display:block;color:#9a9e90;font-size:9px;letter-spacing:.18em}.nav{display:grid;gap:4px;margin:0}.sidebar-footer{margin-top:10px;padding:12px 8px 0;border-top:1px solid #30332c;flex-shrink:0}.user-chip{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px;border:1px solid rgba(255,255,255,.055);border-radius:11px;background:rgba(255,255,255,.025)}.avatar{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--acid);color:var(--ink);font-weight:900;box-shadow:0 6px 16px rgba(185,229,20,.13)}.user-chip b{font-size:13px;display:block}.user-chip small{color:#898d80;text-transform:capitalize}.logout-button{width:100%;min-height:44px;border:1px solid #3a3e34;background:rgba(255,255,255,.025);color:#b9bdae;border-radius:9px;font-weight:700;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.logout-button:hover{color:var(--acid);border-color:#596052;background:rgba(255,255,255,.065)}.sidebar-scrim{display:none}.sidebar-scrim[hidden]{display:none!important}
.content-shell{grid-column:2;min-width:0}.topbar{height:78px;position:sticky;top:0;z-index:30;background:rgba(242,241,233,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(190,190,178,.6);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px)}.topbar-left{display:flex;align-items:center;gap:14px}.topbar h1{margin:0;font-size:14px;letter-spacing:.11em;text-transform:uppercase}.mobile-menu{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:10px}.today{font-size:12px;color:var(--muted);font-weight:700}.main{padding:34px clamp(20px,4vw,56px) 64px;max-width:1700px;margin:auto}.page-enter{animation:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-title{margin:0;font-size:clamp(32px,4vw,56px);line-height:.95;letter-spacing:-.055em;font-weight:950}.page-subtitle{margin:9px 0 0;color:var(--muted);font-size:14px}.head-actions{display:flex;gap:9px;flex-wrap:wrap}
.button{border:1px solid var(--line);background:#fff;min-height:46px;border-radius:10px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;font-size:13px;text-decoration:none;transition:transform .15s,background .15s,border-color .15s}.button:hover{border-color:#aaa}.button:active{transform:scale(.98)}.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.button.primary:hover{background:#292d24}.button.acid{background:var(--acid);border-color:var(--acid);color:var(--ink)}.button.danger{border-color:#f1b4b0;color:var(--danger);background:#fff8f7}.button.small{min-height:38px;padding:0 12px;font-size:12px}.button.icon{width:44px;padding:0}.button.wide{width:100%}.button:disabled{opacity:.5;cursor:not-allowed}.button i{font-size:15px;line-height:1}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-height:142px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 0 rgba(17,19,15,.02)}.metric-card.accent{background:var(--acid);border-color:var(--acid)}.metric-label{font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--muted);text-transform:uppercase}.accent .metric-label{color:#4d5b12}.metric-value{font-size:clamp(30px,3.5vw,49px);font-weight:950;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}.metric-foot{font-size:11px;color:var(--muted);font-weight:700}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px;margin-top:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 0 rgba(17,19,15,.02)}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{font-size:14px;margin:0;letter-spacing:-.01em}.panel-head span{font-size:11px;color:var(--muted)}.panel-body{padding:20px}.pipeline{display:grid;gap:16px}.pipeline-row{display:grid;grid-template-columns:125px minmax(100px,1fr) 76px;gap:12px;align-items:center}.pipeline-label{font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-track{height:9px;border-radius:20px;background:#ecece5;overflow:hidden}.pipeline-fill{height:100%;border-radius:inherit;min-width:5px}.pipeline-value{text-align:right;font-size:12px;font-weight:850;font-variant-numeric:tabular-nums}.due-list,.activity-list{display:grid}.due-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #ecece5}.due-item:last-child{border-bottom:0}.date-tile{background:var(--ink);color:#fff;border-radius:9px;text-align:center;padding:5px}.date-tile b{font-size:19px;display:block;line-height:1.1}.date-tile small{font-size:9px;color:var(--acid);font-weight:900}.due-item h4{font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.due-item p{font-size:11px;color:var(--muted);margin:3px 0 0}.mini-status,.type-pill,.status-pill{display:inline-flex;align-items:center;gap:6px;min-height:25px;border-radius:99px;padding:3px 9px;font-size:10px;font-weight:850;white-space:nowrap}.mini-status:before,.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.toolbar{padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:10px;align-items:center;margin-bottom:14px}.searchbox{position:relative;flex:1;min-width:220px}.searchbox i{position:absolute;left:15px;top:16px;font-size:15px;color:var(--muted)}.searchbox input{padding-left:42px}.field,.install-form label{display:grid;gap:7px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:850;color:#4e514a}.field input,.field select,.field textarea,.install-form input,input.control,select.control,textarea.control{width:100%;min-height:46px;border:1px solid #cfd0c7;background:#fff;border-radius:9px;padding:10px 12px;font-size:14px;text-transform:none;letter-spacing:0;font-weight:500;transition:border-color .15s,box-shadow .15s}.field textarea,textarea.control{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.install-form input:focus,input.control:focus,select.control:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(215,255,63,.45);outline:0}.field small{color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-section{border:0;margin:0;padding:0}.form-section legend{width:100%;padding:0 0 14px;margin-bottom:16px;border-bottom:1px solid var(--line);font-weight:900;font-size:13px}.form-divider{height:1px;background:var(--line);position:relative;margin:28px 0}.form-divider span{position:absolute;top:50%;left:0;transform:translateY(-50%);background:var(--paper);padding-right:12px;font-size:10px;letter-spacing:.16em;font-weight:900;color:var(--muted)}.form-help{font-size:11px;color:var(--muted);line-height:1.6;text-align:center}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{background:#f7f7f2;padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.data-table td{padding:14px 16px;border-bottom:1px solid #ecece5;font-size:12px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfbf7}.table-main{font-size:13px;font-weight:850}.table-sub{display:block;color:var(--muted);font-size:10px;margin-top:3px}.money{font-variant-numeric:tabular-nums;font-weight:800}.danger-text{color:var(--danger)}.table-actions{display:flex;gap:6px}.empty-state{text-align:center;padding:56px 24px;color:var(--muted)}.empty-state i{font-size:38px;margin-bottom:14px;color:#c7c9bd;display:block}.empty-state h3{color:var(--ink);margin:0 0 5px}
.kanban{display:flex;gap:12px;overflow-x:auto;padding:0 0 20px;scrollbar-color:#aeb0a5 transparent}.kanban-column{width:276px;min-width:276px;background:#e9e9e1;border-radius:14px;border:1px solid var(--line);overflow:hidden;align-self:flex-start}.kanban-head{padding:14px 14px 12px;display:flex;align-items:center;justify-content:space-between;border-top:4px solid var(--stage-color)}.kanban-head h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:0}.kanban-count{min-width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:10px;font-weight:900}.kanban-body{padding:8px;display:grid;gap:8px;min-height:100px}.job-card{background:#fff;border:1px solid #d9d9d0;border-radius:10px;padding:13px;box-shadow:0 2px 0 rgba(17,19,15,.04)}.job-card.priority{border-left:4px solid var(--acid-dark)}.job-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.job-number{font-size:10px;letter-spacing:.08em;font-weight:900;color:var(--muted)}.job-card h4{font-size:15px;line-height:1.2;margin:9px 0 3px}.job-card p{font-size:11px;color:var(--muted);margin:0}.job-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:10px;border-top:1px solid #ecece5;font-size:10px;font-weight:800}.job-card select{width:100%;margin-top:10px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:#f8f8f3;padding:5px;font-size:11px;font-weight:750}
.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(10,12,8,.65);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fadeIn .16s ease both}@keyframes fadeIn{from{opacity:0}}.modal{width:min(720px,100%);max-height:min(90dvh,900px);overflow:auto;background:var(--paper);border-radius:16px;box-shadow:0 32px 100px rgba(0,0,0,.35);animation:modalIn .22s var(--ease) both}@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98)}}.modal.wide{width:min(980px,100%)}.modal-head{position:sticky;top:0;z-index:2;background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:20px;letter-spacing:-.035em;margin:0}.modal-close{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:20px}.modal-body{padding:24px}.modal-foot{position:sticky;bottom:0;background:var(--paper);padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.order-summary{background:var(--ink);color:#fff;border-radius:12px;padding:18px}.summary-row{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:5px 0;color:#c7cabf}.summary-row.total{font-size:18px;color:var(--acid);font-weight:900;border-top:1px solid #383c32;margin-top:8px;padding-top:12px}.detail-hero{background:var(--ink);color:#fff;padding:26px;border-radius:13px;display:grid;grid-template-columns:1fr auto;gap:20px}.detail-hero h2{font-size:30px;margin:5px 0;letter-spacing:-.045em}.detail-hero p{margin:0;color:#adb1a4}.detail-total{text-align:right}.detail-total b{font-size:28px;color:var(--acid);display:block}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:14px;margin-top:14px}.definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.definition dt{font-size:9px;letter-spacing:.12em;font-weight:900;color:var(--muted);text-transform:uppercase}.definition dd{margin:4px 0 0;font-size:13px;font-weight:750}.timeline-item{position:relative;padding:0 0 18px 20px;border-left:1px solid var(--line)}.timeline-item:before{content:"";position:absolute;left:-5px;top:3px;width:9px;height:9px;background:var(--acid-dark);border-radius:50%}.timeline-item b{display:block;font-size:12px}.timeline-item small{color:var(--muted);font-size:10px}
.toast-region{position:fixed;right:20px;bottom:20px;z-index:3000;display:grid;gap:8px}.toast{width:min(360px,calc(100vw - 40px));background:var(--ink);color:#fff;border-left:5px solid var(--acid);border-radius:10px;padding:14px 16px;box-shadow:0 20px 60px rgba(0,0,0,.25);font-size:13px;font-weight:700;animation:toastIn .22s var(--ease);display:flex;align-items:flex-start;gap:10px;cursor:pointer}.toast i{font-size:15px;margin-top:1px;color:var(--acid)}.toast.error{border-color:#ff5c52}.toast.error i{color:#ff5c52}.toast.success{border-color:var(--acid)}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}}
.calendar-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-day{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;min-height:130px}.calendar-day.past{border-color:#f0b7b2}.calendar-day h3{margin:0 0 12px;font-size:13px}.calendar-order{border-left:4px solid var(--stage-color);padding:6px 9px;background:#f7f7f2;border-radius:0 7px 7px 0;margin-top:7px;font-size:11px}.report-bars{display:grid;gap:14px}.report-row{display:grid;grid-template-columns:130px 1fr 110px;gap:12px;align-items:center}.report-bar{height:22px;background:#ecece5;border-radius:5px;overflow:hidden}.report-bar span{height:100%;display:block;background:var(--acid-dark)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chip-list{display:flex;gap:8px;flex-wrap:wrap}.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.notice{border-radius:9px;padding:12px 14px;font-size:12px;margin:0 0 16px}.notice.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.notice.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.notice.warning{background:#fff7d6;color:#5f4900;border:1px solid #e9ce67}
.installer-body{min-height:100dvh;background:var(--ink);display:grid;place-items:center;padding:24px}.installer-shell{width:min(1050px,100%);display:grid;grid-template-columns:.85fr 1.15fr;box-shadow:0 35px 100px rgba(0,0,0,.4)}.installer-brand{background:var(--acid);padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:center;min-height:680px}.installer-brand .brand-mark{background:var(--ink);color:var(--acid)}.installer-brand .eyebrow{color:#596b13;margin-top:30px}.installer-brand h1{font-size:clamp(52px,6vw,78px);line-height:.88;letter-spacing:-.07em;text-transform:uppercase;margin:10px 0 22px}.installer-brand p:last-child{font-size:14px;max-width:320px}.installer-panel{background:var(--paper);padding:clamp(34px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.installer-panel h2{font-size:35px;letter-spacing:-.045em;margin:9px 0 28px}.install-form{display:grid;gap:14px}.install-form label{gap:6px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.calendar-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--sidebar:280px}.app-shell{display:block}.content-shell{grid-column:auto}.sidebar{transform:translateX(-105%);transition:transform .22s var(--ease)}.sidebar.open{transform:none}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.55)}.mobile-menu{display:grid;place-items:center}.today{display:none}.topbar{height:68px;padding:0 16px}.main{padding:24px 16px 80px}.page-head{align-items:flex-start}.page-title{font-size:38px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100dvh}.login-page.has-hero-background{background-position:62% center}.login-page.has-hero-background .login-panel{padding:20px;background:linear-gradient(rgba(7,10,6,.56),rgba(7,10,6,.76));backdrop-filter:none}.login-page.has-hero-background .login-card{width:min(430px,calc(100vw - 40px));max-width:100%;padding:clamp(24px,7vw,36px);border:1px solid rgba(255,255,255,.72);border-radius:18px;background:rgba(242,241,233,.95);box-shadow:0 28px 80px rgba(0,0,0,.36);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.installer-shell{grid-template-columns:1fr}.installer-brand{min-height:auto;padding:32px}.installer-brand h1{font-size:48px}.installer-brand p:last-child{display:none}.installer-panel{padding:32px}.toolbar{flex-wrap:wrap}.toolbar .control{flex:1}.settings-grid{grid-template-columns:1fr}}
@media(max-width:560px){.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{min-height:122px;padding:15px}.metric-value{font-size:30px}.metric-foot{display:none}.page-head{display:grid}.head-actions{width:100%}.head-actions .button{flex:1}.form-grid,.form-grid.three,.definition-grid{grid-template-columns:1fr}.calendar-list{grid-template-columns:1fr}.pipeline-row{grid-template-columns:98px 1fr 58px}.detail-hero{grid-template-columns:1fr}.detail-total{text-align:left}.modal-backdrop{padding:0;align-items:end}.modal,.modal.wide{width:100%;max-height:94dvh;border-radius:18px 18px 0 0}.modal-body{padding:18px}.modal-head{padding:16px 18px}.modal-foot{padding:14px 18px}.report-row{grid-template-columns:90px 1fr 75px}.installer-body{padding:0}.installer-shell{min-height:100dvh}.installer-brand{display:none}.installer-panel{min-height:100dvh}.toast-region{left:12px;right:12px;bottom:12px}.toast{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.due-item i{font-size:17px;color:var(--muted)}

/* ===== Customer and Job Order workspaces ===== */
.directory-head,.job-order-list-panel+.pagination{margin-bottom:18px}.directory-summary,.order-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.directory-summary>div,.order-summary-grid>div{min-width:0;min-height:116px;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.directory-summary>div.accent,.order-summary-grid>div.accent{border-color:var(--acid);background:var(--acid)}.directory-summary span,.order-summary-grid span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.directory-summary strong,.order-summary-grid strong{display:block;margin-top:12px;font-size:clamp(24px,2.4vw,37px);line-height:1;letter-spacing:-.05em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.order-summary-grid small{margin-top:8px;color:var(--muted);font-size:8px}.directory-summary .has-balance strong,.order-summary-grid .has-balance strong,.order-summary-grid .is-overdue strong{color:var(--danger)}.directory-search{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}.directory-search .searchbox{min-width:0}.directory-panel .panel-head>div span,.job-order-list-panel .panel-head>div span{display:block;margin-top:2px}.customer-identity{display:flex;align-items:center;gap:11px;min-width:210px}.customer-identity>span:last-child{min-width:0}.customer-identity b,.customer-identity small{display:block}.customer-identity b{font-size:12px}.customer-identity small{margin-top:2px;color:var(--muted);font-size:8px}.customer-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:#eceee5;color:#444a3f;font-size:10px;font-weight:900}.customer-directory-table{min-width:980px}.customer-directory-table td{padding-block:12px}.directory-number{min-width:31px;height:31px;display:inline-grid;place-items:center;border-radius:50%;background:#eff0e9;font-size:10px;font-weight:900}.directory-actions{justify-content:flex-end}.customer-card-list{display:none}
.order-summary-grid{margin-top:0}.order-filter-panel{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(145px,.72fr)) auto;align-items:end;gap:9px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.order-filter-search{align-self:end}.order-filter-panel>.control{min-width:0}.order-filter-actions{display:flex;gap:7px}.order-filter-actions .button{white-space:nowrap}.job-order-list-panel{overflow:hidden}.job-order-table{min-width:1120px}.job-order-table td{padding-block:12px}.job-order-card-list{display:none}.job-order-bulk-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#fafbf6}
@media(max-width:1250px){.order-filter-panel{grid-template-columns:2fr repeat(2,1fr)}.order-filter-search{grid-column:span 2}.order-filter-actions{justify-content:flex-end}}
@media(max-width:900px){.directory-summary,.order-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-summary>div,.order-summary-grid>div{min-height:105px}.directory-search{align-items:stretch;flex-wrap:wrap}.directory-search .searchbox{flex-basis:100%}.directory-search .button{flex:1}}
@media(max-width:760px){.directory-head .head-actions .button{flex:1}.customer-table-view,.job-order-table-view{display:none}.customer-card-list,.job-order-card-list{display:grid;gap:10px;padding:10px;background:#f6f7f1}.customer-directory-card,.job-order-list-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.customer-directory-card>header,.job-order-list-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px}.customer-directory-card>header{justify-content:flex-start}.customer-directory-card header strong,.customer-directory-card header small,.job-order-list-card header span,.job-order-list-card header strong,.job-order-list-card header small{display:block}.customer-directory-card header strong,.job-order-list-card header strong{font-size:15px}.customer-directory-card header small,.job-order-list-card header span,.job-order-list-card header small{margin-top:2px;color:var(--muted);font-size:9px}.customer-directory-card dl,.job-order-list-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:0;padding:13px 14px;border-top:1px solid #eceee5;background:#fafbf7}.customer-directory-card dt,.job-order-list-card dt{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.customer-directory-card dd,.job-order-list-card dd{margin:3px 0 0;font-size:10px;font-weight:750;overflow-wrap:anywhere}.customer-directory-card footer,.job-order-list-card footer{display:flex;gap:8px;padding:11px 14px}.customer-directory-card footer .button{flex:1}.order-filter-panel{grid-template-columns:1fr 1fr}.order-filter-search{grid-column:1/-1}.order-filter-actions{grid-column:1/-1}.order-filter-actions .button{flex:1}.job-order-bulk-actions{align-items:stretch;flex-direction:column}.job-order-bulk-actions .button{width:100%}}
@media(max-width:480px){.directory-summary,.order-summary-grid{grid-template-columns:1fr 1fr;gap:7px}.directory-summary>div,.order-summary-grid>div{min-height:96px;padding:13px}.directory-summary strong,.order-summary-grid strong{font-size:23px}.order-filter-panel{grid-template-columns:1fr}.order-filter-search,.order-filter-actions{grid-column:auto}.order-filter-panel>.control{font-size:16px}}

.order-filter-field{min-width:0;display:grid;gap:5px}.order-filter-field>span{padding-left:2px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.order-filter-field>.control{min-width:0}

/* ===== Simplified connected dashboard ===== */
.simple-home-head{margin-bottom:18px}.simple-flow{overflow:hidden;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.simple-flow>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}.simple-flow>header span,.simple-label{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.simple-flow>header h3{margin:3px 0 0;font-size:18px}.simple-flow>header p{margin:0;padding:6px 9px;border-radius:99px;background:#f1f2eb;color:#555a50;font-size:9px;font-weight:850}.simple-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.simple-flow-card{position:relative;min-width:0;min-height:210px;display:flex;flex-direction:column;padding:17px;border-right:1px solid var(--line);color:inherit;text-decoration:none;transition:background-color .18s var(--ease),transform .18s var(--ease)}.simple-flow-card:last-child{border-right:0}.simple-flow-card:hover{z-index:1;background:#f8ffd9}.simple-flow-card:active{transform:scale(.985)}.simple-flow-card-top{display:flex;align-items:center;justify-content:space-between}.simple-flow-card-top span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:900}.simple-flow-card-top i{color:#9da192;font-size:16px}.simple-flow-card>strong{display:block;margin-top:21px;font-size:clamp(25px,2.4vw,40px);line-height:1;letter-spacing:-.055em;overflow-wrap:anywhere}.simple-flow-card h4{margin:9px 0 0;font-size:12px}.simple-flow-card p{min-height:38px;margin:3px 0 12px;color:var(--muted);font-size:9px}.simple-flow-card>b{margin-top:auto;color:#4d5c13;font-size:9px}.simple-flow-card>b i{margin-left:4px}.simple-attention-panel{margin-top:16px}.simple-attention-panel .panel-head>div span,.simple-my-work .panel-head>div span{display:block;margin-top:2px}.simple-attention-list{display:grid}.simple-attention-item{min-width:0;display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(130px,.55fr) auto;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid #eceee5}.simple-attention-item:last-child{border-bottom:0}.simple-attention-item:hover{background:#fbfcf7}.simple-attention-team{min-width:0}.simple-attention-team span{display:block;color:var(--muted);font-size:8px;font-weight:800}.simple-attention-team strong{display:block;overflow:hidden;margin-top:2px;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.simple-attention-item>div>b{display:block;margin-top:3px;font-size:10px}.simple-stage{display:flex!important;align-items:center;gap:7px}.simple-stage i,.simple-assignment-grid article p i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--status-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color) 14%,transparent)}.simple-attention-action{text-align:right}.simple-my-work{margin-top:16px}.simple-assignment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.simple-assignment-grid article{min-width:0;padding:15px;background:#fff}.simple-assignment-grid article>span{display:block;color:var(--muted);font-size:8px}.simple-assignment-grid article>strong{display:block;overflow:hidden;margin-top:4px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.simple-assignment-grid article p{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:#555a50;font-size:9px}
@media(max-width:1180px){.simple-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-flow-card{border-bottom:1px solid var(--line)}.simple-attention-item{grid-template-columns:minmax(220px,1.4fr) 1fr 1fr auto}.simple-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.simple-flow-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.simple-flow-card{min-width:220px;scroll-snap-align:start}.simple-flow>header{align-items:flex-start;flex-direction:column}.simple-attention-item{grid-template-columns:minmax(0,1fr) auto}.simple-attention-team{grid-column:1/-1}.simple-attention-action{align-self:end}.simple-assignment-grid{grid-template-columns:1fr}.simple-home-head .head-actions .button{width:100%}}

/* ===== Connected main operating flow ===== */
.workflow-bar{position:sticky;top:78px;z-index:24;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px clamp(20px,4vw,56px);border-bottom:1px solid rgba(190,190,178,.72);background:rgba(250,250,246,.94);backdrop-filter:blur(12px)}.workflow-bar-label{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.workflow-bar-steps{min-width:0;display:flex;align-items:center;gap:3px}.workflow-bar-steps a{min-height:38px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;color:#62665d;font-size:9px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background-color .16s var(--ease),color .16s var(--ease)}.workflow-bar-steps a:hover{background:#eceee6;color:var(--ink)}.workflow-bar-steps a.active{background:var(--ink);color:#fff}.workflow-bar-steps a>b{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#e5e7de;color:#555a50;font-size:7px}.workflow-bar-steps a.active>b{background:var(--acid);color:var(--ink)}.workflow-bar-steps a>i{font-size:10px}.workflow-new-order{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:8px;background:var(--acid);font-size:10px;font-weight:900;text-decoration:none;white-space:nowrap}.workflow-new-order:hover{background:#c9f02f}
@media(max-width:1100px){.workflow-bar{grid-template-columns:auto minmax(0,1fr)}.workflow-new-order{display:none}.workflow-bar-steps{overflow-x:auto;scrollbar-width:none}.workflow-bar-steps::-webkit-scrollbar{display:none}}
@media(max-width:820px){.workflow-bar{top:68px;padding:8px 16px;grid-template-columns:1fr}.workflow-bar-label{display:none}.workflow-bar-steps a{min-height:40px;padding-inline:10px}.workflow-bar-steps a>span{display:none}.workflow-bar-steps a.active>span{display:inline}.workflow-bar-steps{justify-content:flex-start}}

/* ===== Nav sections (collapsible, native <details>/<summary> = free keyboard support) ===== */
.nav-section{position:relative;z-index:1;border:0;margin:0 0 4px}
.nav-section summary{list-style:none;cursor:pointer;min-height:38px;padding:8px 11px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:#a5aa9b;display:flex;align-items:center;gap:8px;border-radius:8px;transition:background .15s var(--ease),color .15s var(--ease)}
.nav-section summary::-webkit-details-marker{display:none}
.nav-section summary:hover{color:#e2e4d9;background:#20231c}
.nav-section summary .chev{display:inline-flex;align-items:center;justify-content:center;transition:transform .2s var(--ease);font-size:9px;width:10px;color:#686d60}
.nav-section[open] summary .chev{transform:rotate(90deg)}
.nav-section[open] summary:hover .chev,.nav-section summary:hover .chev{color:#c9cdbc}
.nav-section .nav{margin:2px 0 12px;position:relative;padding:2px 0 2px 10px}
.nav-section .nav a{margin:0}

/* ===== Sidebar tree tools: quick filter + expand/collapse-all ===== */
.sidebar-search{position:relative;margin:12px 2px 9px;flex-shrink:0}
.sidebar-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:12px;color:#767a6d;pointer-events:none}
.sidebar-search input{width:100%;min-height:44px;background:rgba(255,255,255,.035);border:1px solid #34382f;border-radius:10px;padding:0 12px 0 34px;color:#fff;font-size:12px;font-weight:600;transition:border-color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}
.sidebar-search input::placeholder{color:#767a6d}
.sidebar-search input:focus{outline:0;border-color:var(--acid);background:#20241c;box-shadow:0 0 0 3px rgba(215,255,63,.18)}
.sidebar-empty{position:relative;z-index:1;color:#8f9486;font-size:12px;text-align:center;padding:24px 8px}
.nav-section.filter-hidden,.nav a.filter-hidden{display:none}
#nav-tree{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -2px 0 0;padding:0 5px 12px 0;isolation:isolate;overscroll-behavior:contain}
.nav-active-indicator{position:absolute;z-index:0;left:0;top:0;width:0;height:0;border:1px solid rgba(17,19,15,.08);border-radius:10px;background:var(--acid);opacity:0;pointer-events:none;transform:translate3d(0,0,0);box-shadow:0 6px 20px rgba(174,218,0,.18);transition:transform .2s var(--ease),width .2s var(--ease),height .2s var(--ease),opacity .12s ease-out}
.nav-active-indicator.is-relocating{transition:opacity .07s ease-in}
.nav a{position:relative;z-index:1;min-height:44px;border:0;background:transparent;color:#b9bdae;border-radius:10px;display:flex;align-items:center;gap:12px;padding:9px 12px;text-align:left;font-weight:700;font-size:13px;line-height:1.35;transition:background-color .18s var(--ease),color .18s var(--ease);text-decoration:none}
.nav a:hover{background:rgba(255,255,255,.055);color:#fff}
.nav a.active{background:var(--acid);color:var(--ink)}
#nav-tree.nav-indicator-ready .nav a.active{background:transparent}
#nav-tree.nav-indicator-ready .nav a.active.nav-leaving{color:#b9bdae}
.nav a.nav-target{background:transparent;color:#b9bdae;transition:none}
.nav a.nav-target.nav-target-ready{color:var(--ink)}
.nav a i{width:18px;font-size:15px;text-align:center;flex-shrink:0;color:#9ea391;transition:color .18s var(--ease)}
.nav a:hover i{color:var(--acid)}
.nav a.active i,.nav a.nav-target-ready i{color:var(--ink)}

/* ===== Admin sidebar: original link rhythm + optional icon-only desktop mode ===== */
.sidebar,.app-shell{transition:width .22s var(--ease),grid-template-columns .22s var(--ease)}
.sidebar .brand-lockup{position:relative;padding-right:44px}
.sidebar-collapse-toggle{position:absolute;right:7px;top:5px;width:30px;height:30px;display:grid;place-items:center;border:1px solid #363b31;border-radius:8px;background:#1c2019;color:#aeb3a4;font-size:11px;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .22s var(--ease)}
.sidebar-collapse-toggle:hover{border-color:#69705f;background:#252a21;color:var(--acid)}
.nav-section-title,.nav-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-link-icon{width:18px;display:grid;place-items:center;flex:0 0 18px}
.nav a .nav-link-icon i{width:auto}
.logout-button{display:flex;align-items:center;justify-content:center;gap:9px}
.logout-button i{font-size:12px}
@media(min-width:1181px){
  html.sidebar-collapsed{--sidebar:76px}
  html.sidebar-collapsed .sidebar{padding-inline:8px;overflow:visible}
  html.sidebar-collapsed .sidebar .brand-lockup{min-height:57px;padding:0 0 14px;justify-content:center}
  html.sidebar-collapsed .sidebar .brand-mark{width:38px;height:38px}
  html.sidebar-collapsed .sidebar .brand-copy,
  html.sidebar-collapsed .sidebar-search,
  html.sidebar-collapsed .nav-section>summary,
  html.sidebar-collapsed .nav-link-label,
  html.sidebar-collapsed .user-chip>span:not(.avatar),
  html.sidebar-collapsed .logout-button span{display:none}
  html.sidebar-collapsed .sidebar-collapse-toggle{right:-19px;top:4px;border-color:#34382f;border-radius:50%;background:#12150f;transform:rotate(180deg);box-shadow:4px 0 14px rgba(0,0,0,.18)}
  html.sidebar-collapsed #nav-tree{margin-top:10px;padding-right:0;overflow-x:visible}
  html.sidebar-collapsed .nav-section{margin:0}
  html.sidebar-collapsed .nav-section>.nav{display:grid!important;margin:0 0 5px;padding:0}
  html.sidebar-collapsed .nav a{width:48px;min-height:46px;margin-inline:auto;padding:0;justify-content:center;gap:0}
  html.sidebar-collapsed .nav-link-icon{width:20px;flex-basis:20px}
  html.sidebar-collapsed .nav a i{font-size:16px}
  html.sidebar-collapsed .sidebar-footer{padding:10px 0 0}
  html.sidebar-collapsed .user-chip{justify-content:center;padding:5px;border:0;background:transparent}
  html.sidebar-collapsed .avatar{width:38px;height:38px}
  html.sidebar-collapsed .logout-button{width:46px;margin-inline:auto;padding:0}
  html.sidebar-collapsed .logout-button i{font-size:14px}
}
@media(max-width:1180px){.sidebar-collapse-toggle{display:none}}
@media(max-width:820px){.sidebar{width:min(310px,88vw);padding:16px 10px max(14px,env(safe-area-inset-bottom))}.nav-section .nav a{min-height:50px;font-size:13px}.nav-section summary{min-height:44px}.sidebar-search input{min-height:48px}}

/* ===== Reports center: one understandable entry point instead of a long sidebar list ===== */
.reports-hub-head{margin-bottom:24px}.reports-hub-section{margin-bottom:28px}.reports-hub-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.reports-hub-section-head h3{font-size:18px}.reports-hub-section-head span{color:var(--muted);font-size:11px;font-weight:800}.reports-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-hub-card{min-height:112px;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 8px 24px rgba(17,19,15,.035);transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}.report-hub-card:hover,.report-hub-card:focus-visible{transform:translateY(-2px);border-color:var(--acid-dark);box-shadow:0 14px 32px rgba(17,19,15,.09)}.report-hub-card:focus-visible{outline:3px solid rgba(169,208,0,.3);outline-offset:2px}.report-hub-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--acid);font-size:17px}.report-hub-copy{min-width:0;display:grid;gap:5px}.report-hub-copy strong{font-size:14px}.report-hub-copy small{color:var(--muted);font-size:11px;line-height:1.45}.report-hub-arrow{color:#92978a;font-size:12px}.report-hub-card:hover .report-hub-arrow{color:var(--ink)}
@media(max-width:1000px){.reports-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.reports-hub-grid{grid-template-columns:1fr}.report-hub-card{min-height:96px;padding:14px}.reports-hub-section-head{align-items:center}}

/* ===== Status tones: icon + text always accompany color so status is never color-alone ===== */
.status-pill{display:inline-flex;align-items:center;gap:6px;min-height:25px;border-radius:99px;padding:3px 10px 3px 8px;font-size:10px;font-weight:850;white-space:nowrap;border:1px solid transparent}
.status-pill i{font-style:normal;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;font-size:10px;line-height:1}
.tone-success{color:var(--success);background:#dcfce7}
.tone-success i{background:var(--success);color:#fff}
.tone-danger{color:var(--danger);background:#fee2e2}
.tone-danger i{background:var(--danger);color:#fff}
.tone-warning{color:#92620a;background:#fef3c7}
.tone-warning i{background:var(--warning);color:#fff}
.tone-neutral{color:#475467;background:#eef0f3}
.tone-neutral i{background:#667085;color:#fff}

/* ===== Tabs ===== */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs [role=tab]{border:0;background:transparent;padding:11px 14px;font-size:12px;font-weight:850;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--acid-dark)}
.tabs [role=tab]:hover{color:var(--ink)}

/* ===== Pagination ===== */
.pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:15px 16px;border-top:1px solid var(--line);background:#fff}
.pagination .steps{display:flex;gap:5px;align-items:center;justify-self:center}
.pagination .steps a,.pagination .steps span{min-width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:800;text-decoration:none;color:var(--ink)}
.pagination .steps a:hover{border-color:#aaa}
.pagination .steps .current{background:var(--ink);border-color:var(--ink);color:#fff}
.pagination .steps span.gap{border:0;background:transparent}
.pagination .per-page{display:flex;align-items:center;justify-self:end;gap:9px;font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap}
.pagination .per-page select{width:74px;min-height:38px;border-radius:9px;border:1px solid var(--line);padding:0 34px 0 12px}
.pagination .summary{justify-self:start;font-size:10px;color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:640px){.pagination{grid-template-columns:1fr auto}.pagination .steps{grid-column:1/-1;grid-row:1}.pagination .summary{grid-column:1;grid-row:2}.pagination .per-page{grid-column:2;grid-row:2}.pagination .per-page label{display:none}}

/* ===== Skeleton loading ===== */
.skeleton{background:linear-gradient(100deg,#ececE4 30%,#f6f6f1 45%,#ececE4 60%);background-size:220% 100%;animation:skeletonShine 1.3s ease-in-out infinite;border-radius:8px}
@keyframes skeletonShine{to{background-position:-120% 0}}
.skeleton-line{height:12px;margin:6px 0;border-radius:6px}
.skeleton-card{height:142px;border-radius:var(--radius)}
.skeleton-row{height:48px;border-radius:8px;margin-bottom:8px}
@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:#ececE4}}

/* ===== Empty state with suggested action ===== */
.empty-state .button{margin-top:14px}
.empty-state p{margin:4px 0 0;font-size:12px}

/* ===== Field errors ===== */
.field-error{color:var(--danger);font-weight:800;font-size:11px;text-transform:none;letter-spacing:0;display:flex;align-items:center;gap:4px}
.field-error:before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--danger);color:#fff;font-size:10px}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger);box-shadow:0 0 0 3px rgba(216,58,48,.12)}

/* ===== KPI card as link ===== */
a.metric-card{text-decoration:none;color:inherit;display:flex}
a.metric-card:hover{border-color:#aaa}
a.metric-card.accent:hover{border-color:var(--ink)}

/* ===== Kanban drag state + accessible menu alternative ===== */
.kanban-page-head{align-items:flex-end}.kanban-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.kanban-legend span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:10px;font-weight:800}
.kanban-toolbar{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(280px,1.5fr) auto auto;align-items:end;gap:12px;margin-bottom:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 4px 0 rgba(17,19,15,.025)}.kanban-toolbar .field{gap:7px}.kanban-toolbar .control{min-height:48px}.kanban-toolbar .searchbox{width:100%}.kanban-priority{position:relative}.kanban-priority input{position:absolute;opacity:0}.kanban-priority span{min-height:48px;display:flex;align-items:center;gap:8px;padding:0 15px;border:1px solid #cfd2c6;border-radius:11px;background:#fafaf6;font-size:11px;font-weight:850;white-space:nowrap;cursor:pointer}.kanban-priority input:checked+span{border-color:var(--acid-dark);background:#f5ffd0;box-shadow:0 0 0 3px rgba(215,255,63,.22)}.kanban-priority input:focus-visible+span{outline:3px solid #1882ff;outline-offset:2px}.kanban-apply{min-height:48px}
.kanban-board-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 14px;padding:10px 13px;border:1px solid #d9dbcF;border-radius:11px;background:#f8f9f3;color:#555a50;font-size:10px}.kanban-board-note i{margin-top:2px;color:var(--info)}
.kanban{gap:14px;padding:2px 2px 18px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.kanban-column{width:310px;min-width:310px;overflow:visible;border:1px solid #d8d9cf;border-radius:15px;background:#e9eae2;scroll-snap-align:start;box-shadow:0 3px 0 rgba(17,19,15,.025);transition:outline-color .15s var(--ease),background-color .15s var(--ease),transform .15s var(--ease)}.kanban-head{min-height:58px;padding:14px 15px;border-top:4px solid var(--stage-color);border-radius:15px 15px 0 0}.kanban-head>div{display:flex;align-items:center;gap:8px}.kanban-stage-dot{width:9px;height:9px;border:2px solid color-mix(in srgb,var(--stage-color) 75%,#111);border-radius:50%;background:var(--stage-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color) 16%,transparent)}.kanban-body{min-height:330px;padding:10px;align-content:start}.kanban-empty{min-height:245px;display:grid;place-items:center;align-content:center;gap:8px;color:#8b8f84;font-size:10px}.kanban-empty i{font-size:22px;color:#b8bbb0}
.job-card{position:relative;padding:15px;border:1px solid #d2d4ca;border-radius:12px;box-shadow:0 3px 8px rgba(17,19,15,.045);cursor:pointer;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease),opacity .16s var(--ease)}.job-card:hover{border-color:#aeb1a5;box-shadow:0 10px 24px rgba(17,19,15,.1);transform:translateY(-2px)}.job-card:active{transform:scale(.99)}.job-card[draggable=true]{cursor:grab}.job-card[draggable=true]:active{cursor:grabbing}.job-card.dragging{opacity:.35;transform:rotate(1deg) scale(.98)}.job-card.is-moving{pointer-events:none;opacity:.6}.job-card.is-moving:after{content:"Moving…";position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;background:rgba(255,255,255,.82);font-size:11px;font-weight:900}.job-card.priority{border-left:4px solid var(--acid-dark)}.job-card-top .job-number{display:inline-flex;align-items:center;gap:6px}.job-card-top .job-number i{color:#a2a69a}.method-badge{border-left:3px solid var(--method-color,#64748b)}.job-card h4{margin:11px 0 3px;font-size:16px;letter-spacing:-.02em}.job-card-meta>span:first-child{display:inline-flex;align-items:center;gap:5px}.job-card-open{display:inline-flex;align-items:center;gap:5px;color:#4f5449}.job-card select{min-height:42px;margin-top:12px}.kanban-column.drop-target{outline:3px dashed var(--stage-color);outline-offset:-5px;background:color-mix(in srgb,var(--stage-color) 10%,#e9eae2);transform:translateY(-2px)}.kanban-column.drop-target .kanban-body:before{content:attr(data-drop-label);display:grid;place-items:center;min-height:44px;border:1px dashed var(--stage-color);border-radius:9px;background:rgba(255,255,255,.7);color:#4f5449;font-size:10px;font-weight:850}
.job-card .card-actions{display:flex;gap:6px;margin-top:10px}
.hold-banner{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;margin-top:8px;display:flex;align-items:center;gap:6px}
.dependency-warning{background:#fef3c7;color:#92620a;border:1px solid #fde68a;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;margin-top:8px}
.method-badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;letter-spacing:.05em;padding:2px 7px;border-radius:6px;background:#eef0f3;color:#475467;text-transform:uppercase}
@media(max-width:1000px){.kanban-toolbar{grid-template-columns:1fr 1fr}.kanban-apply{width:100%}.kanban-priority span{justify-content:center}.kanban-legend{justify-content:flex-start}.kanban-page-head{align-items:flex-start}}
@media(max-width:620px){.kanban-toolbar{grid-template-columns:1fr;padding:14px}.kanban-toolbar .control,.kanban-toolbar input,.kanban-priority span,.kanban-apply{font-size:16px}.kanban-legend{display:none}.kanban-column{width:86vw;min-width:86vw}.kanban-body{min-height:280px}.kanban{margin-inline:-2px}.job-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.job-card,.kanban-column{transition:none}.job-card:hover{transform:none}}

/* ===== Permission matrix ===== */
.matrix-wrap{overflow:auto}
.matrix{border-collapse:collapse;min-width:100%}
.matrix th,.matrix td{padding:9px 10px;border-bottom:1px solid #ecece5;font-size:11px;text-align:center;white-space:nowrap}
.matrix th{background:#f7f7f2;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.matrix td:first-child,.matrix th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1;font-weight:800}
.matrix th:first-child{background:#f7f7f2}
.matrix input[type=checkbox]{width:17px;height:17px}

/* ===== Print layouts (job order docs, weekly sheet, batch travelers) ===== */
.print-page{max-width:900px;margin:0 auto;background:#fff}
.print-actions{max-width:900px;margin:20px auto;display:flex;justify-content:flex-end;gap:8px}
@media print{
  body{background:#fff}
  .app-shell .sidebar,.app-shell .topbar,.print-actions,.no-print{display:none!important}
  .app-shell{display:block}
  .content-shell{grid-column:auto}
  .main{padding:0}
  .print-page{width:100%;box-shadow:none}
  @page{size:A4;margin:14mm}
}

/* ===== Misc form/table utility ===== */
.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px}
.checkbox-row input{width:18px;height:18px}
.qr-tile{width:120px;height:120px;background:#f2f2ea repeating-linear-gradient(45deg,#dcdcd1 0 4px,#f2f2ea 4px 8px);border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;font-size:9px;color:var(--muted);text-align:center;padding:6px}
.online-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;display:inline-block}
.online-dot.online{background:#22c55e}
.badge-count{min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:#fff;font-size:9px;font-weight:900;display:inline-grid;place-items:center;padding:0 5px}

/* ===== Realtime notifications ===== */
.notification-bell .badge-count{position:absolute;top:-5px;right:-6px;z-index:2}
.notification-bell .badge-count[hidden],[data-notification-list][hidden],[data-notification-empty][hidden],[data-notification-mark-all][hidden],[data-notifications-page-list][hidden],[data-notifications-page-empty][hidden]{display:none!important}
.notification-live-dot{position:absolute;right:3px;bottom:3px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#22c55e;box-sizing:content-box}
.notification-bell.is-offline .notification-live-dot{background:#94a3b8}
.notification-bell.has-new{animation:notificationBellRing .72s var(--ease)}
@keyframes notificationBellRing{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-5deg)}}
.notification-modal{width:min(94vw,560px)}
.notification-modal .modal-head>div{display:grid;gap:3px}
.notification-live-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.notification-live-label i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.notification-list{display:grid;gap:6px;margin:-4px}
.notification-item{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 8px;gap:11px;align-items:start;padding:11px;border:1px solid transparent;border-radius:12px;text-decoration:none;color:inherit;transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}
.notification-item:hover{background:#f7f8f2;border-color:var(--line);transform:translateY(-1px)}
.notification-item.unread{background:#f8ffe9;border-color:#dce9ae}
.notification-item-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--soft);color:#a4a89a}
.notification-item.unread .notification-item-icon{background:var(--acid);color:var(--ink)}
.notification-item-icon i{font-size:11px;margin:0;color:inherit}
.notification-item-copy{min-width:0}
.notification-item b{display:block;font-size:12px;font-weight:900;line-height:1.3}
.notification-item p{margin:3px 0 0;font-size:10px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.notification-item small{display:block;margin-top:5px;font-size:9px;color:var(--muted)}
.notification-unread-mark{align-self:center;width:7px;height:7px;border-radius:50%;background:var(--acid-dark)}
.notification-modal-foot{align-items:center}
.notification-modal-foot form{margin:0}
.notifications-page{display:grid;gap:14px}
.notifications-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.notifications-head-copy{max-width:680px}
.notifications-head-copy p{margin:6px 0 0;color:var(--muted);line-height:1.5}
.notifications-filter{display:flex;gap:7px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff}
.notifications-filter a{padding:8px 12px;border-radius:8px;color:var(--muted);font-size:10px;font-weight:850;text-decoration:none}
.notifications-filter a.active{background:var(--ink);color:#fff}
.notifications-panel{padding:10px}
.notifications-panel .notification-list{margin:0;gap:8px}
.notifications-panel .notification-item{grid-template-columns:42px minmax(0,1fr) 10px;padding:14px}
.notifications-panel .notification-item-icon{width:42px;height:42px}
.notifications-panel .notification-item b{font-size:13px}
.notifications-panel .notification-item p{font-size:11px}
@media(max-width:560px){.notification-modal{width:100%}.notification-item{grid-template-columns:34px minmax(0,1fr) 7px;padding:9px}.notification-item-icon{width:34px;height:34px}.notification-modal-foot{display:grid;grid-template-columns:1fr}.notification-modal-foot .button{width:100%}.notification-modal-foot form{width:100%}}

/* ===== Themed, slim scrollbars everywhere scrollable ===== */
.sidebar,#nav-tree,.table-wrap,.modal-body,.kanban,.calendar-list{scrollbar-width:thin;scrollbar-color:#4c4f43 transparent}
#nav-tree::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.kanban::-webkit-scrollbar{height:8px;width:8px}
#nav-tree::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.kanban::-webkit-scrollbar-track{background:transparent}
#nav-tree::-webkit-scrollbar-thumb{background:#4c4f43;border:2px solid transparent;background-clip:padding-box;border-radius:20px}
#nav-tree::-webkit-scrollbar-thumb:hover{background:#616455;background-clip:padding-box}
.table-wrap::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.kanban::-webkit-scrollbar-thumb{background:#d5d5cb;border-radius:20px}
.table-wrap::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover,.kanban::-webkit-scrollbar-thumb:hover{background:#b8b8ab}
:root{scrollbar-width:thin;scrollbar-color:#c3c3b8 var(--paper)}

/* ===== Smoother, consistent motion across interactive surfaces ===== */
.button{transition:transform .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease)}
.button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(17,19,15,.08)}
.button:active{transform:translateY(0) scale(.98);box-shadow:none}
.button.primary:hover,.button.acid:hover{box-shadow:0 6px 18px rgba(17,19,15,.16)}
a.metric-card,.panel,.job-card,.calendar-order,.notification-item{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
a.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(17,19,15,.1)}
.job-card{transition:transform .18s var(--ease),box-shadow .18s var(--ease),opacity .18s var(--ease)}
.job-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(17,19,15,.1)}
.data-table tbody tr{transition:background .15s var(--ease)}
.nav a{transition:background .18s var(--ease),color .18s var(--ease),transform .15s var(--ease)}
.nav a:active{transform:scale(.98)}
.kanban-column{transition:outline-color .15s var(--ease),background .15s var(--ease)}

/* Collapsible nav sections: height is animated by app.js (measuring
   scrollHeight and transitioning to/from it — the standard technique for
   animating native <details> content, which has no CSS-only equivalent with
   reliable cross-browser support). This just declares the transition. */
.nav-section .nav{overflow:hidden;transition:height .22s var(--ease)}

.page-transition-loader{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;background:rgba(242,241,233,.92);opacity:0;pointer-events:none;backdrop-filter:blur(10px);transition:opacity .18s var(--ease)}.page-transition-loader[hidden]{display:none}.page-transition-loader.is-visible{opacity:1;pointer-events:auto}.page-transition-card{min-width:210px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:13px;padding:14px;border:1px solid #d4d6cc;border-radius:16px;background:#fff;box-shadow:0 22px 70px rgba(17,19,15,.14);transform:translateY(8px) scale(.98);transition:transform .22s var(--ease)}.page-transition-loader.is-visible .page-transition-card{transform:none}.page-transition-mark{position:relative;width:54px;height:54px;display:grid;place-items:center;overflow:hidden;background:var(--acid);color:var(--ink);clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%)}.page-transition-mark:after{content:"";position:absolute;inset:-55%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.72) 50%,transparent 65%);animation:logoSweep 1.15s var(--ease) infinite}.page-transition-mark svg{width:27px;height:27px;animation:logoBreathe 1.15s var(--ease) infinite}.page-transition-copy strong,.page-transition-copy small{display:block}.page-transition-copy strong{font-size:14px;letter-spacing:.06em}.page-transition-copy small{margin-top:2px;color:var(--muted);font-size:9px}.page-transition-progress{grid-column:1/-1;height:3px;overflow:hidden;border-radius:99px;background:#eceee5}.page-transition-progress i{width:42%;height:100%;display:block;border-radius:inherit;background:var(--ink);animation:loaderProgress 1.05s var(--ease) infinite}@keyframes logoSweep{to{transform:translateX(115%)}}@keyframes logoBreathe{50%{transform:scale(.9) rotate(-3deg)}}@keyframes loaderProgress{0%{transform:translateX(-115%)}100%{transform:translateX(340%)}}
.main.is-page-loading>:not(#page-skeleton){display:none!important}
.page-skeleton[hidden]{display:none}
.page-skeleton{display:grid;gap:12px}
.page-skeleton .metric-grid{margin-top:16px}
.skeleton-title{width:min(360px,72%);height:48px;border-radius:10px}
.skeleton-subtitle{width:min(520px,90%);height:14px;border-radius:7px}

/* Toast/modal exit animation, driven by a .closing class toggled in app.js
   just before removal so it plays instead of an abrupt disappearance. */
.toast.closing{animation:toastOut .18s var(--ease) forwards}
.modal-backdrop.closing{animation:fadeOut .16s var(--ease) forwards}
.modal-backdrop.closing .modal{animation:modalOut .16s var(--ease) forwards}

/* App-wide artwork lightbox: direct design-image links stay inside the app. */
a[href*="/job-orders/artwork/"] img,
img[src*="/job-orders/artwork/"]:not([data-no-image-preview]),
.design-preview-card img,[data-drawer-artwork],[data-sew-artwork]{cursor:zoom-in}
.image-preview-backdrop{z-index:1400;padding:18px}
.image-preview-modal{position:relative;width:min(1180px,96vw);height:min(90dvh,900px);display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:#11130f;border-color:#373a31}
.image-preview-modal>img{width:100%;height:100%;min-height:0;display:block;object-fit:contain;background:#11130f}
.image-preview-close{position:absolute;z-index:2;top:14px;right:14px;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(17,19,15,.82);color:#fff;font-size:18px;cursor:pointer;backdrop-filter:blur(8px)}
.image-preview-close:hover{background:#fff;color:var(--ink)}
.image-preview-caption{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 17px;background:#1a1d17;color:#fff}
.image-preview-caption strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.image-preview-caption span{flex-shrink:0;color:#aeb4a4;font-size:9px}
@media(max-width:560px){.image-preview-backdrop{padding:0;align-items:stretch}.image-preview-modal{width:100%;height:100dvh;max-height:none;border-radius:0}.image-preview-caption{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes fadeOut{to{opacity:0}}
@keyframes modalOut{to{opacity:0;transform:translateY(10px) scale(.98)}}

@media(prefers-reduced-motion:reduce){
  a.metric-card:hover,.job-card:hover,.button:hover{transform:none}
}

/* ===== Consistent dropdown (select) styling everywhere: same custom chevron,
   radius, and hover/focus motion as every other input in the design system.
   Native <select> option popups are OS-rendered and can't be animated —
   this is the part actually under our control, made uniform instead of each
   context inventing its own. ===== */
select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  color-scheme:light;background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23696c63' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:13px;
  padding-right:34px!important;cursor:pointer;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease);
}
select:hover{border-color:#aaa}
select::-ms-expand{display:none}
.searchbox{position:relative;isolation:isolate;display:block;min-width:220px}.searchbox>i{position:absolute;z-index:2;left:15px;top:50%;width:18px;display:grid;place-items:center;color:#73786c;font-size:14px;line-height:1;pointer-events:none;transform:translateY(-50%)}.searchbox>input.control,.searchbox>input{width:100%;padding-left:44px}.searchbox>input::placeholder{color:#777c71;opacity:1}.searchbox>input:focus+*{pointer-events:none}.searchbox:focus-within>i{color:var(--ink)}
.job-card select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23696c63' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:11px;padding-right:26px!important}
.pagination .per-page select{background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23696c63' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:11px!important;padding-right:34px!important}

/* ===== Unified card spacing ===== */
.metric-card{padding:var(--card-padding)}
.panel-head{padding:18px var(--card-padding)}
.panel-body{padding:var(--card-padding)}
.job-card{padding:16px}
.calendar-day{padding:var(--card-padding)}
.order-summary,.detail-hero{padding:var(--card-padding)}
.kanban-head{padding:16px}
.kanban-body{padding:10px}
.toolbar{padding:16px}

/* ===== Premium, consistent form modals ===== */
.modal-backdrop{padding:clamp(16px,3vw,32px);background:rgba(10,12,8,.7);backdrop-filter:blur(8px)}
.modal{display:flex;flex-direction:column;overflow:hidden;max-height:min(90dvh,920px);border:1px solid rgba(255,255,255,.42);border-radius:20px;background:var(--paper);box-shadow:0 32px 100px rgba(0,0,0,.38)}
.modal>form{display:flex;flex:1;min-height:0;flex-direction:column}
.modal-head{flex-shrink:0;padding:21px 26px;background:rgba(242,241,233,.96);backdrop-filter:blur(12px)}
.modal-head h2{font-size:21px;line-height:1.2}
.modal-close{flex-shrink:0;border-color:#d2d4c9;border-radius:12px;transition:background-color .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}
.modal-close:hover{background:#e8e9df;border-color:#b9bcae;transform:rotate(3deg)}
.modal-body{min-height:0;overflow-y:auto;padding:26px;scrollbar-gutter:stable;overscroll-behavior:contain}
.modal-body>.form-grid+.form-grid,.modal-body>.field+.field,.modal-body>.form-grid+.field,.modal-body>.field+.form-grid{margin-top:17px}
.modal .form-grid{gap:16px}
.modal .field{gap:8px;color:#454a40;font-size:10px;letter-spacing:.055em}
.modal .field input,.modal .field select,.modal .field textarea{min-height:48px;border-color:#cfd2c6;border-radius:11px;background:#fff;padding:11px 13px}
.modal .field textarea{min-height:104px}
.modal .field input:hover,.modal .field select:hover,.modal .field textarea:hover{border-color:#aeb2a5}
.modal .form-divider{margin:27px 0}
.modal-foot{flex-shrink:0;padding:16px 26px;background:rgba(248,247,241,.97);box-shadow:0 -8px 22px rgba(17,19,15,.035)}

/* ===== FullCalendar surface ===== */
.fullcalendar-shell{overflow:hidden;padding:var(--card-padding);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 0 rgba(17,19,15,.02)}
.fullcalendar-host{min-height:680px;font-family:inherit}
.calendar-load-error{padding:48px 20px;text-align:center;color:var(--muted)}
.calendar-load-error i{display:block;margin-bottom:12px;color:#c2c5b9;font-size:32px}
.fullcalendar-host .fc-event{cursor:pointer}
.fullcalendar-host .fc-event-main{color:inherit}
.calendar-event-content{min-width:0;display:grid;gap:3px;padding:2px 3px;line-height:1.2}
.calendar-event-title{overflow:hidden;font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.calendar-event-stage{width:max-content;max-width:100%;overflow:hidden;padding:2px 5px;border:1px solid currentColor;border-radius:99px;background:rgba(255,255,255,.2);font-size:7px;font-weight:900;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.fullcalendar-host .calendar-event-overdue{box-shadow:inset 4px 0 0 var(--danger),0 0 0 1px rgba(216,58,48,.25)}
.fullcalendar-host .fc-list-event .calendar-event-content{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:4px}

/* ===== Calendar Job Order drawer ===== */
.calendar-drawer-open{overflow:hidden}
.calendar-drawer-layer{position:fixed;inset:0;z-index:900;display:grid;grid-template-columns:1fr minmax(560px,760px)}
.calendar-drawer-layer[hidden]{display:none}
.calendar-drawer-scrim{grid-column:1/-1;grid-row:1;min-width:0;border:0;border-radius:0;background:rgba(10,12,8,.56);opacity:0;cursor:default;transition:opacity .2s var(--ease);backdrop-filter:blur(2px)}
.calendar-jo-drawer{grid-column:2;grid-row:1;z-index:1;min-width:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--paper);box-shadow:-24px 0 70px rgba(10,12,8,.24);outline:0;transform:translate3d(100%,0,0);transition:transform .24s var(--ease)}
.calendar-drawer-layer.is-open .calendar-drawer-scrim{opacity:1}
.calendar-drawer-layer.is-open .calendar-jo-drawer{transform:none}
.calendar-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 20px;border-bottom:1px solid var(--line);background:#fff}
.calendar-drawer-head .eyebrow{color:var(--acid-dark)}
.calendar-drawer-head h2{margin:4px 0 2px;font-size:27px;line-height:1.05;letter-spacing:-.04em}
.calendar-drawer-head p{margin:0;color:var(--muted);font-size:11px}
.calendar-drawer-tabs{display:flex;gap:3px;padding:8px 20px 0;border-bottom:1px solid var(--line);background:#fff;overflow-x:auto}
.calendar-drawer-tabs button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:850;white-space:nowrap}
.calendar-drawer-tabs button[aria-selected=true]{border-bottom-color:var(--acid-dark);color:var(--ink)}
.calendar-drawer-tabs button:hover{color:var(--ink)}
.calendar-drawer-body{min-height:0;overflow:auto;padding:22px 24px 36px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c3c3b8 transparent}
.calendar-drawer-foot{min-height:75px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 24px;border-top:1px solid var(--line);background:rgba(255,255,255,.96)}
.drawer-loading{display:grid;gap:14px}.drawer-loading .skeleton-card{height:180px}
.drawer-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}
.drawer-summary-grid>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.drawer-summary-grid span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.drawer-summary-grid strong{display:block;margin-top:5px;font-size:14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.drawer-section-title{display:flex;align-items:center;gap:10px;margin:24px 0 10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.drawer-section-title:after{content:"";height:1px;flex:1;background:var(--line)}
.drawer-items,.drawer-projects{display:grid;gap:10px}
.drawer-item-card,.drawer-project,.drawer-lineup{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}
.drawer-item-card>header,.drawer-lineup>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e9eae3}
.drawer-item-card header strong,.drawer-lineup header strong{display:block;font-size:13px}.drawer-item-card header span,.drawer-lineup header span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.drawer-item-card header b,.drawer-lineup header b{font-size:11px;white-space:nowrap}
.drawer-item-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0;padding:14px 16px}.drawer-item-card dt{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.drawer-item-card dd{margin:2px 0 0;font-size:11px;font-weight:700;overflow-wrap:anywhere}.drawer-item-card>p,.drawer-notes{margin:0;padding:11px 16px;border-top:1px solid #e9eae3;background:#fafaf6;color:#555a50;font-size:10px;white-space:pre-wrap}
.drawer-design-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 14px;border-bottom:1px solid #e9eae3;background:#f7f8f2}.drawer-design-images a{overflow:hidden;border-radius:8px;background:#eceee5;aspect-ratio:4/3}.drawer-design-images img{width:100%;height:100%;display:block;object-fit:cover}
.drawer-project{border-top:4px solid var(--project-color,var(--acid-dark))}.drawer-project>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#fafaf6}.drawer-project>header span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em}.drawer-project>header strong{display:block;margin-top:2px;font-size:12px}.drawer-project>header>b{font-size:11px}
.drawer-project .hold-banner{margin:10px 12px 0}
.drawer-batch{padding:14px 15px;border-top:1px solid #e9eae3}.drawer-batch-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-batch-status>div>span{display:block;color:var(--muted);font-size:8px;font-weight:850}.drawer-batch-status>div>strong{display:block;margin-top:2px;font-size:12px}
.drawer-stage-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.drawer-stage-button{min-height:46px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 8px;padding:7px 10px;border:1px solid #cfd2c6;border-radius:9px;background:#fff;color:var(--ink);font-size:10px;font-weight:850;text-align:left;transition:border-color .16s var(--ease),background-color .16s var(--ease),transform .16s var(--ease)}.drawer-stage-button span{grid-column:1;color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase}.drawer-stage-button i{grid-column:2;grid-row:1/3;color:var(--acid-dark)}.drawer-stage-button:hover{border-color:var(--acid-dark);background:#f7ffd9}.drawer-stage-button.is-override{border-style:dashed;border-color:#d7a347;background:#fffaf0}.drawer-stage-button.is-override span,.drawer-stage-button.is-override i{color:#92620a}.drawer-stage-button:active{transform:scale(.98)}.drawer-stage-button:disabled{opacity:.5;cursor:wait}
.drawer-no-actions,.drawer-empty{margin:10px 0 0;color:var(--muted);font-size:9px}
.drawer-lineup{margin-bottom:12px}.drawer-lineup table{width:100%;border-collapse:collapse;min-width:480px}.drawer-lineup th{padding:9px 12px;background:#f7f7f2;color:var(--muted);font-size:8px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.drawer-lineup td{padding:10px 12px;border-top:1px solid #ecece5;font-size:11px}.drawer-lineup th:first-child,.drawer-lineup td:first-child{width:44px;color:var(--muted)}.drawer-size-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:8px;padding:14px}.drawer-size-list>div{padding:10px;border:1px solid var(--line);border-radius:9px;text-align:center}.drawer-size-list strong,.drawer-size-list span{display:block}.drawer-size-list strong{font-size:12px}.drawer-size-list span{color:var(--muted);font-size:9px}
.drawer-pdf{height:480px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#dfe0d9;box-shadow:0 3px 0 rgba(17,19,15,.04)}.drawer-pdf iframe{width:100%;height:100%;border:0;background:#fff}
.drawer-empty-state{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;color:var(--muted);text-align:center}.drawer-empty-state>i{font-size:32px;color:#b8bcaf}.drawer-empty-state strong{color:var(--ink);font-size:14px}.drawer-empty-state span{max-width:360px;font-size:11px}.drawer-empty-state .button{margin-top:8px}
@media(max-width:760px){.calendar-drawer-layer{grid-template-columns:1fr}.calendar-jo-drawer{grid-column:1;width:100%}.calendar-drawer-head{padding:19px 16px 16px}.calendar-drawer-head h2{font-size:23px}.calendar-drawer-body{padding:17px 14px 28px}.calendar-drawer-foot{padding:12px 14px}.calendar-drawer-foot .button{flex:1}.drawer-summary-grid{grid-template-columns:1fr 1fr}.drawer-summary-grid>div:first-child{grid-column:1/-1}.drawer-stage-actions{grid-template-columns:1fr}.drawer-pdf{height:420px}}
@media(prefers-reduced-motion:reduce){.calendar-drawer-scrim,.calendar-jo-drawer{transition:none}}
.fc{font-family:inherit}

@media(max-width:700px){
  :root{--card-padding:17px}
  .modal-backdrop{padding:0;align-items:end}
  .modal,.modal.wide{width:100%;max-height:94dvh;border-radius:20px 20px 0 0}
  .modal-head{padding:17px 18px}
  .modal-body{padding:20px 18px}
  .modal-foot{padding:14px 18px}
  .modal-foot .button{flex:1}
  .fullcalendar-shell{padding:14px}
  .fullcalendar-host{min-height:620px}
  .toolbar .searchbox{width:100%;min-width:0;flex-basis:100%}.toolbar .searchbox>input{min-height:48px;font-size:16px}
}

/* ===== Guided Job Order form ===== */
.jo-page-head,#jo-form{width:100%;max-width:1320px;margin-inline:auto}
.jo-section{margin:0 0 22px;padding:28px 30px}
.jo-section>legend{float:left;width:100%;margin:0 0 22px;padding:0 0 14px;border-bottom:1px solid var(--line);font-size:14px;font-weight:850;letter-spacing:.01em}
.jo-section>legend+*{clear:both}
.jo-section>.form-grid+.form-grid{margin-top:16px}
.section-help{margin:0 0 20px;color:var(--muted);font-size:12px}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-heading-row .section-help{margin:0}
.process-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.process-choice{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) 22px;align-items:center;gap:14px;min-height:112px;padding:18px;border:1px solid #d1d3c8;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease)}
.process-choice:hover{border-color:#aeb2a4;box-shadow:0 8px 24px rgba(17,19,15,.06)}
.process-choice:has(input:focus-visible){outline:3px solid #1882ff;outline-offset:2px}
.process-choice:has(input:checked){border-color:var(--method-color,var(--acid-dark));background:#f7ffd9;background:color-mix(in srgb,var(--method-color,var(--acid)) 12%,#fff);box-shadow:0 0 0 3px rgba(215,255,63,.28);box-shadow:0 0 0 3px color-mix(in srgb,var(--method-color,var(--acid)) 24%,transparent)}
.process-choice input{position:absolute;opacity:0;pointer-events:none}
.process-choice-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:#eff0e8;color:#555b4d;font-size:19px}
.process-choice:has(input:checked) .process-choice-icon{background:var(--method-color,var(--acid));color:var(--ink)}
.process-choice strong{display:block;margin-bottom:4px;font-size:15px}
.process-choice small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.process-choice-check{color:var(--method-color,var(--acid-dark));opacity:0;transform:scale(.7);transition:opacity .16s var(--ease),transform .16s var(--ease)}
.process-choice:has(input:checked) .process-choice-check{opacity:1;transform:none}
.jo-items{display:grid;gap:14px}
.jo-team-primary{margin:0 0 18px;padding:17px 18px;border:1px solid #cad0b7;border-radius:13px;background:linear-gradient(135deg,#f8ffdE,#fff)}.jo-team-primary>span:not(.field-error){color:var(--muted);font-size:10px;font-weight:600;letter-spacing:0;text-transform:none}.jo-team-primary input{min-height:58px!important;border-width:2px!important;border-color:#aebd72!important;font-size:20px!important;font-weight:800!important;letter-spacing:-.02em!important}
.jo-item-card{overflow:hidden;border:1px solid #d4d6cb;border-radius:14px;background:#fbfbf7}
.jo-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #dfe0d6;background:#f0f1e9}
.jo-item-head>div{display:flex;align-items:center;gap:10px}
.item-number{display:inline-flex;padding:4px 7px;border-radius:6px;background:var(--ink);color:var(--acid);font-size:9px;font-weight:900;letter-spacing:.08em}
.item-process-label{font-size:13px}
.jo-item-body{display:grid;gap:17px;padding:18px}
.process-specific-fields{padding:15px;border:1px solid #dfe1d5;border-radius:12px;background:#fff}
.lineup-block{padding:16px;border:1px solid #d8dacd;border-radius:13px;background:#fff}
.lineup-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.lineup-heading strong{display:block;font-size:13px}
.lineup-heading span{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.segmented-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:5px;border-radius:11px;background:#eff0e8}
.segmented-options label{position:relative;cursor:pointer}
.segmented-options input{position:absolute;opacity:0}
.segmented-options span{min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:#656a5e;font-size:11px;font-weight:800;transition:background-color .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)}
.segmented-options input:checked+span{background:#fff;color:var(--ink);box-shadow:0 2px 7px rgba(17,19,15,.08)}
.segmented-options input:focus-visible+span{outline:3px solid #1882ff;outline-offset:1px}
.size-quantity-panel,.named-roster-panel{margin-top:14px}
.size-input-grid{display:grid;grid-template-columns:repeat(8,minmax(58px,1fr));gap:8px}
.size-input-grid .field{gap:5px;text-align:center}
.size-input-grid .field span{font-size:10px;font-weight:850}
.size-input-grid input{text-align:center;padding-inline:6px}
.lineup-table-head,.lineup-entry{display:grid;grid-template-columns:minmax(150px,1.1fr) 92px 90px minmax(160px,1fr) 42px;gap:8px;align-items:center}
.lineup-table-head{padding:0 2px 6px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.lineup-table-scroll{max-width:100%;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.lineup-table-head,.lineup-entry{min-width:680px}.lineup-column-builder{display:flex;align-items:end;gap:8px;margin:0 0 12px}.lineup-column-builder .field{width:min(360px,100%)}.lineup-custom-head{min-width:0;display:flex;align-items:center;gap:3px}.lineup-custom-head input{width:100%;min-width:0;border:0;border-bottom:1px solid #cfd2c6;background:transparent;padding:3px;color:var(--muted);font:inherit;font-weight:850;text-transform:uppercase}.lineup-custom-head button{width:20px;height:20px;display:grid;place-items:center;border:0;border-radius:5px;background:#eceee5;color:#777c70;cursor:pointer}
.lineup-entry{margin-bottom:8px}
.lineup-entry input,.lineup-entry select{width:100%;min-height:42px;border:1px solid #cfd2c6;border-radius:9px;background-color:#fff;padding:8px 10px;font-size:12px}
.lineup-add{margin-top:4px}
.quantity-summary{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 15px;border-radius:11px;background:var(--ink);color:#fff;font-size:11px;font-weight:800}
.quantity-summary input{width:90px;border:0;background:transparent;color:var(--acid);font-size:22px;font-weight:900;text-align:right}
.pricing-block{padding-top:3px}
.item-design-block{padding:16px;border:1px solid #d8dacd;border-radius:13px;background:linear-gradient(135deg,#fff 0%,#f8f9f2 100%)}
.item-design-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px}
.item-design-block .design-dropzone,.item-design-block .design-paste-zone{min-height:112px}
.item-design-block .design-previews{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.item-line-total{display:block;padding-top:9px;color:var(--ink);font-size:22px;font-weight:900}
.artwork-input-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}
.design-dropzone,.design-paste-zone{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed #bfc3b5;border-radius:14px;background:#fafaf6;color:var(--muted);text-align:center;cursor:pointer;transition:border-color .17s var(--ease),background-color .17s var(--ease),box-shadow .17s var(--ease)}
.design-dropzone:hover,.design-paste-zone:hover,.design-paste-zone:focus,.design-dropzone.is-dragging{border-color:var(--acid-dark);background:#f7ffd9;box-shadow:0 0 0 3px rgba(215,255,63,.22);outline:0}
.design-dropzone.is-optimizing{pointer-events:none;border-color:var(--info);background:#eefaff}.design-dropzone.is-optimizing i{animation:spin .7s linear infinite}.design-dropzone.is-optimizing strong:after{content:" · Resizing image…";color:var(--info)}
.design-dropzone>i,.design-paste-zone>i{margin-bottom:4px;color:#84897b;font-size:25px}
.design-dropzone strong,.design-paste-zone strong{color:var(--ink);font-size:13px}
.design-dropzone span,.design-paste-zone span{font-size:10px}
.design-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px;margin-top:12px}
.design-preview-card{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) 38px;align-items:center;gap:10px;padding:8px;border:1px solid #d8dacd;border-radius:11px;background:#fff}
.design-preview-card img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:#eee}
.design-preview-card span{min-width:0}
.design-preview-card strong,.design-preview-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.design-preview-card strong{font-size:11px}.design-preview-card small{color:var(--muted);font-size:9px}
.jo-submit-bar{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding:18px 20px;background:#fff;box-shadow:0 3px 0 rgba(17,19,15,.02)}

@media(max-width:1100px){.process-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.size-input-grid{grid-template-columns:repeat(4,1fr)}.artwork-input-grid{grid-template-columns:1fr}.jo-section{padding:24px}.jo-section .form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.jo-page-head{align-items:flex-start}}
@media(max-width:620px){
  .process-choice-grid{grid-template-columns:1fr}
  .process-choice{min-height:98px;padding:14px}
  .section-heading-row{align-items:stretch;flex-direction:column}
  .lineup-table-head{display:none}
  .lineup-column-builder{align-items:stretch;flex-direction:column}.lineup-column-builder .field{width:100%}.lineup-column-builder .button{width:100%}
  .item-design-grid{grid-template-columns:1fr}
  .segmented-options{grid-template-columns:1fr}
  .jo-item-body{padding:14px}
  .jo-section{padding:19px 16px}
  .jo-section .form-grid,.jo-section .form-grid.three{grid-template-columns:1fr}.jo-section [style*="grid-column"]{grid-column:auto!important}
  .size-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jo-section>legend{margin-bottom:18px}
  .jo-submit-bar .button{flex:1}
}

/* ===== Job Order lineup and artwork details ===== */
.lineup-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line)}
.lineup-summary-row{display:grid;grid-template-columns:minmax(90px,1fr) 48px 48px minmax(110px,1fr);align-items:center;gap:10px;padding:11px 14px;background:#fff;font-size:12px}
.lineup-summary-row>strong{display:grid;place-items:center;min-height:30px;border-radius:7px;background:#eff0e8;font-size:10px}
.lineup-summary-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lineup-summary-row>b{text-align:right;color:var(--muted)}
.artwork-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;padding:var(--card-padding)}
.artwork-gallery-item{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fafaf6;color:inherit;text-decoration:none;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}
.artwork-gallery-item:hover{border-color:#aeb2a4;box-shadow:0 8px 22px rgba(17,19,15,.08)}
.artwork-gallery-item img{width:100%;height:150px;display:block;object-fit:cover;background:#ecece5}
.artwork-gallery-item span{display:block;min-width:0;padding:10px 11px}
.artwork-gallery-item strong,.artwork-gallery-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.artwork-gallery-item strong{font-size:11px}.artwork-gallery-item small{margin-top:2px;color:var(--muted);font-size:9px}

/* ===== Production project workspace ===== */
.jo-team-title,.project-team-title{max-width:100%;margin:0;font-size:clamp(42px,5vw,76px);line-height:.92;letter-spacing:-.065em;overflow-wrap:anywhere}.project-identity-head{align-items:flex-end}.project-identity-copy{min-width:0;max-width:900px}.project-stage-hero{position:relative;overflow:hidden;border-top:5px solid var(--stage-color)}.project-hold{margin-bottom:14px;font-size:13px;padding:14px}.project-preview-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);gap:14px;margin-top:14px;align-items:start}.project-production-details{min-width:0;display:grid;gap:14px}.project-design-panel .panel-head p,.project-lineup-panel .panel-head p,.project-pdf-panel .panel-head p{margin:2px 0 0;color:var(--muted);font-size:9px}.project-artwork-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:18px}.project-artwork{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#f7f7f2;color:inherit;text-decoration:none}.project-artwork.is-primary{grid-column:1/-1}.project-artwork img{width:100%;height:150px;display:block;object-fit:contain;background:#eceee7}.project-artwork.is-primary img{height:min(440px,42vw)}.project-artwork span{display:block;overflow:hidden;padding:9px 11px;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.project-no-artwork{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;margin:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:11px}.project-no-artwork i{font-size:30px;color:#b5b9ad}.project-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;border-top:1px solid var(--line);background:var(--line)}.project-spec-grid>div{min-width:0;padding:14px;background:#fff}.project-spec-grid dt{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.project-spec-grid dd{margin:4px 0 0;font-size:11px;font-weight:750;overflow-wrap:anywhere}.project-item-notes{padding:14px 18px;border-top:1px solid var(--line);background:#fafaf6}.project-item-notes strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.project-item-notes p{margin:4px 0 0;color:#555a50;font-size:11px}.project-lineup-table{min-width:720px}.project-size-lineup{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;padding:18px}.project-size-lineup div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafaf6;text-align:center}.project-size-lineup strong,.project-size-lineup span{display:block}.project-size-lineup strong{font-size:14px}.project-size-lineup span{color:var(--muted);font-size:9px}.project-pdf-panel{position:sticky;top:82px;min-width:0;overflow:hidden}.project-pdf-frame{height:min(76dvh,820px);background:#dfe1da}.project-pdf-frame iframe{width:100%;height:100%;display:block;border:0;background:#fff}.project-batches-panel{margin-top:14px}.project-activity-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:14px;margin-top:14px;align-items:start}.project-comment-form{margin-bottom:18px}.project-comment-form textarea{min-height:110px}
@media(max-width:1180px){.project-preview-grid{grid-template-columns:1fr}.project-pdf-panel{position:static}.project-pdf-frame{height:680px}.project-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.project-identity-head{align-items:flex-start}.project-identity-head .head-actions{width:100%}.project-identity-head .head-actions .button{flex:1}.project-team-title,.jo-team-title{font-size:clamp(38px,12vw,58px)}.project-artwork-gallery{grid-template-columns:1fr 1fr;padding:14px}.project-artwork.is-primary{grid-column:1/-1}.project-artwork.is-primary img{height:320px}.project-spec-grid{grid-template-columns:1fr 1fr}.project-pdf-frame{height:520px}.project-activity-grid{grid-template-columns:1fr}}
@media(max-width:480px){.project-spec-grid{grid-template-columns:1fr}.project-artwork-gallery{grid-template-columns:1fr}.project-artwork.is-primary{grid-column:auto}.project-pdf-frame{height:430px}}

/* Project batch actions and stage chooser */
.project-batches-table th:last-child{min-width:240px}.project-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.project-row-actions .button{min-height:42px;padding-inline:12px;white-space:nowrap}.button.acid-soft{border-color:#b8cf61;background:#f5ffd5;color:#29310d}.button.acid-soft:hover{border-color:var(--acid-dark);background:var(--acid)}.project-stage-modal{width:min(580px,100%)}.stage-current-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #d9dbd0;border-left:4px solid var(--acid-dark);border-radius:11px;background:#fafbf5}.stage-current-card span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.stage-current-card strong{font-size:15px}.stage-choice-help{margin:18px 0 9px;color:var(--muted);font-size:11px}.project-stage-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-stage-option{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #d4d6cc;border-radius:11px;background:#fff;font-size:11px;font-weight:850;text-align:left;transition:border-color .16s var(--ease),background-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease)}.project-stage-option>span{display:flex;align-items:center;gap:8px}.project-stage-option>span i{color:#aeb2a5;font-size:7px}.project-stage-option>i{color:#8b9084}.project-stage-option:hover{border-color:#adb2a2;background:#fafbf5}.project-stage-option:active{transform:scale(.99)}.project-stage-option.is-selected{border-color:var(--acid-dark);background:#f4ffd0;box-shadow:0 0 0 3px rgba(215,255,63,.22)}.project-stage-option.is-selected>span i,.project-stage-option.is-selected>i{color:var(--acid-dark)}.stage-reason-field{margin-top:18px}.stage-reason-field>span{color:var(--muted);font-size:9px;font-weight:600;letter-spacing:0;text-transform:none}.stage-reason-field textarea{min-height:88px}
@media(max-width:620px){.project-row-actions{align-items:stretch;flex-direction:column}.project-row-actions .button{width:100%;justify-content:center}.project-stage-options{grid-template-columns:1fr}}

/* Drawer status audit metadata */
.drawer-status-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:8px 0 0;padding:8px 10px;border:1px solid #e2e4da;border-radius:8px;background:#fafbf6;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.drawer-status-meta>i{color:var(--project-color,var(--acid-dark))}.drawer-status-meta strong{color:var(--ink)}.drawer-status-meta span+span:before{content:"·";margin-right:8px;color:#a8aca0}.drawer-status-history{padding:13px 15px 15px;border-top:1px solid #e9eae3;background:#fafbf6}.drawer-status-history h4{margin:0 0 10px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.drawer-history-item{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;padding:0 0 12px}.drawer-history-item:last-child{padding-bottom:0}.drawer-history-item:before{content:"";position:absolute;left:4px;top:10px;bottom:0;width:1px;background:#dfe1d7}.drawer-history-item:last-child:before{display:none}.drawer-history-item>i{z-index:1;width:9px;height:9px;margin-top:2px;border:2px solid color-mix(in srgb,var(--history-color) 72%,#111);border-radius:50%;background:var(--history-color)}.drawer-history-item strong,.drawer-history-item span,.drawer-history-item small{display:block}.drawer-history-item strong{font-size:9px}.drawer-history-item span{margin-top:2px;color:var(--muted);font-size:8px;font-variant-numeric:tabular-nums}.drawer-history-item small{margin-top:3px;padding:5px 7px;border-radius:6px;background:#fff;color:#555a50;font-size:8px}
@media(max-width:480px){.drawer-status-meta{align-items:flex-start;flex-direction:column}.drawer-status-meta span+span:before{display:none}}

/* Calendar and Kanban status legends */
.calendar-status-legend,.kanban-status-legend{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin-bottom:12px;padding:13px 16px;border:1px solid var(--line);border-radius:13px;background:#fff}
.calendar-status-legend>div:first-child,.kanban-status-legend>div:first-child{min-width:130px}
.calendar-status-legend strong,.kanban-status-legend strong{display:block;font-size:11px}
.calendar-status-legend>div:first-child span,.kanban-status-legend>div:first-child span{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.calendar-status-legend-items,.kanban-status-legend-items{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.calendar-status-legend-items>span,.kanban-status-legend-items>span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--status-color) 42%,#d8dad0);border-radius:99px;background:color-mix(in srgb,var(--status-color) 10%,#fff);font-size:8px;font-weight:850;white-space:nowrap}
.calendar-status-legend-items i,.kanban-status-legend-items i,.status-color-button b>i{width:8px;height:8px;flex:0 0 8px;border:2px solid color-mix(in srgb,var(--status-color) 72%,#111);border-radius:50%;background:var(--status-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--status-color) 14%,transparent)}
.kanban-status-legend{margin-top:0}
.status-color-button{border-left:4px solid var(--status-color)!important;background:color-mix(in srgb,var(--status-color) 7%,#fff)}
.status-color-button>b{grid-column:1;display:flex;align-items:center;gap:7px;font-size:10px}
.status-color-button>b>i{position:static;grid-column:auto;grid-row:auto;color:inherit}
.status-color-button.is-current{border-color:var(--status-color);background:color-mix(in srgb,var(--status-color) 13%,#fff)}
.status-color-button:disabled{cursor:not-allowed;opacity:.62}
.status-color-button:disabled:hover{border-color:#cfd2c6;background:color-mix(in srgb,var(--status-color) 7%,#fff)}
@media(max-width:760px){.calendar-status-legend,.kanban-status-legend{grid-template-columns:1fr;gap:10px}.calendar-status-legend-items,.kanban-status-legend-items{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}}

/* Workflow status colors and legend */
.project-batches-panel .panel-head p{margin:2px 0 0;color:var(--muted);font-size:9px}.project-status-legend{display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fafbf6}.project-status-legend>span{min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--status-color) 45%,#d5d7cd);border-radius:99px;background:color-mix(in srgb,var(--status-color) 11%,#fff);font-size:9px;font-weight:850;white-space:nowrap}.project-status-legend>span>i,.production-status-chip>i,.stage-current-card strong>i,.project-stage-option>span>i{width:9px;height:9px;flex:0 0 9px;border:2px solid color-mix(in srgb,var(--status-color) 72%,#111);border-radius:50%;background:var(--status-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color) 14%,transparent)}.project-status-legend small{padding-left:2px;color:var(--muted);font-size:7px;text-transform:uppercase}.production-status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--status-color) 46%,#d7d9cf);border-radius:99px;background:color-mix(in srgb,var(--status-color) 12%,#fff);font-size:9px;font-weight:900;white-space:nowrap}.stage-current-card{border-left-color:var(--status-color,var(--acid-dark));background:color-mix(in srgb,var(--status-color,var(--acid-dark)) 8%,#fff)}.stage-current-card strong{display:flex;align-items:center;gap:9px}.project-stage-option{border-left:4px solid var(--status-color,#aeb2a5)}.project-stage-option>span{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px}.project-stage-option>span>i{grid-row:1/3}.project-stage-option>span>b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.project-stage-option>span>small{grid-column:2;color:var(--muted);font-size:8px;font-weight:650}.project-stage-option.is-selected{border-color:var(--status-color);background:color-mix(in srgb,var(--status-color) 13%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color) 20%,transparent)}.project-stage-option.is-current{border-color:var(--status-color);background:color-mix(in srgb,var(--status-color) 10%,#f7f8f3)}.project-stage-option.is-override{border-style:dashed}.project-stage-option:disabled{cursor:not-allowed;opacity:.62}.project-stage-option:disabled:hover{background:#fff}

/* Job Order production state: distinct from the payment badge. */
.job-order-table{min-width:1260px}.production-status-stack{min-width:0;display:flex;flex-wrap:wrap;gap:5px}.production-list-status{width:max-content;max-width:190px;min-height:25px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--status-color) 48%,#d7d9cf);border-radius:99px;background:color-mix(in srgb,var(--status-color) 11%,#fff);color:color-mix(in srgb,var(--status-color) 72%,#111);font-size:8px;font-weight:900;line-height:1.15;white-space:nowrap}.production-list-status>i{width:8px;height:8px;flex:0 0 8px;border:2px solid color-mix(in srgb,var(--status-color) 70%,#111);border-radius:50%;background:var(--status-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--status-color) 14%,transparent)}.production-list-status>span{overflow:hidden;text-overflow:ellipsis}.production-list-status>small{padding-left:1px;color:inherit;font-size:7px}.production-list-status.is-empty{opacity:.78}.job-order-card-production{grid-column:1/-1}.job-order-card-production dd{margin-top:6px!important}

/* Gentle entrance for card surfaces. A small starting opacity prevents the
   text flash/blink seen with fully transparent page transitions. */
@keyframes cardEaseIn{from{opacity:.72;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.metric-card,.directory-summary>div,.order-summary-grid>div,.simple-flow-card,.customer-directory-card,.job-order-list-card,.job-card,.kanban-column{animation:cardEaseIn .28s cubic-bezier(.22,1,.36,1) both;backface-visibility:hidden}
.directory-summary>div:nth-child(2),.order-summary-grid>div:nth-child(2),.simple-flow-card:nth-child(2),.customer-directory-card:nth-child(2),.job-order-list-card:nth-child(2),.job-card:nth-child(2),.kanban-column:nth-child(2){animation-delay:30ms}
.directory-summary>div:nth-child(3),.order-summary-grid>div:nth-child(3),.simple-flow-card:nth-child(3),.customer-directory-card:nth-child(3),.job-order-list-card:nth-child(3),.job-card:nth-child(3),.kanban-column:nth-child(3){animation-delay:55ms}
.directory-summary>div:nth-child(4),.order-summary-grid>div:nth-child(4),.simple-flow-card:nth-child(4),.customer-directory-card:nth-child(4),.job-order-list-card:nth-child(4),.job-card:nth-child(4),.kanban-column:nth-child(4){animation-delay:80ms}
.directory-summary>div:nth-child(n+5),.order-summary-grid>div:nth-child(n+5),.simple-flow-card:nth-child(n+5),.customer-directory-card:nth-child(n+5),.job-order-list-card:nth-child(n+5),.job-card:nth-child(n+5),.kanban-column:nth-child(n+5){animation-delay:105ms}
@media(prefers-reduced-motion:reduce){.metric-card,.directory-summary>div,.order-summary-grid>div,.simple-flow-card,.customer-directory-card,.job-order-list-card,.job-card,.kanban-column{animation:none!important}}
.manual-customer-note{display:flex;align-items:flex-start;gap:6px;margin-top:2px;color:#5d6257;font-size:8px;font-weight:650;line-height:1.4}.manual-customer-note i{margin-top:1px;color:var(--acid-dark)}

/* Simplified Calendar / Kanban Job Order drawer */
.calendar-drawer-layer{grid-template-columns:1fr minmax(540px,720px)}
.calendar-jo-drawer{background:#f5f5ef}
.calendar-drawer-head{padding:22px 24px 18px}.calendar-drawer-head>div{min-width:0}.calendar-drawer-head h2{max-width:620px;margin-top:5px;font-size:clamp(28px,3vw,38px);overflow-wrap:anywhere}.calendar-drawer-head p{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.calendar-drawer-head p>span{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #e0e2d8;border-radius:99px;background:#f7f8f3;color:#52574d;font-size:8px;font-weight:800}.calendar-drawer-head p>span:first-child{background:var(--ink);border-color:var(--ink);color:#fff;letter-spacing:.06em}
.calendar-drawer-body{padding:18px 20px 32px}.calendar-drawer-foot{min-height:70px;padding:12px 20px}.calendar-drawer-foot .button{min-height:44px}
.drawer-primary-summary{gap:7px;margin-bottom:18px}.drawer-primary-summary>div{padding:13px 14px}.drawer-primary-summary>div:first-child{border-color:var(--ink);background:var(--ink)}.drawer-primary-summary>div:first-child span{color:var(--acid)}.drawer-primary-summary>div:first-child strong{color:#fff}.drawer-primary-summary strong{font-size:13px}
.drawer-section{margin-top:20px}.drawer-section:first-of-type{margin-top:0}.drawer-section-title{justify-content:space-between;margin:0 0 9px;color:var(--ink);font-size:10px}.drawer-section-title:after{display:none}.drawer-section-title>span{font:inherit}.drawer-section-title>small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:0;text-align:right;text-transform:none}
.drawer-projects,.drawer-items{gap:9px}.drawer-project,.drawer-item-card,.drawer-lineup{border-radius:11px;box-shadow:0 2px 0 rgba(17,19,15,.02)}.drawer-project{border-top-width:3px}.drawer-project>header{padding:12px 14px}.drawer-project>header>b{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--project-color) 44%,#d8dad0);border-radius:99px;background:color-mix(in srgb,var(--project-color) 11%,#fff);font-size:9px;white-space:nowrap}.drawer-project>header>b>i{width:8px;height:8px;border:2px solid color-mix(in srgb,var(--project-color) 72%,#111);border-radius:50%;background:var(--project-color)}
.drawer-batch{padding:12px 14px}.drawer-batch-status>div>strong{font-size:11px}.drawer-status-meta{margin-top:7px;border:0;background:transparent;padding:0;font-size:8px}.drawer-stage-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.drawer-stage-button{min-height:48px;padding:7px 10px}.drawer-stage-button:disabled{cursor:not-allowed;opacity:.7}
.drawer-history-disclosure{border-top:1px solid #e7e9df;background:#fafbf6}.drawer-history-disclosure>summary{min-height:42px;display:flex;align-items:center;gap:7px;padding:10px 14px;color:#555a50;font-size:9px;font-weight:850;cursor:pointer;list-style:none}.drawer-history-disclosure>summary::-webkit-details-marker{display:none}.drawer-history-disclosure>summary:before{content:"+";width:18px;height:18px;display:grid;place-items:center;border:1px solid #d5d8cd;border-radius:50%;background:#fff;color:var(--ink);font-size:12px}.drawer-history-disclosure[open]>summary:before{content:"–"}.drawer-history-disclosure>summary span{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;border-radius:99px;background:#e9ebe2;font-size:8px}.drawer-history-disclosure .drawer-status-history{border-top:1px solid #e7e9df}.drawer-status-history{padding:13px 14px 14px}
.drawer-item-card>header{padding:12px 14px}.drawer-item-card header div>span{margin:0 0 3px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.1em}.drawer-item-card header strong{font-size:14px}.drawer-item-card header small{display:block;margin-top:2px;color:#565b51;font-size:9px}.drawer-item-card dl{gap:10px 16px;padding:12px 14px}.drawer-design-images{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px 12px}.drawer-design-images a{aspect-ratio:4/3}.drawer-design-images a:first-child:nth-last-child(n+2){grid-column:1/-1;aspect-ratio:16/9}.drawer-design-images img{object-fit:contain}.drawer-lineup>header{padding:12px 14px}.drawer-lineup table{min-width:540px}.drawer-pdf{height:390px;border-radius:11px;box-shadow:none}
@media(max-width:760px){.calendar-drawer-layer{grid-template-columns:1fr}.calendar-drawer-head{padding:18px 16px 15px}.calendar-drawer-head h2{font-size:30px}.calendar-drawer-body{padding:14px 12px 26px}.calendar-drawer-foot{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.drawer-primary-summary{grid-template-columns:1fr 1fr}.drawer-primary-summary>div:first-child{grid-column:1/-1}.drawer-stage-actions{grid-template-columns:1fr 1fr}.drawer-design-images a:first-child:nth-last-child(n+2){aspect-ratio:4/3}.drawer-pdf{height:360px}}
@media(max-width:440px){.calendar-drawer-head h2{font-size:27px}.drawer-stage-actions{grid-template-columns:1fr}.drawer-item-card dl{grid-template-columns:1fr}.drawer-section-title{align-items:flex-start;flex-direction:column;gap:2px}.drawer-section-title>small{text-align:left}.calendar-drawer-foot .button{font-size:9px}}
.drawer-status-timeline{padding:15px 16px 4px;border:1px solid var(--line);border-radius:11px;background:#fff}.drawer-status-timeline .drawer-history-item{padding-bottom:14px}.drawer-status-timeline .drawer-empty{margin:0 0 11px}.drawer-pdf-lineup .drawer-pdf{height:520px}.drawer-pdf-lineup .drawer-section-title>span{font-size:11px}.drawer-pdf-lineup .drawer-section-title>small{max-width:320px}
@media(max-width:760px){.drawer-status-timeline{padding:14px 14px 3px}.drawer-pdf-lineup .drawer-pdf{height:440px}}

/* Status-first compact drawer and larger PDF Lineup workspace */
.drawer-status-section{margin-top:0}.drawer-status-section+.drawer-primary-summary{margin-top:12px;margin-bottom:0}.drawer-status-section .drawer-projects{gap:7px}.drawer-status-section .drawer-project>header{padding:9px 11px}.drawer-status-section .drawer-batch{padding:9px 11px}.drawer-status-section .drawer-status-meta{margin-top:5px}
.drawer-stage-actions{grid-template-columns:none;grid-template-rows:repeat(2,44px);grid-auto-flow:column;grid-auto-columns:minmax(148px,1fr);gap:5px;margin-top:8px;padding:1px 0 5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c4c7bb transparent}.drawer-stage-button{min-height:44px;height:44px;padding:5px 8px;border-radius:8px}.drawer-stage-button span{font-size:6px}.drawer-stage-button b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.drawer-pdf-lineup .drawer-pdf{height:min(85dvh,900px);min-height:680px}
@media(max-width:760px){.drawer-stage-actions{grid-template-columns:none;grid-template-rows:repeat(2,44px);grid-auto-columns:minmax(142px,72vw)}.drawer-pdf-lineup .drawer-pdf{height:72dvh;min-height:520px}}

/* Final drawer order: Due date, PDF Lineup, wrapped statuses, timeline. */
.drawer-due-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--ink);border-radius:11px;background:var(--ink);color:#fff}.drawer-due-card>span{color:var(--acid);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.drawer-due-card>strong{font-size:15px;font-variant-numeric:tabular-nums}.drawer-due-card+.drawer-pdf-lineup{margin-top:12px}.drawer-pdf-lineup+.drawer-status-section{margin-top:18px}
.drawer-stage-actions{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;padding-bottom:0}.drawer-stage-button{min-width:0}.drawer-stage-button b{white-space:normal;line-height:1.1}
@media(max-width:600px){.drawer-stage-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.drawer-stage-actions{grid-template-columns:1fr}}

/* ===== Calendar / Kanban drawer workspace refinement ===== */
.calendar-drawer-layer{grid-template-columns:minmax(0,1fr) minmax(720px,min(92vw,980px))}
.calendar-jo-drawer{background:#f1f2ec}
.calendar-drawer-head{padding:20px 22px 17px}
.calendar-drawer-head h2{max-width:760px;font-size:clamp(26px,2.4vw,36px);line-height:1.02}
.calendar-drawer-body{padding:16px 18px 28px}
.calendar-drawer-foot{min-height:68px;padding:11px 18px;background:#fff}
.drawer-due-card{position:relative;overflow:hidden;padding:14px 17px;border:0;border-radius:12px;box-shadow:0 8px 22px rgba(17,19,15,.08)}
.drawer-due-card:after{content:"";position:absolute;inset:0 0 0 auto;width:9px;background:var(--acid)}
.drawer-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,330px);align-items:start;gap:16px;margin-top:14px}
.drawer-workspace-main,.drawer-workspace-side{min-width:0}
.drawer-workspace-main .drawer-section,.drawer-workspace-side .drawer-section{margin-top:0}
.drawer-workspace-side{display:grid;gap:16px}
.drawer-pdf-lineup{min-width:0}
.drawer-pdf-lineup .drawer-section-title{padding-inline:2px}
.drawer-pdf{height:auto;min-height:520px;overflow:hidden;border:1px solid #cfd2c6;border-radius:13px;background:#e6e8df;box-shadow:0 8px 24px rgba(17,19,15,.07)}
.drawer-pdf iframe{display:block;width:100%;height:var(--pdf-frame-height,760px);min-height:520px;border:0;background:#eef0e8}
.drawer-status-section,.drawer-timeline-section{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(17,19,15,.04)}
.drawer-status-section .drawer-section-title,.drawer-timeline-section .drawer-section-title{margin:0 0 10px;padding:0}
.drawer-status-section .drawer-projects{gap:8px}
.drawer-status-section .drawer-project{border-radius:10px;box-shadow:none}
.drawer-status-section .drawer-project>header{padding:10px 11px}
.drawer-status-section .drawer-project>header>div{min-width:0}
.drawer-status-section .drawer-project>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-status-section .drawer-project>header>b{max-width:48%;overflow:hidden;text-overflow:ellipsis}
.drawer-status-section .drawer-batch{padding:10px 11px}
.drawer-status-section .drawer-stage-actions{grid-template-columns:1fr;gap:6px}
.drawer-status-section .drawer-stage-button{min-height:45px;height:auto}
.drawer-status-timeline{padding:13px 13px 2px;border:0;border-radius:9px;background:#f7f8f3}
.drawer-empty-state.compact{min-height:280px;padding:24px}

@media(max-width:1180px){
  .drawer-workspace{grid-template-columns:1fr}
  .drawer-workspace-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .drawer-status-section .drawer-stage-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .calendar-drawer-layer{grid-template-columns:1fr}
  .calendar-jo-drawer{grid-column:1;width:100%}
  .calendar-drawer-head{padding:16px 14px 14px}
  .calendar-drawer-head h2{font-size:24px}
  .calendar-drawer-head p{margin-top:7px}
  .calendar-drawer-body{padding:12px 10px 22px}
  .calendar-drawer-foot{padding:9px 10px calc(9px + env(safe-area-inset-bottom))}
  .drawer-due-card{padding:12px 14px}
  .drawer-workspace{gap:12px;margin-top:12px}
  .drawer-workspace-side{grid-template-columns:1fr;gap:12px}
  .drawer-pdf{min-height:460px;border-radius:10px}
  .drawer-pdf iframe{min-height:460px;height:var(--pdf-frame-height,620px)}
  .drawer-status-section,.drawer-timeline-section{padding:10px;border-radius:10px}
  .drawer-status-section .drawer-stage-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:420px){
  .calendar-drawer-head h2{font-size:21px}
  .calendar-drawer-head p>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .calendar-drawer-foot{flex-wrap:wrap}
  .calendar-drawer-foot .button{width:100%;flex:1 1 100%}
  .drawer-status-section .drawer-stage-actions{grid-template-columns:1fr}
  .drawer-pdf{min-height:400px}
  .drawer-pdf iframe{min-height:400px}
}

/* ===== Job Order spreadsheet lineup editor ===== */
.lineup-sheet-block{padding:0;overflow:hidden;border-color:#c7cabd}
.lineup-sheet-block>.lineup-heading{margin:0;padding:16px 18px;border-bottom:1px solid #d7d9cf;background:#f7f8f2}
.lineup-sheet-heading{align-items:center}
.lineup-sheet-heading .sheet-status{display:inline-flex;align-items:center;gap:7px;margin:0;padding:7px 10px;border-radius:999px;background:var(--ink);color:var(--acid);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.lineup-sheet-block>.segmented-options{margin:14px 16px 0}
.lineup-sheet-block>.size-quantity-panel,.lineup-sheet-block>.named-roster-panel{margin:14px 16px 16px}
.sheet-helper{margin:0 0 12px;color:var(--muted);font-size:11px}
.lineup-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px;padding:7px;border:1px solid #d8dbd0;border-radius:9px;background:#f8f9f5}
.lineup-sheet-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.lineup-sheet-actions .lineup-add{margin:0}
.lineup-sheet-toolbar p{max-width:460px;margin:0;color:var(--muted);font-size:10px;line-height:1.45;text-align:right}
.sheet-toolbar-group{display:inline-flex;align-items:stretch;overflow:hidden;border:1px solid #cbd0c3;border-radius:7px;background:#fff}
.sheet-toolbar-group .button,.sheet-toolbar-group select{min-height:34px;border:0!important;border-radius:0!important;box-shadow:none!important}
.sheet-toolbar-group>*+*{border-left:1px solid #d9ddd2!important}
.sheet-row-count{display:flex;margin:0}.sheet-row-count select{width:82px;padding:5px 22px 5px 8px;background-color:#fff;color:var(--ink);font-size:9px;font-weight:850;cursor:pointer}
.sheet-selection-status{min-width:76px;padding-right:4px;font-weight:850!important;white-space:nowrap}
.lineup-all-tools{flex:1 1 100%;min-width:0}
.lineup-all-tools>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0!important;padding:7px!important;border-color:#d8dbd0!important;background:#fff!important}
.lineup-all-tools-label{display:inline-flex;align-items:center;gap:6px;align-self:stretch;padding:0 10px 0 4px;border-right:1px solid #d8dbd0;color:#646b60;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.lineup-all-tools .button{min-height:34px;margin:0}
.lineup-all-tools .lineup-sort-asc{margin-left:5px;border-left-width:3px}
.lineup-all-tools .lineup-clear-blank{margin-left:5px;border-left-width:3px}
.lineup-all-tools .lineup-delete-selection{margin-left:auto}
.lineup-all-tools .button:disabled{opacity:.46;cursor:not-allowed}
.sheet-formula-bar{height:38px;display:grid;grid-template-columns:62px 34px minmax(0,1fr);align-items:center;margin-bottom:8px;border:1px solid #c8ccc0;border-radius:7px;background:#fff;overflow:hidden}
.sheet-cell-reference{height:100%;display:grid;place-items:center;border-right:1px solid #d8dbd1;background:#f4f5f1;color:#394034;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums}
.sheet-formula-bar>span{color:#687064;font:italic 700 12px Georgia,serif;text-align:center}
.sheet-formula-input{width:100%;height:100%;padding:7px 10px;border:0!important;border-radius:0!important;background:#fff!important;color:var(--ink);font-size:11px;outline:0;box-shadow:none!important}
.sheet-formula-input:focus{box-shadow:inset 0 0 0 2px #1882ff!important}.sheet-formula-input:disabled{background:#f7f8f4!important;color:#8a9085}
.sheet-shortcuts-help{margin:0 0 8px;border:1px solid #d8dbd0;border-radius:7px;background:#fafbf8}
.sheet-shortcuts-help>summary{min-height:34px;display:flex;align-items:center;gap:7px;padding:6px 10px;color:#535b4f;font-size:9px;font-weight:900;cursor:pointer;list-style:none}
.sheet-shortcuts-help>summary::-webkit-details-marker{display:none}.sheet-shortcuts-help>summary::after{content:'SHOW';margin-left:auto;color:#7b8276;font-size:7px}.sheet-shortcuts-help[open]>summary::after{content:'HIDE'}
.sheet-shortcuts-help>div{display:flex;flex-wrap:wrap;gap:8px 16px;padding:9px 10px;border-top:1px solid #e0e3da;background:#fff;color:#62695e;font-size:9px}
.sheet-shortcuts-help>div>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
kbd{display:inline-flex;min-width:20px;justify-content:center;padding:2px 5px;border:1px solid #cfd2c6;border-bottom-width:2px;border-radius:5px;background:#fff;color:var(--ink);font:700 9px/1.2 inherit;box-shadow:0 1px 0 rgba(17,19,15,.06)}
.lineup-paste-panel{margin:0 0 10px;padding:13px;border:1px solid #cdd1bf;border-radius:10px;background:#f8faef}
.lineup-paste-panel textarea{min-height:120px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45;white-space:pre}
.lineup-paste-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}
.lineup-sheet-scroll{max-height:560px;padding:0;overflow:auto;border:1px solid #bfc3b6;border-radius:9px;background:#fff;scrollbar-width:thin;overscroll-behavior:contain}
.lineup-sheet-block .lineup-sheet-grid{display:grid;grid-template-columns:42px minmax(105px,.75fr) minmax(150px,1.2fr) 82px 92px 98px 90px 104px 94px 112px 70px minmax(190px,1.45fr) 40px;min-width:1390px;gap:0;align-items:stretch}
.lineup-sheet-block .lineup-table-head{position:sticky;z-index:5;top:0;padding:0;background:#f1f3ee;color:#252a22;font-size:8px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.lineup-sheet-block .lineup-table-head>span,.lineup-sheet-block .lineup-table-head>button{min-height:42px;display:flex;align-items:center;justify-content:center;padding:6px 7px;border:0;border-right:1px solid #42463d;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:center;text-transform:inherit}
.lineup-sheet-block .lineup-table-head>[data-sheet-key]{flex-direction:column;gap:2px;border-color:#cdd1c6}
.lineup-sheet-block .lineup-table-head>[data-sheet-key]::before{content:attr(data-sheet-letter);color:#858b80;font-size:7px;font-weight:800;line-height:1}
.lineup-sheet-block .lineup-table-head>span:last-child,.lineup-sheet-block .lineup-table-head>button:last-child{border-right:0}
.lineup-sheet-block .lineup-table-head>[data-sheet-key]{cursor:pointer;transition:background .12s,box-shadow .12s,color .12s}
.lineup-sheet-block .lineup-table-head>[data-sheet-key]:hover{background:#e2e6dc}
.lineup-sheet-block .sheet-custom-column-header{position:relative;gap:4px;padding:4px!important;background:#242820}
.lineup-sheet-block .sheet-default-column-header{position:relative;padding-right:27px!important}.lineup-sheet-block .sheet-default-column-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.lineup-sheet-block .sheet-default-column-header .sheet-column-remove{opacity:.58}.lineup-sheet-block .sheet-default-column-header:hover .sheet-column-remove,.lineup-sheet-block .sheet-default-column-header:focus-within .sheet-column-remove{opacity:1}
.lineup-sheet-block .sheet-column-name{width:100%;min-width:0;height:30px;padding:4px 22px 4px 6px;border:1px solid #5a6052;border-radius:5px;background:#11130f;color:#fff;font:900 8px/1.1 inherit;letter-spacing:.045em;text-align:center;text-transform:uppercase;outline:0}
.lineup-sheet-block .sheet-column-name:focus{border-color:var(--acid);box-shadow:0 0 0 2px rgba(215,255,63,.25)}
.lineup-sheet-block .sheet-column-remove{position:absolute;right:5px;top:50%;width:18px;height:18px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;background:#3c4137;color:#d9dccf;font-size:8px;cursor:pointer}
.lineup-sheet-block .sheet-column-remove:hover,.lineup-sheet-block .sheet-column-remove:focus-visible{background:var(--danger);color:#fff;outline:0}
.lineup-sheet-block .lineup-table-head .sheet-row-number{width:100%;background:#e4e7df;color:#4f574b;cursor:pointer;border-color:#cdd1c6}
.lineup-sheet-block .lineup-entry{min-width:1390px;margin:0;background:#fff}
.lineup-sheet-block .lineup-entry:nth-child(even){background:#fafbf7}
.lineup-sheet-block .lineup-entry>.sheet-row-number{width:100%;min-height:36px;display:grid;place-items:center;padding:0;border:0;border-right:1px solid #d5d8cc;border-bottom:1px solid #d5d8cc;border-radius:0;background:#eff0e9;color:#6a6f63;font-size:9px;font-weight:850;cursor:pointer;user-select:none}
.lineup-sheet-block .lineup-entry>.sheet-row-number:hover,.lineup-sheet-block .lineup-entry>.sheet-row-number:focus-visible{background:#e3e6da;color:var(--ink);outline:0}
.lineup-sheet-block .lineup-entry input.sheet-cell{width:100%;min-width:0;min-height:36px;margin:0;padding:6px 8px;border:0;border-right:1px solid #d5d8cc;border-bottom:1px solid #d5d8cc;border-radius:0;background:transparent;color:var(--ink);font-size:11px;line-height:1.2;outline:0}
.lineup-sheet-block .lineup-entry input.sheet-cell::placeholder{color:#a2a69b}
.lineup-sheet-block .lineup-entry input.sheet-cell:hover{background:#fbffe9}
.lineup-sheet-block .lineup-entry input.sheet-cell:focus{position:relative;z-index:2;background:#fff;box-shadow:inset 0 0 0 2px #1882ff}
.lineup-sheet-block .lineup-entry input.sheet-cell.is-sheet-selected{position:relative;z-index:1;background:#e9f2ff!important;box-shadow:inset 0 0 0 1px #1882ff}
.lineup-sheet-block .lineup-entry input.sheet-cell.is-sheet-active{z-index:2;background:#fff!important;box-shadow:inset 0 0 0 2px #0867d8,0 0 0 1px #fff}
.lineup-sheet-block .sheet-row-number.is-sheet-selected,.lineup-sheet-block .lineup-table-head>[data-sheet-key].is-sheet-selected{background:#cfe2ff!important;color:#0b57d0!important}
.lineup-sheet-block .lineup-table-head>[data-sheet-key].is-sort-column{box-shadow:inset 0 -3px 0 var(--acid)}
.lineup-sheet-block .lineup-table-head>[data-sheet-key].is-sheet-selected.is-sort-column{box-shadow:inset 0 -3px 0 var(--ink)}
.lineup-sheet-block .lineup-entry input.sheet-cell.is-invalid{background:#fff0ef;box-shadow:inset 0 0 0 2px var(--danger)}
.lineup-sheet-block .lineup-entry input.sheet-qty-cell{text-align:center;font-weight:850}
.sheet-row-remove{width:100%;min-height:36px;display:grid;place-items:center;border:0;border-bottom:1px solid #d5d8cc;background:#f5f6f0;color:#9a9e94;cursor:pointer}
.sheet-row-remove:hover,.sheet-row-remove:focus-visible{background:#fff0ef;color:var(--danger);outline:0}
.lineup-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.lineup-sheet-footer .lineup-add{margin:0}
.lineup-sheet-footer>span{color:var(--muted);font-size:10px}

@media(max-width:900px){
  .lineup-sheet-toolbar{align-items:stretch;flex-direction:column}
  .lineup-sheet-toolbar p{text-align:left}
  .lineup-all-tools .lineup-delete-selection{margin-left:5px}
}
@media(max-width:620px){
  .lineup-sheet-block>.lineup-heading{align-items:flex-start;flex-direction:column}
  .lineup-sheet-block .lineup-table-head{display:grid}
  .lineup-sheet-block>.size-quantity-panel,.lineup-sheet-block>.named-roster-panel{margin:12px}
  .lineup-sheet-actions .button{flex:1 1 calc(50% - 7px)}
  .lineup-sheet-actions .sheet-toolbar-group{flex:1 1 100%}
  .lineup-all-tools>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lineup-all-tools-label{grid-column:1/-1;min-height:28px;border-right:0;border-bottom:1px solid #d8dbd0}
  .lineup-all-tools .button,.lineup-all-tools .lineup-sort-asc,.lineup-all-tools .lineup-clear-blank,.lineup-all-tools .lineup-delete-selection{width:100%;margin-left:0;border-left-width:1px}
  .lineup-sheet-footer{align-items:stretch;flex-direction:column}
  .lineup-sheet-footer .button{width:100%}
}
.lineup-sheet-block .lineup-table-head>.sheet-row-number{position:sticky;left:0;z-index:7}
.lineup-sheet-block .lineup-entry>.sheet-row-number{position:sticky;left:0;z-index:3}


/* ===== Full-screen Job Order spreadsheet editor + custom column dialog ===== */
body.lineup-dialog-open{overflow:hidden}
.lineup-sheet-heading-actions{display:flex;align-items:center;gap:8px}
.lineup-modal-close{display:none;width:40px;height:40px;place-items:center;border:1px solid #d1d5c7;border-radius:10px;background:#fff;color:var(--ink);font-size:17px;cursor:pointer}
.lineup-modal-close:hover,.lineup-modal-close:focus-visible{border-color:#aeb3a3;background:#f0f2e9;outline:0}
.lineup-editor-backdrop{position:fixed;inset:0;z-index:1190;border:0;background:rgba(9,11,8,.76);backdrop-filter:blur(8px);cursor:default}
.lineup-sheet-block.is-expanded{position:fixed;inset:clamp(10px,2vw,24px);z-index:1200;display:flex;min-width:0;min-height:0;flex-direction:column;margin:0!important;overflow:hidden;border:1px solid rgba(255,255,255,.52);border-radius:18px;background:var(--paper);box-shadow:0 34px 120px rgba(0,0,0,.48)}
.lineup-sheet-block.is-expanded>.lineup-heading{flex:0 0 auto;padding:17px 20px;background:rgba(247,248,242,.98);backdrop-filter:blur(12px)}
.lineup-sheet-block.is-expanded .lineup-sheet-heading-actions{margin-left:auto}
.lineup-sheet-block.is-expanded .lineup-modal-close{display:grid}
.lineup-sheet-block.is-expanded>.segmented-options{flex:0 0 auto;margin:12px 16px 0}
.lineup-sheet-block.is-expanded>.named-roster-panel{display:flex;min-height:0;flex:1;flex-direction:column;margin:12px 16px 16px}
.lineup-sheet-block.is-expanded .lineup-sheet-toolbar{flex:0 0 auto}
.lineup-sheet-block.is-expanded .lineup-paste-panel{flex:0 0 auto}
.lineup-sheet-block.is-expanded .lineup-sheet-scroll{min-height:260px;max-height:none;flex:1;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(17,19,15,.02)}
.lineup-sheet-block.is-expanded .lineup-sheet-footer{flex:0 0 auto}
.lineup-sheet-block.is-expanded .lineup-table-head>span,.lineup-sheet-block.is-expanded .lineup-table-head>button{min-height:46px}
.lineup-sheet-block.is-expanded .lineup-entry input.sheet-cell,.lineup-sheet-block.is-expanded .lineup-entry>.sheet-row-number,.lineup-sheet-block.is-expanded .sheet-row-remove{min-height:42px}
.lineup-sheet-block:not(.is-expanded) .lineup-sheet-scroll{max-width:100%}
.lineup-sheet-block:not(.is-expanded) .lineup-table-head>span,.lineup-sheet-block:not(.is-expanded) .lineup-table-head>button{padding-inline:5px}
.lineup-sheet-block:not(.is-expanded) .lineup-entry input.sheet-cell{padding-inline:6px;font-size:10px}
.lineup-sheet-block:not(.is-expanded) .sheet-row-remove{font-size:10px}

.lineup-column-dialog-backdrop{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:20px;background:rgba(9,11,8,.72);backdrop-filter:blur(8px)}
.lineup-column-dialog{width:min(520px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.48);border-radius:18px;background:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.44);animation:modalIn .2s var(--ease) both}
.lineup-column-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:#f5f6ef}
.lineup-column-dialog-head span{display:block;margin-bottom:4px;color:var(--acid-dark);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.lineup-column-dialog-head h2{margin:0;font-size:22px;letter-spacing:-.035em}
.lineup-dialog-close{width:42px;height:42px;display:grid;flex:0 0 auto;place-items:center;border:1px solid #d2d5c9;border-radius:11px;background:#fff;color:var(--ink);font-size:18px;cursor:pointer}
.lineup-dialog-close:hover,.lineup-dialog-close:focus-visible{background:#e9ebe2;outline:0}
.lineup-column-dialog-body{padding:23px 22px}
.lineup-column-dialog-body .field{gap:8px}
.lineup-column-dialog-body input,.lineup-column-dialog-body select{min-height:50px;border-radius:11px;font-size:14px}.lineup-column-dialog-body .field+.field{margin-top:14px}
.lineup-column-dialog-body input.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(214,55,49,.14)}
.lineup-column-dialog-body p{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.lineup-column-dialog-foot{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line);background:#f8f8f3}

@media(max-width:900px){
  .lineup-sheet-block.is-expanded{inset:8px;border-radius:14px}
  .lineup-sheet-block.is-expanded>.lineup-heading{padding:14px}
  .lineup-sheet-block.is-expanded>.segmented-options{margin:10px 10px 0}
  .lineup-sheet-block.is-expanded>.named-roster-panel{margin:10px}
  .lineup-sheet-block.is-expanded .lineup-sheet-toolbar{align-items:stretch;flex-direction:column}
  .lineup-sheet-block.is-expanded .lineup-sheet-toolbar p{text-align:left}
}
@media(max-width:620px){
  .lineup-column-dialog-backdrop{align-items:end;padding:0}
  .lineup-column-dialog{width:100%;border-radius:20px 20px 0 0}
  .lineup-column-dialog-head,.lineup-column-dialog-body,.lineup-column-dialog-foot{padding-left:18px;padding-right:18px}
  .lineup-column-dialog-foot .button{flex:1}
  .lineup-sheet-block.is-expanded{inset:0;border:0;border-radius:0}
  .lineup-sheet-block.is-expanded .lineup-sheet-heading-actions{width:100%;justify-content:space-between}
}
.lineup-column-dialog-backdrop[hidden],.lineup-editor-backdrop[hidden]{display:none!important}

/* ===== Job order detail: clear operational layout ===== */
.jo-detail-head{align-items:flex-end;max-width:1500px;margin-inline:auto}.jo-detail-title-wrap{min-width:0;max-width:920px}.jo-detail-kicker{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.jo-detail-kicker a{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.jo-detail-kicker a:hover{color:var(--ink)}.jo-detail-kicker span{display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;border-radius:99px;background:#e7e8df;color:var(--ink);letter-spacing:.06em}.jo-detail-meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:14px;color:var(--muted);font-size:12px;font-weight:700}.jo-detail-meta-line>span:not(.status-pill):not(.jo-overdue-chip){display:inline-flex;align-items:center;gap:7px}.jo-detail-meta-line>span>i{color:#92978a}.jo-overdue-chip{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:3px 9px;border:1px solid #f5b7b3;border-radius:99px;background:#fff2f1;color:var(--danger);font-size:10px;font-weight:900}.jo-primary-actions{justify-content:flex-end}.jo-more-actions{position:relative}.jo-more-actions>summary{list-style:none}.jo-more-actions>summary::-webkit-details-marker{display:none}.jo-more-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:260px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 22px 60px rgba(17,19,15,.18)}.jo-more-menu>strong{display:block;padding:8px 10px 6px;color:var(--muted);font-size:9px;letter-spacing:.11em;text-transform:uppercase}.jo-more-menu a,.jo-menu-danger{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:11px;font-weight:800;text-decoration:none;text-align:left}.jo-more-menu a:hover,.jo-menu-danger:hover{background:#f1f2eb}.jo-more-menu a i,.jo-menu-danger i{width:16px;color:var(--muted);text-align:center}.jo-more-divider{height:1px;margin:7px 4px;background:var(--line)}.jo-menu-danger{color:var(--danger)}.jo-menu-danger i{color:var(--danger)}
.jo-summary-grid{max-width:1500px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 auto 16px}.jo-summary-card{min-width:0;min-height:138px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 0 rgba(17,19,15,.02)}.jo-summary-card>span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.jo-summary-card>strong{display:block;margin:10px 0 6px;font-size:clamp(22px,2vw,34px);font-weight:950;letter-spacing:-.05em;line-height:1.05;font-variant-numeric:tabular-nums}.jo-summary-card>small{color:var(--muted);font-size:10px;font-weight:700}.jo-summary-card.is-accent{border-color:var(--acid);background:var(--acid)}.jo-summary-card.is-accent>span,.jo-summary-card.is-accent>small{color:#4e5c18}.jo-summary-card.is-paid{border-color:#b7dfc2;background:#f2fff5}.jo-summary-card.is-overdue{border-color:#f2b2ad;background:#fff5f4}.jo-summary-card.is-overdue>strong{color:var(--danger)}.jo-payment-progress{height:6px;overflow:hidden;border-radius:99px;background:#e9eae2}.jo-payment-progress i{height:100%;display:block;border-radius:inherit;background:var(--acid-dark)}
.jo-detail-layout{max-width:1500px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start;margin-inline:auto}.jo-detail-main{min-width:0;display:grid;gap:16px}.jo-detail-sidebar{min-width:0;display:grid;gap:14px;position:sticky;top:142px}.jo-section-head>div{min-width:0}.jo-section-head .eyebrow{margin:0 0 3px;color:var(--acid-dark);font-size:8px}.jo-section-head h3{font-size:15px}.jo-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;background:var(--line)}.jo-overview-grid>div{min-width:0;padding:16px 18px;background:#fff}.jo-overview-grid dt,.jo-item-specs dt,.jo-quick-facts dt{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.jo-overview-grid dd,.jo-item-specs dd,.jo-quick-facts dd{margin:5px 0 0;font-size:11px;font-weight:800;overflow-wrap:anywhere}.jo-overview-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-top:1px solid var(--line);background:var(--line)}.jo-overview-notes>div{padding:16px 18px;background:#fafbf6}.jo-overview-notes strong,.jo-item-note strong{font-size:9px;letter-spacing:.09em;text-transform:uppercase}.jo-overview-notes p,.jo-item-note p{margin:5px 0 0;color:#555a50;font-size:11px;white-space:normal}
.jo-content-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 2px 0}.jo-content-heading .eyebrow{margin:0;color:var(--acid-dark);font-size:9px}.jo-content-heading h2{margin:3px 0 0;font-size:28px;letter-spacing:-.045em}.jo-content-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.jo-content-heading>span{color:var(--muted);font-size:10px;font-weight:850;white-space:nowrap}.jo-item-stack{display:grid;gap:14px}.jo-item-card{overflow:hidden;border-top:4px solid var(--item-stage,#aeb2a5)}.jo-item-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto minmax(145px,auto);align-items:center;gap:14px;padding:17px 18px;border-bottom:1px solid var(--line)}.jo-item-number{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--ink);color:var(--acid);font-size:12px;font-weight:950}.jo-item-title{min-width:0}.jo-item-title>span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.jo-item-title h3{margin:2px 0 0;font-size:18px;letter-spacing:-.025em}.jo-item-title p{margin:3px 0 0;color:var(--muted);font-size:10px}.jo-item-figures{display:flex;gap:20px}.jo-item-figures>div{text-align:right}.jo-item-figures span{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.jo-item-figures strong{display:block;margin-top:2px;font-size:14px;font-variant-numeric:tabular-nums}.jo-item-stage>a,.jo-stage-empty{min-height:42px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--item-stage) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--item-stage) 10%,#fff);font-size:10px;font-weight:900;text-decoration:none}.jo-item-stage>a>i,.jo-stage-empty>i{width:9px;height:9px;grid-row:1/3;border:2px solid color-mix(in srgb,var(--item-stage) 70%,#111);border-radius:50%;background:var(--item-stage)}.jo-item-stage>a>span{grid-column:2;color:var(--muted);font-size:8px;font-weight:650}.jo-item-stage>a:hover{background:color-mix(in srgb,var(--item-stage) 16%,#fff)}.jo-item-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;border-bottom:1px solid var(--line);background:var(--line)}.jo-item-specs>div{min-width:0;padding:13px 16px;background:#fafbf6}.jo-item-artworks,.jo-lineup-block{border-top:1px solid var(--line)}.jo-subsection-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#f8f9f3}.jo-subsection-title strong{font-size:11px}.jo-subsection-title span{color:var(--muted);font-size:9px;font-weight:750}.jo-artwork-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;padding:14px}.jo-artwork-card{min-width:0;overflow:hidden;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.jo-artwork-card:hover{border-color:#aeb2a4;box-shadow:0 7px 18px rgba(17,19,15,.07)}.jo-artwork-card img{width:78px;height:78px;display:block;object-fit:contain;background:#eceee7}.jo-artwork-card>span{min-width:0;padding:10px}.jo-artwork-card strong,.jo-artwork-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jo-artwork-card strong{font-size:10px}.jo-artwork-card small{margin-top:3px;color:var(--muted);font-size:8px}.jo-lineup-table-wrap{max-height:520px;overflow:auto}.jo-lineup-table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0}.jo-lineup-table th{position:sticky;top:0;z-index:2;padding:10px 11px;border-bottom:1px solid var(--line);background:var(--ink);color:#fff;font-size:8px;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.jo-lineup-table td{padding:9px 11px;border-right:1px solid #e8e9e1;border-bottom:1px solid #e8e9e1;background:#fff;font-size:10px;vertical-align:middle;white-space:nowrap}.jo-lineup-table tbody tr:nth-child(even) td{background:#fafbf6}.jo-lineup-table tbody tr:hover td{background:#f1f4e7}.jo-lineup-table td:first-child{color:var(--muted);font-variant-numeric:tabular-nums}.jo-size-chip{min-width:35px;display:inline-grid;place-items:center;min-height:26px;padding:3px 8px;border-radius:7px;background:#eff0e8;font-size:9px;font-weight:900}.jo-size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;padding:14px}.jo-size-grid>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafbf6;text-align:center}.jo-size-grid strong,.jo-size-grid span{display:block}.jo-size-grid strong{font-size:14px}.jo-size-grid span{margin-top:3px;color:var(--muted);font-size:9px}.jo-inline-empty{padding:30px;color:var(--muted);font-size:11px;text-align:center}.jo-item-note{padding:14px 16px;border-top:1px solid var(--line);background:#fffdf5}.jo-general-artwork-grid{padding:16px}.jo-payment-list{padding:0 18px}.jo-payment-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #ecece5}.jo-payment-row:last-child{border-bottom:0}.jo-payment-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eff0e8;color:#666b5f}.jo-payment-row strong{display:block;font-size:11px}.jo-payment-row p{margin:2px 0;color:var(--muted);font-size:9px}.jo-payment-row small{color:var(--muted);font-size:8px}.jo-payment-row>b{font-size:13px;font-variant-numeric:tabular-nums}
.jo-document-list{display:grid;padding:9px}.jo-document-list>a{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:9px 10px;border-radius:10px;color:inherit;text-decoration:none}.jo-document-list>a:hover{background:#f1f2eb}.jo-document-list>a.is-primary{background:var(--ink);color:#fff}.jo-document-list>a.is-primary:hover{background:#292d24}.jo-document-list>a>i:first-child{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#eff0e8;color:#5b6055}.jo-document-list>a.is-primary>i:first-child{background:var(--acid);color:var(--ink)}.jo-document-list>a>i:last-child{color:#a3a79b;font-size:9px}.jo-document-list span{min-width:0}.jo-document-list strong,.jo-document-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jo-document-list strong{font-size:10px}.jo-document-list small{margin-top:2px;color:var(--muted);font-size:8px}.jo-document-list>a.is-primary small{color:#b8bdae}.jo-quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:var(--line)}.jo-quick-facts>div{min-width:0;padding:13px;background:#fff}.jo-activity-list{max-height:520px;overflow:auto;padding:16px 18px 2px}.jo-activity-item{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;padding-bottom:18px}.jo-activity-item:before{content:"";position:absolute;left:4px;top:10px;bottom:0;width:1px;background:var(--line)}.jo-activity-item:last-child:before{display:none}.jo-activity-item>i{position:relative;z-index:1;width:9px;height:9px;margin-top:3px;border:2px solid #fff;border-radius:50%;background:var(--acid-dark);box-shadow:0 0 0 1px var(--acid-dark)}.jo-activity-item strong{display:block;font-size:10px}.jo-activity-item p{margin:2px 0;color:#555a50;font-size:9px}.jo-activity-item small{color:var(--muted);font-size:8px}
.jo-document-list>a.is-clearance{background:#f7ffd9}.jo-document-list>a.is-clearance:hover{background:#efffba}.jo-document-list>a.is-clearance>i:first-child{background:var(--acid);color:var(--ink)}
.price-list-admin-panel{margin-bottom:14px;scroll-margin-top:100px;overflow:hidden}.price-list-admin-head{align-items:center}.price-list-admin-head>div>span{display:block;margin-top:4px;color:var(--muted);font-size:9px}.price-list-admin-table td:nth-child(4){max-width:280px}.price-list-admin-table .money strong{font-size:12px}.jo-price-notes a{color:var(--ink);font-weight:900;text-underline-offset:2px}@media(max-width:760px){.price-list-admin-head{align-items:flex-start;flex-direction:column}.price-list-admin-head .button{width:100%}}
@media(max-width:1250px){.jo-detail-layout{grid-template-columns:minmax(0,1fr) 290px}.jo-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jo-item-head{grid-template-columns:36px minmax(0,1fr) auto}.jo-item-stage{grid-column:2/-1}.jo-item-stage>a,.jo-stage-empty{display:inline-grid;min-width:190px}.jo-item-specs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.jo-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jo-detail-layout{grid-template-columns:1fr}.jo-detail-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.jo-activity-panel{grid-column:1/-1}.jo-primary-actions{width:100%;justify-content:flex-start}.jo-detail-head{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.jo-summary-grid{grid-template-columns:1fr 1fr}.jo-summary-card{min-height:122px;padding:15px}.jo-summary-card>strong{font-size:23px}.jo-overview-grid,.jo-overview-notes{grid-template-columns:1fr}.jo-item-head{grid-template-columns:34px minmax(0,1fr)}.jo-item-figures{grid-column:1/-1;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line)}.jo-item-figures>div{text-align:left}.jo-item-stage{grid-column:1/-1}.jo-item-stage>a,.jo-stage-empty{width:100%}.jo-item-specs{grid-template-columns:1fr 1fr}.jo-detail-sidebar{grid-template-columns:1fr}.jo-activity-panel{grid-column:auto}.jo-content-heading{align-items:flex-start;flex-direction:column}.jo-content-heading>span{white-space:normal}.jo-primary-actions .button{flex:1}.jo-more-actions{flex:0}.jo-more-menu{position:fixed;right:16px;top:auto;bottom:16px;left:16px;width:auto}.jo-artwork-grid{grid-template-columns:1fr}.jo-artwork-card{grid-template-columns:70px minmax(0,1fr)}.jo-artwork-card img{width:70px;height:70px}}
@media(max-width:480px){.jo-summary-grid{grid-template-columns:1fr}.jo-summary-card{min-height:112px}.jo-detail-meta-line{align-items:flex-start;flex-direction:column}.jo-item-specs{grid-template-columns:1fr}.jo-quick-facts{grid-template-columns:1fr}.jo-payment-row{grid-template-columns:38px minmax(0,1fr)}.jo-payment-row>b{grid-column:2;text-align:left}.jo-detail-kicker{flex-wrap:wrap}}


/* ===== Scrollable PDF lineup + full-color two-column drawer statuses ===== */
.drawer-pdf-lineup .drawer-pdf{
  height:min(72dvh,820px);
  min-height:560px;
  max-height:820px;
  overflow:hidden;
  overscroll-behavior:contain;
}
.drawer-pdf-lineup .drawer-pdf iframe{
  display:block;
  width:100%;
  height:100%!important;
  min-height:0!important;
  overflow:auto;
}
.drawer-status-section .drawer-stage-actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.drawer-status-section .drawer-stage-button.status-color-button{
  min-height:58px;
  height:auto;
  padding:9px 10px;
  border:1px solid color-mix(in srgb,var(--status-color) 76%,#111)!important;
  border-radius:10px;
  background:var(--status-color)!important;
  color:var(--status-text,#fff)!important;
  box-shadow:0 4px 10px color-mix(in srgb,var(--status-color) 22%,transparent);
}
.drawer-status-section .drawer-stage-button.status-color-button span,
.drawer-status-section .drawer-stage-button.status-color-button b,
.drawer-status-section .drawer-stage-button.status-color-button>i{
  color:inherit!important;
}
.drawer-status-section .drawer-stage-button.status-color-button span{
  opacity:.78;
}
.drawer-status-section .drawer-stage-button.status-color-button b>i{
  border-color:currentColor;
  background:currentColor;
  box-shadow:none;
}
.drawer-status-section .drawer-stage-button.status-color-button:hover:not(:disabled){
  background:var(--status-color)!important;
  filter:brightness(.94);
  transform:translateY(-1px);
}
.drawer-status-section .drawer-stage-button.status-color-button.is-current{
  outline:3px solid color-mix(in srgb,var(--status-color) 28%,transparent);
  outline-offset:2px;
}
.drawer-status-section .drawer-stage-button.status-color-button.is-override{
  border-style:dashed!important;
  background:var(--status-color)!important;
}
.drawer-status-section .drawer-stage-button.status-color-button:disabled{
  opacity:1;
  cursor:not-allowed;
  filter:none;
  box-shadow:inset 0 0 0 999px rgba(255,255,255,.06),0 3px 8px color-mix(in srgb,var(--status-color) 18%,transparent);
}
.drawer-status-section .drawer-stage-button.status-color-button:disabled:hover{
  background:var(--status-color)!important;
}
@media(max-width:760px){
  .drawer-pdf-lineup .drawer-pdf{height:68dvh;min-height:480px;max-height:720px}
  .drawer-status-section .drawer-stage-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .drawer-pdf-lineup .drawer-pdf{height:62dvh;min-height:400px}
  .drawer-status-section .drawer-stage-actions{grid-template-columns:1fr}
}

/* ===== Compact guided Job Order create flow ===== */
html{scroll-behavior:smooth}
.jo-create-hero{width:100%;max-width:1480px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 14px;padding:8px 2px 4px}
.jo-create-hero-copy{max-width:760px}.jo-create-hero .eyebrow{margin:0 0 5px;color:var(--acid-dark);font-size:9px;font-weight:950;letter-spacing:.18em}.jo-create-hero h1{margin:0;font-size:34px;line-height:1.02;letter-spacing:-.045em}.jo-create-hero p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.jo-create-order-badge{min-width:184px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:right}.jo-create-order-badge span,.jo-create-order-badge strong{display:block}.jo-create-order-badge span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.jo-create-order-badge strong{margin-top:4px;font-size:16px;letter-spacing:.02em}
#jo-form{max-width:1480px}
.jo-create-progress{position:sticky;top:68px;z-index:18;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 0 14px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#e9ebe2;box-shadow:0 5px 16px rgba(17,19,15,.05)}
.jo-create-progress a{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:7px 10px;border-radius:9px;color:#686d61;font-size:9px;font-weight:900;text-decoration:none;text-transform:uppercase;transition:background-color .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)}.jo-create-progress a span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#d6d9cf;color:#74796d;font-size:8px}.jo-create-progress a.is-complete span{background:var(--acid);color:var(--ink)}.jo-create-progress a.is-active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(17,19,15,.08)}.jo-create-progress a:hover{background:#f7f8f3;color:var(--ink)}
.jo-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:16px;align-items:start}.jo-create-main{min-width:0}.jo-create-sidebar{min-width:0;display:grid;gap:12px;position:sticky;top:128px}
#jo-form .jo-section{scroll-margin-top:132px;margin:0 0 14px;padding:18px 20px;border-radius:13px}
#jo-form .jo-section>legend{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:0 0 11px;font-size:12px}#jo-form .jo-section>legend>span{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:var(--ink);color:var(--acid);font-size:9px}
#jo-form .section-help{margin:0 0 13px;font-size:10px;line-height:1.45}#jo-form .section-heading-row{margin-bottom:12px}
#jo-form .form-grid{gap:10px}#jo-form .jo-section>.form-grid+.form-grid{margin-top:10px}#jo-form .field{gap:5px;font-size:9px}#jo-form .field small{font-size:8px;line-height:1.35}#jo-form input:not([type=checkbox]):not([type=radio]),#jo-form select,#jo-form textarea{min-height:40px;padding:9px 11px;font-size:11px}
.jo-process-panel{background:linear-gradient(145deg,#fff 0%,#fbfcf7 100%)}
#jo-form .process-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#jo-form .process-choice{grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;min-height:78px;padding:11px 12px;border-radius:11px}#jo-form .process-choice-icon{width:38px;height:38px;border-radius:10px;font-size:15px}#jo-form .process-choice strong{margin-bottom:2px;font-size:11px}#jo-form .process-choice small{font-size:8px;line-height:1.35}#jo-form .process-choice-check{font-size:13px}
.jo-compact-pair{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr);gap:14px}.jo-compact-pair>.jo-section{height:100%}
#jo-step-customer .form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}#jo-step-customer .form-grid.three>div:empty{display:none}#jo-step-schedule .form-grid,#jo-step-schedule .form-grid.three{grid-template-columns:1fr}#jo-step-schedule .field+ .field{margin-top:0}
#jo-form .jo-team-primary{margin:0 0 11px;padding:11px 12px;border-radius:10px}#jo-form .jo-team-primary input{min-height:45px!important;font-size:15px!important}#jo-form .manual-customer-note{margin-top:3px;font-size:7px}
#jo-form .jo-designs-section{padding:18px}.jo-designs-section .section-heading-row>.button{white-space:nowrap}
#jo-form .jo-items{gap:11px}
#jo-form .jo-item-card{overflow:visible;border:1px solid #d2d5c9;border-top:1px solid #d2d5c9;border-radius:12px;background:#f9faf5;box-shadow:none}
#jo-form .jo-item-head{display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #dfe1d7;border-radius:11px 11px 0 0;background:#eff1e8}
#jo-form .jo-item-head-title{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px}#jo-form .jo-item-head-title .item-number{grid-row:1/3}#jo-form .jo-item-head-title strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#jo-form .jo-item-head-title small{color:var(--muted);font-size:8px}
#jo-form .jo-item-head-actions{display:flex;align-items:center;gap:6px;flex:none}#jo-form .jo-item-toggle{min-height:32px;padding:6px 9px;font-size:8px}
#jo-form .jo-item-body{display:grid;gap:11px;padding:12px;transition:opacity .16s var(--ease)}#jo-form .jo-item-card.is-collapsed .jo-item-body{display:none}#jo-form .jo-item-card.is-collapsed .jo-item-head{border-bottom:0;border-radius:11px}
#jo-form .process-specific-fields,#jo-form .lineup-block,#jo-form .item-design-block{padding:11px;border-radius:10px}#jo-form .lineup-heading{margin-bottom:8px}#jo-form .lineup-heading strong{font-size:10px}#jo-form .lineup-heading span{font-size:8px}
#jo-form .item-design-grid{grid-template-columns:1.3fr .7fr;gap:8px}#jo-form .item-design-block .design-dropzone,#jo-form .item-design-block .design-paste-zone{min-height:82px}#jo-form .design-dropzone>i,#jo-form .design-paste-zone>i{font-size:18px}#jo-form .design-dropzone strong,#jo-form .design-paste-zone strong{font-size:10px}#jo-form .design-dropzone span,#jo-form .design-paste-zone span{font-size:8px}
#jo-form .segmented-options{gap:4px;padding:4px;border-radius:9px}#jo-form .segmented-options span{min-height:34px;padding:6px 8px;font-size:9px}
#jo-form .size-quantity-panel,#jo-form .named-roster-panel{margin-top:10px}#jo-form .size-input-grid{grid-template-columns:repeat(8,minmax(48px,1fr));gap:6px}#jo-form .size-input-grid input{min-height:34px;padding:6px}
#jo-form .lineup-sheet-toolbar{padding:8px}#jo-form .lineup-sheet-actions{gap:5px}#jo-form .lineup-sheet-actions .button{min-height:31px;padding:5px 8px;font-size:8px}#jo-form .lineup-sheet-toolbar>p{font-size:7px}
#jo-form .quantity-summary{min-height:46px;padding:8px 12px;border-radius:9px}#jo-form .quantity-summary input{font-size:18px}
#jo-form .pricing-block{padding:10px;border:1px solid #dfe1d7;border-radius:10px;background:#fff}#jo-form .item-line-total{padding-top:5px;font-size:18px}
.jo-optional-section{scroll-margin-top:132px;margin:0 0 14px;overflow:hidden;border-radius:13px}.jo-optional-section>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;cursor:pointer;list-style:none}.jo-optional-section>summary::-webkit-details-marker{display:none}.jo-optional-section>summary:after{content:'+';width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#eff0e8;font-size:17px;font-weight:700}.jo-optional-section[open]>summary:after{content:'−'}.jo-optional-section>summary span,.jo-optional-section>summary small{display:block}.jo-optional-section>summary span{font-size:11px;font-weight:850}.jo-optional-section>summary span b{margin-right:7px;padding:3px 6px;border-radius:5px;background:#eef1e6;color:#747a6d;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.jo-optional-section>summary small{margin-left:auto;color:var(--muted);font-size:8px}.jo-optional-body{padding:0 18px 16px;border-top:1px solid var(--line)}.jo-optional-body .section-help{padding-top:13px}
#jo-form .artwork-input-grid{gap:8px}#jo-form .artwork-input-grid .design-dropzone,#jo-form .artwork-input-grid .design-paste-zone{min-height:104px}
#jo-form .jo-submit-bar{position:sticky;bottom:8px;z-index:12;align-items:center;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px rgba(17,19,15,.12)}.jo-submit-note{display:flex;align-items:center;gap:8px;margin-right:auto;color:var(--muted);font-size:9px}.jo-submit-note i{color:var(--acid-dark)}
.jo-create-summary{overflow:hidden}.jo-create-summary>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:var(--ink);color:#fff}.jo-create-summary>header span,.jo-create-summary>header strong{display:block}.jo-create-summary>header span{color:#b7bdad;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.jo-create-summary>header strong{margin-top:3px;font-size:13px}.jo-create-summary>header>i{color:var(--acid);font-size:18px}
.jo-summary-progress{height:5px;background:#e4e7dd}.jo-summary-progress span{width:0;height:100%;display:block;background:var(--acid-dark);transition:width .24s var(--ease)}.jo-create-summary>p{margin:0;padding:10px 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:8px}
.jo-create-summary dl{margin:0}.jo-create-summary dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 15px;border-bottom:1px solid #eceee6}.jo-create-summary dt{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.jo-create-summary dd{max-width:145px;margin:0;font-size:9px;font-weight:800;text-align:right;overflow-wrap:anywhere}
.jo-summary-total{padding:14px 15px;background:#f6ffd7}.jo-summary-total span,.jo-summary-total strong{display:block}.jo-summary-total span{color:#66704f;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.jo-summary-total strong{margin-top:4px;font-size:20px;letter-spacing:-.03em}
.jo-create-help{padding:14px 15px}.jo-create-help>strong{font-size:10px}.jo-create-help ol{display:grid;gap:7px;margin:10px 0 0;padding-left:17px;color:var(--muted);font-size:8px;line-height:1.4}.jo-create-help li::marker{color:var(--acid-dark);font-weight:900}
@media(max-width:1250px){.jo-create-layout{grid-template-columns:minmax(0,1fr) 245px}.jo-compact-pair{grid-template-columns:1fr}.jo-compact-pair>.jo-section{height:auto}#jo-step-customer .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}#jo-step-schedule .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}#jo-step-schedule .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1020px){.jo-create-layout{grid-template-columns:1fr}.jo-create-sidebar{position:static;grid-template-columns:1fr 1fr;order:-1}.jo-create-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.jo-create-summary dl>div{display:block}.jo-create-summary dd{max-width:none;margin-top:3px;text-align:left}.jo-create-progress{top:62px}.jo-create-help{display:none}}
@media(max-width:760px){.jo-create-hero{align-items:flex-start;flex-direction:column}.jo-create-order-badge{width:100%;text-align:left}.jo-create-progress{position:static;grid-template-columns:repeat(5,minmax(68px,1fr));overflow-x:auto}.jo-create-progress a{flex-direction:column;gap:3px;min-height:52px;padding:5px;font-size:7px}.jo-create-progress a b{white-space:nowrap}.jo-create-sidebar{grid-template-columns:1fr}.jo-create-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}#jo-form .process-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#jo-step-customer .form-grid.three,#jo-step-schedule .form-grid.three,#jo-step-schedule .form-grid{grid-template-columns:1fr 1fr}#jo-form .jo-submit-bar{bottom:4px;flex-wrap:wrap}.jo-submit-note{width:100%}.jo-optional-section>summary small{display:none}}
@media(max-width:540px){.jo-create-hero h1{font-size:28px}#jo-form .process-choice-grid{grid-template-columns:1fr}#jo-step-customer .form-grid.three,#jo-step-schedule .form-grid.three,#jo-step-schedule .form-grid{grid-template-columns:1fr}#jo-form .item-design-grid{grid-template-columns:1fr}#jo-form .jo-item-head-title small{display:none}#jo-form .jo-item-toggle span{display:none}#jo-form .jo-submit-bar .button{flex:1}.jo-create-summary dl{grid-template-columns:1fr 1fr}}

/* ===== Full Job Order edit workspace ===== */
.jo-create-hero.is-editing .jo-create-order-badge{background:#fff7d6;border-color:#e5cf73}
.ai-lineup-dialog-backdrop[hidden],.ai-lineup-review[hidden],.ai-lineup-file-summary[hidden],.ai-lineup-error[hidden],.ai-lineup-warnings[hidden]{display:none!important}
body.ai-lineup-dialog-open{overflow:hidden}
.ai-lineup-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(12,14,10,.62)}
.ai-lineup-dialog{width:min(1480px,100%);max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #cdd0c5;border-radius:16px;background:var(--paper);box-shadow:0 28px 90px rgba(0,0,0,.34)}
.ai-lineup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fff}.ai-lineup-head .eyebrow{display:block;margin-bottom:4px;color:var(--acid-dark);font-size:8px;font-weight:950;letter-spacing:.16em}.ai-lineup-head h2{margin:0;font-size:22px;letter-spacing:-.035em}.ai-lineup-head p{max-width:760px;margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.ai-lineup-upload{min-height:390px;display:grid;place-items:center;align-content:center;gap:14px;padding:34px;overflow:auto}.ai-lineup-dropzone{width:min(680px,100%);min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;border:2px dashed #b9beb0;border-radius:14px;background:#fafbf6;color:var(--muted);cursor:pointer;text-align:center;transition:border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease)}.ai-lineup-dropzone:hover,.ai-lineup-dropzone:focus-within,.ai-lineup-dropzone.is-dragging{border-color:var(--acid-dark);background:#f7ffd9;box-shadow:0 0 0 4px rgba(215,255,63,.2)}.ai-lineup-dropzone>i{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:var(--ink);color:var(--acid);font-size:20px}.ai-lineup-dropzone strong{color:var(--ink);font-size:15px}.ai-lineup-dropzone span{font-size:10px;line-height:1.45}.ai-lineup-file-summary{width:min(680px,100%);display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.ai-lineup-file-summary>i{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#eff1e8;color:#656b5d}.ai-lineup-file-summary strong,.ai-lineup-file-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-lineup-file-summary strong{font-size:10px}.ai-lineup-file-summary small{margin-top:2px;color:var(--muted);font-size:8px}.ai-lineup-error{width:min(680px,100%);margin:0}.ai-lineup-analyze{min-width:230px;min-height:44px}.ai-lineup-analyze.is-loading i{animation:spin .75s linear infinite}
.ai-lineup-review{min-height:0;overflow:auto;padding:14px}.ai-lineup-review-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:0 2px}.ai-lineup-review-meta strong,.ai-lineup-review-meta span{display:block}.ai-lineup-review-meta strong{font-size:12px}.ai-lineup-review-meta div>span{margin-top:2px;color:var(--muted);font-size:8px}.ai-lineup-review-badge{display:inline-flex!important;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff2c7;color:#5d4700;font-size:8px!important;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.ai-lineup-compare{min-height:480px;display:grid;grid-template-columns:minmax(300px,.38fr) minmax(0,.62fr);gap:12px}.ai-lineup-source,.ai-lineup-converted{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.ai-lineup-source,.ai-lineup-converted{display:grid;grid-template-rows:auto minmax(0,1fr)}.ai-lineup-source>header,.ai-lineup-converted>header{padding:11px 13px;border-bottom:1px solid var(--line);background:#f4f5ef}.ai-lineup-source>header strong,.ai-lineup-source>header span,.ai-lineup-converted>header strong,.ai-lineup-converted>header span{display:block}.ai-lineup-source>header strong,.ai-lineup-converted>header strong{font-size:10px}.ai-lineup-source>header span,.ai-lineup-converted>header span{margin-top:2px;color:var(--muted);font-size:8px}.ai-lineup-source>div{min-height:0;display:grid;place-items:center;overflow:auto;background:#e7e9e3}.ai-lineup-source img,.ai-lineup-source object{width:100%;height:100%;min-height:430px;display:block;object-fit:contain;border:0}.ai-lineup-converted{grid-template-rows:auto auto minmax(0,1fr)}.ai-lineup-warnings{padding:9px 12px;border-bottom:1px solid #ead58a;background:#fff9df;color:#5c470a;font-size:8px;line-height:1.5}.ai-lineup-warnings strong{display:block;margin-bottom:2px}.ai-lineup-table-wrap{min-height:0;overflow:auto}.ai-lineup-table{width:100%;min-width:1260px;border-collapse:separate;border-spacing:0}.ai-lineup-table th{position:sticky;top:0;z-index:1;padding:8px;border-bottom:1px solid #cfd2c8;background:#eff1e9;color:#676d60;font-size:7px;font-weight:900;letter-spacing:.06em;text-align:left;text-transform:uppercase}.ai-lineup-table td{padding:4px;border-bottom:1px solid #eceee7;vertical-align:top}.ai-lineup-table input{width:100%;min-height:36px;padding:7px 8px;border:1px solid #ced2c7;border-radius:7px;background:#fff;font-size:9px}.ai-lineup-table input:focus{position:relative;z-index:2}.ai-lineup-table th:nth-child(1){width:70px}.ai-lineup-table th:nth-child(2){width:95px}.ai-lineup-table th:nth-child(3){width:130px}.ai-lineup-table th:nth-child(4){width:72px}.ai-lineup-table th:nth-child(5),.ai-lineup-table th:nth-child(6){width:84px}.ai-lineup-table th:nth-child(7),.ai-lineup-table th:nth-child(8),.ai-lineup-table th:nth-child(9),.ai-lineup-table th:nth-child(10){width:88px}.ai-lineup-table th:nth-child(11){width:64px}.ai-lineup-table th:nth-child(12){width:190px}.ai-confidence{display:flex;align-items:center;gap:5px;min-height:36px;padding:5px 4px;font-size:7px;font-weight:900;text-transform:uppercase}.ai-confidence i{font-size:8px}.ai-confidence.high{color:#36711e}.ai-confidence.medium{color:#866700}.ai-confidence.low{color:#a22c2c}.ai-row-remove{width:36px;height:36px;display:grid;place-items:center;border:1px solid #e1b8b8;border-radius:7px;background:#fff4f4;color:#a52c2c;cursor:pointer}.ai-row-remove:focus-visible{outline:3px solid #1882ff;outline-offset:1px}
.ai-lineup-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 14px;border-top:1px solid var(--line);background:#fff}.ai-lineup-foot>span{margin-right:auto;color:var(--muted);font-size:8px}.ai-lineup-foot .button{min-height:40px}
.ai-lineup-dropzone kbd{margin-top:5px;padding:4px 8px;border:1px solid #c8ccbf;border-bottom-width:2px;border-radius:6px;background:#fff;color:var(--ink);font:800 9px/1 inherit}.ai-lineup-paste{min-width:230px}.ai-lineup-paste[hidden]{display:none!important}

@media(max-width:700px){.ai-lineup-upload{min-height:330px;padding:20px 14px}.ai-lineup-dropzone{min-height:210px;padding:18px 14px}.ai-lineup-paste,.ai-lineup-analyze{width:100%;min-width:0}}
@media(max-width:980px){.ai-lineup-dialog-backdrop{padding:0}.ai-lineup-dialog{max-height:100dvh;height:100dvh;border:0;border-radius:0}.ai-lineup-compare{grid-template-columns:1fr}.ai-lineup-source img,.ai-lineup-source object{min-height:340px;height:55dvh}.ai-lineup-foot{flex-wrap:wrap}.ai-lineup-foot>span{width:100%;margin:0}.ai-lineup-foot .button{flex:1}.ai-lineup-review{padding:10px}}
@media(max-width:540px){.ai-lineup-head{padding:14px}.ai-lineup-head h2{font-size:19px}.ai-lineup-head p{font-size:9px}.ai-lineup-upload{padding:18px}.ai-lineup-dropzone{min-height:190px}.ai-lineup-review-meta{align-items:flex-start;flex-direction:column}.ai-lineup-foot>span{display:none}.ai-lineup-file-summary{grid-template-columns:36px minmax(0,1fr)}.ai-lineup-file-summary .button{grid-column:1/-1;width:100%}}
@media(prefers-reduced-motion:reduce){.ai-lineup-dropzone{transition:none}}
.ai-lineup-converted{display:flex;flex-direction:column;grid-template-rows:none}.ai-lineup-table-wrap{flex:1}
.ai-lineup-head p,.ai-lineup-dropzone span,.ai-lineup-source>header span,.ai-lineup-converted>header span{font-size:12px}.ai-lineup-source>header strong,.ai-lineup-converted>header strong,.ai-lineup-review-meta strong{font-size:13px}.ai-lineup-review-meta div>span,.ai-lineup-warnings,.ai-lineup-foot>span{font-size:11px}.ai-lineup-table th,.ai-confidence{font-size:10px}.ai-lineup-table input{font-size:12px}.ai-lineup-file-summary strong{font-size:12px}.ai-lineup-file-summary small{font-size:11px}.ai-lineup-file-summary .button,.ai-row-remove,.ai-lineup-foot .button{min-height:44px}.ai-row-remove{width:44px;height:44px}
@media(max-width:540px){.ai-lineup-table input{font-size:16px}}
#jo-form[data-mode="edit"] .jo-process-panel{position:relative;background:linear-gradient(145deg,#f8f9f4 0%,#f1f3eb 100%)}
#jo-form[data-mode="edit"] .process-choice:has(input:disabled:not(:checked)){display:none}
#jo-form[data-mode="edit"] .process-choice:has(input:checked){cursor:default;border-color:#aeb4a3;background:#fff;box-shadow:none}
#jo-form[data-mode="edit"] .process-choice:has(input:checked)::after{content:'WORKFLOW LOCKED';position:absolute;right:10px;bottom:8px;padding:3px 6px;border-radius:999px;background:#eef0e9;color:#6e7468;font-size:6px;font-weight:950;letter-spacing:.09em}
#jo-form[data-mode="edit"] .jo-item-head-actions [data-repeat-remove].is-locked{border-color:#d7d9d0;background:#eceee8;color:#8d9288;cursor:not-allowed;opacity:1}
.edit-reason-callout{display:flex;align-items:flex-start;gap:11px;margin:12px 0;padding:12px 13px;border:1px solid #d7dfb5;border-radius:11px;background:#f8ffe0;color:var(--ink)}
.edit-reason-callout>i{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--acid);font-size:13px}
.edit-reason-callout strong,.edit-reason-callout span{display:block}.edit-reason-callout strong{font-size:10px}.edit-reason-callout span{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.45}
.jo-edit-reason-section textarea{min-height:82px!important;resize:vertical}
.existing-artwork-card{position:relative;border-color:#cdd2c4;background:#fff}
.existing-artwork-card.is-marked-for-removal{opacity:.5;border-color:#ef7777;background:#fff1f1}
.existing-artwork-card.is-marked-for-removal img{filter:grayscale(1)}
.existing-artwork-remove{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:5px 8px!important;border:1px solid #e4b5b5;border-radius:7px;background:#fff4f4;color:#b42323;font-size:8px!important;font-weight:900;cursor:pointer}
.existing-artwork-remove input{width:13px!important;height:13px!important;min-height:0!important;margin:0!important;accent-color:#dc2626}
.existing-artwork-remove span{display:inline!important;color:inherit!important;font-size:inherit!important}
.jo-edit-history{overflow:hidden}.jo-edit-history>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;border-bottom:1px solid var(--line);background:#f8f9f4}.jo-edit-history>header strong{font-size:10px}.jo-edit-history>header span{color:var(--muted);font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.jo-edit-history-list{max-height:360px;overflow:auto;padding:5px 13px 12px}.jo-edit-history-list article{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid #eceee7}.jo-edit-history-list article:last-child{border-bottom:0}.jo-edit-history-dot{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--acid-dark);box-shadow:0 0 0 3px #f0f8cf}.jo-edit-history-list strong{display:block;font-size:8px}.jo-edit-history-list p{margin:3px 0;color:#50554c;font-size:7px;line-height:1.45;overflow-wrap:anywhere}.jo-edit-history-list small{display:block;color:var(--muted);font-size:6px;line-height:1.35}.jo-edit-history-list>.empty-state{padding:16px 0;text-align:center;color:var(--muted);font-size:8px}
@media(max-width:1020px){.jo-edit-history{display:none}}

/* ===== Job Order directory clarity update ===== */
.job-orders-page-head{margin-bottom:18px}
.job-orders-page-head .page-subtitle{max-width:720px}
.order-summary-grid-compact>article{min-height:104px;padding:15px 17px}
.order-summary-grid-compact strong{margin-top:8px;font-size:clamp(23px,2vw,34px)}
.order-summary-grid-compact small{margin-top:5px}
.order-summary-label{display:flex;align-items:center;gap:7px}
.order-summary-label i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#f0f1ea;color:#72766b;font-size:9px}
.order-summary-grid-compact .accent .order-summary-label i{background:rgba(17,19,15,.12);color:var(--ink)}
.order-summary-grid-compact .accent span{color:#46520f}

.order-filter-panel-clear{position:relative;grid-template-columns:minmax(280px,2fr) repeat(4,minmax(135px,.8fr)) auto;padding-top:42px;box-shadow:0 2px 0 rgba(17,19,15,.02)}
.order-filter-heading{position:absolute;top:0;left:0;right:0;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #eceee5;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.order-filter-heading>span{display:flex;align-items:center;gap:6px}
.order-filter-heading a{color:#4f5f12;text-decoration:none}
.order-filter-heading a:hover{text-decoration:underline}
.order-filter-panel-clear .control{min-height:42px}
.order-filter-panel-clear .button{min-height:42px}

.job-order-list-panel-clear{overflow:visible}
.job-order-list-head{align-items:flex-end;padding:16px 18px}
.job-order-list-head .eyebrow{margin:0 0 2px;color:var(--muted);font-size:8px}
.job-order-list-head h3{font-size:17px}
.job-order-list-hint{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:8px;background:#f0f1e9;color:#666b60;font-size:9px;font-weight:800;white-space:nowrap}
.job-order-list-hint i{color:#8cae12}
.job-order-table-view{border-radius:0 0 var(--radius) var(--radius)}
.job-order-table-clear{min-width:1180px;table-layout:fixed}
.job-order-table-clear th{position:sticky;top:0;z-index:2;padding:10px 11px;background:#f5f6f0}
.job-order-table-clear td{padding:12px 11px}
.job-order-table-clear th:nth-child(1),.job-order-table-clear td:nth-child(1){width:42px}
.job-order-table-clear th:nth-child(2),.job-order-table-clear td:nth-child(2){width:155px}
.job-order-table-clear th:nth-child(3),.job-order-table-clear td:nth-child(3){width:195px}
.job-order-table-clear th:nth-child(4),.job-order-table-clear td:nth-child(4){width:225px}
.job-order-table-clear th:nth-child(5),.job-order-table-clear td:nth-child(5){width:180px}
.job-order-table-clear th:nth-child(6),.job-order-table-clear td:nth-child(6){width:135px}
.job-order-table-clear th:nth-child(7),.job-order-table-clear td:nth-child(7){width:145px}
.job-order-table-clear th:nth-child(8),.job-order-table-clear td:nth-child(8){width:110px}
.job-order-table-clear thead a{display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.job-order-table-clear thead a i{font-size:7px;opacity:.5}
.job-order-row{transition:background-color .16s ease,box-shadow .16s ease}
.job-order-row:hover{background:#fbffe9!important;box-shadow:inset 3px 0 0 var(--acid-dark)}
.select-column{text-align:center!important}
.select-column input{width:15px;height:15px;accent-color:var(--ink)}
.actions-column{text-align:right!important}
.job-order-number-link{max-width:100%;display:inline-flex!important;align-items:center;gap:7px;color:var(--ink)!important;font-size:12px!important;font-weight:950!important;letter-spacing:.01em;text-decoration:none!important}
.job-order-number-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-order-number-link i{flex:0 0 auto;color:#759500;font-size:9px;transition:transform .15s ease}
.job-order-number-link:hover{color:#587000!important;text-decoration:underline!important;text-underline-offset:3px}
.job-order-number-link:hover i{transform:translate(1px,-1px)}
.job-order-project-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.job-order-table-clear .table-sub i{width:12px;margin-right:4px;color:#9ca092;font-size:8px;text-align:center}
.job-order-schedule-cell{min-width:0}
.job-order-date-line{display:flex;align-items:center;gap:6px;white-space:nowrap}
.job-order-date-line>span{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}
.job-order-date-line>strong{font-size:11px}
.job-order-date-line>small{padding:2px 6px;border-radius:99px;background:#ffe3e0;color:var(--danger);font-size:7px;font-weight:900;text-transform:uppercase}
.job-order-date-line.is-overdue>strong{color:var(--danger)}
.job-order-method-line{max-width:100%;display:block!important;overflow:hidden;margin-top:7px!important;text-overflow:ellipsis;white-space:nowrap}
.job-order-payment-cell .status-pill{margin-bottom:4px}
.job-order-amount-cell>strong{display:block;font-size:12px;font-variant-numeric:tabular-nums}
.job-order-balance-line{display:block;margin-top:4px;font-size:8px;font-weight:850;font-variant-numeric:tabular-nums}
.job-order-balance-line.has-balance{color:var(--danger)}
.job-order-balance-line.is-paid{color:var(--success)}

.row-action-menu{position:relative;display:inline-block;text-align:left}
.row-action-menu>summary{list-style:none}
.row-action-menu>summary::-webkit-details-marker{display:none}
.row-action-trigger{min-width:94px;justify-content:space-between;background:#fff}
.row-action-trigger i{font-size:8px;transition:transform .15s ease}
.row-action-menu[open] .row-action-trigger{border-color:var(--ink);background:var(--ink);color:#fff}
.row-action-menu[open] .row-action-trigger i{transform:rotate(180deg)}
.row-action-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:90;width:220px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 20px 55px rgba(17,19,15,.2)}
.row-action-popover.is-fixed{position:fixed;right:auto;top:auto}
.row-action-popover>strong{display:block;padding:7px 9px 6px;color:var(--muted);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.row-action-popover a,.row-action-danger{width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:10px;font-weight:800;text-align:left;text-decoration:none}
.row-action-popover a:hover,.row-action-danger:hover{background:#f0f2e9}
.row-action-popover a i,.row-action-danger i{width:16px;color:#777c70;text-align:center}
.row-action-divider{height:1px;margin:6px 3px;background:var(--line)}
.row-action-danger{color:var(--danger)}
.row-action-danger i{color:var(--danger)}

.job-order-bulk-actions{min-height:58px;align-items:center;justify-content:space-between;opacity:.72;transition:opacity .15s ease,background-color .15s ease}
.job-order-bulk-actions.has-selection{background:#f7ffd9;opacity:1}
.job-order-bulk-actions>div{display:flex;gap:7px}
.bulk-selection-count{color:var(--muted);font-size:10px;font-weight:800}
.bulk-selection-count strong{display:inline-grid;min-width:23px;height:23px;place-items:center;margin-right:5px;border-radius:7px;background:var(--ink);color:#fff;font-size:9px}

.job-order-list-card-clear .job-order-number-link{margin-bottom:8px}
.job-order-list-card-clear header>div{min-width:0}
.job-order-list-card-clear header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-order-card-wide{grid-column:1/-1}
.job-order-list-card-clear footer>.button{flex:1}
.row-action-menu-mobile{flex:1}
.row-action-menu-mobile>summary{width:100%}

@media(max-width:1250px){
  .order-filter-panel-clear{grid-template-columns:2fr repeat(2,1fr)}
  .order-filter-panel-clear .order-filter-search{grid-column:span 2}
  .order-filter-panel-clear .order-filter-actions{justify-content:stretch}
  .order-filter-panel-clear .order-filter-actions .button{width:100%}
}
@media(max-width:900px){
  .job-order-list-hint{display:none}
}
@media(max-width:760px){
  .job-orders-page-head{align-items:flex-start}
  .job-orders-page-head .head-actions{width:100%}
  .job-orders-page-head .head-actions .button{flex:1}
  .order-filter-panel-clear{grid-template-columns:1fr 1fr;padding-top:42px}
  .order-filter-panel-clear .order-filter-search{grid-column:1/-1}
  .order-filter-panel-clear .order-filter-actions{grid-column:1/-1}
  .job-order-list-head{padding:14px}
  .job-order-list-card-clear>header{align-items:flex-start}
  .job-order-list-card-clear footer{position:relative;overflow:visible}
  .row-action-menu-mobile .row-action-popover{position:fixed;inset:auto 12px 12px 12px;z-index:200;width:auto;padding:10px;border-radius:15px;box-shadow:0 25px 80px rgba(17,19,15,.35)}
  .row-action-menu-mobile .row-action-popover:before{content:"Order actions";display:block;padding:4px 9px 8px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
  .row-action-menu-mobile .row-action-popover a,.row-action-menu-mobile .row-action-danger{min-height:44px;font-size:12px}
  .job-order-bulk-actions>div{display:grid;grid-template-columns:1fr 1fr;width:100%}
}
@media(max-width:480px){
  .order-filter-panel-clear{grid-template-columns:1fr}
  .order-filter-panel-clear .order-filter-search,.order-filter-panel-clear .order-filter-actions{grid-column:auto}
  .order-filter-heading{font-size:7px}
  .order-summary-grid-compact>article{min-height:94px;padding:12px}
  .order-summary-grid-compact strong{font-size:22px}
}
@media print{
  .job-orders-page-head .head-actions,.order-filter-panel-clear,.select-column,.actions-column,.job-order-bulk-actions,.pagination{display:none!important}
  .job-order-list-panel-clear{border:0;box-shadow:none}
  .job-order-table-view{overflow:visible}
  .job-order-table-clear{min-width:0;table-layout:auto}
}

/* ===== Production Projects directory and workspace clarity update ===== */
.projects-page-head,.project-workspace-head{margin-bottom:16px}
.projects-page-head .page-subtitle{max-width:800px}
.project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.project-summary-grid article{min-height:104px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 2px 0 rgba(17,19,15,.025)}
.project-summary-grid article.accent{border-color:var(--ink);background:var(--ink);color:#fff}
.project-summary-grid article.is-overdue{border-color:#f4aaa2;background:#fff5f3}
.project-summary-grid span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.project-summary-grid span i{width:21px;height:21px;display:grid;place-items:center;border-radius:6px;background:#f0f1ea;color:#74796e;font-size:9px}
.project-summary-grid .accent span{color:var(--acid)}
.project-summary-grid .accent span i{background:rgba(215,255,63,.14);color:var(--acid)}
.project-summary-grid strong{display:block;margin-top:9px;font-size:clamp(24px,2.2vw,34px);font-weight:950;line-height:1;font-variant-numeric:tabular-nums}
.project-summary-grid small{display:block;margin-top:6px;color:var(--muted);font-size:9px}
.project-summary-grid .accent small{color:#c8ccc0}
.project-summary-grid .is-overdue strong{color:var(--danger)}

.project-filter-panel{position:relative;display:grid;grid-template-columns:minmax(320px,1.65fr) minmax(190px,.8fr) minmax(170px,.7fr) auto;gap:9px;margin-bottom:12px;padding:42px 12px 12px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 2px 0 rgba(17,19,15,.02)}
.project-filter-heading{position:absolute;inset:0 0 auto;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #eceee5;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.project-filter-heading span{display:flex;align-items:center;gap:6px}
.project-filter-heading a{color:#4f5f12;text-decoration:none;text-transform:none;letter-spacing:0}
.project-filter-heading a:hover{text-decoration:underline}
.project-filter-field{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}
.project-filter-panel .control,.project-filter-panel .button{min-height:42px}
.project-filter-actions{display:flex;align-items:end}

.project-directory-panel{overflow:visible}
.project-directory-head{align-items:flex-end;padding:16px 18px}
.project-directory-head .eyebrow,.project-panel-head .eyebrow{margin:0 0 3px;color:var(--muted);font-size:8px}
.project-directory-head h3,.project-panel-head h3{font-size:17px}
.project-directory-head>div>span,.project-panel-head>div>span{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.project-directory-hint{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:8px;background:#f0f1e9;color:#666b60;font-size:9px;font-weight:800;white-space:nowrap}
.project-directory-hint i{color:#8cae12}
.project-table-view{border-radius:0 0 var(--radius) var(--radius)}
.project-directory-table{min-width:1220px;table-layout:fixed}
.project-directory-table th{position:sticky;top:0;z-index:3;padding:9px 12px;background:#f5f6f0}
.project-directory-table td{padding:8px 12px;vertical-align:middle}
.project-directory-table th:nth-child(1),.project-directory-table td:nth-child(1){width:220px}
.project-directory-table th:nth-child(2),.project-directory-table td:nth-child(2){width:220px}
.project-directory-table th:nth-child(3),.project-directory-table td:nth-child(3){width:210px}
.project-directory-table th:nth-child(4),.project-directory-table td:nth-child(4){width:160px}
.project-directory-table th:nth-child(5),.project-directory-table td:nth-child(5){width:165px}
.project-directory-table th:nth-child(6),.project-directory-table td:nth-child(6){width:135px}
.project-directory-table th:nth-child(7),.project-directory-table td:nth-child(7){width:110px}
.project-directory-table th:nth-child(1),.project-directory-table td:nth-child(1){position:sticky;left:0;z-index:1;background:#fff;box-shadow:3px 0 6px -4px rgba(17,19,15,.25)}
.project-directory-table th:nth-child(1){z-index:4;background:#f5f6f0}
.project-directory-table .table-main,.project-directory-table .table-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-directory-table .project-team-link{margin-top:2px}
.project-directory-table .project-jo-link{margin-top:3px}
.project-directory-table .table-sub{margin-top:2px}
.project-directory-table .project-method-badge{margin-top:4px}
.project-directory-table .project-stage-full{min-height:24px;padding:5px 8px}
.project-directory-table .project-state-label{margin-top:3px}
.project-directory-table .project-progress-copy{margin-bottom:3px}
.project-directory-table .project-progress-track{height:6px}
.project-directory-table .project-fabric-cell{gap:3px}
.project-directory-row:nth-child(even) td{background:#fafaf6}
.project-directory-row:nth-child(even) td:first-child{background:#fafaf6}
.project-directory-row{transition:background-color .16s ease,box-shadow .16s ease}
.project-directory-row:hover td,.project-directory-row:hover td:first-child{background:#fbffe9!important}
.project-directory-row:hover{box-shadow:inset 3px 0 0 var(--acid-dark)}
.project-directory-row.is-overdue{box-shadow:inset 3px 0 0 var(--danger)}
.project-number-link{max-width:100%;display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:11px;font-weight:950;letter-spacing:.025em;text-decoration:none}
.project-number-link>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-number-link>.fa-star{color:#c99b00}
.project-number-link>.fa-arrow-up-right-from-square{color:#789600;font-size:8px;transition:transform .15s ease}
.project-number-link:hover{text-decoration:underline;text-underline-offset:3px}
.project-number-link:hover>.fa-arrow-up-right-from-square{transform:translate(1px,-1px)}
.project-team-link{max-width:100%;display:block;overflow:hidden;margin-top:5px;color:var(--ink);font-size:13px;font-weight:900;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.project-team-link:hover{color:#587000;text-decoration:underline;text-underline-offset:3px}
.project-jo-link{display:inline-flex;align-items:center;gap:5px;margin-top:5px;color:var(--muted);font-size:8px;font-weight:800;text-decoration:none}
.project-jo-link:hover{color:var(--ink)}
.project-directory-table .table-sub{display:block;margin-top:4px}
.project-directory-table .table-sub i{width:12px;margin-right:3px;color:#9ca092;font-size:8px;text-align:center}
.project-deadline-line{display:flex;align-items:center;gap:6px;white-space:nowrap}
.project-deadline-line>span{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}
.project-deadline-line>strong{font-size:11px}
.project-deadline-line>small{padding:2px 6px;border-radius:99px;background:#ffe3e0;color:var(--danger);font-size:7px;font-weight:900;text-transform:uppercase}
.project-deadline-line.is-overdue>strong{color:var(--danger)}
.project-method-badge{max-width:100%;display:inline-block;overflow:hidden;margin-top:8px;border-left:3px solid var(--method-color);text-overflow:ellipsis;white-space:nowrap}
.project-stage-full{min-height:31px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--stage-color,var(--status-color,#64748b)) 80%,#111);border-radius:8px;background:var(--stage-color,var(--status-color,#64748b));color:var(--stage-text,var(--status-text,#fff));font-size:9px;font-weight:950;line-height:1.15;text-transform:uppercase;box-shadow:inset 0 -1px 0 rgba(0,0,0,.12)}
.project-stage-full i{width:8px;height:8px;flex:0 0 8px;border:2px solid currentColor;border-radius:50%;background:transparent;opacity:.85}
.project-state-label{display:block;width:max-content;margin-top:5px;padding:3px 6px;border-radius:99px;background:#eceee7;color:#656a5f;font-size:7px;font-weight:900;text-transform:uppercase}
.project-state-label.is-hold{background:#ffe4e1;color:#b5291d}.project-state-label.is-completed{background:#dff8e9;color:#08783b}.project-state-label.is-cancelled{background:#ececec;color:#555}
.project-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.project-progress-copy strong{font-size:10px;font-variant-numeric:tabular-nums}.project-progress-copy span{color:var(--muted);font-size:8px;font-weight:850}
.project-progress-track{height:7px;overflow:hidden;border-radius:99px;background:#e5e7de}
.project-progress-track>i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#88a900,var(--acid));transition:width .3s ease}
.project-action-menu .row-action-trigger{min-width:94px}
.project-card-list{display:none}

/* Project detail workspace */
.project-workspace-head{align-items:flex-end}
.project-workspace-title{min-width:0;max-width:920px}
.project-workspace-head .project-team-title{font-size:clamp(42px,4.6vw,70px)}
.project-title-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.project-title-meta>a,.project-title-meta>span{min-height:29px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:99px;background:#fff;color:#555b50;font-size:9px;font-weight:800;text-decoration:none}
.project-title-meta>a{border-color:var(--ink);background:var(--ink);color:#fff}.project-title-meta>a:hover{background:#272a23}
.project-title-meta i{font-size:8px}
.project-workspace-actions{flex-wrap:wrap;justify-content:flex-end}
.project-section-nav{position:relative;z-index:5;top:auto;display:flex;gap:5px;margin-bottom:12px;padding:7px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(17,19,15,.06);backdrop-filter:blur(12px)}
.project-section-nav a{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:8px;color:#676c61;font-size:9px;font-weight:850;text-decoration:none;transition:background .15s ease,color .15s ease}
.project-section-nav a:hover{background:#f0f2e8;color:var(--ink)}
.project-section-nav a.is-active{background:var(--ink);color:#fff}.project-section-nav a.is-active i{color:var(--acid)}
.project-hold{display:flex;align-items:center;gap:12px}.project-hold>i{font-size:20px}.project-hold div{display:grid;gap:2px}.project-hold strong{font-size:9px;letter-spacing:.08em}.project-hold span{font-size:11px}
.project-status-dashboard{display:grid;grid-template-columns:1.35fr .9fr 1fr 1fr;gap:1px;overflow:hidden;margin-bottom:12px;border:1px solid var(--ink);border-top:5px solid var(--stage-color);border-radius:13px;background:#2d3029;box-shadow:0 3px 0 rgba(17,19,15,.04)}
.project-status-dashboard>div{min-width:0;padding:16px 18px;background:var(--ink);color:#fff}
.project-status-dashboard>div+div{border-left:1px solid #33372e}
.project-status-dashboard span{display:block;color:#aeb4a7;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.project-status-dashboard strong{display:block;margin-top:7px;font-size:22px;font-weight:950;line-height:1.05;font-variant-numeric:tabular-nums}
.project-status-dashboard strong small{font-size:12px;color:#aeb4a7}
.project-status-dashboard>div>small{display:block;margin-top:6px;color:#c4c9bd;font-size:8px}
.project-current-stage{background:var(--stage-color)!important;color:var(--stage-text)!important}
.project-current-stage span,.project-current-stage small{color:color-mix(in srgb,var(--stage-text) 76%,transparent)!important}
.project-current-stage strong{display:flex;align-items:center;gap:10px;font-size:25px;text-transform:uppercase}
.project-current-stage strong i{width:12px;height:12px;border:3px solid currentColor;border-radius:50%}
.project-deadline-card.is-overdue{background:#851e17!important}.project-deadline-card.is-overdue span,.project-deadline-card.is-overdue small{color:#ffd0ca!important}
.project-progress-track-light{margin-top:10px;background:#3b3f35}.project-progress-track-light>i{background:var(--acid)}
.project-workspace-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);gap:12px;align-items:start}
.project-main-column,.project-side-column{min-width:0;display:grid;gap:12px}
.project-panel-head{align-items:flex-end;padding:15px 17px}.project-panel-head>div:first-child{min-width:0}
.project-panel-count{min-width:62px;padding:8px 10px;border-radius:9px;background:#f0f2e9;text-align:center}.project-panel-count strong,.project-panel-count span{display:block}.project-panel-count strong{font-size:16px}.project-panel-count span{color:var(--muted);font-size:7px;font-weight:850;text-transform:uppercase}
.project-artwork-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:14px}
.project-artwork-primary{position:relative;min-height:320px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#eceee7;color:inherit;text-decoration:none}
.project-artwork-primary img{width:100%;height:min(480px,44vw);display:block;object-fit:contain}
.project-artwork-primary span{position:absolute;right:9px;bottom:9px;max-width:calc(100% - 18px);display:flex;align-items:center;gap:6px;overflow:hidden;padding:7px 9px;border-radius:8px;background:rgba(17,19,15,.88);color:#fff;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.project-artwork-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.project-artwork-thumbs a{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#f7f8f3;color:inherit;text-decoration:none}.project-artwork-thumbs img{width:100%;height:105px;display:block;object-fit:contain}.project-artwork-thumbs span{display:block;overflow:hidden;padding:7px 8px;font-size:8px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.project-no-artwork{min-height:260px}.project-no-artwork strong{font-size:14px}.project-no-artwork span{font-size:10px}.project-no-artwork .button{margin-top:4px}
.project-spec-grid-clear{grid-template-columns:repeat(4,minmax(0,1fr))}.project-spec-grid-clear .project-spec-wide{grid-column:span 2}.project-spec-grid-clear dd{line-height:1.35}
.project-item-notes strong{display:flex;align-items:center;gap:6px}
.project-lineup-panel-clear{scroll-margin-top:154px}.project-lineup-scroll{max-height:560px;overflow:auto;scrollbar-width:thin}.project-lineup-table{min-width:820px}.project-lineup-table thead th{position:sticky;top:0;z-index:2;background:#f2f4ed}.project-size-chip{min-width:38px;display:inline-grid;place-items:center;padding:5px 7px;border-radius:7px;background:#eef0e8;font-size:9px;font-weight:900}
.project-side-column{position:relative}.project-pdf-panel-clear{position:sticky;top:110px;overflow:hidden}.project-pdf-actions{display:flex;gap:5px}.project-pdf-frame{height:min(74dvh,830px);min-height:610px;overflow:hidden;background:#dfe1da}.project-pdf-frame iframe{overflow:auto}
.project-quick-facts dl{margin:0}.project-quick-facts dl>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:10px;padding:11px 14px;border-top:1px solid var(--line)}.project-quick-facts dt{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.project-quick-facts dd{margin:0;font-size:10px;font-weight:800;overflow-wrap:anywhere}.project-quick-facts dd a{color:#52690b}
.project-batches-panel-clear{scroll-margin-top:154px;margin-top:12px;overflow:visible}.project-workflow-track{display:flex;gap:6px;padding:12px 15px;overflow-x:auto;border-bottom:1px solid var(--line);background:#fafbf6;scrollbar-width:thin}.project-workflow-track>span{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--status-color) 40%,#d7d9cf);border-radius:8px;background:color-mix(in srgb,var(--status-color) 10%,#fff);font-size:8px;font-weight:850;white-space:nowrap}.project-workflow-track>span>b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#eef0e8;color:#70756a;font-size:7px}.project-workflow-track>span>i{width:8px;height:8px;border:2px solid var(--status-color);border-radius:50%;background:var(--status-color)}.project-workflow-track>span small{color:var(--muted);font-size:6px;text-transform:uppercase}.project-workflow-track>span.is-current{border-color:var(--status-color);background:var(--status-color);color:var(--status-text);box-shadow:0 4px 12px color-mix(in srgb,var(--status-color) 20%,transparent)}.project-workflow-track>span.is-current b{background:color-mix(in srgb,var(--status-text) 18%,transparent);color:var(--status-text)}.project-workflow-track>span.is-current i{border-color:var(--status-text);background:transparent}.project-workflow-track>span.is-current small{color:color-mix(in srgb,var(--status-text) 70%,transparent)}
.project-batch-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.project-batch-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-top:4px solid var(--status-color);border-radius:12px;background:#fff;box-shadow:0 2px 0 rgba(17,19,15,.025)}.project-batch-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.project-batch-card>header>div>span{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.project-batch-card h4{margin:3px 0 0;font-size:14px}.project-batch-card .project-stage-full{--stage-color:var(--status-color);--stage-text:var(--status-text);max-width:52%;text-align:center}
.project-batch-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.project-batch-metrics>div{min-width:0;padding:11px;background:#fff}.project-batch-metrics span,.project-batch-metrics strong{display:block}.project-batch-metrics span{color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.project-batch-metrics strong{overflow:hidden;margin-top:4px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.project-batch-progress{padding:12px 14px}.project-batch-card .dependency-warning{margin:0 14px 12px}.project-batch-card>footer{display:flex;gap:7px;padding:12px 14px;border-top:1px solid var(--line);background:#fafbf6}.project-batch-card>footer .button{flex:1}
.project-activity-grid-clear{scroll-margin-top:154px;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr)}.project-timeline-list{max-height:560px;overflow:auto;padding:8px 17px 16px;scrollbar-width:thin}.project-timeline-entry{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;padding:11px 0}.project-timeline-entry:after{content:"";position:absolute;left:8px;top:28px;bottom:-11px;width:1px;background:#d9dcd1}.project-timeline-entry:last-child:after{display:none}.project-timeline-entry>i{width:17px;height:17px;margin-top:1px;border:4px solid #e6f1bd;border-radius:50%;background:#8aaa13;box-shadow:0 0 0 2px #fff}.project-timeline-entry strong{font-size:10px}.project-timeline-entry strong i{margin:0 4px;color:#9da193;font-size:7px}.project-timeline-entry p{margin:4px 0 0;color:#565b51;font-size:9px}.project-timeline-entry small{display:block;margin-top:5px;color:var(--muted);font-size:8px}.project-comments-panel .panel-body{padding:14px}.project-comment-form{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbf6}.project-comment-form textarea{min-height:90px}.project-comment-form .button{width:100%;margin-top:8px}.project-comment-list{display:grid;gap:8px}.project-comment-list article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.project-comment-list article>div{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eff1e8;color:#74796e}.project-comment-list p{margin:0}.project-comment-list strong,.project-comment-list span,.project-comment-list small{display:block}.project-comment-list strong{font-size:9px}.project-comment-list span{margin-top:3px;color:#52574d;font-size:9px;line-height:1.4}.project-comment-list small{margin-top:5px;color:var(--muted);font-size:7px}

@media(max-width:1250px){
  .project-filter-panel{grid-template-columns:1.5fr 1fr 1fr}.project-filter-actions{grid-column:1/-1}.project-filter-actions .button{width:100%}
  .project-workspace-grid{grid-template-columns:1fr}.project-side-column{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start}.project-pdf-panel-clear{position:static}.project-pdf-frame{height:700px}.project-quick-facts{position:sticky;top:110px}
}
@media(max-width:1020px){
  .project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-status-dashboard{grid-template-columns:1fr 1fr}.project-status-dashboard>div:nth-child(3){border-left:0;border-top:1px solid #33372e}.project-status-dashboard>div:nth-child(4){border-top:1px solid #33372e}.project-batch-card-grid{grid-template-columns:1fr}.project-spec-grid-clear{grid-template-columns:repeat(2,minmax(0,1fr))}.project-activity-grid-clear{grid-template-columns:1fr}.project-side-column{grid-template-columns:1fr}.project-quick-facts{position:static}
}
@media(max-width:820px){
  .project-directory-hint{display:none}.project-table-view{display:none}.project-card-list{display:grid;gap:10px;padding:12px}.project-directory-card{overflow:hidden;border:1px solid var(--line);border-left:4px solid var(--acid-dark);border-radius:12px;background:#fff}.project-directory-card.is-overdue{border-left-color:var(--danger)}.project-directory-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px;border-bottom:1px solid var(--line)}.project-directory-card>header>div{min-width:0}.project-directory-card>header small{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.project-directory-card .project-stage-full{max-width:42%;font-size:8px}.project-directory-card dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:var(--line)}.project-directory-card dl>div{padding:10px 12px;background:#fff}.project-directory-card dt{color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.project-directory-card dd{margin:4px 0 0;font-size:9px;font-weight:800}.project-card-progress{padding:12px}.project-directory-card>footer{display:flex;gap:7px;padding:12px;border-top:1px solid var(--line);background:#fafbf6}.project-directory-card>footer .button{flex:1}
}
@media(max-width:760px){
  .projects-page-head,.project-workspace-head{align-items:flex-start}.projects-page-head .head-actions,.project-workspace-head .head-actions{width:100%}.projects-page-head .head-actions .button,.project-workspace-head .head-actions .button{flex:1}.project-filter-panel{grid-template-columns:1fr 1fr}.project-filter-search,.project-filter-actions{grid-column:1/-1}.project-section-nav{top:48px;overflow-x:auto}.project-section-nav a{flex:0 0 auto}.project-status-dashboard{grid-template-columns:1fr}.project-status-dashboard>div+div{border-left:0;border-top:1px solid #33372e}.project-status-dashboard>div:nth-child(3){border-top:1px solid #33372e}.project-workspace-head .project-team-title{font-size:clamp(38px,12vw,58px)}.project-artwork-primary{min-height:240px}.project-artwork-primary img{height:340px}.project-artwork-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.project-pdf-frame{height:600px;min-height:500px}.project-batch-metrics{grid-template-columns:1fr 1fr}.project-batch-card>header{align-items:stretch;flex-direction:column}.project-batch-card .project-stage-full{max-width:none;width:100%;justify-content:center}.project-workflow-track{padding:10px}.project-stage-modal .project-stage-options{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .project-summary-grid{grid-template-columns:1fr 1fr}.project-summary-grid article{min-height:92px;padding:12px}.project-summary-grid strong{font-size:23px}.project-filter-panel{grid-template-columns:1fr}.project-filter-search,.project-filter-actions{grid-column:auto}.project-filter-heading{font-size:7px}.project-status-dashboard strong{font-size:19px}.project-current-stage strong{font-size:21px}.project-spec-grid-clear{grid-template-columns:1fr 1fr}.project-spec-grid-clear .project-spec-wide{grid-column:1/-1}.project-artwork-primary img{height:280px}.project-pdf-frame{height:520px}.project-batch-card-grid{padding:10px}.project-batch-card>footer{flex-direction:column}.project-stage-modal .project-stage-options{grid-template-columns:1fr}.project-directory-card .project-stage-full{max-width:48%}.project-title-meta>a,.project-title-meta>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:390px){.project-summary-grid{grid-template-columns:1fr}.project-directory-card>header{flex-direction:column}.project-directory-card .project-stage-full{max-width:none;width:100%;justify-content:center}.project-directory-card>footer{flex-direction:column}.project-spec-grid-clear{grid-template-columns:1fr}.project-spec-grid-clear .project-spec-wide{grid-column:auto}}
@media print{.projects-page-head .head-actions,.project-filter-panel,.actions-column,.project-section-nav,.project-workspace-actions,.project-pdf-panel-clear,.project-comments-panel,.project-batch-card>footer{display:none!important}.project-summary-grid,.project-status-dashboard,.project-workspace-grid,.project-batch-card-grid,.project-activity-grid-clear{display:block}.project-summary-grid article,.project-status-dashboard>div,.project-batch-card{break-inside:avoid;margin-bottom:8px}.project-table-view{display:block}.project-card-list{display:none}.project-directory-table{min-width:0;table-layout:auto}.project-workspace-grid{display:block}.project-main-column{display:block}.project-main-column>.panel{margin-bottom:10px}}

/* ===== Super Admin sales dashboard + compact project documents ===== */
.project-workspace-grid-no-preview{grid-template-columns:minmax(0,1fr) minmax(270px,330px)}
.project-side-column-compact{align-content:start}
.project-document-panel{overflow:hidden}
.project-document-body{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:17px}
.project-document-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:var(--acid);font-size:22px}
.project-document-body>div:nth-child(2){min-width:0}.project-document-body strong,.project-document-body span{display:block}.project-document-body strong{font-size:13px}.project-document-body span{overflow:hidden;margin-top:2px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.project-document-body .button{grid-column:1/-1;width:100%}

.admin-sales-dashboard{display:grid;gap:12px;margin-bottom:16px}
.admin-sales-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #2c3028;border-radius:var(--radius);background:var(--ink);color:#fff}
.admin-sales-heading>div{min-width:0}.admin-sales-heading span{display:block;color:var(--acid);font-size:8px;font-weight:900;letter-spacing:.15em}.admin-sales-heading h3{margin:4px 0 0;font-size:22px;letter-spacing:-.035em}.admin-sales-heading p{margin:4px 0 0;color:#adb1a4;font-size:10px}.admin-sales-heading .button{flex:0 0 auto;border-color:#41463a;background:#242820;color:#fff}.admin-sales-heading .button:hover{border-color:var(--acid);color:var(--acid)}
.admin-sales-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.admin-sales-period-card{min-width:0;min-height:126px;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.admin-sales-period-card.is-primary{border-color:var(--acid);background:var(--acid)}.admin-sales-period-card>span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.admin-sales-period-card>strong{display:block;margin:13px 0 8px;font-size:clamp(24px,2.2vw,36px);line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-sales-period-card>small{color:var(--muted);font-size:9px}.admin-sales-period-card.is-primary>span,.admin-sales-period-card.is-primary>small{color:#4b571b}
.admin-sales-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.62fr);gap:12px;align-items:stretch}.admin-monthly-sales-panel,.admin-receivables-panel{overflow:hidden}.admin-month-total{text-align:right}.admin-month-total span,.admin-month-total strong{display:block}.admin-month-total strong{margin-top:2px;font-size:15px}
.admin-month-chart{height:280px;display:grid;grid-template-columns:repeat(12,minmax(30px,1fr));gap:7px;align-items:end;padding:22px 18px 16px;overflow-x:auto}.admin-month-bar{min-width:32px;height:100%;display:grid;grid-template-rows:24px minmax(130px,1fr) 20px;align-items:end;text-align:center}.admin-month-bar>span{overflow:hidden;color:var(--muted);font-size:7px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.admin-month-bar>div{height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:7px;background:#f0f1e9;overflow:hidden}.admin-month-bar>div i{width:100%;min-height:4px;display:block;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--acid),var(--acid-dark))}.admin-month-bar>b{padding-top:5px;font-size:8px;text-transform:uppercase}
.admin-receivable-hero{padding:20px;border-bottom:1px solid var(--line);background:#f8f9f3}.admin-receivable-hero span,.admin-receivable-hero strong,.admin-receivable-hero small{display:block}.admin-receivable-hero span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.admin-receivable-hero strong{margin-top:10px;color:var(--danger);font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:-.055em}.admin-receivable-hero small{margin-top:8px;color:var(--muted);font-size:9px}.admin-receivable-list{margin:0;padding:6px 20px}.admin-receivable-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eceee5}.admin-receivable-list>div:last-child{border-bottom:0}.admin-receivable-list dt{color:var(--muted);font-size:9px}.admin-receivable-list dd{margin:0;font-size:11px;font-weight:900;text-align:right}.admin-collection-progress{padding:12px 20px 17px}.admin-collection-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:var(--muted);font-size:8px}.admin-collection-progress .project-progress-track i{background:var(--acid-dark)}.admin-receivables-panel>.button.block{width:calc(100% - 40px);margin:0 20px 20px}
.admin-sales-secondary-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.72fr) minmax(280px,.82fr);gap:12px;align-items:start}.admin-seven-day-panel,.admin-top-customers-panel,.admin-recent-payments-panel{overflow:hidden}.admin-chart-legend{display:flex;gap:10px;flex-wrap:wrap}.admin-chart-legend span{display:flex;align-items:center;gap:5px;font-size:8px}.admin-chart-legend i{width:8px;height:8px;display:block;border-radius:2px}.admin-chart-legend i.sales,.admin-day-bars i.sales{background:var(--ink)}.admin-chart-legend i.collections,.admin-day-bars i.collections{background:var(--acid-dark)}
.admin-daily-chart{display:grid}.admin-daily-chart article{display:grid;grid-template-columns:54px minmax(100px,1fr) minmax(90px,auto);gap:10px;align-items:center;padding:9px 16px;border-bottom:1px solid #eceee5}.admin-daily-chart article:last-child{border-bottom:0}.admin-day-label strong,.admin-day-label span,.admin-day-value strong,.admin-day-value span{display:block}.admin-day-label strong{font-size:10px}.admin-day-label span,.admin-day-value span{color:var(--muted);font-size:8px}.admin-day-bars{display:grid;gap:4px}.admin-day-bars>div{height:7px;border-radius:99px;background:#eceee5;overflow:hidden}.admin-day-bars i{height:100%;min-width:0;display:block;border-radius:inherit}.admin-day-value{text-align:right}.admin-day-value strong{font-size:10px}
.admin-ranking-list,.admin-payment-list{display:grid}.admin-ranking-list article{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 15px;border-bottom:1px solid #eceee5}.admin-ranking-list article:last-child{border-bottom:0}.admin-ranking-list article>b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#eff0e9;font-size:9px}.admin-ranking-list article>div{min-width:0}.admin-ranking-list strong,.admin-ranking-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-ranking-list strong{font-size:10px}.admin-ranking-list span{margin-top:2px;color:var(--muted);font-size:8px}.admin-ranking-list em{font-style:normal;font-size:10px;font-weight:900;white-space:nowrap}.admin-payment-list a{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;border-bottom:1px solid #eceee5;text-decoration:none}.admin-payment-list a:last-child{border-bottom:0}.admin-payment-list a:hover{background:#f8ffd9}.admin-payment-list a>div{min-width:0}.admin-payment-list strong,.admin-payment-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-payment-list strong{font-size:10px}.admin-payment-list span{margin-top:2px;color:var(--muted);font-size:8px}.admin-payment-list a>b{font-size:10px;white-space:nowrap}

@media(max-width:1250px){.admin-sales-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sales-main-grid{grid-template-columns:1fr}.admin-sales-secondary-grid{grid-template-columns:1fr 1fr}.admin-seven-day-panel{grid-column:1/-1}.project-workspace-grid-no-preview{grid-template-columns:minmax(0,1fr) minmax(250px,300px)}}
@media(max-width:900px){.project-workspace-grid-no-preview{grid-template-columns:1fr}.project-side-column-compact{grid-template-columns:1fr 1fr}.admin-sales-heading{align-items:flex-start;flex-direction:column}.admin-sales-secondary-grid{grid-template-columns:1fr}.admin-seven-day-panel{grid-column:auto}.admin-month-chart{min-width:720px}.admin-monthly-sales-panel{overflow-x:auto}}
@media(max-width:640px){.admin-sales-period-grid{grid-template-columns:1fr 1fr}.admin-sales-period-card{min-height:112px;padding:14px}.admin-sales-period-card>strong{font-size:24px}.admin-sales-heading .button{width:100%}.admin-sales-main-grid{grid-template-columns:1fr}.admin-day-value{display:none}.admin-daily-chart article{grid-template-columns:48px minmax(0,1fr)}.project-side-column-compact{grid-template-columns:1fr}}
@media(max-width:430px){.admin-sales-period-grid{grid-template-columns:1fr}.admin-sales-period-card{min-height:104px}}
@media print{.admin-sales-dashboard,.project-document-panel{display:none!important}}

/* ===== Production project directory: table on desktop, cards on mobile ===== */
@media screen and (max-width:760px){
  .project-directory-cards .project-table-view{display:none}
  .project-directory-cards .project-card-list{display:grid;grid-template-columns:1fr;gap:12px;padding:12px;background:#f6f7f1;border-radius:0 0 var(--radius) var(--radius)}
  .project-directory-cards .project-directory-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-left:5px solid var(--acid-dark);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(17,19,15,.045);transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}
  .project-directory-cards .project-directory-card:hover{transform:translateY(-2px);border-color:#b9bdaf;box-shadow:0 13px 30px rgba(17,19,15,.09)}
  .project-directory-cards .project-directory-card.is-overdue{border-left-color:var(--danger)}
  .project-directory-cards .project-directory-card.is-hold{border-left-color:var(--warning)}
  .project-directory-cards .project-directory-card.is-completed{border-left-color:var(--success)}
  .project-directory-cards .project-directory-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e9ebe3;background:#fff}
  .project-directory-cards .project-directory-card>header>div:first-child{min-width:0;flex:1}
  .project-directory-cards .project-number-link{font-size:10px;color:#687064}
  .project-directory-cards .project-team-link{margin-top:7px;font-size:18px;line-height:1.2;letter-spacing:-.025em}
  .project-directory-cards .project-directory-card>header>div:first-child>small{display:block;overflow:hidden;margin-top:6px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
  .project-card-current{min-width:142px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
  .project-card-current>small{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
  .project-card-current .project-stage-full{max-width:190px;justify-content:center;text-align:center}
  .project-card-current .project-state-label{margin:0}
  .project-directory-cards .project-directory-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:var(--line)}
  .project-directory-cards .project-directory-card dl>div{min-width:0;padding:12px 14px;background:#fff}
  .project-directory-cards .project-directory-card dt{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  .project-directory-cards .project-directory-card dd{margin:5px 0 0;font-size:10px;font-weight:850;line-height:1.4;overflow-wrap:anywhere}
  .project-directory-cards .project-directory-card dd .table-sub{display:block;margin-top:4px;font-size:8px;font-weight:650}
  .project-directory-cards .project-card-progress{padding:15px 18px;background:#fafbf7}
  .project-directory-cards .project-progress-copy strong{font-size:10px}
  .project-directory-cards .project-progress-copy span{font-size:11px;font-weight:950}
  .project-directory-cards .project-progress-track{height:8px;margin-top:8px}
  .project-directory-cards .project-card-progress>.table-sub{display:block;margin-top:6px;font-size:8px}
  .project-directory-cards .project-directory-card>footer{display:flex;gap:7px;margin-top:auto;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
  .project-directory-cards .project-directory-card>footer .button{min-height:42px;justify-content:center}
  .project-directory-cards .project-open-action{flex:1}
}
@media(max-width:700px){
  .project-directory-cards .project-card-list{padding:8px}
  .project-directory-cards .project-directory-card>header{flex-direction:column;padding:14px}
  .project-card-current{width:100%;align-items:flex-start}
  .project-card-current .project-stage-full{width:100%;max-width:none}
  .project-directory-cards .project-directory-card dl{grid-template-columns:1fr 1fr}
  .project-directory-cards .project-directory-card>footer{display:grid;grid-template-columns:1fr 1fr}
  .project-directory-cards .project-open-action{grid-column:1/-1;grid-row:1}
}
@media(max-width:420px){.project-directory-cards .project-directory-card dl{grid-template-columns:1fr}.project-directory-cards .project-directory-card>footer{grid-template-columns:1fr}.project-directory-cards .project-open-action{grid-column:auto}}
@media print{.project-directory-cards .project-table-view{display:block}.project-directory-cards .project-card-list{display:none}}

/* ===== Enhanced customer directory and collection aging ===== */
.customer-page-head{align-items:flex-end}.customer-page-head .page-title{margin-bottom:3px}
.customer-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.customer-summary-grid>article{min-width:0;min-height:126px;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}
.customer-summary-grid>article.accent{border-color:var(--acid);background:var(--acid)}
.customer-summary-grid>article.has-balance strong,.customer-summary-grid>article.is-overdue strong{color:var(--danger)}
.customer-summary-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.customer-summary-label i{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#eff0e9;color:#676c61;font-size:9px}.customer-summary-grid .accent .customer-summary-label i{background:rgba(17,19,15,.12);color:var(--ink)}
.customer-summary-grid>article>strong{display:block;margin:13px 0 8px;font-size:clamp(24px,2.25vw,36px);line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.customer-summary-grid>article>strong>small{font-size:.43em;letter-spacing:0}.customer-summary-grid>article>small{color:var(--muted);font-size:8px;line-height:1.45}
.customer-collection-watch{overflow:hidden;margin-bottom:12px}.customer-collection-head{align-items:flex-end}.customer-collection-head h3{font-size:18px}.customer-collection-actions{display:flex;gap:7px;flex-wrap:wrap}.customer-balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px;background:#f6f7f1}.customer-balance-card{min-width:0;padding:14px;border:1px solid var(--line);border-left:4px solid #c9a520;border-radius:12px;background:#fff}.customer-balance-card.is-overdue{border-left-color:var(--danger)}.customer-balance-card>header{display:flex;align-items:center;gap:9px}.customer-balance-card>header>div{min-width:0}.customer-balance-card>header strong,.customer-balance-card>header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-balance-card>header strong{font-size:12px}.customer-balance-card>header small{margin-top:2px;color:var(--muted);font-size:8px}.customer-balance-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;background:#fff7d8;color:#8a7000;font-size:11px}.customer-balance-card.is-overdue .customer-balance-icon{background:#ffe7e4;color:var(--danger)}.customer-balance-amount{margin-top:14px;font-size:21px;font-weight:950;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.customer-balance-card.is-overdue .customer-balance-amount{color:var(--danger)}.customer-balance-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.customer-balance-meta span{padding:4px 7px;border-radius:99px;background:#f0f1ea;color:var(--muted);font-size:7px}.customer-balance-meta b{color:var(--ink)}.customer-balance-card>p{overflow:hidden;margin:9px 0 10px;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.customer-balance-card>a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:8px;font-weight:900;text-decoration:none}.customer-balance-card>a:hover{color:var(--acid-dark)}
.customer-filter-panel{position:relative;display:grid;grid-template-columns:minmax(280px,1.7fr) minmax(180px,.72fr) minmax(190px,.72fr) auto;gap:8px;align-items:end;margin-bottom:8px;padding:38px 10px 10px;border:1px solid var(--line);border-radius:13px;background:#fff}.customer-filter-heading{position:absolute;inset:10px 11px auto;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.customer-filter-heading>a{color:var(--danger);font-size:8px;text-decoration:none;text-transform:none;letter-spacing:0}.customer-filter-heading>a:hover{text-decoration:underline}.customer-filter-search{min-width:0}.customer-filter-field{display:grid;gap:5px}.customer-filter-field>span{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.customer-filter-panel>.button{min-height:41px}.customer-filter-chips{display:flex;gap:7px;overflow-x:auto;margin-bottom:12px;padding:1px}.customer-filter-chips a{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:7px 10px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font-size:8px;font-weight:850;text-decoration:none;white-space:nowrap}.customer-filter-chips a:hover{border-color:#9ca092;color:var(--ink)}.customer-filter-chips a.active{border-color:var(--ink);background:var(--ink);color:#fff}.customer-filter-chips a.active i{color:var(--acid)}
.customer-directory-panel{overflow:visible}.customer-directory-head{align-items:flex-end}.customer-directory-head h3{font-size:17px}.customer-directory-legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:7px}.customer-directory-legend span{display:flex;align-items:center;gap:4px}.customer-directory-legend i{width:7px;height:7px;display:block;border-radius:50%}.customer-directory-legend i.clear{background:var(--success)}.customer-directory-legend i.current{background:#d2aa13}.customer-directory-legend i.overdue{background:var(--danger)}
.customer-directory-table-enhanced{min-width:1180px}.customer-directory-table-enhanced th{white-space:nowrap}.customer-directory-table-enhanced td{padding-block:13px;vertical-align:middle}.customer-account-row{box-shadow:inset 3px 0 transparent}.customer-account-row.has-balance{box-shadow:inset 3px 0 #d4ae20}.customer-account-row.is-overdue{box-shadow:inset 3px 0 var(--danger)}.customer-account-row.is-clear{box-shadow:inset 3px 0 var(--success)}.customer-account-row:hover{background:#fbfcf7}.customer-identity-enhanced{min-width:230px}.customer-name-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:12px;font-weight:900;text-decoration:none}.customer-name-link i{font-size:7px;opacity:.45}.customer-name-link:hover{color:var(--acid-dark)}.customer-order-metrics{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:5px}.customer-order-metrics span{padding:4px 6px;border-radius:7px;background:#f0f1ea;color:var(--muted);font-size:7px}.customer-order-metrics b{color:var(--ink)}.customer-health-pill{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:5px 8px;border:1px solid transparent;border-radius:99px;font-size:8px;font-weight:900;white-space:nowrap}.customer-health-pill.clear{border-color:#9de0b9;background:#e6fbef;color:#087936}.customer-health-pill.current{border-color:#ead77c;background:#fff8d4;color:#765e00}.customer-health-pill.overdue{border-color:#f2aaa4;background:#ffebe9;color:var(--danger)}.customer-team-tags{display:flex;gap:4px;max-width:240px;overflow:hidden;margin-top:7px}.customer-team-tags span{max-width:110px;overflow:hidden;padding:3px 6px;border-radius:5px;background:#eff0e9;color:#63685d;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.customer-lifetime-cell>strong,.customer-lifetime-cell>span,.customer-balance-cell>strong,.customer-balance-cell>span{display:block;white-space:nowrap}.customer-lifetime-cell>strong,.customer-balance-cell>strong{font-size:11px;font-variant-numeric:tabular-nums}.customer-lifetime-cell>span,.customer-balance-cell>span{margin-top:4px;color:var(--muted);font-size:7px}.customer-balance-cell.has-balance>strong{color:var(--danger)}.customer-action-menu .row-action-popover button:not(.row-action-danger){width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:10px;font-weight:800;text-align:left}.customer-action-menu .row-action-popover button:not(.row-action-danger):hover{background:#f0f2e9}.customer-action-menu .row-action-popover button:not(.row-action-danger) i{width:16px;color:#777c70;text-align:center}
.customer-card-list-enhanced{display:none}.customer-directory-card-enhanced{position:relative}.customer-directory-card-enhanced:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--success)}.customer-directory-card-enhanced.has-balance:before{background:#d4ae20}.customer-directory-card-enhanced.is-overdue:before{background:var(--danger)}.customer-directory-card-enhanced>header{align-items:center}.customer-directory-card-enhanced>header>div{min-width:0;flex:1}.customer-directory-card-enhanced header a{display:block;overflow:hidden;color:var(--ink);font-size:14px;font-weight:900;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.customer-directory-card-enhanced header .customer-health-pill{flex:0 0 auto;font-size:7px}.customer-mobile-team-list{padding:10px 14px;border-top:1px solid #eceee5;background:#fffbed}.customer-mobile-team-list span,.customer-mobile-team-list strong{display:block}.customer-mobile-team-list span{color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.customer-mobile-team-list strong{overflow:hidden;margin-top:3px;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.customer-card-wide{grid-column:1/-1}
.customer-modal{width:min(760px,calc(100vw - 24px));max-height:min(90vh,900px)}.customer-modal .modal-head{align-items:flex-start}.customer-modal .modal-head h2{margin-top:2px}.customer-form-layout{display:grid;gap:10px}.customer-form-section{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbf7}.customer-form-section>header{display:flex;align-items:center;gap:9px;margin-bottom:12px}.customer-form-section>header>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--ink);color:var(--acid);font-size:11px}.customer-form-section>header strong,.customer-form-section>header small{display:block}.customer-form-section>header strong{font-size:11px}.customer-form-section>header small{margin-top:2px;color:var(--muted);font-size:8px}.customer-name-grid{grid-template-columns:minmax(105px,.4fr) minmax(0,1.6fr)}.customer-name-field{grid-column:auto!important}.customer-account-settings{align-items:stretch}.customer-reseller-toggle{position:relative;display:block}.customer-reseller-toggle>input{position:absolute;opacity:0;pointer-events:none}.customer-reseller-toggle>span{height:100%;min-height:67px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-content:center;gap:2px 8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.customer-reseller-toggle>span>i{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;align-self:center;border-radius:8px;background:#eff0e9;color:#777c70}.customer-reseller-toggle b{font-size:10px}.customer-reseller-toggle small{color:var(--muted);font-size:7px}.customer-reseller-toggle>input:checked+span{border-color:var(--acid-dark);background:#f7ffd9}.customer-reseller-toggle>input:checked+span>i{background:var(--acid);color:var(--ink)}
@media(max-width:1250px){.customer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-balance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-filter-panel{grid-template-columns:minmax(260px,1.5fr) 1fr 1fr auto}}
@media(max-width:900px){.customer-page-head{align-items:flex-start}.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-summary-grid>article:last-child{grid-column:span 2}.customer-filter-panel{grid-template-columns:1fr 1fr}.customer-filter-search{grid-column:1/-1}.customer-filter-panel>.button{width:100%}.customer-collection-head{align-items:flex-start;flex-direction:column}.customer-collection-actions{width:100%}.customer-collection-actions .button{flex:1}.customer-directory-legend{display:none}}
@media(max-width:760px){.customer-page-head .head-actions{width:100%}.customer-page-head .head-actions .button{flex:1}.customer-balance-strip{display:flex;overflow-x:auto}.customer-balance-card{min-width:270px;flex:0 0 78vw}.customer-filter-panel{grid-template-columns:1fr 1fr}.customer-filter-panel>.button{grid-column:1/-1}.customer-card-list-enhanced{display:grid}.customer-directory-table-enhanced{display:none}.customer-directory-panel{overflow:hidden}.customer-modal .modal-body{padding:10px}.customer-form-section{padding:11px}}
@media(max-width:520px){.customer-summary-grid{grid-template-columns:1fr 1fr}.customer-summary-grid>article{min-height:105px;padding:12px}.customer-summary-grid>article>strong{font-size:23px}.customer-summary-grid>article:nth-child(2),.customer-summary-grid>article:last-child{grid-column:span 2}.customer-filter-panel{grid-template-columns:1fr}.customer-filter-search,.customer-filter-panel>.button{grid-column:auto}.customer-filter-heading{font-size:7px}.customer-collection-actions{display:grid;grid-template-columns:1fr}.customer-name-grid,.customer-form-section .form-grid,.customer-account-settings{grid-template-columns:1fr}.customer-directory-card-enhanced>header{flex-wrap:wrap}.customer-directory-card-enhanced header .customer-health-pill{margin-left:52px}.customer-directory-card-enhanced dl{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.customer-summary-grid{grid-template-columns:1fr}.customer-summary-grid>article:nth-child(2),.customer-summary-grid>article:last-child{grid-column:auto}.customer-directory-card-enhanced dl{grid-template-columns:1fr}}
@media print{.customer-page-head .head-actions,.customer-filter-panel,.customer-filter-chips,.customer-collection-actions,.customer-directory-table-enhanced .actions-column{display:none!important}.customer-summary-grid{grid-template-columns:repeat(5,1fr)}.customer-summary-grid>article{min-height:90px;padding:10px}.customer-balance-strip{grid-template-columns:repeat(3,1fr)}.customer-card-list-enhanced{display:none}.customer-table-view{display:block}}

/* ===== Job Order create: clearer customer and schedule layout ===== */
.jo-compact-pair{
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr);
  align-items:start;
}
.jo-compact-pair>.jo-section{height:auto}

.jo-customer-fields,
.jo-schedule-fields{display:grid;gap:10px}

.jo-customer-picker{padding-bottom:10px;border-bottom:1px solid #eceee5}
#jo-form .jo-customer-picker select{font-weight:750}
#jo-form .manual-customer-note{display:flex;align-items:center;gap:5px;margin-top:1px;color:#6c7264}
#jo-form .manual-customer-note i{color:var(--acid-dark)}

.jo-customer-name-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px}
.jo-customer-contact-row,
.jo-customer-account-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.jo-customer-name-field input{font-weight:750}

.jo-reseller-toggle{position:relative;display:block;min-width:0;cursor:pointer}
.jo-reseller-toggle>input{position:absolute;opacity:0;pointer-events:none}
.jo-reseller-toggle>span{min-height:40px;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:9px;padding:7px 10px;border:1px solid #cfd0c7;border-radius:9px;background:#fff;transition:border-color .16s var(--ease),background-color .16s var(--ease),box-shadow .16s var(--ease)}
.jo-reseller-toggle i{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eff0e8;color:#777d70;font-size:11px}
.jo-reseller-toggle b{align-self:end;color:#4e514a;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.jo-reseller-toggle small{align-self:start;color:var(--muted);font-size:7px;line-height:1.25}
.jo-reseller-toggle>input:checked+span{border-color:#95a935;background:#f8ffdf;box-shadow:0 0 0 3px rgba(215,255,63,.25)}
.jo-reseller-toggle>input:checked+span i{background:var(--acid);color:var(--ink)}
.jo-reseller-toggle>input:focus-visible+span{outline:3px solid #1882ff;outline-offset:2px}

.jo-additional-info{padding-top:10px;border-top:1px solid #eceee5}

#jo-step-schedule{background:linear-gradient(180deg,#fff 0%,#fbfcf8 100%)}
.jo-date-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#jo-form .jo-schedule-fields .field>span{display:block;margin-top:-2px;color:var(--muted);font-size:7px;font-weight:550;letter-spacing:0;line-height:1.25;text-transform:none}
#jo-form .jo-schedule-fields .required-mark{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:99px;background:#fff1d6;color:#7a4c00;font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
#jo-form .jo-order-date-field input{font-weight:750}
#jo-form .jo-order-notes textarea{min-height:84px;resize:vertical;line-height:1.45}

@media(max-width:1250px){
  .jo-compact-pair{grid-template-columns:1fr}
  .jo-customer-name-row{grid-template-columns:120px minmax(0,1fr)}
  .jo-date-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .jo-customer-name-row{grid-template-columns:100px minmax(0,1fr)}
  .jo-customer-contact-row,.jo-customer-account-row,.jo-date-pair{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .jo-customer-name-row,.jo-customer-contact-row,.jo-customer-account-row,.jo-date-pair{grid-template-columns:1fr}
}

/* ===== Global Job Order search ===== */
.topbar{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(360px,680px) minmax(180px,.75fr);gap:22px}
.topbar-left{min-width:0}
.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.global-search{position:relative;z-index:42;width:100%;min-width:0}
.global-search-control{min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:0 10px 0 14px;border:1px solid #d4d7cc;border-radius:13px;background:#fff;box-shadow:0 2px 0 rgba(17,19,15,.02);transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}
.global-search:focus-within .global-search-control,.global-search.is-open .global-search-control{border-color:#99b54f;box-shadow:0 0 0 4px rgba(188,245,63,.18),0 9px 28px rgba(17,19,15,.08)}
.global-search-control>i{color:#6c7166;font-size:13px}
.global-search-control input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:12px;font-weight:720;color:var(--ink)}
.global-search-control input::placeholder{color:#8c9187;font-weight:600}
.global-search-shortcut{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 7px;border:1px solid #dfe1d8;border-bottom-width:2px;border-radius:6px;background:#f6f7f2;color:#747a6e;font:700 9px/1 inherit;white-space:nowrap}
.global-search-clear{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:#eff1e9;color:#52574e;cursor:pointer}
.global-search-clear:hover{background:#e4e7dc;color:var(--ink)}
.global-search-panel{position:absolute;top:calc(100% + 9px);left:0;right:0;z-index:80;overflow:hidden;border:1px solid #d8dbd0;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(17,19,15,.2);transform-origin:top center}.global-search-panel:not([hidden]){animation:global-search-panel-in .2s var(--ease) both}
.global-search-state{min-height:132px;display:grid;place-items:center;align-content:center;gap:7px;padding:22px;text-align:center;color:#747a70}.global-search-state[hidden],.global-search-results[hidden]{display:none!important}
.global-search-state>i{margin-bottom:4px;color:#a0a69a;font-size:20px;transition:transform .18s var(--ease),color .18s var(--ease)}
.global-search-state strong{color:#343931;font-size:13px}
.global-search-state span{font-size:10px}
.global-search-state.is-loading>i{width:25px;height:25px;margin-bottom:8px;border:3px solid #e1e5dc;border-top-color:var(--acid-dark);border-radius:50%;color:transparent;font-size:0;animation:global-search-spin .72s linear infinite}.global-search-state.is-loading strong{animation:global-search-pulse 1.15s ease-in-out infinite}.global-search-state.is-error>i{color:var(--danger)}
@keyframes global-search-spin{to{transform:rotate(360deg)}}
@keyframes global-search-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes global-search-panel-in{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:none}}
@keyframes global-search-result-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.global-search-results{max-height:min(480px,62vh);overflow:auto;padding:7px;scrollbar-width:thin;scrollbar-color:#c8ccc0 transparent}
.global-search-result{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:0;border-radius:11px;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background .14s var(--ease),transform .14s var(--ease);animation:global-search-result-in .22s var(--ease) both;animation-delay:calc(var(--result-index,0) * 32ms)}
.global-search-result:hover,.global-search-result.is-active{background:#f1f5e6;transform:translateX(2px)}
.global-search-result-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#11130f;color:var(--acid);font-size:14px}
.global-search-result-main{min-width:0;display:grid;gap:4px}
.global-search-result-title{display:flex;align-items:center;gap:7px;min-width:0}
.global-search-result-title strong{overflow:hidden;color:#171a15;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.global-search-result-title b{flex:0 0 auto;padding:3px 6px;border-radius:99px;background:#11130f;color:#fff;font-size:7px;letter-spacing:.05em}
.global-search-result-sub{overflow:hidden;color:#62685f;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.global-search-result-match{overflow:hidden;color:#547011;font-size:9px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.global-search-result-meta{display:grid;justify-items:end;gap:5px;text-align:right}
.global-search-result-meta strong{font-size:10px}
.global-search-result-meta span{padding:3px 6px;border-radius:99px;background:#edf0e8;color:#62675d;font-size:7px;font-weight:850;text-transform:uppercase}
.global-search-panel>footer{display:flex;align-items:center;justify-content:flex-end;gap:13px;padding:8px 12px;border-top:1px solid #e3e5dd;background:#f7f8f4;color:#7b8076;font-size:8px;font-weight:800}
.global-search-panel[hidden],.global-search-clear[hidden],.global-search-state[hidden],.global-search-results[hidden]{display:none!important}
@media(max-width:1180px){
  .topbar{grid-template-columns:auto minmax(280px,1fr) auto;gap:14px}
  .topbar h1{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .global-search-shortcut{display:none}
}
@media(max-width:820px){
  .topbar{height:68px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:0 12px}
  .topbar-left{gap:7px}.topbar h1{display:none}
  .global-search-control{min-height:42px;border-radius:11px;padding-left:12px}
  .global-search-control input{font-size:11px}
  .global-search-panel{position:fixed;top:74px;left:10px;right:10px;width:auto;max-height:calc(100dvh - 86px)}
  .global-search-results{max-height:calc(100dvh - 180px)}
  .topbar-right{gap:6px}
}
@media(max-width:520px){
  .global-search-control input::placeholder{font-size:0}
  .global-search-control input::placeholder{color:transparent}
  .global-search-result{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px}
  .global-search-result-icon{width:34px;height:34px}
  .global-search-result-meta{grid-column:2;display:flex;justify-content:flex-start;align-items:center;gap:7px;text-align:left}
  .global-search-panel>footer{justify-content:center}
}

@media(prefers-reduced-motion:reduce){.global-search-panel:not([hidden]),.global-search-result,.global-search-state.is-loading>i,.global-search-state.is-loading strong{animation:none!important}}

/* Job Order item number badge — keep the existing layout, only center/fix the badge. */
.jo-item-head>.jo-item-number{
  width:36px;
  height:36px;
  min-width:36px;
  flex:0 0 36px;
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:10px;
  background:var(--ink);
  color:var(--acid);
  font-size:13px;
  font-weight:950;
  line-height:1;
  text-align:center;
  box-shadow:none;
  overflow:hidden;
}

/* Header quick actions: inquiry document + job order */
.workflow-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.workflow-inquiry-document{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:10px;font-weight:900;text-decoration:none;white-space:nowrap;transition:background-color .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}
.workflow-inquiry-document:hover{background:#f5f7ef;border-color:#bdc4ac;transform:translateY(-1px)}
@media(max-width:1100px){.workflow-actions{display:none}}

/* ===== Refined production project workspace ===== */
.project-workspace-head{gap:18px;margin-bottom:12px;padding-bottom:2px}
.project-workspace-title{max-width:760px}
.project-workspace-head .project-team-title{font-size:clamp(34px,3.5vw,54px);line-height:.96;letter-spacing:-.05em}
.project-workspace-actions{max-width:540px}
.project-workspace-actions .button{min-height:38px}

.project-overview-command{display:grid;grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(155px,.8fr));gap:9px;margin-bottom:10px;scroll-margin-top:154px}
.project-overview-command article{min-width:0;min-height:112px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 0 rgba(17,19,15,.035)}
.project-command-stage{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:16px;border-color:color-mix(in srgb,var(--stage-color) 58%,#d6d9cd);background:linear-gradient(135deg,color-mix(in srgb,var(--stage-color) 13%,#fff),#fff 72%)}
.project-command-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--stage-color);color:var(--stage-text);font-size:19px;box-shadow:0 6px 18px color-mix(in srgb,var(--stage-color) 25%,transparent)}
.project-command-stage>div:nth-child(2){min-width:0}.project-command-stage span,.project-command-card span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.project-command-stage strong{display:block;overflow:hidden;margin-top:5px;font-size:19px;line-height:1.05;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.project-command-stage small,.project-command-card small{display:block;margin-top:5px;color:#72776d;font-size:8px;line-height:1.35}
.project-command-progress{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding-top:3px}
.project-command-progress>b{font-size:9px}.project-command-progress>span{height:6px;overflow:hidden;border-radius:99px;background:#e4e7dc}.project-command-progress>span i{height:100%;display:block;border-radius:inherit;background:var(--stage-color)}
.project-command-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:16px 14px}
.project-command-card>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eff1e9;color:#676d61;font-size:14px}
.project-command-card>div{min-width:0}.project-command-card strong{display:block;overflow:hidden;margin-top:7px;font-size:13px;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}
.project-command-card.is-alert{border-color:#efb2ac;background:#fff8f7}.project-command-card.is-alert>i{background:#ffe4e1;color:var(--danger)}.project-command-card.is-alert small{color:var(--danger);font-weight:800}
.project-command-card.fabric-status-needs_order,.project-command-card.fabric-status-low_stock{border-color:#e9cd7d;background:#fffdf3}.project-command-card.fabric-status-needs_order>i,.project-command-card.fabric-status-low_stock>i{background:#fff1bf;color:#866500}
.project-command-card.fabric-status-available{border-color:#b9dfc7;background:#fbfffc}.project-command-card.fabric-status-available>i{background:#e2f7e9;color:#12804a}

.project-attention-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;margin:0 0 10px;padding:11px 13px;border:1px solid #ead085;border-radius:12px;background:#fffbeb}
.project-attention-strip>div{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:8px;background:#ffe997;color:#5e4a07;font-size:9px;white-space:nowrap}
.project-attention-strip ul{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:3px 0;list-style:none}.project-attention-strip li{display:flex;align-items:center;gap:6px;color:#6a5a24;font-size:9px}.project-attention-strip li i{font-size:8px}

.project-workspace-grid-no-preview{grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:10px}
.project-design-panel{overflow:hidden}
.project-design-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr);min-height:430px;border-top:1px solid var(--line)}
.project-design-visual{min-width:0;padding:14px;border-right:1px solid var(--line);background:#f4f5ef}
.project-design-visual-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.project-design-visual-head>div{min-width:0}.project-design-visual-head span,.project-design-visual-head strong,.project-design-visual-head small{display:block}.project-design-visual-head span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.project-design-visual-head strong{margin-top:3px;font-size:11px}.project-design-visual-head small{color:var(--muted);font-size:8px}
.project-design-visual .project-artwork-workspace{gap:8px;padding:0}
.project-design-visual .project-artwork-primary{min-height:300px;max-height:440px;border-radius:12px;background:#e4e6df;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.project-design-visual .project-artwork-primary img{height:clamp(300px,34vw,440px);object-fit:contain}
.project-design-visual .project-artwork-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-design-visual .project-artwork-thumbs img{height:88px;background:#eef0ea}
.project-design-visual .project-no-artwork{min-height:360px;margin:0;background:#fff}
.project-specification-column{min-width:0;background:#fff}
.project-specification-head{padding:18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfff0,#fff)}
.project-specification-head span,.project-specification-head strong,.project-specification-head small{display:block}.project-specification-head span{color:#66771d;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.project-specification-head strong{margin-top:6px;font-size:18px;line-height:1.1}.project-specification-head small{margin-top:6px;color:var(--muted);font-size:8px;line-height:1.45}
.project-spec-list{margin:0}.project-spec-list>div{padding:11px 15px;border-bottom:1px solid #eceee6}.project-spec-list>div:last-child{border-bottom:0}.project-spec-list dt{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.project-spec-list dt i{width:13px;color:#87954f;text-align:center}.project-spec-list dd{margin:4px 0 0 20px;font-size:10px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.project-spec-list>div>small{display:block;margin:4px 0 0 20px;font-size:7px;font-weight:800}.project-spec-size dd{font-size:9px;line-height:1.5}
.fabric-stock-note.fabric-status-available{color:#14804b}.fabric-stock-note.fabric-status-low_stock,.fabric-stock-note.fabric-status-needs_order{color:#947000}.fabric-stock-note.fabric-status-unlinked{color:var(--muted)}
.project-item-notes-important{display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px;align-items:start;padding:14px 17px;border-top:1px solid #e3d081;background:#fffbed}.project-item-notes-important strong{color:#67520c}.project-item-notes-important p{margin:0;color:#554a25;line-height:1.5}

.project-control-panel{position:sticky;top:148px;max-height:calc(100dvh - 166px);overflow:auto;overscroll-behavior:contain;border-color:#cfd5c2;scrollbar-width:thin}
.project-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;background:linear-gradient(135deg,var(--stage-color),color-mix(in srgb,var(--stage-color) 72%,#111));color:var(--stage-text)}
.project-control-head span,.project-control-head strong,.project-control-head small{display:block}.project-control-head span{font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.78}.project-control-head strong{margin-top:6px;font-size:20px;line-height:1;text-transform:uppercase}.project-control-head small{margin-top:6px;font-size:8px;opacity:.78}.project-control-head>i{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--stage-text) 28%,transparent);border-radius:12px;background:color-mix(in srgb,var(--stage-text) 10%,transparent);font-size:17px}
.project-control-progress{padding:14px 16px;border-bottom:1px solid var(--line);background:#fafbf6}.project-control-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.project-control-progress span,.project-control-progress small{color:var(--muted);font-size:8px}.project-control-progress strong{font-size:10px}.project-control-progress small{display:block;margin-top:6px}
.project-control-facts{margin:0}.project-control-facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start;padding:10px 14px;border-bottom:1px solid #eceee6}.project-control-facts dt{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.project-control-facts dd{margin:0;font-size:9px;font-weight:850;line-height:1.35;text-align:right;overflow-wrap:anywhere}.project-control-facts dd a{color:#586d0e}.project-priority-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:99px;background:#fff1b9;color:#765900;font-size:7px;text-transform:uppercase}.project-priority-badge i{font-size:6px}
.project-control-actions{display:grid;grid-template-columns:1fr;gap:8px;padding:13px;position:sticky;bottom:0;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.project-control-actions .button{width:100%}
.project-document-panel{overflow:hidden}.project-document-panel .project-panel-head{padding:13px 15px}.project-document-body{padding:14px}

.project-lineup-panel-clear{overflow:hidden}.project-lineup-panel-clear .project-panel-head{background:#fbfcf7}.project-lineup-scroll{max-height:520px}.project-lineup-table tbody tr:hover{background:#fbffe9}.project-lineup-table td{vertical-align:middle}
.project-batches-panel-clear,.project-activity-grid-clear{scroll-margin-top:154px}

@media(max-width:1380px){
  .project-overview-command{grid-template-columns:minmax(260px,1.35fr) repeat(2,minmax(180px,1fr))}.project-command-stage{grid-row:span 2}.project-overview-command .project-command-card{min-height:92px}
}
@media(max-width:1120px){
  .project-design-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.74fr)}
  .project-workspace-grid-no-preview{grid-template-columns:minmax(0,1fr) minmax(280px,320px)}
}
@media(max-width:900px){
  .project-overview-command{grid-template-columns:repeat(2,minmax(0,1fr))}.project-command-stage{grid-column:1/-1;grid-row:auto}.project-command-card{min-height:96px}
  .project-workspace-grid-no-preview{grid-template-columns:1fr}.project-side-column-compact{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}.project-control-panel{position:static}
}
@media(max-width:760px){
  .project-workspace-actions{max-width:none}.project-overview-command{grid-template-columns:1fr 1fr}.project-command-stage{grid-column:1/-1}.project-design-layout{grid-template-columns:1fr}.project-design-visual{border-right:0;border-bottom:1px solid var(--line)}.project-design-visual .project-artwork-primary img{height:340px}.project-design-visual .project-artwork-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.project-item-notes-important{grid-template-columns:1fr;gap:5px}.project-attention-strip{grid-template-columns:1fr}.project-attention-strip>div{width:max-content}.project-side-column-compact{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .project-overview-command{grid-template-columns:1fr}.project-command-stage{grid-template-columns:42px minmax(0,1fr)}.project-command-icon{width:42px;height:42px}.project-command-card{min-height:88px}.project-command-card strong{white-space:normal}.project-design-visual .project-artwork-primary img{height:280px}.project-design-visual .project-artwork-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.project-side-column-compact{grid-template-columns:1fr}.project-control-facts>div{grid-template-columns:88px minmax(0,1fr)}
}

/* Project workspace overlap fix */
.project-workspace-head{position:relative;z-index:1}
.project-section-nav{overflow-x:auto;scrollbar-width:none}
.project-section-nav::-webkit-scrollbar{display:none}
.project-section-nav a{flex:0 0 auto}
.project-side-column-compact{align-self:start}
.project-control-panel::-webkit-scrollbar{width:7px}
.project-control-panel::-webkit-scrollbar-thumb{border-radius:99px;background:#c9cdc0}
@media(max-width:1100px){
  .project-control-panel{top:146px;max-height:calc(100dvh - 164px)}
}
@media(max-width:900px){
  .project-control-panel{position:static;max-height:none;overflow:visible}
  .project-control-actions{position:static}
}
@media(max-width:820px){
  .project-section-nav{position:relative;top:auto}
}
@media(max-width:900px){
  .project-side-column-compact{grid-template-columns:1fr}
}


/* ===== Notification drawer ===== */
.notification-drawer-backdrop{
  place-items:stretch end;
  padding:0;
  background:rgba(10,12,8,.34);
  backdrop-filter:blur(2px);
}
.notification-drawer{
  width:min(430px,calc(100vw - 28px));
  height:100dvh;
  max-height:100dvh;
  border:0;
  border-left:1px solid var(--line);
  border-radius:20px 0 0 20px;
  box-shadow:-24px 0 70px rgba(0,0,0,.20);
  animation:notificationDrawerIn .24s var(--ease) both;
}
@keyframes notificationDrawerIn{
  from{opacity:.35;transform:translateX(100%)}
  to{opacity:1;transform:translateX(0)}
}
.notification-drawer-backdrop.closing .notification-drawer{
  animation:notificationDrawerOut .18s var(--ease) forwards;
}
@keyframes notificationDrawerOut{
  to{opacity:.25;transform:translateX(100%)}
}
.notification-drawer .modal-head{
  padding:20px 20px 17px;
  border-bottom:1px solid var(--line);
}
.notification-drawer .modal-head h2{font-size:22px}

/* ===== Compact workflow template editor ===== */
.workflow-page-head .page-title{font-size:clamp(40px,5vw,68px);line-height:.94}.workflow-page-head .eyebrow{color:var(--acid-dark)}
.workflow-editor{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:12px}.workflow-template-tabs{position:sticky;top:76px;display:grid;gap:6px;max-height:calc(100dvh - 96px);overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:#e9e9e1}.workflow-template-tab{min-width:0;min-height:58px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.workflow-template-tab>i{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#d9dbd1;color:#666c60}.workflow-template-tab span,.workflow-template-tab strong,.workflow-template-tab small{min-width:0;display:block}.workflow-template-tab strong,.workflow-template-tab small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-template-tab strong{font-size:10px}.workflow-template-tab small{margin-top:2px;color:var(--muted);font-size:8px}.workflow-template-tab:hover{background:#f4f5ef}.workflow-template-tab.is-active{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 8px 20px rgba(15,17,13,.14)}.workflow-template-tab.is-active>i{background:var(--acid);color:var(--ink)}.workflow-template-tab.is-active small{color:#c8cbbf}.workflow-template-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--acid) 70%,#2563eb);outline-offset:2px}
.workflow-template-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(17,19,15,.045)}.workflow-template-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fafbf6}.workflow-template-identity{min-width:0;display:flex;align-items:center;gap:11px}.workflow-template-identity>span{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;border-radius:10px;background:var(--ink);color:var(--acid)}.workflow-template-identity p{margin:0;color:var(--acid-dark);font-size:7px;font-weight:950;letter-spacing:.1em}.workflow-template-identity h3{margin:2px 0 0;font-size:16px}.workflow-template-identity small{display:block;max-width:580px;margin-top:2px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.workflow-template-metrics,.workflow-template-actions{display:flex;align-items:center;gap:7px}.workflow-template-metrics>span:not(.status-pill){display:grid;place-items:center;min-width:52px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:7px;text-transform:uppercase}.workflow-template-metrics>span strong{color:var(--ink);font-size:12px}.workflow-template-actions form{margin:0}
.workflow-flow-preview{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:10px 14px;border-bottom:1px solid var(--line);background:#f4f5ef;scrollbar-width:thin}.workflow-flow-preview span{flex:0 0 auto;padding:6px 9px;border:1px solid color-mix(in srgb,var(--stage-color) 45%,var(--line));border-left:4px solid var(--stage-color);border-radius:7px;background:#fff;font-size:8px;font-weight:900}.workflow-flow-preview>i{flex:0 0 auto;color:#a9ada1;font-size:7px}.workflow-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.workflow-stage-toolbar>div{display:flex;align-items:center;gap:10px}.workflow-stage-toolbar strong{font-size:11px}.workflow-stage-toolbar span{color:var(--muted);font-size:8px}.workflow-stage-toolbar>span{font-weight:800}.workflow-stage-toolbar>span i{margin-right:4px;color:var(--acid-dark)}
.workflow-stage-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.workflow-stage-row{min-width:0;display:grid;grid-template-columns:44px 30px 12px minmax(160px,1fr) minmax(100px,auto) auto;align-items:center;gap:8px;min-height:58px;padding:6px 10px;border-bottom:1px solid #e8e9e1;background:#fff;transition:background-color .16s var(--ease),opacity .16s var(--ease),box-shadow .16s var(--ease)}.workflow-stage-row:last-child{border-bottom:0}.workflow-stage-row:hover{background:#fafbf6}.workflow-stage-row.is-disabled{opacity:.58;background:#f5f5f1}.workflow-stage-row.is-dragging{z-index:2;opacity:.5;background:#f4ffca;box-shadow:0 12px 24px rgba(17,19,15,.16)}.workflow-stage-list.is-saving{pointer-events:none}.workflow-drag-handle{width:44px;height:44px;border:0;background:transparent;color:#8e9387;cursor:grab}.workflow-drag-handle:active{cursor:grabbing}.workflow-stage-number{font-size:9px;font-weight:950;color:var(--muted);text-align:center}.workflow-stage-color{width:11px;height:28px;border-radius:10px;background:var(--stage-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color) 15%,#fff)}.workflow-stage-copy{min-width:0}.workflow-stage-copy strong,.workflow-stage-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-stage-copy strong{font-size:11px}.workflow-stage-copy small{margin-top:2px;color:var(--muted);font-size:7px;letter-spacing:.05em}.workflow-stage-badges{display:flex;justify-content:flex-end;gap:5px}.workflow-stage-badges span{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:6px;background:#eff0e9;color:#555b50;font-size:7px;font-weight:900;text-transform:uppercase}.workflow-stage-badges .is-hold{background:#fff0f0;color:#b42323}.workflow-stage-badges .is-qc{background:#fff0fa;color:#a21caf}.workflow-stage-badges .is-terminal{background:#eaf8ee;color:#166534}.workflow-stage-badges .is-off{background:#eee;color:#666}.workflow-stage-actions{display:flex;align-items:center;gap:3px}.workflow-stage-actions button{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:8px;background:transparent;color:#676d62;cursor:pointer}.workflow-stage-actions button:hover{background:#eceee6;color:var(--ink)}.workflow-stage-actions button:last-child{padding:0 10px}.workflow-stage-actions button span{font-size:8px;font-weight:900}
.workflow-stage-actions form{margin:0}.workflow-stage-actions .workflow-stage-delete{padding:0;color:var(--danger)}.workflow-stage-actions .workflow-stage-delete:hover,.workflow-stage-actions .workflow-stage-delete:focus-visible{background:#fff0ef;color:#aa2119}
.workflow-quick-add{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(150px,1fr) 150px 92px auto;align-items:end;gap:9px;padding:12px 14px;border-top:1px solid var(--line);background:#f7f8f2}.workflow-quick-add-heading{display:flex;align-items:center;gap:9px}.workflow-quick-add-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--ink);color:var(--acid)}.workflow-quick-add-heading strong,.workflow-quick-add-heading small{display:block}.workflow-quick-add-heading strong{font-size:10px}.workflow-quick-add-heading small{margin-top:2px;color:var(--muted);font-size:7px}.workflow-quick-add .field{gap:4px;font-size:7px}.workflow-quick-add .field input,.workflow-quick-add .field select{min-height:40px;padding:8px 10px}.workflow-add-color{height:40px;display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:8px;font-weight:800}.workflow-add-color i{width:14px;height:24px;border-radius:7px;background:var(--preview-color)}.workflow-quick-add .button{min-height:40px}
.workflow-stage-form{display:grid;gap:14px}.workflow-color-preview{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--preview-color,#2563eb) 38%,var(--line));border-left:7px solid var(--preview-color,#2563eb);border-radius:10px;background:color-mix(in srgb,var(--preview-color,#2563eb) 7%,#fff)}.workflow-color-preview>i{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--preview-color,#2563eb);color:#fff}.workflow-color-preview strong,.workflow-color-preview small{display:block}.workflow-color-preview strong{font-size:11px}.workflow-color-preview small{margin-top:2px;color:var(--muted);font-size:8px}.workflow-color-settings{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10px}.workflow-manual-color input:disabled{opacity:.38;cursor:not-allowed}.workflow-active-toggle{position:relative;display:block}.workflow-active-toggle>input{position:absolute;opacity:0;pointer-events:none}.workflow-active-toggle>span{min-height:58px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-content:center;gap:1px 10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#f5f5f0;cursor:pointer}.workflow-active-toggle i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#ddd;color:#777}.workflow-active-toggle strong,.workflow-active-toggle small{display:block}.workflow-active-toggle strong{font-size:10px}.workflow-active-toggle small{color:var(--muted);font-size:8px}.workflow-active-toggle>input:checked+span{border-color:#9bb62a;background:#f7ffd9}.workflow-active-toggle>input:checked+span i{background:var(--acid);color:var(--ink)}
@media(max-width:1100px){.workflow-editor{grid-template-columns:1fr}.workflow-template-tabs{position:static;display:flex;max-height:none;overflow-x:auto}.workflow-template-tab{min-width:210px;flex:0 0 210px}.workflow-quick-add{grid-template-columns:1fr 1fr 100px auto}.workflow-quick-add-heading{grid-column:1/-1}.workflow-template-summary{grid-template-columns:1fr auto}.workflow-template-metrics{display:none}.workflow-template-actions{grid-column:2;grid-row:1}}
@media(max-width:700px){.workflow-template-summary{grid-template-columns:1fr}.workflow-template-actions{grid-column:auto;grid-row:auto}.workflow-stage-row{grid-template-columns:44px 24px 10px minmax(0,1fr) auto;padding:5px}.workflow-drag-handle{width:44px}.workflow-stage-badges{grid-column:4;justify-content:flex-start}.workflow-stage-actions{grid-column:5;grid-row:1/3}.workflow-stage-actions button{min-width:44px}.workflow-stage-actions button:last-child span{display:none}.workflow-quick-add{grid-template-columns:1fr}.workflow-quick-add-heading{grid-column:auto}.workflow-add-color{display:none}.workflow-quick-add .button{min-height:44px}.workflow-color-settings{grid-template-columns:1fr}.workflow-template-identity small{white-space:normal}.workflow-flow-preview{padding:8px 10px}}
.notification-drawer .modal-body{
  flex:1;
  padding:14px 14px 20px;
  background:#f7f7f1;
}
.notification-drawer .notification-list{gap:8px;margin:0}
.notification-drawer .notification-item{
  grid-template-columns:40px minmax(0,1fr) 8px;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.notification-drawer .notification-item.unread{
  border-color:#d7e5a3;
  background:#f8ffe8;
  box-shadow:0 4px 16px rgba(35,39,28,.04);
}
.notification-drawer .notification-item:hover{transform:none;box-shadow:0 5px 18px rgba(35,39,28,.06)}
.notification-drawer .notification-item-icon{width:40px;height:40px}
.notification-drawer .notification-item b{font-size:12px}
.notification-drawer .notification-item p{font-size:10px;line-height:1.5}
.notification-drawer .notification-item small{margin-top:6px}
.notification-drawer .notification-modal-foot{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:13px 14px max(13px,env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  background:#fff;
}
.notification-drawer .notification-modal-foot form{display:block;width:100%}
.notification-drawer .notification-modal-foot .button{width:100%;justify-content:center}
@media(max-width:560px){
  .notification-drawer-backdrop{background:rgba(10,12,8,.42)}
  .notification-drawer{
    width:100%;
    max-height:100dvh;
    height:100dvh;
    border-left:0;
    border-radius:0;
  }
  .notification-drawer .modal-head{padding-top:max(17px,env(safe-area-inset-top))}
  .notification-drawer .notification-modal-foot{grid-template-columns:1fr}
}

/* Calendar drawer — current production status in header */
.calendar-drawer-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:18px}
.calendar-drawer-heading{min-width:0}
.calendar-drawer-head-status{min-width:190px;max-width:360px;display:grid;justify-items:end;gap:6px;padding:8px 12px;border:1px solid #e0e2d8;border-radius:14px;background:#f7f8f3}
.calendar-drawer-head-status[hidden]{display:none!important}
.calendar-drawer-current-label{font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.calendar-drawer-current-chips{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}
.calendar-drawer-current-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border-radius:999px;background:var(--current-status-color,#64748b);color:var(--current-status-text,#fff);font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.calendar-drawer-current-chip i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.calendar-drawer-current-more{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:9px;font-weight:900}
.calendar-drawer-close{align-self:start}
@media(max-width:980px){.calendar-drawer-head{grid-template-columns:minmax(0,1fr) auto}.calendar-drawer-head-status{grid-column:1/-1;grid-row:2;justify-items:start;max-width:none;width:100%;margin-top:2px}.calendar-drawer-current-chips{justify-content:flex-start}.calendar-drawer-close{grid-column:2;grid-row:1}}
@media(max-width:560px){.calendar-drawer-head{column-gap:10px}.calendar-drawer-head-status{padding:7px 9px;border-radius:11px}.calendar-drawer-current-chip{min-height:27px;padding:5px 8px;font-size:9px}}

/* Sewing summary on Job Order */
.jo-sewing-summary{display:grid;grid-template-columns:minmax(320px,1.5fr) auto auto;gap:14px;align-items:center;padding:14px 16px;margin:0 0 14px;border:1px solid var(--line);border-radius:16px;background:#fff}.jo-sewing-summary-main{display:flex;align-items:center;gap:12px}.jo-sewing-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:var(--acid);flex:0 0 42px}.jo-sewing-copy{min-width:0;flex:1}.jo-sewing-copy>span,.jo-sewing-metrics span{display:block;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.jo-sewing-copy>strong{display:block;margin-top:3px;font-size:12px}.jo-sewing-copy small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.jo-sewing-track{height:7px;margin-top:7px;border-radius:999px;background:var(--soft);overflow:hidden}.jo-sewing-track i{display:block;height:100%;background:var(--acid-dark);border-radius:999px}.jo-sewing-metrics{display:grid;grid-template-columns:repeat(3,auto);gap:18px}.jo-sewing-metrics div{min-width:80px}.jo-sewing-metrics strong{display:block;margin-top:4px;font-size:12px}@media(max-width:900px){.jo-sewing-summary{grid-template-columns:1fr}.jo-sewing-metrics{grid-template-columns:repeat(3,1fr)}.jo-sewing-summary>.button{width:100%}}@media(max-width:560px){.jo-sewing-metrics{grid-template-columns:1fr 1fr}.jo-sewing-summary-main{align-items:flex-start}}

/* Unique Job Order QR + stable detail header */
.jo-detail-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 184px;grid-template-areas:"title qr" "actions qr";align-items:start;column-gap:24px;row-gap:18px;min-height:0}.jo-detail-head .jo-detail-title-wrap{grid-area:title;align-self:start;max-width:none}.jo-detail-head .jo-team-title{font-size:clamp(38px,4.4vw,68px);line-height:.94}.jo-head-qr{grid-area:qr;position:static;display:block;width:184px;height:184px;color:inherit;text-decoration:none;touch-action:manipulation}.jo-head-qr .job-order-qr,.jo-head-qr .job-order-qr svg{display:block;width:100%;height:100%}.jo-head-qr:focus-visible{outline:4px solid var(--acid-dark);outline-offset:4px}.jo-detail-head .jo-primary-actions{grid-area:actions;width:auto;justify-content:flex-start}.jo-schedule-alert{max-width:1500px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr);align-items:end;gap:16px;margin:0 auto 16px;padding:16px 18px;border-radius:14px}.jo-schedule-message{display:flex;align-items:flex-start;gap:10px}.jo-schedule-message>i{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;background:#f2cc45;color:#4d3c00}.jo-schedule-message strong,.jo-schedule-message span{display:block}.jo-schedule-message strong{font-size:11px}.jo-schedule-message span{margin-top:3px;font-size:9px;line-height:1.45}.jo-inline-schedule{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:9px}.jo-inline-schedule label{display:grid;gap:4px;color:#4d3c00;font-size:9px;font-weight:900}.jo-inline-schedule label small{font-size:7px;font-weight:650;opacity:.78}.jo-inline-schedule input{width:100%;min-height:42px;padding:7px 9px;border:1px solid #d5ba59;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.jo-inline-schedule .button{min-height:42px;white-space:nowrap}@media(max-width:1100px){.jo-detail-head{grid-template-columns:minmax(0,1fr) 154px}.jo-head-qr{width:154px;height:154px}.jo-schedule-alert{grid-template-columns:1fr}.jo-inline-schedule{grid-template-columns:1fr 1fr auto}}@media(max-width:760px){.jo-detail-head{grid-template-columns:1fr;grid-template-areas:"title" "actions" "qr"}.jo-detail-head .jo-team-title{font-size:clamp(36px,11vw,54px)}.jo-detail-head .jo-primary-actions{width:100%}.jo-head-qr{width:132px;height:132px;justify-self:start}.jo-inline-schedule{grid-template-columns:1fr 1fr}.jo-inline-schedule .button{grid-column:1/-1;width:100%}}@media(max-width:480px){.jo-inline-schedule{grid-template-columns:1fr}.jo-inline-schedule .button{grid-column:auto}}
.jo-qr-link{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;padding:16px;color:inherit;text-decoration:none}.jo-qr-link:hover{background:#f7f8f2}.jo-qr-link:focus-visible{outline:3px solid var(--acid-dark);outline-offset:-3px}.jo-qr-link .job-order-qr{display:block;width:112px;height:112px;padding:5px;border:1px solid var(--line);background:#fff}.jo-qr-link .job-order-qr svg{display:block;width:100%;height:100%}.jo-qr-link strong,.jo-qr-link small{display:block}.jo-qr-link strong{font-size:11px}.jo-qr-link small{margin-top:6px;color:var(--muted);font-size:9px;line-height:1.45}@media(max-width:420px){.jo-qr-link{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:13px}.jo-qr-link .job-order-qr{width:96px;height:96px}}

/* Mobile Job Order QR status workflow */
.jo-scan-transition textarea{font-size:16px!important}
.jo-scan-head{max-width:860px;margin-inline:auto}.jo-scan-back{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-bottom:5px;color:var(--ink);font-size:10px;font-weight:850;text-decoration:none}.jo-scan-back:hover{text-decoration:underline}.jo-scan-summary{max-width:860px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 auto 14px;border:1px solid var(--line);border-radius:16px;background:var(--line);overflow:hidden}.jo-scan-summary>div{min-width:0;padding:14px;background:#fff}.jo-scan-summary span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.jo-scan-summary strong{display:block;margin-top:5px;font-size:12px;overflow-wrap:anywhere}.jo-scan-notice{max-width:860px;display:flex;align-items:flex-start;gap:10px;margin:0 auto 14px}.jo-scan-list{max-width:860px;display:grid;gap:14px;margin-inline:auto}.jo-scan-batch{overflow:hidden}.jo-scan-batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.jo-scan-batch-head span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.jo-scan-batch-head h3{margin:4px 0 0;font-size:17px}.jo-scan-current{padding:18px;border-left:6px solid var(--scan-stage-color);background:#fafbf7}.jo-scan-current>span{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.jo-scan-current>strong{display:flex;align-items:center;gap:9px;margin-top:7px;font-size:22px}.jo-scan-current>strong i{width:11px;height:11px;border-radius:50%;background:var(--scan-stage-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--scan-stage-color) 18%,transparent)}.jo-scan-current>small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.jo-scan-actions{display:grid;gap:10px;padding:16px 18px 18px}.jo-scan-actions-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.jo-scan-actions-title span{font-size:10px;font-weight:900;text-transform:uppercase}.jo-scan-actions-title small{color:var(--muted);font-size:9px}.jo-scan-transition{display:grid;gap:8px}.jo-scan-transition label{display:grid;gap:6px;font-size:10px;font-weight:850}.jo-scan-transition textarea{min-height:76px;padding:11px;border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical}.jo-scan-transition button{min-height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--ink);border-radius:12px;background:var(--ink);color:#fff;text-align:left;cursor:pointer;touch-action:manipulation}.jo-scan-transition button:hover{background:#292d24}.jo-scan-transition button:focus-visible{outline:3px solid var(--acid-dark);outline-offset:2px}.jo-scan-transition button span{font-size:9px;color:#c7cbbf}.jo-scan-transition button strong{font-size:13px}.jo-scan-complete,.jo-scan-no-next{display:flex;align-items:center;gap:9px;margin:0;padding:16px 18px;font-size:11px}.jo-scan-complete{background:#f1f8ee;color:#245c2e}.jo-scan-no-next{color:var(--muted)}.jo-scan-empty{padding:18px}@media(max-width:680px){.jo-scan-summary{grid-template-columns:1fr 1fr}.jo-scan-batch-head{padding:14px}.jo-scan-current{padding:16px 14px}.jo-scan-actions{padding:14px}.jo-scan-actions-title{align-items:flex-start;flex-direction:column}.jo-scan-current>strong{font-size:20px}}@media(max-width:380px){.jo-scan-summary{grid-template-columns:1fr}.jo-scan-current>strong{font-size:18px}}

/* Denser desktop Job Order workspace: keep controls legible while reducing scrolling. */
@media(min-width:1251px){
  .jo-create-hero{margin-bottom:10px;padding-top:2px}.jo-create-hero h1{font-size:30px}.jo-create-order-badge{padding:10px 14px}
  .jo-create-progress{margin-bottom:10px;padding:4px}.jo-create-progress a{min-height:35px;padding-block:5px}
  .jo-create-layout{grid-template-columns:minmax(0,1fr) 258px;gap:12px}
  #jo-form .jo-section{margin-bottom:10px;padding:14px 16px}
  #jo-form .jo-section>legend{margin-bottom:10px;padding-bottom:8px}
  #jo-form .section-help{margin-bottom:9px;line-height:1.35}
  #jo-form .process-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  #jo-form .process-choice{grid-template-columns:30px minmax(0,1fr) 12px;gap:7px;min-height:62px;padding:8px;border-radius:9px}
  #jo-form .process-choice-icon{width:30px;height:30px;border-radius:8px;font-size:12px}
  #jo-form .process-choice strong{font-size:9px}
  #jo-form .process-choice small{display:-webkit-box;overflow:hidden;font-size:7px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .jo-compact-pair{grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:10px}
  .jo-customer-fields,.jo-schedule-fields{gap:7px}
  #jo-form .jo-team-primary{margin-bottom:8px;padding:8px 10px}
  #jo-form .jo-team-primary input{min-height:41px!important;font-size:14px!important}
  .jo-customer-picker{padding-bottom:7px}.jo-additional-info{padding-top:7px;padding-bottom:0}
  .jo-customer-name-row,.jo-customer-contact-row,.jo-customer-account-row,.jo-date-pair{gap:7px}
  #jo-form .jo-order-notes textarea{min-height:58px}
  #jo-form .jo-designs-section{padding:14px 16px}.jo-designs-section .section-heading-row{margin-bottom:9px}
  .jo-optional-section{margin-bottom:10px}.jo-optional-section>summary{padding:12px 16px}
  #jo-form .jo-submit-bar{margin-top:10px}
}
/* System guide ---------------------------------------------------------- */
.guide-head{align-items:end}.guide-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.guide-toc{position:sticky;top:92px;display:grid;gap:3px;padding:16px;border:1px solid var(--line,#dfe2d8);border-radius:16px;background:var(--surface,#fff)}.guide-toc strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin:0 8px 8px}.guide-toc a{padding:8px;border-radius:8px;color:inherit;text-decoration:none;font-size:.87rem}.guide-toc a:hover,.guide-toc a:focus-visible{background:#f0f3e9}.guide-content{min-width:0;display:grid;gap:18px}.guide-hero,.guide-section{scroll-margin-top:92px;border:1px solid var(--line,#dfe2d8);border-radius:18px;background:var(--surface,#fff);padding:clamp(20px,3vw,34px)}.guide-hero{color:#f7f8f2;background:#12150f;border:0}.guide-hero h3{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05;max-width:720px;margin:12px 0}.guide-hero>p{max-width:760px;color:#cdd2c4}.guide-kicker{display:inline-flex;gap:8px;align-items:center;color:#c7ff47;font-weight:800;font-size:.75rem;letter-spacing:.08em}.guide-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none;padding:0;margin:28px 0 0}.guide-flow li{position:relative;display:grid;gap:3px;padding:14px;border:1px solid #343a2d;border-radius:12px}.guide-flow li:not(:last-child)::after{content:'\2192';position:absolute;right:-10px;top:50%;z-index:1;color:#c7ff47;background:#12150f}.guide-flow span{color:#c7ff47;font-weight:900}.guide-flow small{color:#9da694}.guide-section-title{display:flex;gap:14px;align-items:start;margin-bottom:22px}.guide-section-title>span{display:grid;place-items:center;min-width:42px;height:42px;border-radius:10px;background:#c7ff47;color:#11130f;font-weight:900}.guide-section-title p{font-size:.7rem;letter-spacing:.12em;font-weight:800;color:#69715f;margin:1px 0 3px}.guide-section-title h3{margin:0;font-size:clamp(1.25rem,2vw,1.7rem)}.guide-grid{display:grid;gap:12px}.guide-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-card{padding:18px;border-radius:14px;background:#f6f7f2;border:1px solid #e5e8de}.guide-card>i{font-size:1.15rem;color:#52623d}.guide-card h4{margin:12px 0 6px}.guide-card p{margin:0;color:#5d6359;line-height:1.55}.guide-note{display:flex;gap:12px;margin-top:14px;padding:14px 16px;border-left:4px solid #9bd322;background:#f5fae9;border-radius:8px}.guide-note.warning{border-color:#e29a22;background:#fff8e9}.guide-note p{margin:0}.guide-steps{counter-reset:steps;display:grid;gap:0;padding:0;list-style:none}.guide-steps li{position:relative;padding:4px 0 20px 48px;border-left:2px solid #dfe5d5;margin-left:15px}.guide-steps li:last-child{border-left-color:transparent;padding-bottom:4px}.guide-steps li::before{counter-increment:steps;content:counter(steps);position:absolute;left:-17px;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1b2017;color:#c7ff47;font-weight:900}.guide-steps strong{font-size:1rem}.guide-steps p{margin:5px 0;color:#5d6359;line-height:1.55}.guide-steps.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-steps.compact li{border:1px solid #e1e5da;border-radius:12px;margin:0;padding:16px 16px 16px 54px}.guide-steps.compact li::before{left:14px;top:14px}.guide-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.guide-inline-action{margin:18px 0 0}.guide-inline-action a{font-weight:800}.guide-table-wrap{overflow:auto}.guide-table{width:100%;border-collapse:collapse}.guide-table th,.guide-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e5dc;vertical-align:top}.guide-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#68705f}.guide-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-checklist label{display:flex;gap:10px;align-items:start;padding:13px;border:1px solid #e1e5da;border-radius:10px}.guide-checklist input{width:18px;height:18px;accent-color:#729f18}.guide-faq{display:grid;gap:8px}.guide-faq details{border:1px solid #e1e5da;border-radius:11px;padding:0 16px}.guide-faq summary{cursor:pointer;font-weight:800;padding:15px 28px 15px 0}.guide-faq p{color:#5d6359;line-height:1.55;margin:0 0 16px}.guide-footer{display:flex;gap:14px;align-items:center;padding:20px;border-radius:16px;background:#eef3e6}.guide-footer>i{font-size:1.6rem;color:#577420}.guide-footer p{margin:3px 0 0}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-toc{position:static;display:flex;overflow:auto}.guide-toc strong{display:none}.guide-toc a{white-space:nowrap}.guide-flow{grid-template-columns:1fr}.guide-flow li:not(:last-child)::after{content:'\2193';right:16px;top:auto;bottom:-13px}.guide-grid.three{grid-template-columns:1fr}.guide-steps.compact{grid-template-columns:1fr}}
@media(max-width:600px){.guide-grid.two,.guide-checklist{grid-template-columns:1fr}.guide-hero,.guide-section{padding:18px}.guide-head .button{width:100%;justify-content:center}}

/* ===== Customer profile: teams as thumbnail cards ===== */
.customer-profile-back{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.customer-profile-back:hover{color:var(--ink)}
.customer-profile-head{align-items:flex-end;margin-bottom:18px}
.customer-profile-identity{display:flex;align-items:flex-start;gap:16px;min-width:0}.customer-profile-identity>div{min-width:0}
.customer-profile-identity .eyebrow{margin:0 0 6px;font-size:10px;font-weight:900;letter-spacing:.12em}
.customer-profile-identity .page-title{overflow-wrap:anywhere}
.customer-profile-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:16px;background:var(--ink);color:var(--acid);font-size:20px}
.customer-profile-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.customer-profile-tags span{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:4px 10px;border:1px solid var(--line);border-radius:99px;background:#fff;color:#444a3f;font-size:11px;font-weight:800}
.customer-profile-contact{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;padding:0;list-style:none;color:var(--muted);font-size:12px}
.customer-profile-contact li{display:inline-flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}
.customer-profile-contact a{color:var(--ink);font-weight:700;text-decoration:none}.customer-profile-contact a:hover{text-decoration:underline}

.customer-team-panel{overflow:hidden}
.customer-team-head{flex-wrap:wrap;align-items:flex-end}
.customer-team-head .eyebrow{margin:0;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em}
.customer-team-head h3{margin:2px 0 3px;font-size:20px;letter-spacing:-.03em}
.customer-team-head>div>span{color:var(--muted);font-size:12px}
.customer-team-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 420px;max-width:640px}
.customer-team-tools .searchbox{flex:1 1 220px;min-width:0}
.customer-team-tools .searchbox i{top:13px;font-size:13px}
.customer-team-tools .control{min-height:40px;font-size:13px}
.customer-team-tools select.control{flex:0 0 178px;width:178px}
.customer-team-tools .button{flex:0 0 auto;min-height:40px;margin:0}
.customer-team-chips{margin:0;padding:12px 20px;border-bottom:1px solid var(--line)}
.customer-team-chips a{min-height:34px;font-size:11px}
.customer-team-chips a b{min-width:20px;padding:1px 6px;border-radius:99px;background:#eff0e9;color:var(--ink);font-size:10px;text-align:center;font-variant-numeric:tabular-nums}
.customer-team-chips a.active b{background:var(--acid)}

.team-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;padding:18px 20px 20px}
.team-thumb-card{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s}
.team-thumb-card:hover{transform:translateY(-2px);border-color:#b9bcae;box-shadow:var(--shadow)}
.team-thumb-card.state-done.has-balance{border-color:#e7c955;box-shadow:inset 0 0 0 1px #e7c955}
.team-thumb-card.is-overdue{border-color:#f2aaa4;box-shadow:inset 0 0 0 1px #f2aaa4}
.team-thumb-card.state-cancelled{opacity:.72}
.team-thumb-media{position:relative;aspect-ratio:4/3;border-bottom:1px solid var(--line);background:#eceee5}
.team-thumb-image{position:absolute;inset:0;display:block;overflow:hidden}
.team-thumb-image img{width:100%;height:100%;display:block;object-fit:cover;cursor:pointer;transition:transform .35s var(--ease)}
.team-thumb-card:hover .team-thumb-image img{transform:scale(1.04)}
.team-thumb-placeholder{height:100%;display:grid;place-content:center;justify-items:center;gap:8px;color:#9a9e90;background:repeating-linear-gradient(135deg,#f1f2ec 0 12px,#ebede5 12px 24px)}
.team-thumb-placeholder i{font-size:34px}.team-thumb-placeholder small{font-size:11px;font-weight:800}
.team-thumb-state{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 10px;border-radius:99px;background:#fff;color:#4f5349;font-size:11px;font-weight:900;box-shadow:0 2px 10px rgba(17,19,15,.16);pointer-events:none}
.state-in_production .team-thumb-state{background:#e3f3f8;color:#065e77}
.state-hold .team-thumb-state{background:#fff1d6;color:#8a5200}
.state-done .team-thumb-state{background:var(--success);color:#fff}
.state-cancelled .team-thumb-state{background:#ecebe6;color:#6b6d66}
.team-thumb-zoom{position:absolute;right:10px;top:10px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(17,19,15,.72);color:#fff;font-size:13px;text-decoration:none;opacity:0;transition:opacity .15s,background .15s,color .15s}
.team-thumb-card:hover .team-thumb-zoom,.team-thumb-zoom:focus-visible{opacity:1}
.team-thumb-zoom:hover{background:var(--ink);color:var(--acid)}
@media(hover:none){.team-thumb-zoom{opacity:1}}
.team-thumb-count{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;background:rgba(17,19,15,.78);color:#fff;font-size:10px;font-weight:850;pointer-events:none}
.team-thumb-body{flex:1;display:flex;flex-direction:column;gap:8px;padding:13px 14px 14px}
.team-thumb-body h4{margin:0;font-size:15px;line-height:1.25;letter-spacing:-.02em}
.team-thumb-body h4 a{display:block;overflow:hidden;color:var(--ink);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.team-thumb-body h4 a:hover{text-decoration:underline}
.team-thumb-sub{display:flex;flex-wrap:wrap;gap:3px 10px;margin:-4px 0 0;color:var(--muted);font-size:11px;font-weight:700}
.team-thumb-sub span:first-child{color:var(--ink);font-variant-numeric:tabular-nums}
.team-thumb-garments{overflow:hidden;margin:0;color:#4f5349;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.team-thumb-progress{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:25px}
.team-thumb-progress .production-list-status{max-width:100%;font-size:10px}.team-thumb-progress .production-list-status>small{font-size:9px}
.team-thumb-note{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.team-thumb-note.done{color:var(--success)}
.team-thumb-money{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
.team-thumb-balance{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.team-thumb-balance span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.team-thumb-balance strong{font-size:18px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.team-thumb-card.has-balance .team-thumb-balance strong{color:#8a6400}
.team-thumb-card.is-overdue .team-thumb-balance strong{color:var(--danger)}
.team-thumb-balance strong.is-paid{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-size:14px}
.team-thumb-paybar{height:6px;margin:8px 0 6px;overflow:hidden;border-radius:99px;background:#eceee5}
.team-thumb-paybar i{display:block;height:100%;border-radius:inherit;background:var(--success)}
.team-thumb-card.has-balance .team-thumb-paybar i{background:#c9a520}
.team-thumb-card.is-overdue .team-thumb-paybar i{background:var(--danger)}
.team-thumb-money small{display:block;color:var(--muted);font-size:11px}
.team-thumb-orders{display:flex;flex-wrap:wrap;gap:5px;padding:10px 14px 12px;border-top:1px solid var(--line);background:#fafaf6}
.team-thumb-orders a{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 9px;border:1px solid var(--line);border-radius:99px;background:#fff;color:#4f5349;font-size:10px;font-weight:850;text-decoration:none;font-variant-numeric:tabular-nums}
.team-thumb-orders a::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#a3a69b}
.team-thumb-orders a.state-in_production::before{background:var(--info)}
.team-thumb-orders a.state-hold::before{background:var(--warning)}
.team-thumb-orders a.state-done::before{background:var(--success)}
.team-thumb-orders a.state-cancelled::before{background:#c7c8c0}
.team-thumb-orders a.has-balance{border-color:#ead77c;background:#fffbea}
.team-thumb-orders a:hover{border-color:var(--ink);color:var(--ink)}
@media(max-width:900px){.customer-profile-head{align-items:flex-start}.customer-team-tools{flex-basis:100%;max-width:none}}
@media(max-width:560px){
  .customer-profile-identity{gap:12px}.customer-profile-avatar{width:48px;height:48px;flex-basis:48px;border-radius:12px;font-size:15px}
  .customer-team-head,.customer-team-chips{padding-inline:16px}
  .customer-team-tools{flex-wrap:wrap}.customer-team-tools .searchbox{flex-basis:100%}.customer-team-tools select.control{flex:1 1 auto;width:auto}
  .team-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 16px 16px}
  .team-thumb-card:hover{transform:none}
  .team-thumb-state{left:6px;top:6px;min-height:22px;padding:3px 8px;font-size:9px}
  .team-thumb-zoom{right:6px;top:6px;width:30px;height:30px;font-size:11px}
  .team-thumb-count{left:6px;bottom:6px;font-size:9px}
  .team-thumb-body{gap:6px;padding:10px}
  .team-thumb-body h4{font-size:13px}
  .team-thumb-garments{display:none}
  .team-thumb-balance{flex-direction:column;align-items:flex-start;gap:1px}
  .team-thumb-balance strong{font-size:15px}
  .team-thumb-money small{font-size:10px}
  .team-thumb-orders{padding:8px 10px}
}
@media(max-width:350px){.team-thumb-grid{grid-template-columns:1fr}}
.team-thumb-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.team-thumb-actions .button{flex:1 1 auto;min-height:34px;margin:0;padding:0 10px;gap:6px;font-size:11px}
.customer-merge-help{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.55}
.customer-merge-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border:1px solid #f2aaa4;border-radius:10px;background:#fff6f5;font-size:12px;line-height:1.45;cursor:pointer}
.customer-merge-confirm input{width:18px;height:18px;flex:0 0 18px;margin-top:1px;accent-color:var(--danger)}
.jo-customer-match{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;padding:10px 12px;border:1px solid #ead77c;border-radius:10px;background:#fffbea;color:#5e4a00;font-size:12px;font-weight:700}
.jo-customer-match[hidden]{display:none}
.jo-customer-match .button{min-height:32px;margin:0;font-size:11px}
a.table-main{display:block;color:var(--ink);text-decoration:none}a.table-main:hover{text-decoration:underline}
.jo-customer-link{color:inherit;font-weight:800;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}.jo-customer-link:hover{text-decoration-color:currentColor}
@media(max-width:560px){.team-thumb-actions .button span{display:none}.team-thumb-actions .button{padding:0;min-width:40px}}

/* ===== Production workspace: "what's next" first ===== */
.project-back-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.project-back-link:hover{color:var(--ink)}
.pws-title{display:flex;align-items:flex-end;gap:16px;min-width:0}.pws-title>div{min-width:0}
.pws-thumb{flex:0 0 84px;width:84px;height:84px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#eceee5}
.pws-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.project-title-meta>span.pws-priority{border-color:#e7c955;background:#fff8d4;color:#765e00}

.pnext-panel{margin-bottom:12px;padding:16px 18px 18px;border:2px solid var(--ink);box-shadow:0 10px 30px rgba(17,19,15,.07)}
.pnext-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.pnext-head .eyebrow{margin:0;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.14em}
.pnext-head h3{margin:2px 0 0;font-size:22px;letter-spacing:-.03em}
.pnext-head .button{margin:0}
.pnext-card{padding-top:12px;border-top:1px solid var(--line)}
.pnext-card+.pnext-card{margin-top:16px}
.pnext-batch-label{margin:0 0 6px;font-size:12px;font-weight:900}

.pnext-stepper{display:flex;margin:0 0 14px;padding:6px 2px 10px;list-style:none;overflow-x:auto;scrollbar-width:thin}
.pnext-stepper li{position:relative;flex:0 0 auto;width:96px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:850;line-height:1.2;text-align:center}
.pnext-stepper li::before{content:"";position:absolute;z-index:0;top:15px;left:-50%;width:100%;height:3px;background:var(--line)}
.pnext-stepper li:first-child::before{display:none}
.pnext-stepper li>i{position:relative;z-index:1;width:32px;height:32px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:11px;font-style:normal;font-weight:900}
.pnext-stepper li>span{max-width:90px;overflow-wrap:anywhere}
.pnext-stepper li.is-done{color:#2f5a1c}
.pnext-stepper li.is-done>i{border-color:var(--success);background:var(--success);color:#fff}
.pnext-stepper li.is-done::before,.pnext-stepper li.is-current::before,.pnext-stepper li.is-paused::before{background:var(--success)}
.pnext-stepper li.is-current,.pnext-stepper li.is-paused,.pnext-stepper li.is-next{color:var(--ink)}
.pnext-stepper li.is-current>i{width:38px;height:38px;margin-top:-3px;border-color:var(--ink);background:var(--acid);color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--acid) 40%,transparent)}
.pnext-stepper li.is-paused>i{width:38px;height:38px;margin-top:-3px;border-color:var(--warning);background:#fff1d6;color:#8a5200;font-size:9px}
.pnext-stepper li.is-next>i{border-color:var(--ink);border-style:dashed;color:var(--ink)}

.pnext-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);grid-template-areas:"flow form" "msg form";gap:12px 28px;align-items:start}
.pnext-flow,.pnext-finished{grid-area:flow}
.pnext-hold-reason,.pnext-waiting{grid-area:msg}
.pnext-form,.pnext-viewonly,.mode-finished .pnext-go{grid-area:form}
.pnext-flow{display:flex;align-items:stretch;gap:12px}
.pnext-now,.pnext-then{flex:1 1 0;min-width:0;display:grid;align-content:start;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px}
.pnext-now{border-color:color-mix(in srgb,var(--status-color) 55%,var(--line));background:color-mix(in srgb,var(--status-color) 9%,#fff)}
.pnext-then{border-style:dashed;background:#fff}
.mode-resume .pnext-now{border-color:#f0c36d;background:#fff8e8}
.pnext-label{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.14em}
.pnext-stage{display:flex;align-items:center;gap:8px;font-size:clamp(18px,2vw,24px);line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}
.pnext-stage>i{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--status-color)}
.pnext-now small,.pnext-then small{color:var(--muted);font-size:11px}
.pnext-arrow{align-self:center;color:var(--muted);font-size:20px}
.pnext-hold-reason,.pnext-waiting{margin:0;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45}
.pnext-hold-reason{border:1px solid #f0c36d;background:#fff8e8;color:#6b4a00}
.pnext-waiting{border:1px solid var(--line);background:#f6f7f2;color:#4f5349}
.pnext-form{display:grid;gap:10px}
.pnext-go{width:100%;min-height:56px;margin:0;padding:10px 16px;font-size:15px;line-height:1.25;text-align:center;white-space:normal}
.pnext-note>summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:800}
.pnext-note textarea,.pnext-reason textarea{width:100%;min-height:64px;margin-top:6px;padding:9px 11px;border:1px solid #cfd0c7;border-radius:9px;background:#fff;font-size:14px;resize:vertical}
.pnext-reason{margin:0}
.pnext-alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:11px}.pnext-alternatives .button{margin:0}
.pnext-viewonly{margin:0;color:var(--muted);font-size:12px}
.pnext-finished{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #9de0b9;border-radius:14px;background:#e6fbef;color:#0b5d2c}
.pnext-finished>i{font-size:26px}.pnext-finished strong{display:block;font-size:18px}.pnext-finished span{font-size:12px}
.pnext-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.pnext-qty{color:var(--muted);font-size:12px}.pnext-qty b{color:var(--ink)}
.pnext-tools{display:flex;flex-wrap:wrap;gap:6px}.pnext-tools .button{margin:0}

.pfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.pfacts>article{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.pfacts>article>i{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:9px;background:#eff0e9;color:#555b50;font-size:13px}
.pfacts>article>div{min-width:0}
.pfacts span{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pfacts strong{display:block;margin-top:2px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.pfacts small{display:block;color:var(--muted);font-size:11px}
.pfacts>article.is-alert{border-color:#f2aaa4;background:#fff6f5}.pfacts>article.is-alert strong{color:var(--danger)}
.pws-stack{display:grid;gap:12px;margin-bottom:12px}

.next-step-hint{display:flex;align-items:center;gap:5px;margin-top:6px;color:#4f5349;font-size:10px;font-weight:800;white-space:nowrap}
.next-step-hint b{color:var(--ink)}
.next-step-hint.is-paused{color:#8a5200}
.project-status-chips{margin-bottom:10px}
.work-queue-table tr.is-overdue td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
.work-queue-table .button{margin:0;white-space:nowrap}

@media(max-width:900px){.pfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .pnext-panel{padding:14px}
  .pnext-body{grid-template-columns:1fr;grid-template-areas:"flow" "msg" "form"}
  .pws-thumb{width:64px;height:64px;flex-basis:64px}
  .pnext-tools{width:100%}.pnext-tools .button{flex:1 1 auto}
}
@media(max-width:480px){
  .pnext-flow{flex-direction:column}
  .pnext-arrow{transform:rotate(90deg)}
  .pfacts{grid-template-columns:1fr}
  .pnext-head{flex-wrap:wrap}
}
@media print{.pnext-form,.pnext-tools,.project-back-link,.project-status-chips{display:none!important}.pnext-panel{border-width:1px;box-shadow:none}}
@media print{.customer-team-tools,.customer-team-chips,.team-thumb-zoom,.customer-profile-back{display:none!important}.team-thumb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-thumb-card{break-inside:avoid;box-shadow:none}}

/* ===== No loading animations — smooth transitions instead =====
   Pages cross-fade (supported browsers) and content fades in when it arrives.
   Spinners, shimmering skeletons and the full-screen loader are turned off. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:var(--ease)}
/* The sidebar stays put during page changes (no cross-fade ghosting); only its highlight moves. */
.sidebar{view-transition-name:app-sidebar}
::view-transition-group(app-sidebar),::view-transition-new(app-sidebar){animation:none}
::view-transition-old(app-sidebar){display:none}
/* Clicked link: a quiet pressed look until the next page shows. */
.nav a.nav-pending{background:rgba(255,255,255,.08);color:#fff}
.nav a.nav-pending i{color:var(--acid)}
/* While the pill glides in from the previous link, the new label stays light and darkens as it lands. */
#nav-tree.nav-arriving .nav a.active,#nav-tree.nav-arriving .nav a.active i{color:#b9bdae}
html.nav-arrive .nav a.active{background:transparent;color:#b9bdae}
html.nav-arrive .nav a.active i{color:#9ea391}
/* Opacity only, and no fill after it ends: a transform (or a lingering animation on it) would make
   <main> the containing block for position:fixed drawers inside it, pushing them off the viewport. */
@keyframes pageFadeIn{from{opacity:0}}
.main.page-enter{animation:pageFadeIn .22s var(--ease) backwards}
.skeleton{animation:skeletonPulse 1.6s ease-in-out infinite!important;background:#efefe8!important}
@keyframes skeletonPulse{50%{opacity:.55}}
/* Subtle loading cue: a thin bar at the very top while the next page loads. */
.page-progress{position:fixed;top:0;left:0;z-index:6000;width:0;height:3px;border-radius:0 3px 3px 0;background:var(--acid-dark);box-shadow:0 0 8px color-mix(in srgb,var(--acid-dark) 60%,transparent);opacity:0;pointer-events:none}
.page-progress.is-active{width:85%;opacity:1;transition:width 6s cubic-bezier(.08,.75,.15,1),opacity .1s ease}
.page-progress.is-arriving{width:70%;opacity:1;transition:none}
.page-progress.is-done{width:100%;opacity:0;transition:width .25s ease,opacity .3s ease .2s}
.station-drawer-loading>div,[data-sew-loading]>div{animation:skeletonPulse 1.6s ease-in-out infinite}
.fa-spin,.is-loading i,.is-optimizing i,.global-search-state.is-loading strong{animation:none!important}
.fa-spinner,.fa-circle-notch,.global-search-state.is-loading>i{display:none!important}
#dashboard-content:not([hidden]),[data-drawer-content]:not([hidden]),[data-sew-content]:not([hidden]),#calendar-drawer-body>*,.kanban-drawer-body>*{animation:fadeIn .2s var(--ease) both}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),.main.page-enter,.skeleton,.station-drawer-loading>div,[data-sew-loading]>div{animation:none!important}.page-progress.is-active{width:100%;transition:opacity .15s ease}}

/* ===== Lineup sheet editor: easier editing (toolbar, selection bar, find, cell menu, lineup check) ===== */
#jo-form .lineup-sheet-block .lineup-sheet-actions{gap:6px}
#jo-form .lineup-sheet-block .lineup-sheet-actions .button,#jo-form .sheet-selection-actions .button,#jo-form .sheet-find-panel .button{min-height:32px;padding:5px 10px;font-size:11px;gap:6px}
#jo-form .sheet-find-panel .button.icon{width:32px;padding:0}
#jo-form .lineup-sheet-block .lineup-sheet-actions .button:disabled,#jo-form .sheet-selection-actions .button:disabled,#jo-form .sheet-find-panel .button:disabled{opacity:.42;cursor:not-allowed}
.sheet-toolbar-divider{width:1px;align-self:stretch;margin:2px 3px;background:#d6d9cd}
.sheet-menu{position:relative}
.sheet-menu>summary{list-style:none;cursor:pointer;user-select:none}
.sheet-menu>summary::-webkit-details-marker{display:none}
.sheet-menu[open]>summary{border-color:#aeb3a3;background:#eef0e7}
.sheet-menu-list{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:238px;display:grid;padding:5px;border:1px solid #d3d6ca;border-radius:11px;background:#fff;box-shadow:0 16px 40px rgba(17,19,15,.16)}
.sheet-menu-list button,.sheet-context-menu button{width:100%;min-height:34px;display:flex;align-items:center;gap:10px;padding:6px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:700;text-align:left;cursor:pointer}
.sheet-menu-list button i,.sheet-context-menu button i{width:16px;color:#6d7468;text-align:center}
.sheet-menu-list button:hover:not(:disabled),.sheet-menu-list button:focus-visible,.sheet-context-menu button:hover:not(:disabled),.sheet-context-menu button:focus-visible{background:#f0f3e6;outline:0}
.sheet-menu-list button:disabled,.sheet-context-menu button:disabled{opacity:.4;cursor:not-allowed}

/* The bar under the toolbar: what is selected and what you can do with it. Fixed height, so nothing jumps. */
.sheet-selection-bar{min-height:42px;display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:5px 6px 5px 12px;border:1px solid #d8dbd0;border-radius:9px;background:#fff}
.sheet-selection-bar .sheet-selection-status{flex:0 0 auto;max-width:48%;min-width:0;margin:0;overflow:hidden;color:#596055;font-size:11px;font-weight:800!important;text-overflow:ellipsis;white-space:nowrap}
.sheet-selection-actions{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:thin}
.sheet-selection-actions>:first-child{margin-left:auto}
.sheet-selection-actions .button{flex:0 0 auto;white-space:nowrap}
.sheet-selection-bar:not(.has-selection) .sheet-selection-actions{visibility:hidden}
.sheet-selection-bar:not(.has-selection) .sheet-selection-status{color:#8a9084;font-weight:700!important}

/* Formula bar only in full screen; in the card the cells are enough. */
.lineup-sheet-block:not(.is-expanded) .sheet-formula-bar{display:none}

/* Find and replace */
.sheet-find-panel{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px;padding:7px;border:1px solid #b9cf72;border-radius:9px;background:#fbfff0}
.sheet-find-panel[hidden]{display:none}
.sheet-find-field{flex:1 1 170px;min-width:0;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #cfd3c6;border-radius:8px;background:#fff}
.sheet-find-field:focus-within{border-color:#1882ff;box-shadow:0 0 0 3px rgba(24,130,255,.14)}
.sheet-find-field i{color:#7b8276;font-size:11px}
.sheet-find-field input{width:100%;min-height:32px;padding:0;border:0;background:transparent;font-size:12px;outline:0;box-shadow:none}
.sheet-find-scope{min-height:34px;padding:0 8px;border:1px solid #cfd3c6;border-radius:8px;background:#fff;font-size:11px}
.sheet-find-whole{display:inline-flex;align-items:center;gap:5px;color:#4f564b;font-size:11px;font-weight:700;white-space:nowrap}
.sheet-find-count{min-width:70px;color:#596055;font-size:11px;font-weight:800;white-space:nowrap}
.sheet-find-buttons{display:flex;align-items:center;gap:5px;margin-left:auto}
.lineup-sheet-block .lineup-entry input.sheet-cell.is-sheet-match{background:#fff6c7}
.lineup-sheet-block .lineup-entry input.sheet-cell.is-sheet-match-current{background:#ffe27a;box-shadow:inset 0 0 0 2px #d29a00}

/* Soft warning on cells the lineup check points at */
.lineup-sheet-block .lineup-entry input.sheet-cell.is-sheet-warn{background:#fff7e6;box-shadow:inset 0 -2px 0 #e3a23b}
.lineup-sheet-block .lineup-entry input.sheet-cell.is-sheet-warn:focus{box-shadow:inset 0 0 0 2px #1882ff}

/* Only row 1 and the row being edited show the grey hints, so empty rows look empty. */
.lineup-sheet-block .lineup-entry:not(:first-child):not(:focus-within) input.sheet-cell::placeholder{color:transparent}

/* Column delete (x) shows on hover, so headers are easier to read. */
@media(hover:hover){
  .lineup-sheet-block .sheet-default-column-header .sheet-column-remove,.lineup-sheet-block .sheet-custom-column-header .sheet-column-remove{opacity:0}
  .lineup-sheet-block .lineup-table-head>[data-sheet-key]:hover .sheet-column-remove,.lineup-sheet-block .lineup-table-head>[data-sheet-key]:focus-within .sheet-column-remove{opacity:1}
}

/* Right-click menu */
.sheet-context-menu{position:fixed;z-index:1400;width:248px;max-height:calc(100vh - 16px);overflow:auto;padding:5px;border:1px solid #d3d6ca;border-radius:11px;background:#fff;box-shadow:0 18px 48px rgba(17,19,15,.22);animation:fadeIn .12s ease-out both}
.sheet-context-menu[hidden]{display:none}
.sheet-context-menu hr{height:1px;margin:4px 6px;border:0;background:#e4e6de}
.sheet-context-menu button span{flex:1}
.sheet-context-menu button kbd{font-size:9px;color:#6d7468}
.sheet-context-menu button.is-danger,.sheet-context-menu button.is-danger i{color:var(--danger)}
.sheet-context-menu button.is-danger:hover:not(:disabled){background:#fff0ef}

/* Lineup check under the sheet */
.sheet-check{display:grid;gap:7px;margin-top:10px;padding:10px 12px;border:1px solid #d8dbd0;border-radius:10px;background:#fafbf7}
.sheet-check[hidden]{display:none}
.sheet-check-empty{display:flex;align-items:center;gap:8px;margin:0;color:#6d7468;font-size:12px}
.sheet-check-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px}
.sheet-check-head strong{font-size:13px}
.sheet-check-head span{color:#596055;font-weight:800}
.sheet-check-ok{display:inline-flex;align-items:center;gap:5px;color:#2f7a3c!important}
.sheet-check-sizes{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.sheet-check-label{min-width:76px;color:#7b8276;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.sheet-size-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 9px;border:1px solid #d6d9cd;border-radius:999px;background:#fff;color:#596055;font-size:11px;font-weight:800}
.sheet-size-chip b{color:var(--ink)}
.sheet-check-warnings{display:flex;flex-wrap:wrap;gap:6px}
.sheet-check-warn{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 11px;border:1px solid #efc77b;border-radius:8px;background:#fff5e5;color:#61460c;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.sheet-check-warn:hover,.sheet-check-warn:focus-visible{border-color:#d29a00;background:#ffecc7;outline:0}

/* Footer: Add row + shortcuts */
.lineup-sheet-footer{flex-wrap:wrap}
.lineup-sheet-footer .sheet-shortcuts-help{flex:1 1 auto;margin:0;border:0;background:transparent}
.lineup-sheet-footer .sheet-shortcuts-help>summary{justify-content:flex-end;font-size:11px}
.lineup-sheet-footer .sheet-shortcuts-help>summary::after{margin-left:6px}
.lineup-sheet-footer .sheet-shortcuts-help[open]{flex-basis:100%}
.lineup-sheet-footer .sheet-shortcuts-help[open]>div{border:1px solid #e0e3da;border-radius:8px;font-size:11px}
.lineup-sheet-block.is-expanded .sheet-check{flex:0 0 auto}

@media(max-width:720px){
  .sheet-selection-bar{flex-wrap:wrap;padding:6px}
  .sheet-selection-bar .sheet-selection-status{flex-basis:100%;max-width:none}
  .sheet-selection-actions{flex-basis:100%}
  .sheet-selection-actions>:first-child{margin-left:0}
  .sheet-find-buttons{width:100%;margin-left:0}
  .sheet-find-buttons .sheet-replace-one,.sheet-find-buttons .sheet-replace-all{flex:1}
  .sheet-toolbar-divider{display:none}
  .lineup-sheet-footer .sheet-shortcuts-help>summary{justify-content:center}
}
