*{box-sizing:border-box} :root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--nav:#0b1220;--nav2:#121c31;--ink:#111827;--muted:#667085;--soft:#98a2b3;--line:#e4e7ec;--line2:#eef2f6;--bg:#f5f7fa;--card:#fff;--blue:#315fda;--blue2:#eef3ff;--green:#067647;--greenbg:#ecfdf3;--amber:#b54708;--amberbg:#fffaeb;--red:#b42318;--redbg:#fef3f2;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.035)}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}.hidden{display:none!important}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,var(--nav),#101827);color:#fff;padding:22px 15px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 26px}.brandmark{width:39px;height:39px;border-radius:11px;background:#fff;color:var(--nav);display:grid;place-items:center;font-weight:950;letter-spacing:-.04em}.brand strong{font-size:20px;letter-spacing:-.035em}.brand small{display:block;color:#8492aa;font-size:10px;margin-top:2px}.version{margin-left:auto;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 7px;font-size:9px;color:#cbd5e1}.navlabel{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:850;padding:0 12px 8px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:11px;color:#cbd5e1;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:700;text-align:left;transition:.15s}.nav button:hover{background:rgba(255,255,255,.055);color:#fff}.nav button.active{background:rgba(255,255,255,.10);color:#fff;box-shadow:inset 3px 0 #fff}.nav .ico{width:18px;text-align:center}.sidefooter{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:14px 10px 2px;font-size:10px;color:#8492aa;line-height:1.55}.sidefooter b{color:#dbe3ef}.dot{width:7px;height:7px;background:#22c55e;border-radius:99px;display:inline-block;margin-right:5px}
.content{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:40}.crumb{font-size:11px;color:var(--muted)}.crumb b{color:var(--ink)}.topactions{display:flex;gap:8px;align-items:center}.userchip{display:flex;align-items:center;gap:9px;padding:5px 9px 5px 6px;border:1px solid var(--line);border-radius:10px;background:#fff}.avatar{width:29px;height:29px;border-radius:8px;background:#eef2ff;color:#344c9d;display:grid;place-items:center;font-size:10px;font-weight:900}.userchip b{font-size:10px;display:block}.userchip small{font-size:9px;color:var(--muted)}
main{padding:26px 28px 60px;max-width:1720px;margin:0 auto}.view{display:none}.view.active{display:block}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.pagehead h1{font-size:25px;letter-spacing:-.035em;margin:0 0 5px}.pagehead p{margin:0;color:var(--muted);font-size:12px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:#344054;border-radius:9px;padding:9px 12px;font-weight:760;font-size:11px;box-shadow:0 1px 1px rgba(16,24,40,.025)}.btn:hover{background:#f9fafb}.btn.primary{background:var(--nav2);border-color:var(--nav2);color:#fff}.btn.primary:hover{background:#0b1220}.btn.danger{color:var(--red);border-color:#fecdca;background:#fff}.btn.sm{padding:6px 9px;font-size:9px}.btn:disabled{opacity:.55;cursor:default}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpi{padding:17px 18px;min-height:106px}.kpi-top{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:10px;font-weight:750}.kpi-icon{width:29px;height:29px;border-radius:8px;background:#f2f4f7;display:grid;place-items:center}.kpi-val{font-size:27px;font-weight:850;letter-spacing:-.045em;margin-top:10px}.kpi-sub{font-size:9px;color:var(--soft);margin-top:4px}.good{color:var(--green)}.bad{color:var(--red)}
.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.panel{padding:18px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panelhead h2{font-size:15px;margin:0;letter-spacing:-.015em}.panelhead p{font-size:10px;color:var(--muted);margin:3px 0 0}.empty{padding:42px 22px;text-align:center;color:#98a2b3;font-size:11px}.empty b{display:block;color:#475467;font-size:12px;margin-bottom:4px}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;font-size:10px;background:#fff}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line2);white-space:nowrap;text-align:left}.table th{background:#fafbfc;color:#667085;font-size:8px;text-transform:uppercase;letter-spacing:.065em}.table tbody tr:hover{background:#fafcff}.table tbody tr:last-child td{border-bottom:0}.pill{display:inline-block;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:850}.pill.ok{background:var(--greenbg);color:var(--green)}.pill.late{background:var(--redbg);color:var(--red)}.pill.p{background:#f2f4f7;color:#475467}.pill.blue{background:var(--blue2);color:#315fda}.pill.off{background:#f2f4f7;color:#667085}
.progress{height:7px;background:#eef2f6;border-radius:99px;overflow:hidden}.progress i{height:100%;display:block;background:#5c78ca;border-radius:99px}.load-row{padding:11px 0;border-bottom:1px solid var(--line2)}.load-row:last-child{border-bottom:0}.load-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin-bottom:8px}.load-top small{color:var(--muted)}
.gantt-shell{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff;max-height:650px;scrollbar-gutter:stable}.gantt-grid{min-width:max-content}.gantt-header,.gantt-row{display:grid;grid-template-columns:220px auto}.gantt-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.gantt-corner{position:sticky;left:0;z-index:24;background:#f8fafc;border-right:1px solid var(--line);height:72px;padding:14px 15px}.gantt-corner b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.055em}.gantt-corner small{display:block;color:#98a2b3;font-size:8px;margin-top:4px}.timeline-head{position:relative;height:72px}.day-head{position:absolute;top:0;height:34px;background:#f8fafc;border-right:1px solid #d0d5dd;border-bottom:1px solid var(--line);padding:9px 10px 0;font-size:10px;font-weight:850;color:#344054;text-transform:capitalize}.hour-head{position:absolute;top:34px;height:38px;border-right:1px solid #eaecf0;color:#667085;font-size:9px;padding:10px 0 0 6px}.hour-head.end{transform:translateX(-1px);padding-left:3px;color:#98a2b3}.gantt-row{min-height:78px;border-bottom:1px solid var(--line2)}.machine-label{position:sticky;left:0;z-index:10;background:#fff;border-right:1px solid var(--line);padding:13px 14px}.machine-title{display:flex;align-items:center;justify-content:space-between}.machine-id{font-size:12px;font-weight:850}.util{font-size:8px;padding:4px 6px;border-radius:999px;background:#f2f4f7;color:#475467;font-weight:800}.machine-name,.machine-hours{font-size:9px;color:#98a2b3;margin-top:4px}.machine-hours b{color:#344054}.gantt-track{position:relative;height:78px}.day-band{position:absolute;top:0;bottom:0;background:#fcfcfd;border-right:1px solid #d0d5dd}.day-band.alt{background:#fafbfc}.hour-line{position:absolute;top:0;bottom:0;width:1px;background:#f0f2f5}.task{position:absolute;top:13px;height:52px;border-radius:8px;background:#eaf0ff;border:1px solid #a9bef5;color:#1e3a73;padding:7px 8px;overflow:hidden;box-shadow:0 1px 2px rgba(30,58,115,.06);min-width:8px}.task.late{background:#fff0ee;border-color:#f6aca4;color:#8b2d24}.task strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task small{display:block;font-size:8px;margin-top:4px;opacity:.82;white-space:nowrap}
form.inline{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.field{display:grid;gap:5px}.field label{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#667085;font-weight:800}.field input,.field select{border:1px solid #d0d5dd;border-radius:9px;padding:9px 10px;background:#fff;font-size:11px;min-width:150px;outline:none}.field input:focus,.field select:focus{border-color:#98a2b3;box-shadow:0 0 0 3px rgba(49,95,218,.07)}.helper{font-size:9px;color:#98a2b3}.notice{padding:10px 12px;border-radius:9px;background:#f8fafc;border:1px solid var(--line);font-size:10px;color:#475467}.notice.error{background:var(--redbg);border-color:#fecdca;color:var(--red)}.notice.success{background:var(--greenbg);border-color:#abefc6;color:var(--green)}
dialog{border:0;padding:0;border-radius:16px;width:min(680px,calc(100vw - 30px));box-shadow:0 30px 90px rgba(16,24,40,.25)}dialog::backdrop{background:rgba(15,23,42,.48)}.modalhead,.modalfoot{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.modalhead{border-bottom:1px solid var(--line)}.modalfoot{border-top:1px solid var(--line);background:#fafbfc}.modalhead h2{font-size:17px;margin:0}.modalhead p{font-size:10px;color:var(--muted);margin:3px 0 0}.modalbody{padding:20px}.close{border:0;background:#f2f4f7;width:30px;height:30px;border-radius:8px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid .field input,.formgrid .field select{width:100%}.full{grid-column:1/-1}
.loginpage{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.loginhero{background:linear-gradient(145deg,#0b1220 0%,#17233e 62%,#243a68 100%);color:#fff;padding:58px;display:flex;flex-direction:column;justify-content:space-between}.loginbrand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:850}.loginbrand .brandmark{width:44px;height:44px}.hero-copy{max-width:620px}.hero-copy h1{font-size:48px;line-height:1.04;letter-spacing:-.05em;margin:0 0 18px}.hero-copy p{color:#cbd5e1;line-height:1.65;font-size:14px}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.hero-box{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:12px;padding:14px}.hero-box b{font-size:20px;display:block}.hero-box small{color:#94a3b8;font-size:9px}.loginpane{display:grid;place-items:center;padding:32px}.loginbox{width:min(420px,100%)}.loginbox h2{font-size:28px;letter-spacing:-.04em;margin:0 0 7px}.loginbox>p{font-size:12px;color:var(--muted);margin:0 0 25px}.loginbox .field{margin-bottom:13px}.loginbox input{width:100%;padding:12px}.loginbox .btn{width:100%;padding:12px;margin-top:4px}.loginfoot{font-size:9px;color:#98a2b3;margin-top:18px;text-align:center}
.admin-shell{max-width:1550px}.money{font-variant-numeric:tabular-nums}.statusdot{display:inline-block;width:7px;height:7px;border-radius:99px;margin-right:5px;background:#22c55e}.statusdot.off{background:#98a2b3}.muted{color:var(--muted)}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.grid3{grid-template-columns:1fr}.app{grid-template-columns:200px 1fr}}@media(max-width:760px){.app{display:block}.sidebar{height:auto;position:relative}.nav{grid-template-columns:repeat(2,1fr)}.sidefooter{display:none}.topbar{padding:0 14px}.userchip div:last-child{display:none}main{padding:20px 14px}.kpis{grid-template-columns:1fr 1fr}.loginpage{grid-template-columns:1fr}.loginhero{display:none}.formgrid{grid-template-columns:1fr}}
.mapping-area{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;padding:14px}.mapping-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.mapping-title b{display:block;font-size:12px}.mapping-title small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.mapping-fields{display:grid;gap:7px}.mapping-row{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;align-items:center;padding:8px 10px;background:#fff;border:1px solid var(--line2);border-radius:9px}.mapping-row b{display:block;font-size:10px}.mapping-row small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.mapping-row select{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:8px;background:#fff;font-size:10px}.mapping-save{margin-top:12px;align-items:end}.checkrow{display:flex;align-items:center;gap:8px;font-size:10px;color:#475467;padding:10px 0}.row-actions{display:flex;gap:5px}.auth-link{display:block;text-align:right;margin-top:-6px;margin-bottom:14px;font-size:10px;color:#315fda;text-decoration:none}.auth-link:hover{text-decoration:underline}.authbox-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.system-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fafbfc}.system-item b{font-size:10px;display:block}.system-item span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.hidden{display:none!important}@media(max-width:760px){.mapping-row{grid-template-columns:1fr}.system-grid{grid-template-columns:1fr 1fr}}

/* Login benefit cards v2.1 */
.benefit-grid{grid-template-columns:1fr;max-width:520px;gap:12px}.benefit-box{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}.benefit-box .benefit-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.10);font-size:17px;font-weight:800}.benefit-box b{font-size:14px;line-height:1.2;margin-bottom:5px}.benefit-box small{display:block;color:#aebbd0;font-size:10px;line-height:1.45}.benefit-box:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.22);transform:translateY(-1px);transition:.18s ease}

/* Matrix Planner management */
.admin-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.admin-search{display:flex;align-items:center;gap:8px;flex:1;min-width:260px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 11px}.admin-search span{color:#98a2b3;font-size:16px}.admin-search input{border:0;outline:0;width:100%;padding:10px 0;font-size:11px}.admin-toolbar select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font-size:10px}.toolbar-stat{margin-left:auto;display:flex;gap:6px;align-items:baseline;color:var(--muted);font-size:9px}.toolbar-stat b{font-size:13px;color:#344054}.customer-table td:last-child{min-width:165px}.system-stack{display:grid;gap:0}.health-line{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line2);font-size:10px}.health-line:last-child{border-bottom:0}.health-line>span{display:flex;align-items:center;gap:8px}.health-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#f04438;box-shadow:0 0 0 3px #fee4e2}.health-dot.ok{background:#12b76a;box-shadow:0 0 0 3px #dcfae6}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-activity{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#fbfcfe}.mini-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eef3ff;color:#315fda;font-weight:850}.mini-activity b,.mini-activity small{display:block}.mini-activity b{font-size:10px}.mini-activity small{font-size:8px;color:var(--muted);margin-top:2px;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-activity time{font-size:8px;color:#98a2b3}.audit-list{display:grid}.audit-item{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:start;padding:13px 4px;border-bottom:1px solid var(--line2)}.audit-item:last-child{border-bottom:0}.audit-icon{display:grid;place-items:center;width:34px;height:34px;background:#f4f7fb;border-radius:9px;color:#475467;font-weight:850}.audit-copy b,.audit-copy span{display:block}.audit-copy b{font-size:10px}.audit-copy span{font-size:9px;color:var(--muted);margin-top:3px}.audit-time{font-size:8px;color:#98a2b3;white-space:nowrap;padding-top:4px}.admin-action-list{display:grid;gap:9px}.admin-action{display:flex;align-items:center;gap:11px;text-align:left;width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;cursor:pointer}.admin-action:hover{background:#f8fafc}.admin-action-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eef3ff;color:#315fda;font-weight:900;font-size:16px}.admin-action b,.admin-action small{display:block}.admin-action b{font-size:10px}.admin-action small{font-size:8px;color:var(--muted);margin-top:3px}.wide-dialog{width:min(1120px,calc(100vw - 32px))}.detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.detail-kpis>div{border:1px solid var(--line);border-radius:11px;background:#fafbfc;padding:13px}.detail-kpis small,.detail-kpis b{display:block}.detail-kpis small{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.05em}.detail-kpis b{font-size:19px;margin-top:5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.detail-section{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;margin-bottom:12px}.detail-grid .detail-section{margin-bottom:0}.detail-section h3{font-size:12px;margin:0 0 12px}.formgrid.compact{gap:8px}.detail-save{margin-top:11px}.usage-list{display:grid;gap:0}.usage-list>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line2);font-size:10px}.usage-list>div:last-child{border-bottom:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:9px}.detail-row:last-child{border-bottom:0}.detail-row b,.detail-row small{display:block}.detail-row small{color:var(--muted);margin-top:2px}.audit-mini>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line2)}.audit-mini>div:last-child{border-bottom:0}.audit-mini b,.audit-mini small{display:block;font-size:9px}.audit-mini small{color:var(--muted);margin-top:2px}.audit-mini time{font-size:8px;color:#98a2b3}.compact-empty{padding:18px 8px}

/* Customer dashboard v2.2 */
.dashboard-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.attention-list{display:grid;gap:8px}.attention-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line2);border-radius:10px;background:#fff}.attention-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff4e5;color:#b54708;font-weight:900}.attention-item.critical .attention-icon{background:#fee4e2;color:#b42318}.attention-item.good .attention-icon{background:#dcfae6;color:#027a48}.attention-copy b,.attention-copy small{display:block}.attention-copy b{font-size:10px}.attention-copy small{font-size:8px;color:var(--muted);margin-top:2px}.attention-meta{font-size:9px;font-weight:800;color:#475467}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-card{border:1px solid var(--line2);border-radius:10px;padding:12px;background:#fbfcfe;cursor:pointer}.quick-card:hover{border-color:#cbd5e1;background:#f8fafc}.quick-card b,.quick-card small{display:block}.quick-card b{font-size:10px}.quick-card small{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.4}.dashboard-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 14px}.dashboard-stat{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.dashboard-stat small,.dashboard-stat b{display:block}.dashboard-stat small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.dashboard-stat b{font-size:15px;margin-top:5px}.deadline-list{display:grid}.deadline-row{display:grid;grid-template-columns:1.2fr .8fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2);font-size:9px}.deadline-row:last-child{border-bottom:0}.deadline-row b,.deadline-row small{display:block}.deadline-row small{color:var(--muted);margin-top:2px}.capacity-mini{display:grid;gap:10px}.capacity-mini-row{display:grid;grid-template-columns:80px 1fr 48px;align-items:center;gap:10px;font-size:9px}.capacity-mini-row .progress{height:8px}.import-card{padding:14px;border:1px solid var(--line2);border-radius:11px;background:#fbfcfe}.import-card b,.import-card span,.import-card small{display:block}.import-card b{font-size:11px}.import-card span{font-size:9px;color:#475467;margin-top:4px}.import-card small{font-size:8px;color:var(--muted);margin-top:3px}
@media(max-width:1100px){.admin-kpis{grid-template-columns:repeat(2,1fr)}.activity-grid{grid-template-columns:1fr}.detail-grid,.dashboard-hero{grid-template-columns:1fr}.detail-kpis,.dashboard-stat-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-toolbar{align-items:stretch;flex-direction:column}.admin-search{min-width:0}.detail-kpis,.dashboard-stat-strip,.quick-grid{grid-template-columns:1fr}.wide-dialog{width:calc(100vw - 16px)}}

.tutorial-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9999}
.tutorial-overlay.hidden{display:none}
.tutorial-card{background:white;border-radius:20px;padding:32px;max-width:460px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.tutorial-card h2{margin:20px 0 10px}
.tutorial-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}

.account-menu{position:relative}
.account-dropdown{display:none;position:absolute;right:0;top:52px;background:white;border:1px solid #ddd;border-radius:12px;padding:8px;min-width:180px;box-shadow:0 12px 30px rgba(0,0,0,.15);z-index:1000}
.account-dropdown.open{display:flex;flex-direction:column}
.account-dropdown button{background:none;border:0;padding:10px;text-align:left;cursor:pointer;border-radius:8px}
.account-dropdown button:hover{background:#f1f5f9}
.account-trigger{cursor:pointer}

/* Matrix Planner branding */
.brand-icon{width:39px;height:39px;border-radius:11px;background:#fff;padding:4px;object-fit:contain;flex:0 0 39px}
.brand strong{font-size:17px;line-height:1.05;letter-spacing:-.025em}
.loginbrand{align-items:flex-start}
.loginbrand-logo-shell{display:inline-flex;align-items:center;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 12px 32px rgba(0,0,0,.16)}
.loginbrand-logo-shell img{display:block;width:min(420px,48vw);height:auto}
.tutorial-brand{padding:0;gap:10px}
.tutorial-brand .brand-icon{width:42px;height:42px;flex-basis:42px}
@media(max-width:1100px){.brand strong{font-size:15px}.brand{gap:8px}.brand-icon{width:36px;height:36px;flex-basis:36px}}

.demo-login{margin-top:14px;padding:12px;border:1px solid #d7e4f5;border-radius:12px;background:#f7fbff;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-login b{display:block;font-size:11px;color:#0b2b52}.demo-login small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.demo-login .btn{width:auto;margin:0;white-space:nowrap;padding:9px 12px}

/* ==========================================================================
   Matrix Planner 7.0 · Phase B application shell and design system
   ========================================================================== */
:root{
  --mp-navy-950:#08111f;--mp-navy-900:#0b1628;--mp-navy-800:#12213a;
  --mp-blue-700:#174ea6;--mp-blue-600:#2463eb;--mp-blue-500:#2f76f6;--mp-blue-50:#eef5ff;
  --mp-teal-600:#0792a7;--mp-ink:#101828;--mp-copy:#344054;--mp-muted:#667085;--mp-soft:#98a2b3;
  --mp-bg:#f5f7fb;--mp-card:#fff;--mp-line:#e4e7ec;--mp-line-soft:#eef1f5;
  --mp-success:#067647;--mp-success-bg:#ecfdf3;--mp-warning:#b54708;--mp-warning-bg:#fffaeb;
  --mp-danger:#b42318;--mp-danger-bg:#fef3f2;--mp-info:#175cd3;--mp-info-bg:#eff8ff;
  --mp-radius-sm:7px;--mp-radius-md:10px;--mp-radius-lg:14px;--mp-radius-xl:18px;
  --mp-shadow-sm:0 1px 2px rgba(16,24,40,.05);--mp-shadow:0 8px 28px rgba(16,24,40,.07);
  --mp-shadow-lg:0 24px 72px rgba(16,24,40,.18);
  --nav:var(--mp-navy-950);--nav2:var(--mp-navy-900);--ink:var(--mp-ink);--muted:var(--mp-muted);
  --soft:var(--mp-soft);--line:var(--mp-line);--line2:var(--mp-line-soft);--bg:var(--mp-bg);--card:var(--mp-card);
  --blue:var(--mp-blue-600);--blue2:var(--mp-blue-50);--green:var(--mp-success);--greenbg:var(--mp-success-bg);
  --amber:var(--mp-warning);--amberbg:var(--mp-warning-bg);--red:var(--mp-danger);--redbg:var(--mp-danger-bg);
  --shadow:var(--mp-shadow-sm)
}
html{background:var(--mp-bg);scroll-behavior:smooth}
body{font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea,summary{outline:none}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(47,118,246,.28);outline-offset:2px}
.icon{width:18px;height:18px;display:inline-block;vertical-align:-3px;fill:none;flex:0 0 auto}
.muted{color:var(--mp-muted)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* logo component */
matrix-logo{display:inline-flex;align-items:center;min-width:0}.matrix-logo__image{object-fit:contain;display:block}.matrix-logo__copy{display:flex;min-width:0;flex-direction:column;line-height:1}.matrix-logo__copy strong{font-size:17px;letter-spacing:-.045em;white-space:nowrap}.matrix-logo__copy strong span{color:#2f76f6}.matrix-logo__copy small{font-size:9px;letter-spacing:.035em;margin-top:5px;color:#8fa0bb;white-space:nowrap}.matrix-logo--compact .matrix-logo__image{width:38px;height:38px;border-radius:10px;background:#fff;padding:3px}.matrix-logo--compact{gap:10px}.matrix-logo--dark .matrix-logo__copy strong{color:#fff}.matrix-logo--light .matrix-logo__copy strong{color:#0b2345}.matrix-logo--full.matrix-logo--light .matrix-logo__image{width:min(340px,72vw);height:auto;aspect-ratio:1.724/1;object-fit:contain}.matrix-logo--full.matrix-logo--dark .matrix-logo__image{width:52px;height:52px;border-radius:14px;background:#fff;padding:4px}.matrix-logo--full.matrix-logo--dark .matrix-logo__copy strong{font-size:27px}.matrix-logo--full.matrix-logo--dark .matrix-logo__copy small{font-size:10px;text-transform:uppercase;letter-spacing:.16em}

/* application shell */
.app{grid-template-columns:256px minmax(0,1fr);background:var(--mp-bg)}
.sidebar{padding:20px 14px 16px;background:linear-gradient(180deg,#08111f 0%,#0b1628 58%,#0d1a30 100%);border-right:1px solid rgba(255,255,255,.045)}
.brand{padding:2px 8px 25px;display:block}.brand matrix-logo{width:100%}.brand .version{position:absolute;left:18px;bottom:82px;margin:0;color:#7586a3;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.navlabel{padding:0 11px 9px;color:#62728e;letter-spacing:.13em;font-size:9px}.nav{gap:3px}.nav button{min-height:42px;border-radius:10px;padding:10px 11px;color:#aebbd0;font-size:12px;letter-spacing:-.005em;font-weight:690;transition:background .15s,color .15s,transform .15s}.nav button .ico{width:20px;height:20px;display:grid;place-items:center;color:#8090aa}.nav button .ico .icon{width:18px;height:18px}.nav button:hover{background:rgba(255,255,255,.06);color:#f8fafc;transform:translateX(1px)}.nav button:hover .ico{color:#d7e4ff}.nav button.active{background:linear-gradient(90deg,rgba(47,118,246,.22),rgba(47,118,246,.08));box-shadow:inset 3px 0 #5c95ff;color:#fff}.nav button.active .ico{color:#7aabff}.sidefooter{padding:15px 10px 3px;color:#71819c;border-color:rgba(255,255,255,.075)}.sidefooter b{color:#d6dfed;font-size:10px}.sidefooter .dot{box-shadow:0 0 0 3px rgba(34,197,94,.10)}
.content{background:var(--mp-bg)}.topbar{height:72px;padding:0 30px;background:rgba(255,255,255,.96);backdrop-filter:saturate(130%) blur(14px);border-bottom-color:#e7eaf0;z-index:80}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.mobile-nav-toggle{display:none;border:1px solid var(--mp-line);background:#fff;border-radius:9px;width:38px;height:38px;place-items:center;color:var(--mp-copy)}.workspace-context{min-width:0;display:flex;flex-direction:column}.workspace-context small{color:var(--mp-soft);font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.workspace-context strong{font-size:13px;letter-spacing:-.01em;color:var(--mp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.topactions{gap:9px}.top-action-cluster{display:flex;gap:7px}.userchip{min-height:42px;padding:5px 9px 5px 6px;border-color:#e3e7ee;border-radius:11px;box-shadow:var(--mp-shadow-sm);transition:border-color .15s,box-shadow .15s}.userchip:hover{border-color:#cad2df;box-shadow:0 4px 12px rgba(16,24,40,.06)}.userchip .icon{width:15px;height:15px;color:#98a2b3}.avatar{width:31px;height:31px;border-radius:9px;background:linear-gradient(135deg,#e7efff,#eef4ff);color:#224d9d;font-weight:850}.userchip b{font-size:10px}.userchip small{font-size:9px}.account-dropdown{top:50px;min-width:205px;border-color:var(--mp-line);box-shadow:var(--mp-shadow-lg);padding:7px;border-radius:12px}.account-dropdown button{display:flex;align-items:center;gap:9px;color:var(--mp-copy);font-size:10px;font-weight:650}.account-dropdown .icon{width:16px;height:16px;color:#667085}.account-dropdown button:hover{background:#f7f9fc}
main{max-width:1740px;padding:28px 30px 72px}.pagehead{margin-bottom:22px;align-items:flex-end}.pagehead .eyebrow{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--mp-blue-600);font-weight:820;margin-bottom:5px}.pagehead h1{font-size:27px;line-height:1.15;margin-bottom:6px;color:#101828}.pagehead p{font-size:12px;line-height:1.5;max-width:740px}.actions{justify-content:flex-end}

/* buttons, fields and surfaces */
.btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:8px 12px;font-size:10px;font-weight:760;letter-spacing:.005em;box-shadow:var(--mp-shadow-sm);transition:background .15s,border-color .15s,box-shadow .15s,transform .08s;text-decoration:none}.btn:hover{border-color:#cbd2dc;background:#f8fafc;box-shadow:0 4px 12px rgba(16,24,40,.06)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,#286ef0,#1f5fd7);border-color:#1f5fd7;color:#fff;box-shadow:0 3px 9px rgba(36,99,235,.20)}.btn.primary:hover{background:linear-gradient(180deg,#2f76f6,#215fda);border-color:#1c58ca}.btn.secondary-dark{background:#101828;border-color:#101828;color:#fff}.btn.danger{color:var(--mp-danger);border-color:#f4c7c3;background:#fff}.btn.danger.solid{color:#fff;background:#d92d20;border-color:#d92d20}.btn .icon{width:15px;height:15px}.btn.sm{min-height:30px;padding:5px 9px;font-size:9px}.btn.is-busy{cursor:wait}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;border:1px solid var(--mp-line);background:#fff;color:var(--mp-copy)}.icon-btn:hover{background:#f8fafc;border-color:#cbd2dc}.icon-btn .icon{width:17px;height:17px}
.card{border-color:#e4e8ef;border-radius:var(--mp-radius-lg);box-shadow:0 1px 2px rgba(16,24,40,.025),0 5px 18px rgba(16,24,40,.025)}.panel{padding:19px}.panelhead{margin-bottom:15px}.panelhead h2{font-size:15px;color:#182230}.panelhead p{font-size:10px;line-height:1.45}.kpi{padding:17px 18px}.kpi-top{font-size:9px;letter-spacing:.035em}.kpi-icon{background:#f3f6fb;color:#5a6c87}.kpi-val{font-size:28px;color:#101828}.table th{background:#f9fafb;color:#667085;font-size:8px;letter-spacing:.045em;text-transform:uppercase}.table td{color:#344054}.table tbody tr:hover td{background:#fbfcfe}.field label{font-size:9px;color:#344054;font-weight:760;margin-bottom:6px}.field input,.field select,.field textarea,.admin-toolbar select{border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:10px 11px;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:border-color .15s,box-shadow .15s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#b9c1cc}.field input:focus,.field select:focus,.field textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(47,118,246,.10)}.helper{font-size:9px;line-height:1.5;color:var(--mp-muted)}

/* dialogs */
dialog{border-radius:16px;border:1px solid rgba(255,255,255,.5);box-shadow:var(--mp-shadow-lg);overflow:hidden;background:#fff;color:var(--mp-ink)}dialog::backdrop{background:rgba(8,17,31,.54);backdrop-filter:blur(2px)}.modalhead{padding:19px 21px 16px}.modalhead h2{font-size:17px;letter-spacing:-.02em}.modal-kicker{display:block;color:var(--mp-blue-600);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}.modalhead p{font-size:10px;line-height:1.5}.modalbody{padding:20px 21px}.modalfoot{padding:14px 21px;background:#fbfcfe}.close{display:grid;place-items:center;border:1px solid #e5e8ee;background:#fff;color:#667085}.close:hover{background:#f7f9fc}.close .icon{width:16px;height:16px}.dialog-copy{margin:0;color:#475467;font-size:11px;line-height:1.6}.dialog--compact{width:min(470px,calc(100vw - 30px))}

/* toast feedback */
.toast-region{position:fixed;right:22px;top:88px;z-index:5000;display:grid;gap:9px;width:min(390px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:34px 1fr 30px;align-items:start;gap:10px;padding:12px;border:1px solid #e4e7ec;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(16,24,40,.16);animation:toast-in .18s ease-out}.toast__icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px}.toast__icon .icon{width:17px;height:17px}.toast__copy{display:grid;gap:2px;padding-top:1px}.toast__copy strong{font-size:10px}.toast__copy span{font-size:9px;line-height:1.45;color:#667085}.toast__close{border:0;background:transparent;color:#98a2b3;display:grid;place-items:center;width:28px;height:28px;border-radius:7px}.toast__close:hover{background:#f2f4f7;color:#475467}.toast__close .icon{width:14px;height:14px}.toast--success .toast__icon{background:var(--mp-success-bg);color:var(--mp-success)}.toast--error .toast__icon{background:var(--mp-danger-bg);color:var(--mp-danger)}.toast--warning .toast__icon{background:var(--mp-warning-bg);color:var(--mp-warning)}.toast--info .toast__icon{background:var(--mp-info-bg);color:var(--mp-info)}.toast--closing{opacity:0;transform:translateX(10px);transition:.17s}@keyframes toast-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}

/* operation progress modal */
.progress-summary{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--mp-line);border-radius:10px;background:#f8fafc;margin-bottom:14px}.progress-summary b,.progress-summary small{display:block}.progress-summary b{font-size:11px}.progress-summary small{font-size:9px;color:var(--mp-muted);margin-top:2px}.progress-summary .pill{align-self:center}.inline-error{margin-top:10px;padding:10px 11px;border-radius:9px;background:var(--mp-danger-bg);color:var(--mp-danger);font-size:9px;line-height:1.45;border:1px solid #fecdca}

/* dashboard refinement */
.dashboard-stat-strip{gap:11px}.dashboard-stat{box-shadow:0 1px 2px rgba(16,24,40,.025)}.attention-item,.quick-card,.import-card{border-color:#e9edf3}.quick-card{text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}.quick-card:hover{background:#fff;border-color:#cfd8e6;box-shadow:0 6px 18px rgba(16,24,40,.06);transform:translateY(-1px)}.capacity-mini-row .progress{background:#edf1f6}.capacity-mini-row .progress i{background:linear-gradient(90deg,#2463eb,#3b82f6)}

/* modern login/authentication */
.loginpage{min-height:100vh;grid-template-columns:minmax(460px,1.05fr) minmax(420px,.95fr);background:#fff}.loginhero{position:relative;overflow:hidden;padding:54px clamp(42px,5vw,78px);background:linear-gradient(145deg,#07111f 0%,#0b1b33 56%,#12315f 100%)}.loginhero::before{content:"";position:absolute;inset:auto -120px -170px auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(39,118,246,.28),rgba(39,118,246,0) 68%)}.loginhero::after{content:"";position:absolute;left:-180px;top:-210px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.14),rgba(6,182,212,0) 70%)}.loginhero>*{position:relative;z-index:1}.loginbrand{display:block}.loginbrand-logo-shell{display:none}.loginhero matrix-logo{margin-bottom:20px}.hero-copy{max-width:690px}.hero-copy .hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(128,178,255,.2);border-radius:999px;background:rgba(47,118,246,.08);color:#9fc2ff;font-size:9px;font-weight:750;letter-spacing:.035em;margin-bottom:18px}.hero-copy h1{font-size:clamp(40px,4vw,60px);max-width:780px;margin-bottom:20px}.hero-copy>p{font-size:14px;max-width:650px;color:#c2cee0}.benefit-grid{grid-template-columns:1fr;max-width:640px;gap:8px;margin-top:30px}.benefit-box{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.045)}.benefit-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#9fc2ff;background:rgba(47,118,246,.14)}.benefit-icon .icon{width:17px;height:17px}.benefit-box b{font-size:10px}.benefit-box small{font-size:9px;line-height:1.45;margin-top:2px}.loginproof{display:flex;gap:16px;align-items:center;color:#7f91ab;font-size:9px}.loginproof span{display:flex;align-items:center;gap:5px}.loginproof .icon{width:14px;height:14px;color:#6d9df6}.loginpane{position:relative;padding:40px clamp(30px,5vw,72px);background:linear-gradient(180deg,#fff,#fbfcfe)}.loginbox{width:min(430px,100%);padding:4px}.loginbox .auth-eyebrow{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--mp-blue-600);font-weight:800;margin-bottom:8px}.loginbox h2{font-size:31px;color:#101828}.loginbox>p{font-size:12px;line-height:1.5;margin-bottom:26px}.loginbox .field{margin-bottom:14px}.loginbox input{padding:12px 13px}.loginbox .btn.primary{min-height:43px;font-size:11px}.password-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-row label{margin:0}.auth-link{margin:0;font-size:9px}.loginbox .field .field-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.loginbox .field .field-head label{margin:0}.demo-login{padding:13px 14px;margin-top:15px;border-color:#d7e4fb;background:#f5f9ff}.demo-login b{font-size:10px}.demo-login small{font-size:8.5px}.loginfoot{margin-top:20px;font-size:9px}.auth-security{margin-top:18px;display:flex;justify-content:center;align-items:center;gap:6px;color:#98a2b3;font-size:8px}.auth-security .icon{width:13px;height:13px}

/* admin refinements reuse the same shell */
.admin-search .icon{width:16px;height:16px;color:#98a2b3}.mini-icon,.admin-action-icon{background:#eef5ff;color:#2463eb}.admin-action{transition:border-color .15s,box-shadow .15s}.admin-action:hover{border-color:#cbd5e1;box-shadow:0 5px 16px rgba(16,24,40,.05)}

@media(max-width:1100px){.app{grid-template-columns:216px minmax(0,1fr)}.workspace-context strong{max-width:260px}.top-action-cluster .btn span.btn-label{display:none}.loginpage{grid-template-columns:.9fr 1.1fr}.loginhero{padding:48px 38px}.hero-copy h1{font-size:42px}.matrix-logo--full.matrix-logo--dark .matrix-logo__copy strong{font-size:23px}}
@media(max-width:760px){.app{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(288px,86vw);height:100vh;z-index:120;transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 45px rgba(8,17,31,.20)}body.nav-open .sidebar{transform:translateX(0)}body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(8,17,31,.42);z-index:110}.nav{display:grid;grid-template-columns:1fr}.mobile-nav-toggle{display:grid}.topbar{padding:0 13px;height:64px}.workspace-context small{display:none}.workspace-context strong{font-size:11px;max-width:180px}.top-action-cluster{display:none}.userchip>div:not(.avatar){display:none}.userchip{padding:5px}.topactions{gap:6px}main{padding:20px 13px 54px}.pagehead{align-items:flex-start;flex-direction:column}.pagehead .actions{width:100%;justify-content:flex-start}.pagehead h1{font-size:24px}.kpis{grid-template-columns:1fr 1fr}.toast-region{right:12px;top:76px;width:calc(100vw - 24px)}.loginpage{display:block;background:#fff}.loginhero{display:none}.loginpane{min-height:100vh;padding:30px 22px}.loginbox{margin:auto;padding-top:8vh}.loginbox::before{content:"";display:block;width:56px;height:56px;margin-bottom:28px;background:#fff url('/static/matrix-planner-icon.png?v=7.0.0-b1-fix1') center/48px no-repeat;border-radius:15px;box-shadow:0 7px 20px rgba(16,24,40,.08)}.formgrid{grid-template-columns:1fr}.modalbody,.modalhead,.modalfoot{padding-left:16px;padding-right:16px}}
@media(max-width:480px){.kpis{grid-template-columns:1fr}.topbar .userchip{border:0;box-shadow:none}.topbar{gap:8px}.workspace-context strong{max-width:145px}.pagehead .actions .btn{flex:1}.btn{min-height:38px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.auth-link-button{border:0;background:transparent;padding:0;cursor:pointer}.auth-link-button:hover{text-decoration:underline}
.kpi-icon .icon,.admin-action-icon .icon,.audit-icon .icon,.mini-icon .icon{width:16px;height:16px}

/* Phase C: operational planner + agenda */
.planner-toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:10px 12px;margin-bottom:12px;position:sticky;top:84px;z-index:25}.planner-view-switch,.agenda-mode,.agenda-range{display:flex;align-items:center;gap:6px}.planner-toolbar .btn.active{background:#eaf0ff;border-color:#b7c8f4;color:#1f4ca3}.agenda-range span{font-size:10px;font-weight:800;color:#475467;min-width:180px;text-align:center}.planner-split{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(310px,.75fr);gap:14px;align-items:start}.planner-split.layout-gantt{grid-template-columns:1fr}.planner-split.layout-gantt .agenda-pane{display:none}.planner-split.layout-agenda{grid-template-columns:1fr}.planner-split.layout-agenda .planner-pane{display:none}.agenda-pane{position:sticky;top:142px;max-height:calc(100vh - 168px);overflow:auto}.agenda-shell{display:grid;gap:10px}.agenda-day-group{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.agenda-day-head{padding:10px 12px;background:#f8fafc;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}.agenda-day-head b{font-size:11px}.agenda-day-head span{font-size:9px;color:#667085}.agenda-machine-group{padding:9px 10px;border-bottom:1px solid #f0f2f5}.agenda-machine-group:last-child{border-bottom:0}.agenda-machine-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.agenda-machine-title b{font-size:10px}.agenda-machine-title small{font-size:8px;color:#98a2b3}.agenda-item{border:1px solid #c9d6f6;border-left:4px solid #315fda;background:#f4f7ff;border-radius:9px;padding:8px 9px;margin:6px 0;cursor:pointer;text-align:left;width:100%;color:#1d3f7a}.agenda-item:hover{border-color:#8eaae9;background:#eef3ff}.agenda-item strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-item small{display:block;font-size:8px;margin-top:3px;color:#667085}.agenda-item.running{border-left-color:#1570ef;background:#eff8ff}.agenda-item.paused{border-left-color:#b54708;background:#fffaeb}.agenda-item.done,.agenda-item.done_late{border-left-color:#067647;background:#ecfdf3}.agenda-item.done_late{border-left-color:#b42318;background:#fff1f0}.agenda-item[draggable=true]{cursor:grab}.agenda-item.dragging{opacity:.45}.agenda-dropzone{min-height:32px;border:1px dashed transparent;border-radius:8px}.agenda-dropzone.dragover{border-color:#315fda;background:#eef3ff}.calendar-block{padding:6px 8px;border-radius:7px;font-size:8px;margin:5px 0;background:#f2f4f7;color:#475467}.calendar-block.exception{background:#fff5eb;color:#93370d}.agenda-week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;overflow:auto}.agenda-week-day{border:1px solid var(--line);border-radius:10px;background:#fff;min-height:180px;padding:8px}.agenda-week-day h4{font-size:9px;margin:0 0 6px;color:#475467;text-transform:capitalize}.agenda-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.agenda-month-cell{min-height:92px;border:1px solid var(--line);border-radius:9px;padding:7px;background:#fff}.agenda-month-cell.outside{opacity:.45}.agenda-month-cell b{font-size:9px}.agenda-month-cell small{display:block;font-size:8px;color:#667085;margin-top:5px}.agenda-month-cell.risk{border-color:#f3b7b2;background:#fff7f6}.task{cursor:pointer}.task:focus-visible{outline:3px solid rgba(49,95,218,.28);outline-offset:2px}.task.running{box-shadow:inset 0 0 0 2px #1570ef}.task.paused{background:#fff8e8;border-color:#f0b95d;color:#7a4c00}.task.done,.task.done_late{opacity:.72}.task.done_late{border-color:#e58d84}.drawer-dialog{position:fixed;margin:0 0 0 auto;inset:0 0 0 auto;height:100vh;max-height:none;width:min(470px,96vw);border-radius:0;border-left:1px solid #dfe3ea;box-shadow:-24px 0 70px rgba(16,24,40,.18)}.drawer-dialog[open]{display:flex;flex-direction:column}.drawer-dialog::backdrop{background:rgba(8,17,31,.32)}.drawer-head{padding:20px 22px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.drawer-head h2{font-size:19px;margin:0}.drawer-head p{font-size:10px;color:#667085;margin:3px 0 0}.drawer-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 18px}.drawer-tabs button{border:0;background:transparent;padding:12px 11px;font-size:10px;font-weight:750;color:#667085;border-bottom:2px solid transparent}.drawer-tabs button.active{color:#244a9a;border-bottom-color:#315fda}.drawer-body{padding:18px 22px 32px;overflow:auto;flex:1}.operation-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.operation-timing{font-size:10px;font-weight:750;color:#475467}.operation-timing.late{color:#b42318}.operation-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin:0 0 16px}.operation-facts div{padding:10px 11px;background:#fff;border-bottom:1px solid #f0f2f5}.operation-facts dt{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#98a2b3}.operation-facts dd{margin:3px 0 0;font-size:10px;font-weight:700;color:#344054}.operation-actions{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.operation-impact-block{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.operation-impact-block h3{font-size:12px;margin:0 0 5px}.operation-impact-block p{font-size:10px;color:#667085;margin:0 0 10px}.correction-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.correction-panel summary{font-size:10px;font-weight:750;cursor:pointer;color:#475467;margin-bottom:12px}.correction-panel textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:9px}.log-filters{display:flex;gap:7px;margin-bottom:12px}.log-filters select{flex:1;border:1px solid #d0d5dd;border-radius:8px;padding:8px;font-size:10px}.operation-log-list{display:grid;gap:8px}.log-event{border:1px solid var(--line);border-radius:10px;padding:10px 11px}.log-event.corrected{border-color:#f3c46f;background:#fffcf5}.log-event-head{display:flex;justify-content:space-between;gap:10px}.log-event-head b{font-size:10px}.log-event-head time{font-size:8px;color:#98a2b3}.log-event p{font-size:9px;color:#667085;margin:6px 0 0}.log-diff{margin-top:7px;padding-top:7px;border-top:1px dashed #d9dde5;font-size:8px;color:#475467}.impact-dialog{width:min(780px,calc(100vw - 30px))}.impact-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.impact-stat{border:1px solid var(--line);border-radius:10px;padding:11px}.impact-stat small{display:block;font-size:8px;color:#98a2b3;text-transform:uppercase}.impact-stat b{font-size:16px}.impact-changes{display:grid;gap:7px;max-height:360px;overflow:auto}.impact-change{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:9px}.impact-change b{font-size:9px}.impact-change span{font-size:8px;color:#667085}.impact-change .worse{color:#b42318;font-weight:800}.impact-change .better{color:#067647;font-weight:800}
@media(max-width:1200px){.planner-split{grid-template-columns:1fr}.agenda-pane{position:static;max-height:none}.planner-split:not(.layout-agenda) .agenda-pane{display:none}.planner-split.layout-split .agenda-pane{display:block}.planner-toolbar{flex-wrap:wrap;top:70px}}
@media(max-width:760px){.planner-toolbar{position:static}.agenda-week-grid{grid-template-columns:1fr}.agenda-month-grid{grid-template-columns:repeat(2,1fr)}.impact-summary{grid-template-columns:1fr 1fr}.impact-change{grid-template-columns:1fr}.drawer-dialog{width:100vw}.operation-facts{grid-template-columns:1fr}}
.order-log-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin-bottom:16px}.log-filter-action{align-self:end}@media(max-width:760px){.order-log-filters{grid-template-columns:1fr}.log-filter-action label{display:none}}
.agenda-pause-gaps{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.agenda-pause-gaps span{font-size:11px;color:var(--text-muted,#667085);background:var(--surface-muted,#f2f4f7);border:1px dashed var(--border,#e4e7ec);padding:3px 7px;border-radius:999px}
.import-error-list{margin-top:12px;border:1px solid #fecdca;border-radius:var(--mp-radius-md,10px);overflow:hidden;background:#fff}.import-error-head{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff4f2;color:#912018;font-size:12px}.import-error-list code{white-space:pre-wrap;word-break:break-word;font-size:11px}
.audit-change-list{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none}.audit-change-list li{display:grid;grid-template-columns:minmax(120px,.55fr) 1fr;gap:10px;padding:7px 0;border-top:1px solid var(--mp-border,#e4e7ec);font-size:12px}.audit-change-list span{word-break:break-word}

/* Phase C.1: selectors used by the actual agenda renderer. Keep these aliases next to
   the existing Phase-C visual language so browser rendering cannot silently fall back
   to unstyled buttons when markup evolves. */
.agenda-day-list{display:grid;gap:10px}
.agenda-machine-day{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;min-width:0;transition:border-color .15s,box-shadow .15s,background .15s}
.agenda-machine-day>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8fafc;border-bottom:1px solid var(--line)}
.agenda-machine-day>header>div{display:grid;gap:1px}.agenda-machine-day>header b{font-size:10px;color:#344054}.agenda-machine-day>header small{font-size:8px;color:#98a2b3}.agenda-machine-day>header>span{font-size:8px;color:#667085;font-weight:700}
.agenda-task-stack{display:grid;gap:6px;padding:9px 10px;min-height:44px}
.agenda-empty-slot{font-size:9px;color:#98a2b3;padding:9px;border:1px dashed #e4e7ec;border-radius:8px;text-align:center;background:#fcfcfd}
.agenda-task{display:grid;gap:3px;width:100%;text-align:left;border:1px solid #c9d6f6;border-left:4px solid #315fda;background:#f4f7ff;border-radius:9px;padding:8px 9px;color:#1d3f7a;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.agenda-task:hover{border-color:#8eaae9;background:#eef3ff}.agenda-task:focus-visible{outline:3px solid rgba(49,95,218,.25);outline-offset:2px}
.agenda-task b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-task span{font-size:8px;color:#475467}.agenda-task small{font-size:8px;color:#667085}
.agenda-task.running{border-left-color:#1570ef;background:#eff8ff}.agenda-task.paused{border-left-color:#b54708;background:#fffaeb}.agenda-task.done{border-left-color:#067647;background:#ecfdf3;opacity:.78}.agenda-task.done_late{border-left-color:#b42318;background:#fff1f0;opacity:.82}
.agenda-task[draggable="true"]{cursor:grab}.agenda-task[draggable="true"]:active{cursor:grabbing}
.drop-machine.drag-over{border-color:#315fda!important;background:#f5f8ff!important;box-shadow:0 0 0 3px rgba(49,95,218,.10)}
.agenda-calendar-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 10px 0;padding:6px 8px;border-radius:7px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:8px}.agenda-calendar-note b{font-size:8px}.agenda-calendar-note.closed,.agenda-calendar-note.holiday{background:#f2f4f7;border-color:#e4e7ec;color:#475467}.agenda-calendar-note.downtime{background:#fff1f0;border-color:#fecdca;color:#b42318}.agenda-calendar-note.extra,.agenda-calendar-note.extra_shift{background:#ecfdf3;border-color:#abefc6;color:#067647}
.agenda-workblocks{display:flex;gap:5px;flex-wrap:wrap;margin:8px 10px 0}.agenda-workblocks span{font-size:8px;font-weight:700;color:#475467;background:#f2f4f7;border:1px solid #e4e7ec;padding:3px 6px;border-radius:999px}
.agenda-week-grid{grid-template-columns:minmax(100px,.65fr) repeat(7,minmax(145px,1fr));gap:6px;align-items:stretch;min-width:1120px}
.agenda-week-head{position:sticky;top:0;z-index:2;display:grid;gap:2px;align-content:center;min-height:42px;padding:7px 8px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.agenda-week-head b{font-size:9px;text-transform:capitalize}.agenda-week-head span{font-size:8px;color:#667085}
.agenda-week-machine{display:grid;align-content:start;gap:2px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.agenda-week-machine b{font-size:9px}.agenda-week-machine small{font-size:8px;color:#98a2b3}
.agenda-week-cell{min-height:132px;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fff;transition:border-color .15s,background .15s}.agenda-week-cell .agenda-task{margin-top:5px}.agenda-week-cell .agenda-calendar-note{margin:0 0 5px}.agenda-week-cell .agenda-workblocks{margin:0 0 5px}
.agenda-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.agenda-month-weekdays span{text-align:center;font-size:8px;font-weight:800;color:#667085;text-transform:uppercase}
.agenda-month-cell{display:grid;align-content:start;gap:5px;text-align:left;color:#344054;cursor:pointer;transition:border-color .15s,background .15s}.agenda-month-cell:hover{border-color:#b7c8f4;background:#f8faff}.agenda-month-cell span{font-size:8px;color:#667085}.agenda-month-cell .risk{color:#b42318;font-weight:800}
@media(max-width:1200px){.agenda-week-grid{min-width:980px}}
@media(max-width:760px){.agenda-week-grid{display:grid;grid-template-columns:minmax(88px,.6fr) repeat(7,minmax(130px,1fr));min-width:1040px}.agenda-month-weekdays{grid-template-columns:repeat(7,minmax(36px,1fr));overflow:auto}.agenda-month-grid{grid-template-columns:repeat(7,minmax(88px,1fr));overflow:auto}.agenda-month-cell{min-height:82px}}

/* Public-brand link in auth pages (P1): isolated from forms and app shell. */
.auth-logo-link{display:inline-flex;align-items:center;max-width:100%;border-radius:11px;text-decoration:none;outline-offset:6px;transition:opacity .15s,transform .15s}
.auth-logo-link:hover{opacity:.88;transform:translateY(-1px)}
.auth-logo-link:focus-visible{outline:3px solid #8fb8ff}
.auth-logo-link matrix-logo{margin-bottom:20px}
@media(prefers-reduced-motion:reduce){.auth-logo-link{transition:none}}

/* Mobile auth link replaces the old non-interactive icon pseudo-element. */
.auth-logo-link--mobile{display:none}
@media(max-width:760px){.auth-logo-link--mobile{display:inline-flex;margin:2px 0 18px}.auth-logo-link--mobile .matrix-logo__image{width:44px;height:44px}.loginbox::before{display:none!important}.loginbox{padding-top:12px}}

/* Fase D: continuous local-time Gantt, based on calendar and absolute timestamps. */
.gantt-calendar .gantt-unavailable{background:repeating-linear-gradient(135deg,#f2f4f8,#f2f4f8 5px,#e9edf3 5px,#e9edf3 10px);opacity:.65}
.gantt-work-window{position:absolute;top:0;bottom:0;background:rgba(83,132,208,.14);pointer-events:none;z-index:1}
.gantt-exception{position:absolute;top:0;bottom:0;z-index:2;pointer-events:none;background:rgba(197,91,36,.23)}
.gantt-exception.closed,.gantt-exception.holiday{background:rgba(100,116,139,.25)}
.gantt-calendar .task{z-index:3}.gantt-calendar .task.locked{outline:2px solid #334e91;outline-offset:-2px}
#plannerDate{width:142px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#344054;font:inherit}
#plannerDate:focus-visible{outline:3px solid rgba(49,95,218,.35);outline-offset:2px}
@media(max-width:760px){.agenda-range{flex-wrap:wrap}#plannerDate{width:125px}}

/* Phase D: integrated machine details/calendar */
.machine-calendar-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:18px;display:grid;gap:12px}
.machine-calendar-panel h3{margin:5px 0;font-size:14px}
.machine-calendar-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.machine-calendar-tools input{border:1px solid var(--line);border-radius:7px;padding:7px;max-width:170px}
.machine-day-row{padding:10px 0;border-bottom:1px solid var(--line)}
.machine-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.machine-day-intervals{display:grid;gap:6px}
.machine-interval{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.machine-interval label{font-size:11px;display:flex;align-items:center;gap:4px}
.machine-interval input{width:77px;max-width:100%;border:1px solid var(--line);border-radius:6px;padding:7px}
.machine-exception{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.machine-exception small{display:block;color:#667085;margin-top:4px}
.machine-toggle{display:flex;gap:8px;align-items:center;font-size:11px}
@media(max-width:760px){.machine-interval{gap:5px}.machine-calendar-panel .formgrid{grid-template-columns:1fr}}

/* Phase D: accessible auth CTA. Presentation only, the login flow is unchanged. */
.loginbox #submit,.loginbox .btn.primary{width:100%;min-height:48px;border-radius:10px;font-size:12px;font-weight:780;letter-spacing:.015em;box-shadow:0 6px 18px rgba(35,96,207,.20)}
.loginbox #submit:hover,.loginbox .btn.primary:hover{box-shadow:0 9px 22px rgba(35,96,207,.27);transform:translateY(-1px)}
.loginbox #submit:focus-visible,.loginbox .btn.primary:focus-visible{outline:3px solid #8cb5ff;outline-offset:3px}
.loginbox #submit:active,.loginbox .btn.primary:active{transform:translateY(1px);box-shadow:0 3px 7px rgba(35,96,207,.17)}
@media(prefers-reduced-motion:reduce){.loginbox #submit,.loginbox .btn.primary{transition:none}.loginbox #submit:hover,.loginbox .btn.primary:hover{transform:none}}

/* 42-day month: only the calendar scrolls on narrow screens, not the app. */
.agenda-month-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.agenda-month-grid .agenda-month-cell.high-load{border-color:#e6b875;background:#fffbf0}
.agenda-month-grid .agenda-month-cell.has-risk{border-color:#efa29b;background:#fff5f4}
@media(max-width:760px){.agenda-month-scroll .agenda-month-weekdays,.agenda-month-scroll .agenda-month-grid{min-width:700px}.agenda-month-cell{min-height:104px}}

.impact-order-group{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:11px;display:grid;gap:6px}
.impact-order-group.worse{border-color:#f5c1bb;background:#fff8f7}
.impact-order-group.better{border-color:#b9e2cb;background:#f4fcf6}
.impact-order-group h3,.impact-changes h3{font-size:12px;margin:4px 0}
.impact-order-group small{display:block;color:#667085;margin-top:5px}
.impact-detail{border:1px solid var(--line);border-radius:8px;padding:11px;margin:6px 0}
.impact-detail summary{cursor:pointer;display:flex;gap:10px;justify-content:space-between}
.impact-detail div{margin-top:10px;font-size:11px;line-height:1.7}
.impact-history-entry,.archive-order-row{border-bottom:1px solid var(--line);padding:11px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.impact-history-entry small,.archive-order-row small{display:block;margin-top:5px;color:#667085}
.retention-preview{padding:15px;border:1px solid #c9d6ed;background:#f8fbff;margin-top:12px;border-radius:10px}

/* Phase E, admin only: denser cards and independent metadata tables. */
.e-command{margin-bottom:16px}.e-callout{padding:17px 19px;margin-bottom:12px;background:linear-gradient(115deg,#102038,#233c66);color:#fff}.e-callout h2{margin:5px 0;font-size:19px}.e-callout p{font-size:11px;line-height:1.5;color:#d9e6fa}.e-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.e-metric{padding:17px}.e-metric span{display:block;font-size:10px;font-weight:700;color:#667085}.e-metric strong{display:block;font-size:27px;letter-spacing:-.03em;margin:7px 0 3px}.e-metric small{font-size:10px;color:#667085}.e-tabbar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid #e4e8ef;padding-bottom:10px}.e-tabbar button{border:0;background:transparent;color:#536178;font-size:11px;font-weight:700;padding:10px 13px;border-radius:8px;cursor:pointer}.e-tabbar button.active,.e-tabbar button[aria-selected=true]{background:#eaf0fb;color:#254aa3}.e-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0 17px}.e-controls label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#667085}.e-controls input,.e-controls select{padding:10px;border:1px solid #d3d9e6;border-radius:8px;background:#fff;min-width:130px;max-width:210px}.e-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.e-job-detail{margin-top:14px;padding:18px;border:1px solid #d7e0f0;border-radius:12px;background:#f9fbff}.e-kv{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:9px;font-size:12px;padding:9px 0;border-bottom:1px solid #e8edf5}.e-kv:last-child{border-bottom:0}.e-kv span{color:#667085}.e-onboarding{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}.e-step{padding:15px;background:#f8fafd;border:1px solid #e6ebf4;border-radius:10px;font-size:11px;line-height:1.5}.e-step b{display:block}.e-step em{font-style:normal;font-size:10px;color:#667085}.e-step.done{border-color:#cdebd8;background:#f3fbf6}.e-note{border-left:3px solid #e0a555;background:#fff9f0;padding:12px 14px;font-size:11px;line-height:1.5;margin-bottom:14px}.e-empty{padding:23px;text-align:center;color:#667085;font-size:12px}.e-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.e-subhead{margin:12px 0;font-size:13px}.e-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e8ebf0;font-size:11px}.e-line:last-child{border-bottom:0}.e-link{border:0;background:none;color:#315fda;text-decoration:underline;cursor:pointer;font-size:inherit}.e-controls :focus-visible,.e-tabbar button:focus-visible,.e-link:focus-visible{outline:3px solid #81a4fb;outline-offset:2px}
@media(max-width:1100px){.e-metric-grid,.e-onboarding{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.e-metric-grid,.e-onboarding,.e-grid-two{grid-template-columns:1fr}.e-controls>*{width:100%}.e-controls input,.e-controls select{width:100%;max-width:none}.e-kv{grid-template-columns:1fr}}

/* Fase F: accessible capacity heatmap, responsive and keyboard-navigable. */
.capacity-machine-row{width:100%;border:1px solid var(--line2);border-radius:10px;background:#fff;padding:12px;text-align:left;display:block;margin-bottom:9px;cursor:pointer}
.capacity-machine-row:focus-visible,.capacity-cell:focus-visible{outline:3px solid #315fda;outline-offset:2px}
.capacity-heatmap th{min-width:120px}
.capacity-heatmap td{min-width:108px;padding:4px!important}
.capacity-cell{display:flex;flex-direction:column;gap:4px;border:1px solid transparent;border-radius:8px;padding:10px 7px;width:100%;min-height:62px;cursor:pointer;font:inherit;text-align:left}
.capacity-cell strong{font-size:11px}.capacity-cell small{font-size:9px}.capacity-cell.free{background:#e6f5ec;color:#155c38}.capacity-cell.busy{background:#fff4cf;color:#805200}.capacity-cell.full{background:#ffe7d6;color:#963e14}.capacity-cell.over{background:#ffe0e0;color:#a02121}.capacity-cell.closed{background:#ecf0f5;color:#59667a}
.capacity-exception{border-bottom:1px solid var(--line2);padding:9px 3px;font-size:11px}.capacity-exception:last-child{border-bottom:0}
@media(max-width:640px){.capacity-heatmap td{min-width:100px}.capacity-machine-row{padding:10px}}
@media(prefers-reduced-motion:reduce){.capacity-cell,.capacity-machine-row{transition:none}}

/* Phase G: keep long import previews scrollable on all viewport heights. */
#importDialog[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);max-width:min(820px,calc(100vw - 20px));overflow:hidden}
#importDialog .modalhead,#importDialog .modalfoot{flex:0 0 auto}
#importDialog .modalbody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.auth-logo-link matrix-logo{margin-bottom:var(--mp-space-5,20px)}
.shopfloor-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.shopfloor-task{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(16,24,40,.04)}
.shopfloor-task.is-running{border-color:#80b3f9;background:#f5f9ff}
.shopfloor-task.is-urgent{border-left:5px solid #d8534b}
.shopfloor-task header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}
.shopfloor-task h2{font-size:22px;margin:0 0 8px}.shopfloor-task p{font-size:13px;color:var(--muted);margin:5px 0}
.shopfloor-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px;margin-top:20px}
.shopfloor-actions .btn{min-height:56px;font-size:14px}
.shopfloor-empty{grid-column:1/-1;padding:32px;text-align:center}
.setup-list{margin:16px 0;display:grid;gap:7px}.setup-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px;border:1px solid var(--line);border-radius:9px}
.setup-row b{font-size:12px}.setup-row small{font-size:11px;color:var(--muted)}
@media(max-width:760px){.shopfloor-board{grid-template-columns:1fr}.shopfloor-task{padding:18px}.shopfloor-actions .btn{min-height:60px}}
/* Dedicated operator surface does not load the planner's admin shell. */
.operator-layout{max-width:1200px;margin:0 auto;padding:18px 20px 60px;min-height:100vh}
.operator-header{display:flex;align-items:center;gap:16px;padding:12px 0 22px;border-bottom:1px solid var(--line)}
.operator-header>div{display:grid;gap:4px;flex:1}.operator-header strong{font-size:20px}.operator-header small{color:var(--muted)}
.operator-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:26px 0 18px}.operator-controls>div:first-child{flex:1}
.operator-controls h1{font-size:25px;margin:0 0 4px}.operator-controls p{margin:0;color:var(--muted);font-size:12px}
.operator-controls .field{min-width:240px}.operator-footnote{margin-top:26px;color:var(--muted);font-size:11px}
@media(max-width:760px){.operator-layout{padding:12px}.operator-controls .field{min-width:100%;width:100%}.operator-controls select{width:100%}}

/* Fase H: hardening van beheerlayout, modals en logodimensies. */
.admin-shell .view{min-width:0;overflow:visible}
.admin-shell .pagehead{position:relative;display:flex;align-items:flex-start;flex-wrap:wrap;min-width:0;gap:12px;margin-bottom:23px;padding-bottom:4px;overflow:visible}
.admin-shell .pagehead>div{min-width:0;flex:1 1 270px}
.admin-shell .pagehead h1{margin:0 0 8px;line-height:1.28;overflow-wrap:anywhere}
.admin-shell .card.panel{position:relative;min-width:0}
.sidebar .brand .version{display:none!important}
.e-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:150px;margin:8px 0;padding:26px 18px;border:1px dashed var(--mp-line);border-radius:12px;background:linear-gradient(180deg,#fafcff,#fff);color:var(--mp-muted)}
.e-empty .icon{height:27px;width:27px;color:var(--mp-blue-600)}
.e-empty strong{font-size:13px;color:var(--mp-ink)}
.e-empty p{margin:0;max-width:420px;line-height:1.5}
#importDialog[open]{display:flex;flex-direction:column;box-sizing:border-box;height:min(790px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);width:min(840px,calc(100vw - 20px));overflow:hidden}
#importDialog .modalbody{min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;flex:1 1 0;overscroll-behavior:contain;scrollbar-gutter:stable}
#importDialog .modalfoot{flex-shrink:0;position:relative;z-index:2;background:#fff;border-top:1px solid var(--mp-line)}
.auth-logo-link{max-width:100%;flex-shrink:1;min-width:0}
.auth-logo-link matrix-logo{max-width:100%;margin:0 0 18px}
.auth-logo-link .matrix-logo__image{display:block;max-width:min(270px,72vw);max-height:64px;width:auto;height:auto;object-fit:contain;object-position:left center;aspect-ratio:auto}
.loginhero .auth-logo-link .matrix-logo__image{max-width:280px;max-height:70px}
@media(max-width:760px){.auth-logo-link--mobile .matrix-logo__image{width:auto;max-width:180px;max-height:50px;object-fit:contain}.admin-shell .pagehead{margin-bottom:20px}}

/* Pakketbeheer: duidelijke hiërarchie en responsieve formuliergrid */
.mp-package-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}
.mp-package-head h2{margin-bottom:6px}.mp-package-form{border:1px solid #e2e8f0;background:#f8fafd;border-radius:14px;padding:20px;margin-top:22px}
.mp-package-form h3{margin:0 0 16px;font-size:15px}.mp-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mp-package-grid label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:650;color:#334155}
.mp-package-grid input{width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.mp-package-grid input[aria-invalid=true]{border-color:#dc2626}.mp-field-error{min-height:14px;font-size:11px;color:#b91c1c}
.mp-package-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.mp-package-panel .e-empty{min-height:190px;margin:14px 0}.mp-package-panel .tablewrap{margin-top:12px}
@media(max-width:650px){.mp-package-grid{grid-template-columns:1fr}.mp-package-form{padding:14px}.mp-package-actions .btn{width:100%}}

/* Fase I: platformadmin header en platformmedewerkers */
.admin-shell .view.active{display:flow-root;min-width:0;isolation:isolate}
.admin-shell .view.active>.pagehead{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-start;min-height:max-content;margin:0 0 26px;padding:0 0 4px;overflow:visible;clear:both}
.admin-shell .view.active>.pagehead>div{min-width:0;flex:1 1 270px}
.admin-shell .view.active>.pagehead h1{display:block;position:static;line-height:1.3;margin:0 0 8px;overflow:visible}
.admin-shell .view.active>.pagehead p{line-height:1.55;margin:0;overflow-wrap:anywhere}
.admin-shell .view.active>.pagehead+.card,.admin-shell .view.active>.pagehead+.grid2,.admin-shell .view.active>.pagehead+.e-metric-grid{position:relative;z-index:0;clear:both}
#admin-view-alerts #eAlerts>.e-empty,#admin-view-platformaudit #eAudit>.e-empty,#eStaffList>.e-empty{min-height:220px;margin:0;display:flex;justify-content:center;align-items:center;text-align:center}
.mp-staff-form{margin-top:20px;border-top:1px solid var(--line);padding-top:22px;min-width:0}
.mp-staff-form h3{font-size:15px;margin:0 0 17px;color:var(--ink)}
.mp-staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;max-width:850px}
.mp-staff-grid label{min-width:0;display:flex;flex-direction:column;gap:7px;color:#344054;font-size:12px;font-weight:700}
.mp-staff-grid input,.mp-staff-grid select{width:100%;max-width:100%;min-width:0;padding:11px 12px;line-height:1.4;border:1px solid #d0d5dd;border-radius:9px;background:#fff;overflow:hidden;text-overflow:ellipsis}
.mp-staff-grid input:focus,.mp-staff-grid select:focus{outline:2px solid #b3c7f7;outline-offset:1px;border-color:#6382c8}
.mp-staff-grid label>small:not(.mp-staff-error){font-size:10px;color:var(--muted);font-weight:400;line-height:1.5}
.mp-staff-error{min-height:0;font-size:11px;color:#b42318;font-weight:500}
.mp-staff-grid [aria-invalid="true"]{border-color:#d92d20}
.mp-staff-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0 12px;max-width:850px}
.mp-staff-actions span{font-size:11px;color:var(--muted)}
.mp-staff-gate{padding:12px 14px;border:1px solid #f5d98a;border-radius:9px;background:#fffaeb;color:#8b5a12;font-size:11px;line-height:1.6}
.mp-staff-gate.is-open{background:#effaf3;color:#067647;border-color:#abefc6}
#eStaffList .e-line span{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.mp-staff-grid{grid-template-columns:1fr}.admin-shell .view.active>.pagehead{margin-bottom:24px}}

/* Fase J: shared admin header and account management */
.admin-shell .view.active{display:flow-root;isolation:isolate;min-width:0}
.admin-shell .view.active>.pagehead{display:flex;align-items:flex-start;position:relative;z-index:1;min-height:max-content;margin:0 0 28px;padding:0 0 8px;overflow:visible;clear:both}
.admin-shell .view.active>.pagehead>div{min-width:0;flex:1 1 270px}
.admin-shell .view.active>.pagehead h1{overflow:visible;line-height:1.32;margin:0 0 10px}
.admin-shell .view.active>.pagehead+.card{position:relative;z-index:0;clear:both}
.admin-shell .version{display:none!important}
.mp-j-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.mp-j-row p{margin:4px 0 12px;color:var(--muted,#64748b)}
.mp-j-dialog{width:min(540px,calc(100vw - 26px));max-height:min(90vh,800px);overflow:auto}
.mp-j-fields{display:grid;gap:17px;padding:4px 0 12px}
.mp-j-fields label{display:grid;gap:6px;font-weight:650;min-width:0}
.mp-j-fields input,.mp-j-fields select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.mp-j-fields input[aria-invalid=true]{border-color:#bb3131}
.mp-j-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;align-items:center}
.mp-j-actions .btn{white-space:nowrap}
.mp-j-row .btn{flex-shrink:0}

.mp-j-menu{position:relative;display:inline-block}
.mp-j-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line,#dae0e9);padding:8px 12px;background:white;border-radius:8px;font-weight:650;user-select:none}
.mp-j-menu summary::-webkit-details-marker{display:none}
.mp-j-menu[open]{z-index:5}
.mp-j-menu-items{position:absolute;right:0;top:calc(100% + 4px);display:grid;gap:5px;min-width:185px;border:1px solid var(--line,#dae0e9);background:white;padding:8px;border-radius:10px;box-shadow:0 12px 30px #10182820;z-index:8}
.mp-j-menu-items button{text-align:left;width:100%}
.mp-j-deactivated{opacity:.66;background:#f8fafc}
.mp-j-deactivated td:first-child{font-style:italic}

/* Menus are viewport-positioned to avoid clipping inside horizontally scrollable tables. */
.mp-j-menu-items{position:fixed;right:auto;top:auto;left:auto;z-index:1005}

/* 7.0.1 logo: readable wordmark and correctly spaced subtitle */
matrix-logo.matrix-logo--compact,matrix-logo.matrix-logo--full.matrix-logo--dark{display:inline-flex;align-items:center;gap:12px;max-width:100%;vertical-align:middle}
matrix-logo .matrix-logo__copy{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:5px;line-height:1.05}
matrix-logo .matrix-logo__copy strong{display:block;white-space:nowrap;letter-spacing:-.035em;word-spacing:0;font-weight:750}
matrix-logo .matrix-logo__copy strong span{margin-left:.18em;color:#3b82f6}
matrix-logo .matrix-logo__copy small{display:block;margin-top:0;letter-spacing:.115em;line-height:1.4;font-size:9px;font-weight:600;white-space:normal;text-transform:uppercase}
matrix-logo.matrix-logo--compact .matrix-logo__image{width:44px;height:44px;padding:4px;flex:none;border-radius:12px}
matrix-logo.matrix-logo--full.matrix-logo--dark .matrix-logo__image{width:54px;height:54px;flex:none}
@media(max-width:480px){matrix-logo.matrix-logo--compact{gap:8px}matrix-logo.matrix-logo--compact .matrix-logo__copy strong{font-size:16px}matrix-logo.matrix-logo--compact .matrix-logo__copy small{font-size:7px;letter-spacing:.06em}}

/* ========================================================================
   Matrix Planner 7.0.1 | Professional operations surfaces
   Isolated overrides: tenant support, platform support, team, impact/history.
   Keep Phase B sidebar, shell, typography tokens and navigation untouched.
   ======================================================================== */
:root{--mp-surface-border:#e5eaf2;--mp-secondary-ink:#58667b}
#view-support,#view-team,#admin-view-support{color:var(--mp-ink)}
#view-support .panelhead h2,#view-team .panelhead h2,#admin-view-support .panelhead h2,.mp-history-panel .panelhead h2{font-size:17px;font-weight:780;line-height:1.35;letter-spacing:-.022em}
#view-support .panelhead p,#view-team .panelhead p,#admin-view-support .panelhead p,.mp-history-panel .panelhead p{font-size:12px;line-height:1.55;margin-top:5px;max-width:700px}
#view-support .panel,#view-team .panel,#admin-view-support .panel,.mp-history-panel{padding:22px;border-radius:14px;box-shadow:0 3px 20px rgba(16,24,40,.035)}
#view-support .pagehead,#view-team .pagehead,#admin-view-support .pagehead{margin-bottom:22px}
#view-support .field label,#view-team .field label,.mp-history-filters .field label,#admin-view-support .field label{display:block;font-size:11px;font-weight:750;letter-spacing:.01em;color:#344054;margin-bottom:7px}
#view-support .field input,#view-support .field select,#view-support .field textarea,#view-team .field select,.mp-history-filters input,.mp-history-filters select,#admin-view-support .field input,#admin-view-support .field select,
#admin-view-support .mp-reply-form textarea,#admin-view-support .mp-reply-form select{
  box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:43px;padding:10px 12px;border:1px solid #cfd7e3;border-radius:9px;background:#fff;color:var(--mp-ink);font-size:12px;line-height:1.45;box-shadow:0 1px 1px rgba(16,24,40,.025)
}
#view-support textarea,#admin-view-support textarea{resize:vertical;min-height:110px}
#view-support .field textarea:focus,#view-support .field input:focus,#view-team .field select:focus,.mp-history-filters input:focus,.mp-history-filters select:focus,#admin-view-support input:focus,#admin-view-support select:focus,#admin-view-support textarea:focus{border-color:#6c94ef;box-shadow:0 0 0 3px rgba(36,99,235,.1)}
#view-support .btn,#view-team .btn,#admin-view-support .btn,.mp-history-panel .btn{min-height:39px;font-size:11px;padding:9px 14px}
#view-support .btn.primary,#view-team .btn.primary,#admin-view-support .btn.primary,.mp-history-panel .btn.primary{background:#2463eb;border-color:#2463eb;color:#fff;box-shadow:0 3px 9px rgba(36,99,235,.12)}
#view-support .btn.primary:hover,#view-team .btn.primary:hover,#admin-view-support .btn.primary:hover,.mp-history-panel .btn.primary:hover{background:#174ea6}

/* Customer support: composer on the left, searchable conversation on the right. */
.mp-support-grid{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(0,1.45fr);gap:18px;align-items:start}
.mp-support-grid>*{min-width:0}
.mp-support-create .formgrid{gap:16px}
.mp-support-create .field.full:last-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#fSupportFeedback{font-size:12px;color:#067647;line-height:1.5;overflow-wrap:anywhere}
.mp-support-inbox .mp-support-layout{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.6fr);gap:0;border:1px solid var(--mp-surface-border);border-radius:12px;overflow:hidden;min-height:360px}
.mp-ticket-list{min-width:0;max-height:600px;overflow-y:auto;overscroll-behavior:contain;background:#fafbfe}
.mp-support-layout .mp-ticket-list,.mp-admin-support-grid .mp-ticket-list{border-right:1px solid var(--mp-surface-border)}
.mp-ticket-row{display:block;width:100%;border:0;border-bottom:1px solid #e8edf5;padding:17px 16px;background:transparent;text-align:left;cursor:pointer;transition:background .15s;min-width:0;color:#1c293b}
.mp-ticket-row:last-child{border-bottom:0}
.mp-ticket-row:hover{background:#eef4ff}
.mp-ticket-row.is-selected{background:#eaf1ff;box-shadow:inset 3px 0 #2463eb}
.mp-ticket-row:focus-visible{outline:3px solid #84a8fa;outline-offset:-3px}
.mp-ticket-row-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0}
.mp-ticket-row-title strong{font-size:12px;line-height:1.55;font-weight:750;overflow-wrap:anywhere;min-width:0}
.mp-ticket-id{font-size:10px;color:#8591a3;white-space:nowrap;padding-top:2px}
.mp-ticket-row-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:12px}
.mp-ticket-row-meta time{font-size:10px;color:#748196;white-space:nowrap}
.mp-ticket-org{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:#69778c;overflow-wrap:anywhere}
.mp-ticket-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#edf2fa;border-radius:99px;font-size:10px;font-weight:770;line-height:1.25;color:#496079;white-space:normal}
.mp-ticket-status::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.mp-ticket-status--open{background:#fff2eb;color:#aa4e17}
.mp-ticket-status--in_progress,.mp-ticket-status--waiting_for_support,.mp-ticket-status--pending{background:#ecf3ff;color:#225fbd}
.mp-ticket-status--waiting_for_customer{background:#fdf3db;color:#936519}
.mp-ticket-status--resolved,.mp-ticket-status--published{background:#e8f8ef;color:#13744e}
.mp-ticket-status--closed,.mp-ticket-status--cancelled{background:#eff1f5;color:#637083}
.mp-ticket-detail{min-width:0;background:#fff;display:flex;flex-direction:column;padding:19px;gap:17px;overflow-wrap:anywhere}
.mp-ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--mp-surface-border)}
.mp-ticket-head h3{font-size:17px;line-height:1.4;letter-spacing:-.025em;margin:5px 0 5px;overflow-wrap:anywhere}
.mp-ticket-head p{color:#7b8799;font-size:11px;margin:0}
.mp-ticket-kicker{font-size:10px;font-weight:750;color:#245bd3;text-transform:uppercase;letter-spacing:.065em}
.mp-thread{display:flex;flex-direction:column;gap:12px;max-height:430px;overflow-y:auto;min-height:125px;padding:3px 4px 3px 0;overscroll-behavior:contain}
.mp-thread-message{max-width:95%;min-width:0;background:#f5f7fb;border:1px solid #e9edf5;border-radius:12px 12px 12px 4px;padding:12px 14px;line-height:1.6}
.mp-thread-message.is-own{align-self:flex-end;background:#edf4ff;border-color:#d6e5ff;border-radius:12px 12px 4px 12px}
.mp-thread-message.is-internal{background:#fffaed;border-color:#f7e2b2}
.mp-thread-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:7px}
.mp-thread-meta strong{font-size:11px;color:#27354b}
.mp-thread-meta time{font-size:10px;color:#79869a}
.mp-thread-message p{font-size:12px;line-height:1.65;color:#344054;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.mp-reply-form{border-top:1px solid var(--mp-surface-border);padding-top:16px;display:grid;gap:9px}
.mp-reply-form>label,.mp-reply-actions>label{font-size:11px;font-weight:760;color:#344054}
.mp-reply-form textarea{width:100%;box-sizing:border-box;padding:12px;font-size:12px;line-height:1.5;border:1px solid #cfd7e3;border-radius:10px;resize:vertical;min-height:90px}
.mp-reply-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mp-reply-actions>span{font-size:10px;color:#8490a1}
.mp-reply-actions>label{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mp-reply-actions select{width:auto!important;min-width:150px!important}
.mp-ticket-closed{padding:12px 14px;border-radius:10px;background:#f6f7f9;color:#667085;font-size:12px}
.mp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;min-height:130px;padding:28px 18px;color:#7f8ca0;overflow-wrap:anywhere}
.mp-empty-state::before{content:"";display:block;width:34px;height:34px;border:2px solid #cedaef;border-radius:50%;background:radial-gradient(circle at center,#93ace1 0 3px,transparent 4px);margin-bottom:4px}
.mp-empty-state strong{font-size:13px;font-weight:770;color:#334155}
.mp-empty-state p{font-size:11px;line-height:1.65;max-width:360px;margin:0;color:#718096}

/* Admin: ticket list and conversation, request privileges on separate card. */
.mp-admin-support-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.mp-support-stat{display:grid;gap:8px;border:1px solid var(--mp-surface-border);border-radius:12px;background:#fff;padding:18px 20px}
.mp-support-stat span{font-size:10px;font-weight:750;letter-spacing:.075em;text-transform:uppercase;color:#748196}
.mp-support-stat strong{font-size:27px;font-weight:830;line-height:1.1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.mp-support-stat small{font-size:11px;color:#8490a0}
.mp-support-toolbar{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,220px);gap:12px;align-items:end;margin:14px 0}
.mp-admin-support-grid{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(0,1.65fr);border:1px solid var(--mp-surface-border);border-radius:12px;overflow:hidden;min-height:380px}
.mp-admin-support-grid>.mp-ticket-list{max-height:660px}
.mp-admin-support-grid>.mp-ticket-detail{min-height:380px}
.mp-ticket-admin-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#f8faff;border:1px solid #e9edf4;padding:11px;border-radius:10px}
.mp-ticket-admin-status label{font-size:11px;font-weight:750;color:#536178}
.mp-ticket-admin-status select{width:auto!important;min-width:155px!important;flex:1;max-width:240px!important}
.mp-admin-create-ticket{margin-top:18px;border-top:1px solid var(--mp-surface-border);padding-top:15px}
.mp-admin-create-ticket summary{list-style:none;font-size:12px;color:#245ac0;font-weight:750;cursor:pointer;display:flex;align-items:center;gap:8px}
.mp-admin-create-ticket summary::before{content:'+';font-size:19px;line-height:1}
.mp-admin-create-ticket[open] summary::before{content:'−'}
.mp-admin-create-ticket summary::-webkit-details-marker{display:none}
.mp-admin-create-ticket .e-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:15px 0 0}
.mp-admin-create-ticket .e-controls label{display:grid;gap:6px;min-width:170px;flex:1;font-size:11px}
.mp-admin-create-ticket .e-controls input,.mp-admin-create-ticket .e-controls select{max-width:none;min-width:0;width:100%}
.mp-admin-grants .mp-grant-list{display:grid;gap:9px;margin-bottom:7px}
.mp-grant-item{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e9edf4;border-radius:10px;padding:13px 16px;min-width:0}
.mp-grant-item strong{font-size:12px}
.mp-grant-item p{font-size:11px;color:#78869b;margin:5px 0 0}
.mp-admin-grants .e-empty{background:#f8fafd;border:1px dashed #e0e7f1;border-radius:11px}

/* Change history: balanced filters and human-readable log. */
.mp-history-filters{display:grid;grid-template-columns:repeat(2,minmax(125px,1fr)) minmax(145px,1.15fr) minmax(150px,1.1fr) minmax(145px,1fr) auto;gap:12px;align-items:end;background:#f8fafe;border:1px solid #e6eaf3;padding:16px;border-radius:11px;margin-bottom:18px}
.mp-history-filters .field{min-width:0}
.mp-history-filters .mp-history-apply{height:43px;min-height:43px;align-self:end;white-space:nowrap}
.mp-history-list{display:grid;gap:0;min-height:100px}
.mp-history-entry{display:flex;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:16px 4px;border-bottom:1px solid #e9edf3}
.mp-history-entry:last-child{border-bottom:none}
.mp-history-main{display:grid;gap:4px;min-width:0}
.mp-history-main strong{font-size:13px;line-height:1.5}
.mp-history-meta{font-size:10px;color:#8a96a8}
.mp-history-detail{font-size:11px;line-height:1.6;color:#64748b;overflow-wrap:anywhere}
.mp-history-action{display:flex;align-items:center;gap:12px;flex:none}

/* Impact: values need enough distance to scan, even when all counters are zero. */
#deltaImpactDialog.impact-dialog{width:min(860px,calc(100vw - 28px));border-radius:16px}
#deltaImpactDialog .modalhead{padding:22px 26px 18px}
#deltaImpactDialog .modalhead h2{font-size:22px;line-height:1.3;letter-spacing:-.028em}
#deltaImpactDialog .modalhead p{font-size:12px;color:#69778e;line-height:1.5;margin-top:6px}
#deltaImpactDialog .modalbody{padding:22px 26px;min-height:225px}
#deltaImpactDialog .modalfoot{padding:16px 26px}
.mp-impact-kpis,.impact-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.mp-impact-stat,.impact-summary .impact-stat{display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:114px;padding:17px 18px;border:1px solid #e2e8f2;border-radius:12px;background:#f9fbfe;gap:12px}
.mp-impact-stat>span,.impact-summary .impact-stat>span,.impact-summary .impact-stat small{font-size:11px;font-weight:720;color:#67778c;line-height:1.4;letter-spacing:0;text-transform:none}
.mp-impact-stat>strong,.impact-summary .impact-stat>strong,.impact-summary .impact-stat b{font-size:29px;font-weight:820;letter-spacing:-.045em;line-height:1.1;color:#172338;font-variant-numeric:tabular-nums;margin:0}
.mp-impact-stat>small{font-size:10px;color:#8591a2;line-height:1.4}
.mp-impact-stat--danger{background:#fffafa;border-color:#f7dfdc}
.mp-impact-stat--danger strong{color:#b42318}
.mp-impact-stat--success{background:#f8fcfa;border-color:#d5efdf}
.mp-impact-stat--success strong{color:#087747}
.mp-impact-description{font-size:12px;color:#718095;line-height:1.55;margin:0 0 17px}
#deltaImpactChanges>h3{font-size:13px;margin:17px 0 12px;line-height:1.5}
#deltaImpactChanges.impact-changes{gap:10px;max-height:min(360px,40vh)}
#deltaImpactChanges .impact-order-group{padding:15px 17px;gap:10px;margin-bottom:0}
#deltaImpactChanges .impact-order-group h3{font-size:13px;margin:0}
#deltaImpactChanges .impact-detail{padding:14px 16px;margin:0}
#deltaImpactChanges .impact-detail summary{align-items:center;gap:14px;font-size:11px}
#deltaImpactChanges .impact-detail summary b{font-size:12px}
#deltaImpactChanges .impact-detail summary span{font-variant-numeric:tabular-nums;font-weight:750}
#deltaImpactChanges .mp-empty-state{min-height:140px;border:1px dashed #e3eaf5;border-radius:11px}
#impactHistoryDialog .impact-stat{min-height:105px}

/* Team management: long emails wrap, access selectors remain stable. */
.mp-team-panel .tablewrap{width:100%;max-width:100%;border-radius:10px}
.mp-team-panel .table{font-size:11px}
.mp-team-panel .table th{font-size:10px;padding:13px 14px}
.mp-team-panel .table td{padding:14px;line-height:1.5}
.mp-team-panel .table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;min-width:155px}
.mp-team-panel .table .btn{white-space:nowrap}
.mp-machine-access .mp-access-columns{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(300px,1.5fr);gap:24px;align-items:start;margin-top:14px}
.mp-machine-access .field{min-width:0}
.mp-machine-access #operatorMachines{height:auto;min-height:176px;padding:7px;overflow-y:auto}
.mp-machine-access #operatorMachines option{padding:8px 11px;border-radius:5px;margin-bottom:2px;white-space:normal;overflow-wrap:anywhere}
.mp-machine-access #operatorMachines option:checked{background:#e4eeff linear-gradient(#e4eeff,#e4eeff);color:#174ea6;font-weight:710}
.mp-field-help{font-size:11px;color:#7e8b9d;line-height:1.55;margin:8px 0 0}
.mp-section-actions{border-top:1px solid var(--mp-surface-border);padding-top:18px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.mp-section-actions>span{font-size:11px;line-height:1.5;color:#8490a0}

@media(max-width:1380px){.mp-support-grid{grid-template-columns:1fr}.mp-history-filters{grid-template-columns:repeat(3,minmax(145px,1fr))}.mp-history-filters .mp-history-apply{justify-self:start;min-width:120px}}
@media(max-width:1080px){.mp-admin-support-grid{grid-template-columns:minmax(190px,.9fr) minmax(0,1.3fr)}.mp-machine-access .mp-access-columns{grid-template-columns:1fr 1.2fr;gap:15px}}
@media(max-width:780px){.mp-support-inbox .mp-support-layout,.mp-admin-support-grid{grid-template-columns:1fr}.mp-support-layout .mp-ticket-list,.mp-admin-support-grid .mp-ticket-list{border-right:0;border-bottom:1px solid var(--mp-surface-border);max-height:230px}.mp-admin-support-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mp-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-machine-access .mp-access-columns{grid-template-columns:1fr}#deltaImpactDialog .modalhead,#deltaImpactDialog .modalbody,#deltaImpactDialog .modalfoot{padding-left:17px;padding-right:17px}.mp-impact-kpis,.impact-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-history-entry{align-items:flex-start}}
@media(max-width:520px){#view-support .panel,#view-team .panel,#admin-view-support .panel,.mp-history-panel{padding:15px}.mp-support-toolbar{grid-template-columns:1fr}.mp-admin-support-stats{grid-template-columns:1fr}.mp-history-filters{grid-template-columns:1fr}.mp-history-entry{flex-direction:column;align-items:stretch}.mp-history-action{justify-content:space-between}.mp-impact-kpis,.impact-summary{grid-template-columns:1fr}.mp-ticket-head{flex-direction:column}.mp-reply-actions{align-items:stretch}.mp-reply-actions>.btn{width:100%}.mp-support-stat{padding:13px 15px}}
