:root{--bg:#f7f8fb;--panel:rgba(255,255,255,.78);--panel2:rgba(255,255,255,.92);--line:rgba(15,23,42,.09);--text:#111827;--muted:#667085;--blue:#2563eb;--violet:#7c3aed;--coral:#ef476f;--amber:#f59e0b;--green:#059669;--danger:#dc2626;--shadow:0 20px 60px rgba(15,23,42,.08);--shadow2:0 10px 30px rgba(15,23,42,.08);--radius:24px;--radius2:17px;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:radial-gradient(circle at 15% 10%,#eef2ff 0,transparent 32%),radial-gradient(circle at 85% 90%,#eff6ff 0,transparent 28%),var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.glass{background:rgba(255,255,255,.76);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow)}.glass-soft{background:rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.72);box-shadow:0 10px 40px rgba(15,23,42,.05)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);padding:22px;gap:22px}.login-visual{position:relative;overflow:hidden;min-height:calc(100vh - 44px);border-radius:32px;padding:62px;background:linear-gradient(145deg,#f8faff 0%,#eef3ff 42%,#f6efff 100%);border:1px solid rgba(99,102,241,.1)}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(5px)}.login-visual:before{width:460px;height:460px;background:rgba(99,102,241,.1);right:-130px;bottom:-130px}.login-visual:after{width:280px;height:280px;background:rgba(239,71,111,.07);left:35%;bottom:-80px}.brand-pill{display:inline-flex;align-items:center;gap:12px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(30,41,59,.08);border-radius:999px;padding:8px 17px 8px 8px;position:relative;z-index:2}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;font-weight:800;letter-spacing:-.03em;background:linear-gradient(145deg,#4f46e5,#2563eb);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 22px rgba(79,70,229,.28)}.brand-mark.large{width:48px;height:48px;border-radius:15px}.hero-copy{position:relative;z-index:2;margin-top:90px;max-width:840px}.hero-copy h1{font-size:clamp(54px,6.8vw,104px);line-height:.95;letter-spacing:-.075em;margin:0;font-weight:760}.hero-copy h1 span{background:linear-gradient(90deg,#6d28d9,#2563eb 50%,#db2777);-webkit-background-clip:text;color:transparent}.hero-copy p{max-width:680px;font-size:23px;line-height:1.55;color:#4b5874;margin-top:34px}.hero-art{position:absolute;right:7%;bottom:7%;width:420px;height:250px;opacity:.92}.milk-can{position:absolute;left:48px;bottom:14px;width:112px;height:160px;border:5px solid #7c8aa4;border-radius:30px 30px 24px 24px;background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(148,163,184,.15));box-shadow:inset 0 0 0 8px rgba(255,255,255,.22)}.milk-can:before{content:"";position:absolute;left:15px;right:15px;top:-28px;height:46px;border:7px solid #68758c;border-bottom:0;border-radius:30px 30px 0 0}.milk-can:after{content:"";position:absolute;left:22px;right:22px;top:72px;height:7px;border-radius:9px;background:rgba(255,255,255,.8);box-shadow:0 24px 0 rgba(255,255,255,.65)}.milk-drop{position:absolute;left:185px;top:12px;width:58px;height:78px;background:linear-gradient(150deg,#fb7185,#ef476f);border-radius:55% 45% 58% 42%/68% 44% 56% 32%;transform:rotate(45deg);box-shadow:0 20px 45px rgba(239,71,111,.2)}.truck{position:absolute;right:8px;bottom:25px;width:190px;height:92px;background:linear-gradient(135deg,#7c3aed,#2563eb);clip-path:polygon(0 12%,67% 12%,82% 33%,100% 33%,100% 82%,0 82%);box-shadow:0 22px 38px rgba(59,72,190,.16)}.truck i{position:absolute;width:36px;height:30px;right:36px;top:24px;background:#dbeafe;border-radius:7px}.truck b{position:absolute;bottom:-16px;width:42px;height:42px;border-radius:50%;background:#1e293b;border:10px solid #64748b}.truck b:nth-child(2){left:22px}.truck b:nth-child(3){right:20px}.login-panel-wrap{display:grid;place-items:center;padding:34px}.login-card,.password-card{width:min(100%,470px);padding:38px;border-radius:28px}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:36px}.login-logo div{display:grid}.login-logo small,.muted{color:var(--muted)}.login-card h2,.password-card h2{font-size:34px;letter-spacing:-.04em;margin:0 0 8px}.field{display:grid;gap:8px;margin:16px 0}.field>span{font-size:13px;font-weight:650;color:#475467}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe3eb;background:rgba(255,255,255,.86);border-radius:14px;padding:13px 14px;min-height:48px;outline:none;color:var(--text);transition:.18s ease}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#94a3ff;box-shadow:0 0 0 4px rgba(99,102,241,.11);background:#fff}.phone-field{display:grid;grid-template-columns:auto 1fr;border:1px solid #dfe3eb;background:rgba(255,255,255,.86);border-radius:14px;overflow:hidden}.phone-field b{display:grid;place-items:center;padding:0 14px;border-right:1px solid #e6e8ee;color:#475467}.phone-field input{border:0;border-radius:0;box-shadow:none!important}.btn{border:0;border-radius:14px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;min-height:44px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{color:#fff;background:linear-gradient(145deg,#4f46e5,#2563eb);box-shadow:0 10px 22px rgba(37,99,235,.2)}.btn.primary:hover{box-shadow:0 14px 28px rgba(37,99,235,.27)}.btn.secondary{background:rgba(255,255,255,.78);border:1px solid #e1e5ed;color:#24324a;box-shadow:0 4px 12px rgba(15,23,42,.04)}.btn.secondary:hover,.btn.ghost:hover{background:#fff}.btn.ghost{background:transparent;color:#475467}.btn.wide{width:100%;margin-top:10px}.btn.small{min-height:34px;padding:6px 11px;border-radius:10px;font-size:12px}.form-error{color:#b42318;min-height:18px;font-size:13px}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.password-card{padding:40px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#667085}.portal{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;padding:14px;gap:14px}.sidebar{height:calc(100vh - 28px);position:sticky;top:14px;border-radius:26px;display:flex;flex-direction:column;overflow:hidden}.glass-nav{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 45px rgba(15,23,42,.07);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}.side-brand{display:flex;align-items:center;gap:12px;padding:22px 20px 18px;border-bottom:1px solid rgba(15,23,42,.06)}.side-brand div{display:grid}.side-brand b{font-size:14px}.side-brand small{color:#8a94a6;font-size:11px;margin-top:2px}.nav-scroll{padding:12px;overflow:auto;flex:1}.nav-group{display:grid;gap:4px;margin-bottom:17px}.nav-group>span{font-size:9.5px;color:#98a2b3;font-weight:750;letter-spacing:.12em;padding:4px 10px}.nav-item{width:100%;border:0;background:transparent;color:#475467;border-radius:13px;padding:10px 11px;display:flex;align-items:center;gap:11px;font-size:13.5px;text-align:left;transition:.16s ease}.nav-item:hover{background:rgba(99,102,241,.07);color:#303e59;transform:translateX(2px)}.nav-item.active{color:#3730a3;background:linear-gradient(135deg,rgba(99,102,241,.13),rgba(59,130,246,.08));box-shadow:inset 0 0 0 1px rgba(99,102,241,.08)}.side-footer{padding:12px;border-top:1px solid rgba(15,23,42,.06)}.version{display:block;font-size:10px;color:#98a2b3;padding:0 10px 8px}.logout{color:#b42318}.workspace{min-width:0}.topbar{height:76px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:14px;z-index:20}.topbar h2{margin:3px 0 0;font-size:21px;letter-spacing:-.035em}.scope-chip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.75);border:1px solid rgba(15,23,42,.06);padding:7px 12px;border-radius:16px}.scope-chip div{display:grid}.scope-chip b{font-size:12px}.scope-chip small{font-size:10px;color:#8a94a6}.status-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.stage{padding:22px 3px 50px}.page{display:none;animation:fadeUp .25s ease}.page.active-page{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:5px 4px 20px}.page-head h1{font-size:31px;letter-spacing:-.045em;margin:0 0 7px}.page-head p{margin:0;color:var(--muted);font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric{position:relative;overflow:hidden;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.92);border-radius:22px;padding:20px;box-shadow:var(--shadow2);backdrop-filter:blur(15px)}.metric:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-35px;background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(59,130,246,.04))}.metric span{display:block;color:#667085;font-size:12px;font-weight:650}.metric b{display:block;font-size:33px;letter-spacing:-.05em;margin:9px 0 3px}.metric small{color:#98a2b3}.panel{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.92);border-radius:22px;padding:18px;box-shadow:var(--shadow2);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h3{margin:3px 0 0;font-size:16px;letter-spacing:-.02em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cards-list{display:grid;gap:9px}.branch-card,.list-row,.device-card,.notice-card,.banner-card,.role-card{border:1px solid #e8eaf0;border-radius:16px;padding:13px 14px;background:rgba(255,255,255,.68);transition:.16s ease}.branch-card:hover,.list-row:hover,.device-card:hover,.notice-card:hover,.banner-card:hover,.role-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.06);border-color:#dde2ec}.branch-card{display:flex;align-items:center;justify-content:space-between}.branch-card b{font-size:13px}.branch-card small{color:#8a94a6}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{border:1px solid #e8eaf0;background:#fff;border-radius:15px;padding:18px;text-align:left;font-weight:650;color:#344054;transition:.16s ease}.quick-grid button:hover{border-color:#c7d2fe;background:#f8faff;transform:translateY(-2px)}.entry-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:14px}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quality-grid input{font-size:22px;font-weight:720;text-align:center}.actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.big-preview{font-size:14px;color:#667085;display:grid;gap:11px}.preview-amount{font-size:40px;font-weight:770;letter-spacing:-.05em;color:#0f766e}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-grid div{background:#f8fafc;border-radius:12px;padding:10px}.filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;align-items:end;margin-bottom:14px}.filters.compact{grid-template-columns:minmax(180px,240px) minmax(180px,240px) minmax(220px,1fr) auto}.filters .field{margin:0}.grow{min-width:0}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #dfe3eb;background:#fff;border-radius:14px;padding:0 12px}.search-box input{border:0!important;box-shadow:none!important;padding-left:0!important}.tabs{display:flex;gap:6px;margin:0 0 12px;overflow:auto;padding:3px}.tabs button{border:1px solid transparent;background:transparent;color:#667085;padding:9px 14px;border-radius:12px;font-weight:650;white-space:nowrap}.tabs button:hover{background:#fff}.tabs button.active{background:#fff;color:#3730a3;border-color:#e4e7ec;box-shadow:0 6px 16px rgba(15,23,42,.05)}.table-wrap{overflow:auto}.table-wrap table,.report table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;min-width:720px}.table-wrap th,.table-wrap td,.report th,.report td{padding:11px 12px;border-bottom:1px solid #edf0f4;text-align:left;white-space:nowrap}.table-wrap th,.report th{position:sticky;top:0;background:rgba(249,250,251,.96);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#667085;z-index:1}.table-wrap tr:hover td,.report tr:hover td{background:rgba(248,250,252,.78)}.cell-actions{display:flex;gap:6px}.icon-mini{border:1px solid #e4e7ec;background:#fff;border-radius:9px;min-width:31px;height:31px;display:grid;place-items:center;color:#475467}.icon-mini:hover{background:#f8fafc;transform:translateY(-1px)}.icon-mini.danger{color:#b42318}.list-select{display:grid;gap:8px;max-height:520px;overflow:auto}.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.list-row.selected{border-color:#a5b4fc;background:#f5f7ff;box-shadow:0 0 0 3px rgba(99,102,241,.07)}.list-row small{display:block;color:#98a2b3;margin-top:2px}.check-list{display:grid;gap:7px;max-height:520px;overflow:auto}.check-row{display:flex;align-items:center;gap:10px;border:1px solid #edf0f4;border-radius:13px;padding:10px 12px;background:#fff}.check-row input{width:18px;height:18px}.notice-grid,.banner-grid,.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notice-card h3,.banner-card h3,.device-card h3{margin:0 0 7px;font-size:14px}.notice-card p,.device-card p{color:#667085;font-size:12.5px;line-height:1.5}.card-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.badge{font-size:10px;font-weight:700;border-radius:999px;padding:5px 8px;background:#f2f4f7;color:#475467}.badge.ok{background:#ecfdf3;color:#027a48}.badge.warn{background:#fff7ed;color:#b54708}.badge.off{background:#fef3f2;color:#b42318}.banner-thumb{height:128px;border-radius:13px;background:linear-gradient(145deg,#eef2ff,#f8fafc);display:grid;place-items:center;color:#94a3b8;margin-bottom:11px;overflow:hidden}.banner-thumb img{width:100%;height:100%;object-fit:cover}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-card .field{margin:10px 0}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f2f5;font-size:13px;font-weight:600}.toggle input{appearance:none;width:42px;height:24px;border-radius:999px;background:#d0d5dd;position:relative;transition:.18s ease;order:2}.toggle input:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.18s ease}.toggle input:checked{background:#4f46e5}.toggle input:checked:after{left:21px}.mini-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mini-checks label{font-size:11px;display:flex;align-items:center;gap:7px;padding:8px;background:#f8fafc;border-radius:10px}.device-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.device-card .battery{height:6px;background:#edf0f4;border-radius:999px;overflow:hidden;margin-top:10px}.device-card .battery i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#3b82f6)}.status-card{min-height:200px;display:grid;place-items:center;text-align:center}.status-card strong{font-size:26px}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.24);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;border-radius:26px;padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-head h3{margin:4px 0 0;font-size:21px}.icon-btn{border:1px solid #e4e7ec;background:rgba(255,255,255,.84);border-radius:12px;width:40px;height:40px;display:grid;place-items:center;font-size:22px;color:#475467}.modal-body{display:grid;gap:10px}.modal-body .field{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.toast{position:fixed;right:22px;bottom:22px;z-index:300;background:#111827;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 18px 45px rgba(15,23,42,.22);font-size:13px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s ease;max-width:420px}.toast.show{opacity:1;transform:none}.toast.error{background:#991b1b}.backdrop{display:none}.mobile-only{display:none}.super-only.hidden-by-role{display:none!important}.empty{padding:28px;text-align:center;color:#98a2b3}.loading{opacity:.65;pointer-events:none}@media print{body{background:#fff}.sidebar,.topbar,.page-head,.filters,.actions,.tabs,.btn{display:none!important}.portal{display:block;padding:0}.stage{padding:0}.page{display:none!important}.page#printing,.page.active-page#printing{display:block!important}.panel{box-shadow:none;border:0;background:#fff;padding:0}.report{display:block!important}.report table{font-size:10px}.report th,.report td{padding:6px}@page{size:A4 landscape;margin:9mm}}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.notice-grid,.banner-grid{grid-template-columns:repeat(2,1fr)}.device-grid{grid-template-columns:repeat(3,1fr)}.portal{grid-template-columns:240px minmax(0,1fr)}.filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding:12px}.login-visual{display:none}.login-panel-wrap{min-height:100vh;padding:20px}.portal{display:block;padding:8px}.sidebar{position:fixed;left:8px;top:8px;bottom:8px;width:275px;height:auto;z-index:80;transform:translateX(-115%);transition:.22s ease}.sidebar.open{transform:none}.backdrop{position:fixed;inset:0;background:rgba(15,23,42,.18);backdrop-filter:blur(5px);z-index:70}.backdrop.show{display:block}.mobile-only{display:grid}.topbar{top:8px;height:68px;padding:0 14px}.stage{padding-top:15px}.grid-2,.entry-layout,.settings-grid{grid-template-columns:1fr}.filters,.filters.compact{grid-template-columns:1fr 1fr}.notice-grid,.banner-grid,.device-grid{grid-template-columns:repeat(2,1fr)}.quality-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.login-card,.password-card{padding:26px}.page-head{align-items:stretch;flex-direction:column}.page-head h1{font-size:27px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:15px;border-radius:17px}.metric b{font-size:27px}.form-grid.two,.form-grid.three,.filters,.filters.compact{grid-template-columns:1fr}.notice-grid,.banner-grid,.device-grid{grid-template-columns:1fr}.quality-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.top-actions{display:none}.panel{border-radius:18px;padding:14px}.stage{padding-bottom:28px}.modal{padding:8px}.modal-card{border-radius:20px}.mini-checks{grid-template-columns:1fr}.toast{left:12px;right:12px;bottom:12px;max-width:none}}

/* 2026-10-08 portal polish: rail navigation, dairy-automation login, A4 reports */
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}
.password-input{position:relative}.password-input input{width:100%;padding-right:46px}.password-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;cursor:pointer;color:#667085;transition:.2s}.password-eye:hover,.password-eye.active{background:rgba(90,93,246,.10);color:#4057ef}.password-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.capability-orbit{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:620px;margin-top:34px;z-index:2}.cap-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.54);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-radius:22px;box-shadow:0 18px 60px rgba(44,62,120,.10);animation:pkFloat 6s ease-in-out infinite}.cap-card:nth-child(2){animation-delay:-1.2s}.cap-card:nth-child(3){animation-delay:-2.4s}.cap-card:nth-child(4){animation-delay:-3.6s}.cap-card svg{width:34px;height:34px;flex:none;fill:none;stroke:#4b5cf0;stroke-width:1.7}.cap-card b{display:block;font-size:14px}.cap-card small{display:block;color:#667085;margin-top:3px}@keyframes pkFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-copy h1{max-width:800px}.hero-copy p{max-width:720px}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(77,99,255,.22),rgba(186,111,255,.08) 47%,transparent 70%);right:5%;bottom:4%;filter:blur(3px);animation:orbDrift 9s ease-in-out infinite alternate}@keyframes orbDrift{to{transform:translate(-50px,-35px) scale(1.08)}}
.sidebar{transition:width .28s cubic-bezier(.2,.8,.2,1),transform .28s ease}.rail-toggle{margin-left:auto;width:30px;height:30px;border:1px solid rgba(120,130,160,.15);border-radius:10px;background:rgba(255,255,255,.55);cursor:pointer;font-size:22px;line-height:1;color:#667085;transition:.2s}.rail-toggle:hover{background:#fff;transform:scale(1.04)}.sidebar.collapsed{width:82px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-group>span,.sidebar.collapsed .nav-item{font-size:0}.sidebar.collapsed .nav-item svg{margin:0;width:21px;height:21px}.sidebar.collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .side-brand{justify-content:center;padding-left:10px;padding-right:10px}.sidebar.collapsed .rail-toggle{position:absolute;right:-15px;top:30px;z-index:4}.sidebar.collapsed .version,.sidebar.collapsed .pk-credit{display:none}.sidebar.collapsed .logout{font-size:0}.rail-collapsed .workspace{margin-left:82px;transition:margin-left .28s cubic-bezier(.2,.8,.2,1)}.workspace{transition:margin-left .28s cubic-bezier(.2,.8,.2,1)}.pk-credit{display:block;font-size:10px;line-height:1.35;color:#98a2b3;margin:6px 10px 10px}
.field-hint{display:block;min-height:18px;color:#667085;margin-top:6px;font-size:12px}.quality-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.manual-records{margin-top:18px}.incentive-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.incentive-summary{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 12px;background:rgba(79,70,229,.05);border-radius:14px;font-size:12px;color:#667085}.incentive-summary b{color:#344054}
.banner-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.banner-card{overflow:hidden;padding:0}.banner-preview{aspect-ratio:16/6;background:linear-gradient(135deg,#eef2ff,#fdf2f8);overflow:hidden;display:grid;place-items:center}.banner-preview img{width:100%;height:100%;object-fit:cover;display:block}.banner-placeholder svg{width:44px;height:44px;fill:none;stroke:#7c83e8;stroke-width:1.3}.banner-info{padding:15px}.banner-info h3{margin:0 0 10px}.banner-info small{display:block;margin:9px 0;color:#667085}
.report-preview{background:#edf1f7;border-radius:18px;padding:24px;overflow:auto}.a4-sheet{width:min(100%,210mm);min-height:297mm;margin:0 auto 22px;background:#fff;color:#111;padding:12mm 10mm;box-shadow:0 20px 60px rgba(15,23,42,.12);box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}.a4-report-head{text-align:center}.a4-report-head h1{font-size:16px;letter-spacing:.4px;margin:0 0 8px}.a4-report-head h2{font-size:15px;margin:0 0 9px}.a4-meta{border-top:1px dashed #555;border-bottom:1px dashed #555;padding:7px 2px;margin-bottom:8px;display:flex;justify-content:space-between;gap:10px;font-size:9.5px;text-align:left}.a4-table{width:100%;border-collapse:collapse;font-size:9px}.a4-table th,.a4-table td{border:1px solid #444;padding:4px 3px;text-align:center;white-space:nowrap}.a4-table th{font-weight:700;background:#fafafa}.a4-table .text-left{text-align:left;white-space:normal}.a4-table .avg-row td{font-weight:600;border-top:1.5px solid #222}.a4-summary{border-top:1px dashed #555;border-bottom:1px dashed #555;margin-top:9px;padding:8px 2px;font-size:10px}.member-sheet{page-break-after:always}
@media(max-width:1050px){.quality-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.capability-orbit{grid-template-columns:1fr}.sidebar.collapsed{width:280px}.rail-collapsed .workspace{margin-left:0}}
@media print{body{background:#fff!important}.portal{display:block!important}.sidebar,.topbar,.page-head,#reportFilters,.report>.panel-head,.toast,.modal,.backdrop{display:none!important}.workspace,.rail-collapsed .workspace{margin:0!important}.stage{padding:0!important}.page{display:none!important}#page-reports{display:block!important}.panel.report{box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important}.report-preview{background:#fff!important;padding:0!important;overflow:visible!important}.a4-sheet{width:210mm;min-height:297mm;margin:0;padding:10mm;box-shadow:none;page-break-after:always}.a4-sheet:last-child{page-break-after:auto}@page{size:A4 portrait;margin:0}}
/* Reference-report styling: clean A4 text table with separator rules rather than boxed body cells. */
.a4-table th,.a4-table td{border:0;border-bottom:0;padding:5px 4px}.a4-table thead th{border-top:1px dashed #555;border-bottom:1px dashed #555;background:#fff}.a4-table .avg-row td{border-top:1px dashed #555;border-bottom:1px dashed #555}.a4-table tbody tr:not(.avg-row) td{border-bottom:0}
.a4-subtitle{text-align:left;font-size:10px;margin:10px 0 5px;padding-bottom:4px;border-bottom:1px dashed #777}.a4-subtitle.day-average{text-align:center;margin-top:15px}


/* Milk Entry: app-matched saved records grid */
.manual-records .table-wrap{overflow:visible}
.app-milk-grid{border:1px solid rgba(15,76,92,.14);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.82);box-shadow:0 8px 28px rgba(15,23,42,.05)}
.app-milk-scroll{overflow-x:auto;width:100%}
.app-milk-table{width:100%;min-width:820px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.app-milk-table thead th{background:#0f4c5c;color:#fff;font-size:12px;font-weight:800;letter-spacing:.025em;padding:9px 8px;text-align:center;white-space:nowrap}
.app-milk-table tbody td{padding:8px 8px;border-bottom:1px solid rgba(15,23,42,.065);font-size:13px;font-weight:650;text-align:center;white-space:nowrap}
.app-milk-table tbody tr:nth-child(odd){background:#fff}
.app-milk-table tbody tr:nth-child(even){background:#f1f5f9}
.app-milk-table tbody tr:hover{filter:brightness(.985);box-shadow:inset 3px 0 0 rgba(15,76,92,.35)}
.app-milk-table .milk-code,.app-milk-table .milk-sl,.app-milk-table .milk-rate{font-weight:800}
.app-milk-table .milk-ltrs{color:#1d4ed8;font-weight:800}
.app-milk-table .milk-amount{color:#15803d;font-weight:800}
.app-milk-table .milk-inc{color:#c2410c;font-weight:800}
.app-milk-table .milk-sync{color:#059669;font-size:17px;font-weight:900}
.cell-actions.compact{display:flex;gap:8px;justify-content:center;align-items:center}
.milk-action{width:30px;height:30px;border:1px solid rgba(15,76,92,.18);border-radius:9px;background:rgba(255,255,255,.84);font-size:17px;line-height:1;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.milk-action:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.10)}
.milk-action.edit{color:#0f4c5c}.milk-action.delete{color:#b91c1c}
.milk-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:7px 20px;padding:11px 14px;background:#f8fafc;border-top:1px solid rgba(15,23,42,.07);font-size:13px;color:#64748b}
.milk-summary b{margin-left:4px;color:#0f172a;font-size:14px}.milk-summary span:nth-child(2) b{color:#1d4ed8}.milk-summary span:nth-child(3) b,.milk-summary span:nth-child(4) b{color:#b91c1c}.milk-summary span:nth-child(5) b{color:#7e22ce}.milk-summary span:nth-child(6) b,.milk-summary span:nth-child(8) b{color:#166534}.milk-summary span:nth-child(7) b{color:#c2410c}
@media(max-width:900px){.milk-summary{grid-template-columns:repeat(2,minmax(135px,1fr))}}


/* Rail navigation clarity + animated expand/collapse */
.portal{grid-template-columns:296px minmax(0,1fr)}
.sidebar{width:296px;min-width:296px;max-width:296px;overflow:hidden;transition:width .3s cubic-bezier(.22,.61,.36,1),min-width .3s cubic-bezier(.22,.61,.36,1),transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease}
.side-brand{position:relative;align-items:center;gap:12px;padding:20px 18px 16px}
.brand-copy{min-width:0;max-width:180px;overflow:hidden;opacity:1;transform:translateX(0);transition:max-width .25s ease,opacity .2s ease,transform .25s ease,margin .25s ease}
.brand-copy b,.brand-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-scroll{padding:14px 12px 16px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.8) transparent}
.nav-scroll::-webkit-scrollbar{width:8px}.nav-scroll::-webkit-scrollbar-thumb{background:rgba(148,163,184,.8);border-radius:999px}.nav-scroll::-webkit-scrollbar-track{background:transparent}
.nav-group{gap:6px;margin-bottom:18px}.nav-group>span{display:block;padding:4px 10px;opacity:1;max-height:32px;overflow:hidden;transition:max-height .22s ease,opacity .18s ease,padding .22s ease,margin .22s ease}
.nav-item{min-height:46px;padding:11px 12px;border-radius:15px;gap:12px;font-size:13.5px;white-space:nowrap;overflow:hidden;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.nav-item svg{flex:none;width:20px;height:20px}
.nav-item:hover{box-shadow:inset 0 0 0 1px rgba(99,102,241,.09),0 10px 18px rgba(79,70,229,.08)}
.side-footer{padding:12px}.logout{justify-content:flex-start}
.rail-toggle{flex:none;display:grid;place-items:center}
.sidebar.collapsed{width:92px;min-width:92px;max-width:92px}
.sidebar.collapsed .brand-copy{max-width:0;opacity:0;transform:translateX(-8px);margin:0;pointer-events:none}
.sidebar.collapsed .nav-group>span{max-height:0;opacity:0;padding:0 10px;margin:0}
.sidebar.collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0;gap:0;font-size:0;color:transparent}
.sidebar.collapsed .nav-item svg{width:21px;height:21px;color:#334155}
.sidebar.collapsed .side-brand{padding-inline:14px}
.sidebar.collapsed .side-footer{padding-inline:10px}
.sidebar.collapsed .version,.sidebar.collapsed .pk-credit{display:none}
.sidebar.collapsed .logout{font-size:0;justify-content:center;padding-left:0;padding-right:0}
.sidebar.collapsed .logout svg{margin:0;color:#b42318}
body.rail-collapsed .portal{grid-template-columns:92px minmax(0,1fr)}
.sidebar::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
@media(max-width:1180px){.portal{grid-template-columns:296px minmax(0,1fr)}}
@media(max-width:900px){
  .portal,body.rail-collapsed .portal{grid-template-columns:1fr}
  .sidebar,.sidebar.collapsed{width:min(86vw,320px);min-width:min(86vw,320px);max-width:min(86vw,320px);left:10px;top:10px;bottom:10px;height:auto;transform:translateX(calc(-100% - 22px));border-radius:30px;box-shadow:0 28px 70px rgba(15,23,42,.24)}
  .sidebar.open,.sidebar.collapsed.open{transform:translateX(0)}
  .sidebar.collapsed .brand-copy{max-width:180px;opacity:1;transform:none;pointer-events:auto}
  .sidebar.collapsed .nav-group>span{max-height:32px;opacity:1;padding:4px 10px}
  .sidebar.collapsed .nav-item{justify-content:flex-start;padding-left:12px;padding-right:12px;gap:12px;font-size:13.5px;color:#475467}
  .sidebar.collapsed .nav-item svg{width:20px;height:20px;color:currentColor}
  .sidebar.collapsed .version,.sidebar.collapsed .pk-credit{display:block}
  .sidebar.collapsed .logout{font-size:13.5px;justify-content:flex-start;padding-left:12px;padding-right:12px}
}


/* Reports: modern on-screen workspace, plain reference-style A4 when printed/PDF */
#page-reports .page-head{padding:4px 4px 2px}
#page-reports #reportFilters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end;padding:18px;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(247,249,255,.78));box-shadow:0 16px 44px rgba(15,23,42,.065);border:1px solid rgba(99,102,241,.08)}
#page-reports #reportFilters .field{margin:0}
#page-reports #reportFilters .toggle{min-height:48px;padding:10px 12px;border:1px solid #e8ebf2;background:rgba(255,255,255,.82);border-radius:14px}
#page-reports .report{margin-top:14px;border-radius:24px;overflow:hidden}
#page-reports .report>.panel-head{padding:18px 20px;background:linear-gradient(180deg,rgba(248,250,255,.92),rgba(255,255,255,.72));border-bottom:1px solid rgba(15,23,42,.06)}
.report-meta-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.report-meta-chips span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;background:#f1f4ff;color:#475467;font-size:11px;font-weight:700;border:1px solid #e4e8ff}
.report-preview{background:radial-gradient(circle at 15% 5%,rgba(99,102,241,.08),transparent 26%),linear-gradient(180deg,#f5f7fb,#edf1f7);padding:28px}
@media screen{
  .report-preview .a4-sheet{border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 22px 58px rgba(15,23,42,.12);overflow:hidden;padding:11mm 10mm;background:#fff}
  .report-preview .a4-report-head{padding:4px 0 10px}.report-preview .a4-report-head h1{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;letter-spacing:.08em}
  .report-preview .a4-report-head h2{font-size:18px;letter-spacing:-.02em;margin-top:12px}.report-preview .a4-meta{border:0;background:#f8fafc;border-radius:12px;padding:10px 12px}
  .report-preview .a4-table{border-collapse:separate;border-spacing:0}.report-preview .a4-table thead th{position:static;background:#f8fafc;border-top:0;border-bottom:1px solid #e5e7eb;color:#475467;font-size:9px}.report-preview .a4-table tbody tr:not(.avg-row):hover td{background:#f9fbff}.report-preview .a4-table td{border-bottom:1px solid #f0f2f5}.report-preview .a4-table .avg-row td{background:#fafbff;border-top:1px solid #e0e5f3;border-bottom:1px solid #e0e5f3}
}
@media(max-width:1180px){#page-reports #reportFilters{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:760px){#page-reports #reportFilters{grid-template-columns:1fr 1fr}.report-preview{padding:12px}}@media(max-width:520px){#page-reports #reportFilters{grid-template-columns:1fr}}
@media print{
  body.printing-report{background:#fff!important;color:#000!important}
  body.printing-report .a4-sheet{font-family:Arial,Helvetica,sans-serif!important;color:#000!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:210mm!important;min-height:297mm!important;padding:10mm 10mm!important;margin:0 auto!important}
  body.printing-report .a4-report-head h1{font-size:13px!important;font-weight:700!important;letter-spacing:0!important;margin:0 0 12px!important;background:none!important;color:#000!important;padding:0!important;display:block!important}
  body.printing-report .a4-report-head h2{font-size:13px!important;font-weight:700!important;margin:0 0 8px!important;color:#000!important}
  body.printing-report .a4-meta{display:flex!important;justify-content:space-between!important;gap:8px!important;border-top:1px dashed #222!important;border-bottom:1px dashed #222!important;border-radius:0!important;background:none!important;padding:7px 0!important;margin:0 0 6px!important;font-size:9.5px!important;color:#000!important}
  body.printing-report .a4-table{width:100%!important;border-collapse:collapse!important;font-size:9px!important;color:#000!important}
  body.printing-report .a4-table th,body.printing-report .a4-table td{border:0!important;background:#fff!important;padding:4px 3px!important;color:#000!important}
  body.printing-report .a4-table thead th{border-top:1px dashed #222!important;border-bottom:1px dashed #222!important;font-weight:700!important}
  body.printing-report .a4-table .avg-row td{border-top:1px dashed #222!important;border-bottom:1px dashed #222!important;font-weight:700!important}
  body.printing-report .a4-subtitle{border-bottom:1px dashed #222!important;color:#000!important}
  body.printing-report .a4-summary{border-top:1px dashed #222!important;border-bottom:1px dashed #222!important;color:#000!important}
}


/* 2026-10-08 clean analytics dashboard */
.dash-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 8px 24px}.dash-head h1{margin:0;font-size:34px;letter-spacing:-.05em;font-weight:760}.dash-head p{margin:7px 0 0;color:#64748b;font-size:14px}.dash-refresh{width:42px;height:42px;border:1px solid rgba(15,23,42,.08);border-radius:50%;display:grid;place-items:center;background:#fff;color:#475569;box-shadow:0 6px 18px rgba(15,23,42,.05);transition:.18s}.dash-refresh:hover{transform:rotate(18deg) scale(1.04);box-shadow:0 9px 24px rgba(15,23,42,.09)}
.dash-orbits{display:grid;grid-template-columns:repeat(6,minmax(112px,1fr));gap:14px;margin-bottom:18px}.orbit-card{background:transparent;text-align:center;padding:8px 4px}.orbit-ring{--ring:#2563eb;--soft:#eff6ff;width:112px;height:112px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;background:radial-gradient(circle at center,#fff 58%,transparent 59%),conic-gradient(var(--ring) 0 77%,var(--soft) 77% 100%);box-shadow:0 12px 28px rgba(15,23,42,.07),inset 0 0 0 1px rgba(255,255,255,.95)}.orbit-ring b{font-size:24px;letter-spacing:-.045em}.orbit-ring span{font-size:11px;font-weight:800;color:#64748b;margin-top:7px}.orbit-card p{margin:10px 0 0;font-size:12px;font-weight:700;color:#475569}.orbit-blue .orbit-ring{--ring:#2563eb;--soft:#dbeafe}.orbit-violet .orbit-ring{--ring:#7c3aed;--soft:#ede9fe}.orbit-coral .orbit-ring{--ring:#ef476f;--soft:#ffe4e9}.orbit-amber .orbit-ring{--ring:#f59e0b;--soft:#fef3c7}.orbit-green .orbit-ring{--ring:#059669;--soft:#d1fae5}.orbit-sky .orbit-ring{--ring:#0ea5e9;--soft:#e0f2fe}
.dash-analytics{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:16px;margin-bottom:16px}.dash-analytics.lower{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.dash-card{background:rgba(255,255,255,.84);border:1px solid rgba(15,23,42,.065);border-radius:24px;padding:20px 22px;box-shadow:0 12px 34px rgba(15,23,42,.055)}.dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dash-card-head h3{margin:0;font-size:15px;letter-spacing:-.02em}.dash-card-head span{font-size:12px;color:#64748b;font-weight:650}.trend-chart{height:240px;display:grid;grid-template-rows:1fr auto}.trend-chart svg{width:100%;height:205px;overflow:visible}.trend-axis{stroke:#e5e7eb;stroke-width:1}.trend-line{fill:none;stroke:#4f46e5;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(79,70,229,.15))}.trend-dot{fill:#fff;stroke:#4f46e5;stroke-width:3}.trend-labels{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;color:#94a3b8;font-size:10px;text-align:center}.donut-wrap{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center;min-height:220px}.milk-donut{width:154px;height:154px;border-radius:50%;display:grid;place-items:center;position:relative}.milk-donut:after{content:"";position:absolute;inset:21px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}.milk-donut>div{position:relative;z-index:2;text-align:center;display:grid}.milk-donut b{font-size:23px;letter-spacing:-.04em}.milk-donut small{color:#94a3b8;font-size:10px}.milk-legend{display:grid;gap:12px}.milk-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px}.milk-legend i{width:9px;height:9px;border-radius:50%}.milk-legend span{color:#64748b}.milk-legend b{font-size:12px}.branch-bars{display:grid;gap:15px;min-height:210px;align-content:center}.branch-bar-name{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:6px}.branch-bar-name span{color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-bar-name b{color:#0f172a}.branch-bar-track{height:9px;border-radius:999px;background:#f1f5f9;overflow:hidden}.branch-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#7c3aed);transition:width .35s ease}.branch-bar-row:nth-child(2n) .branch-bar-track i{background:linear-gradient(90deg,#06b6d4,#2563eb)}.branch-bar-row:nth-child(3n) .branch-bar-track i{background:linear-gradient(90deg,#f59e0b,#ef476f)}.dash-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-action-grid button{border:1px solid #edf0f4;background:#fff;border-radius:18px;padding:17px 13px;display:flex;align-items:center;gap:10px;color:#344054;font-size:12px;font-weight:700;transition:.18s}.dash-action-grid button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,23,42,.07);border-color:#dbe3f1}.dash-action-grid svg{width:20px;height:20px;color:#4f46e5}.dash-empty{display:grid;place-items:center;color:#94a3b8;font-size:12px;min-height:120px}

/* Rate chart creator */
.modal-card:has(.rate-create){width:min(1060px,96vw)}.rate-create{display:grid;gap:12px}.rate-range-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px}.rate-range-grid label{display:grid;gap:5px}.rate-range-grid small,.rate-row-editor small{font-size:9px;font-weight:800;color:#667085;letter-spacing:.03em}.rate-range-grid input,.mini-range input,.rate-row-editor input{width:100%;min-width:0;border:1px solid #e1e5ed;border-radius:11px;background:#fff;padding:9px 8px;outline:none;text-align:center}.mini-range{display:grid;grid-template-columns:1fr 1fr;gap:5px}.rate-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.rate-editor-head>div{display:grid}.rate-editor-head small{color:#98a2b3;font-size:10px;margin-top:2px}.rate-rows{display:grid;gap:7px;max-height:310px;overflow:auto;padding-right:3px}.rate-row-editor{display:grid;grid-template-columns:34px repeat(6,minmax(80px,1fr)) 32px;gap:6px;align-items:end;padding:8px;border:1px solid #edf0f4;border-radius:14px;background:#fbfcfe}.rate-row-editor label{display:grid;gap:4px}.rate-row-no{align-self:center;justify-self:center;font-size:11px;font-weight:800;color:#475569}.rate-row-remove{width:30px;height:34px;border:0;border-radius:9px;background:#fff1f2;color:#be123c;font-size:18px}.rate-row-editor:has(label:nth-of-type(3):last-of-type){grid-template-columns:34px repeat(3,minmax(100px,1fr)) 32px}.rate-row-editor:has(label:nth-of-type(5):last-of-type){grid-template-columns:34px repeat(5,minmax(90px,1fr)) 32px}

/* Stable rail layout */
.portal{grid-template-columns:296px minmax(0,1fr)}.sidebar{width:296px;min-width:296px;max-width:296px;transition:width .3s cubic-bezier(.22,.61,.36,1),min-width .3s cubic-bezier(.22,.61,.36,1),transform .3s cubic-bezier(.22,.61,.36,1)}.brand-copy{min-width:0;max-width:180px;overflow:hidden;opacity:1;transition:max-width .25s ease,opacity .2s ease,transform .25s ease}.brand-copy b,.brand-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed{width:92px;min-width:92px;max-width:92px}.sidebar.collapsed .brand-copy{max-width:0;opacity:0;transform:translateX(-8px);pointer-events:none}.sidebar.collapsed .nav-group>span{max-height:0;opacity:0;padding:0 10px;margin:0}.sidebar.collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0;gap:0;font-size:0}.sidebar.collapsed .nav-item svg{width:21px;height:21px;margin:0}.sidebar.collapsed .side-brand{padding-inline:14px}.sidebar.collapsed .version,.sidebar.collapsed .pk-credit{display:none}body.rail-collapsed .portal{grid-template-columns:92px minmax(0,1fr)}body.rail-collapsed .workspace{margin-left:0}
@media(max-width:1250px){.dash-orbits{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.dash-analytics,.dash-analytics.lower{grid-template-columns:1fr}.dash-orbits{grid-template-columns:repeat(3,1fr)}.portal,body.rail-collapsed .portal{grid-template-columns:1fr}.sidebar,.sidebar.collapsed{width:min(86vw,320px);min-width:min(86vw,320px);max-width:min(86vw,320px)}.sidebar.collapsed .brand-copy{max-width:180px;opacity:1;transform:none;pointer-events:auto}.sidebar.collapsed .nav-group>span{max-height:32px;opacity:1;padding:4px 10px}.sidebar.collapsed .nav-item{justify-content:flex-start;padding-left:12px;padding-right:12px;gap:12px;font-size:13.5px}.sidebar.collapsed .version,.sidebar.collapsed .pk-credit{display:block}.rate-range-grid{grid-template-columns:repeat(2,1fr)}.rate-row-editor{min-width:760px}.rate-rows{overflow:auto}.donut-wrap{grid-template-columns:140px 1fr}.milk-donut{width:135px;height:135px}}
@media(max-width:620px){.dash-head h1{font-size:29px}.dash-orbits{grid-template-columns:repeat(2,1fr)}.orbit-ring{width:104px;height:104px}.dash-card{padding:17px}.dash-action-grid{grid-template-columns:1fr 1fr}.donut-wrap{grid-template-columns:1fr;justify-items:center}.milk-legend{width:100%}.rate-range-grid{grid-template-columns:1fr 1fr}}


/* Dashboard live filters */
.dash-head{align-items:flex-end;flex-wrap:wrap}
.dash-title{min-width:240px;flex:1 1 320px}
.dash-toolbar{display:flex;align-items:flex-end;justify-content:flex-end;gap:9px;flex:1 1 520px}
.dash-filter{display:grid;gap:5px;min-width:138px}
.dash-filter:first-child{min-width:210px}
.dash-filter span{font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#64748b;padding-left:3px}
.dash-filter select,.dash-filter input{height:42px;border:1px solid rgba(15,23,42,.09);border-radius:14px;background:rgba(255,255,255,.9);padding:0 12px;color:#172033;outline:none;box-shadow:0 5px 16px rgba(15,23,42,.035);transition:.18s ease}
.dash-filter select:focus,.dash-filter input:focus{border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.08)}
.dash-toolbar .dash-refresh{flex:none}
@media(max-width:760px){.dash-toolbar{justify-content:stretch}.dash-filter,.dash-filter:first-child{min-width:0;flex:1 1 140px}.dash-toolbar{flex-wrap:wrap}.dash-toolbar .dash-refresh{align-self:flex-end}}

/* Login: one-screen fit, no page scrolling */
.login-shell{height:100dvh;min-height:0;overflow:hidden;padding:clamp(10px,1.7vh,18px);gap:clamp(10px,1.7vh,18px);align-items:stretch}
.login-visual{height:100%;min-height:0;padding:clamp(24px,4.2vh,52px);display:flex;flex-direction:column}
.hero-copy{margin-top:clamp(28px,6vh,68px);max-width:820px}
.hero-copy h1{font-size:clamp(40px,7.4vh,78px);line-height:.94}
.hero-copy p{font-size:clamp(15px,2.15vh,20px);line-height:1.42;margin-top:clamp(13px,2.5vh,25px)}
.capability-orbit{margin-top:clamp(14px,2.8vh,28px);gap:10px;max-width:760px}
.cap-card{padding:clamp(9px,1.45vh,14px) 14px;border-radius:18px}
.cap-card svg{width:28px;height:28px}.cap-card b{font-size:13px}.cap-card small{font-size:10.5px}
.login-panel-wrap{height:100%;min-height:0;padding:clamp(12px,3vh,30px);overflow:hidden}
.login-card{padding:clamp(24px,4vh,34px);border-radius:26px;max-height:calc(100dvh - 32px)}
.login-logo{margin-bottom:clamp(18px,3vh,30px)}
.login-card h2{font-size:clamp(28px,4vh,34px)}
.login-card .field{margin:clamp(10px,1.65vh,14px) 0}
.login-card .field input{min-height:44px;padding-top:10px;padding-bottom:10px}
.login-card .btn{min-height:42px}
@media(max-height:720px) and (min-width:901px){.hero-copy{margin-top:26px}.hero-copy h1{font-size:48px}.hero-copy p{font-size:15px;margin-top:14px}.capability-orbit{margin-top:14px}.cap-card{padding:8px 12px}.login-card{padding:24px}.login-logo{margin-bottom:18px}}
@media(max-width:900px){.login-shell{height:100dvh;min-height:0;padding:10px}.login-panel-wrap{height:100%;min-height:0;padding:12px}.login-card{max-height:calc(100dvh - 24px);padding:clamp(22px,5vh,32px)}}


/* =========================================================
   FULL RESPONSIVE LAYOUT — Desktop / Tablet / Mobile
   2026-10-08
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:320px}
.portal,.workspace,.stage,.page,.panel,.grid-2,.entry-layout,.settings-grid,.dash-analytics,.dash-card,.filters,.form-grid,.quality-grid{min-width:0}
input,select,textarea,button{max-width:100%}
.field,.field>div,.search-box,.phone-field,.password-input{min-width:0}
.table-wrap,.app-milk-scroll,.report-preview,.rate-rows{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap,.app-milk-scroll{max-width:100%;overflow-x:auto}
img,video,canvas,svg{max-width:100%}

/* Large desktop */
@media(min-width:1441px){
  .portal{max-width:1920px;margin:0 auto}
  .stage{padding-left:10px;padding-right:10px}
  .dash-orbits{gap:18px}
  .dash-card{padding:22px 24px}
}

/* Laptop / small desktop */
@media(min-width:1101px) and (max-width:1440px){
  .portal{grid-template-columns:270px minmax(0,1fr);gap:12px;padding:12px}
  .sidebar{width:270px;min-width:270px;max-width:270px;height:calc(100vh - 24px);top:12px}
  body.rail-collapsed .portal{grid-template-columns:88px minmax(0,1fr)}
  .sidebar.collapsed{width:88px;min-width:88px;max-width:88px}
  .topbar{top:12px}
  .stage{padding:18px 0 42px}
  .dash-orbits{grid-template-columns:repeat(3,minmax(125px,1fr))}
  .orbit-ring{width:104px;height:104px}
  .dash-analytics,.dash-analytics.lower{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr)}
  .notice-grid,.banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Tablet + compact laptop: drawer navigation */
@media(max-width:1100px){
  .portal,body.rail-collapsed .portal{display:block;padding:10px;min-height:100dvh}
  .workspace,body.rail-collapsed .workspace{margin:0!important;width:100%;min-width:0}
  .mobile-only{display:grid!important}
  .sidebar,.sidebar.collapsed{
    position:fixed;z-index:90;left:10px;top:10px;bottom:10px;
    width:min(86vw,330px);min-width:min(86vw,330px);max-width:min(86vw,330px);height:auto;
    transform:translateX(calc(-100% - 26px));border-radius:28px;
    box-shadow:0 28px 80px rgba(15,23,42,.24);
    transition:transform .28s cubic-bezier(.22,.61,.36,1)
  }
  .sidebar.open,.sidebar.collapsed.open{transform:translateX(0)}
  .sidebar .brand-copy,.sidebar.collapsed .brand-copy{max-width:190px;opacity:1;transform:none;pointer-events:auto}
  .sidebar .nav-group>span,.sidebar.collapsed .nav-group>span{max-height:32px;opacity:1;padding:4px 10px;margin:0}
  .sidebar .nav-item,.sidebar.collapsed .nav-item{justify-content:flex-start;padding:11px 12px;gap:12px;font-size:13.5px;color:#475467}
  .sidebar .nav-item svg,.sidebar.collapsed .nav-item svg{width:20px;height:20px;color:currentColor;margin:0}
  .sidebar .version,.sidebar .pk-credit,.sidebar.collapsed .version,.sidebar.collapsed .pk-credit{display:block}
  .sidebar .logout,.sidebar.collapsed .logout{font-size:13.5px;justify-content:flex-start;padding:11px 12px}
  .rail-toggle{display:none!important}
  .backdrop.show{display:block;position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.23);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
  .topbar{top:10px;height:68px;padding:0 15px;border-radius:20px;gap:10px}
  .topbar>div:nth-child(2){min-width:0;flex:1}
  .topbar h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:19px}
  .scope-chip{max-width:220px}.scope-chip div{min-width:0}.scope-chip b,.scope-chip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .stage{padding:16px 0 38px}
  .page-head{gap:12px;flex-wrap:wrap}.page-head>div{min-width:0}.page-head h1{font-size:28px}
  .grid-2,.entry-layout,.settings-grid,.dash-analytics,.dash-analytics.lower{grid-template-columns:1fr}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-orbits{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .dash-toolbar{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(2,minmax(150px,1fr)) auto;width:100%;justify-content:stretch}
  .dash-filter,.dash-filter:first-child{min-width:0;width:100%}
  .dash-filter select,.dash-filter input{width:100%}
  .filters,.filters.compact,#page-reports #reportFilters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters.compact>.btn,.filters>.btn,#page-reports #reportFilters>.btn{align-self:end}
  .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quality-grid,.quality-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .notice-grid,.banner-grid,.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-preview{max-width:100%;overflow-x:auto}
  .modal{padding:14px}.modal-card{width:min(94vw,820px);max-height:90dvh}
  .rate-range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rate-rows{max-width:100%;overflow-x:auto}
  .rate-row-editor{min-width:720px}
  .login-shell{display:grid;grid-template-columns:1fr;height:100dvh;min-height:100dvh;padding:12px;overflow:hidden}
  .login-visual{display:none!important}
  .login-panel-wrap{height:100%;min-height:0;padding:12px;display:grid;place-items:center;overflow:auto}
  .login-card{width:min(100%,520px);max-height:none}
}

/* Mobile */
@media(max-width:700px){
  .portal{padding:7px}
  .sidebar,.sidebar.collapsed{left:7px;top:7px;bottom:7px;width:min(90vw,315px);min-width:min(90vw,315px);max-width:min(90vw,315px);border-radius:24px}
  .topbar{top:7px;height:62px;border-radius:18px;padding:0 11px}
  .topbar .eyebrow{font-size:9px}.topbar h2{font-size:17px}
  .top-actions{display:none!important}
  .icon-btn{width:38px;height:38px;min-width:38px}
  .stage{padding-top:12px;padding-bottom:28px}
  .page-head{margin:3px 2px 14px;align-items:stretch;flex-direction:column}
  .page-head h1{font-size:25px;line-height:1.08}.page-head p{font-size:12.5px;line-height:1.45}
  .page-head>.btn{width:100%}
  .panel{padding:13px;border-radius:18px}
  .panel-head{align-items:flex-start;flex-wrap:wrap}.panel-head .actions{width:100%;justify-content:flex-start}
  .btn{min-height:42px}.actions{justify-content:stretch}.actions>.btn{flex:1 1 140px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:14px}.metric b{font-size:26px}
  .dash-head{align-items:stretch;padding:4px 2px 16px;gap:14px}.dash-title{flex:auto;min-width:0}.dash-head h1{font-size:27px}.dash-head p{font-size:12.5px}
  .dash-toolbar{grid-template-columns:1fr 1fr;gap:8px}.dash-filter:first-child{grid-column:1/-1}.dash-toolbar .dash-refresh{width:42px;height:42px;align-self:end}
  .dash-orbits{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.orbit-card{padding:5px 2px}.orbit-ring{width:96px;height:96px}.orbit-ring b{font-size:20px}.orbit-card p{font-size:11px;margin-top:7px}
  .dash-card{padding:14px;border-radius:18px}.dash-card-head{margin-bottom:12px}.trend-chart{height:210px}.trend-chart svg{height:175px}
  .donut-wrap{grid-template-columns:1fr;justify-items:center;gap:14px}.milk-legend{width:100%}.dash-action-grid{grid-template-columns:1fr 1fr}.dash-action-grid button{padding:14px 10px}
  .filters,.filters.compact,#page-reports #reportFilters,.form-grid.two,.form-grid.three,.quality-grid,.quality-grid.five{grid-template-columns:1fr!important}
  .filters>.btn,.filters.compact>.btn,#page-reports #reportFilters>.btn{width:100%}
  .preview-grid{grid-template-columns:1fr 1fr}.preview-amount{font-size:32px}
  .notice-grid,.banner-grid,.device-grid{grid-template-columns:1fr}
  .settings-grid,.grid-2,.entry-layout{grid-template-columns:1fr}
  .mini-checks{grid-template-columns:1fr 1fr}
  .tabs{margin-left:-3px;margin-right:-3px;padding-bottom:7px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none}
  .table-wrap table,.report table{min-width:680px}.app-milk-table{min-width:800px}
  .milk-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:10px;font-size:11px}.milk-summary b{font-size:12px}
  .report-preview{padding:8px;border-radius:14px}.report-preview .a4-sheet{width:760px;max-width:none;min-height:auto;padding:18px;border-radius:14px}.report-preview .a4-table{font-size:8.5px}
  .modal{padding:7px;align-items:end}.modal-card{width:100%;max-width:100%;max-height:92dvh;border-radius:22px 22px 12px 12px;padding:15px}
  .modal-head h3{font-size:19px}.modal-actions{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);padding:10px 0 2px;z-index:2}.modal-actions .btn{flex:1}
  .rate-range-grid{grid-template-columns:1fr 1fr}.rate-row-editor{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.rate-row-editor .rate-row-no{grid-column:1/-1;justify-self:start}.rate-row-editor .rate-row-remove{grid-column:2;justify-self:end}.rate-row-editor:has(label:nth-of-type(3):last-of-type),.rate-row-editor:has(label:nth-of-type(5):last-of-type){grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-shell{padding:7px}.login-panel-wrap{padding:7px}.login-card,.password-card{width:100%;padding:22px;border-radius:22px}.login-logo{margin-bottom:18px}.login-card h2,.password-card h2{font-size:28px}.login-card .field,.password-card .field{margin:11px 0}
  .center-screen{padding:8px;min-height:100dvh}
  .toast{left:8px;right:8px;bottom:8px;max-width:none}
}

/* Small mobile */
@media(max-width:420px){
  .metric-grid{grid-template-columns:1fr 1fr}.metric span{font-size:10.5px}.metric b{font-size:23px}
  .dash-orbits{grid-template-columns:repeat(2,minmax(0,1fr))}.orbit-ring{width:86px;height:86px}.orbit-ring b{font-size:18px}
  .dash-toolbar{grid-template-columns:1fr}.dash-filter:first-child{grid-column:auto}.dash-toolbar .dash-refresh{width:100%;border-radius:14px}
  .dash-action-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:1fr}
  .mini-checks{grid-template-columns:1fr}
  .rate-range-grid{grid-template-columns:1fr}.rate-row-editor,.rate-row-editor:has(label:nth-of-type(3):last-of-type),.rate-row-editor:has(label:nth-of-type(5):last-of-type){grid-template-columns:1fr}.rate-row-editor .rate-row-remove{grid-column:1}
  .login-card,.password-card{padding:18px}.brand-mark.large{width:44px;height:44px}.login-logo{gap:11px}
}

/* Landscape phones / short tablets */
@media(max-height:560px) and (max-width:1100px){
  .login-panel-wrap{align-items:start;overflow:auto}.login-card{margin:auto 0;padding:18px}.login-logo{margin-bottom:12px}.login-card h2{font-size:25px}.login-card .field{margin:8px 0}.login-card .field input{min-height:40px}.login-card .btn{min-height:40px}
  .topbar{position:sticky}
}


/* Production polish: progress, touch targets, focus and viewport safety */
.global-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:1000;pointer-events:none;opacity:0;transition:opacity .15s ease;background:transparent}.global-progress.show{opacity:1}.global-progress i{display:block;height:100%;width:38%;background:linear-gradient(90deg,#4f46e5,#2563eb,#7c3aed);border-radius:0 999px 999px 0;transform:translateX(-120%)}.global-progress.show i{animation:pkProgress 1.05s ease-in-out infinite}@keyframes pkProgress{0%{transform:translateX(-120%)}55%{transform:translateX(120%)}100%{transform:translateX(300%)}}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.btn,.nav-item,.icon-btn,.icon-mini,.milk-action,.rail-toggle,.password-eye{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:700px){button,.btn,.nav-item{min-height:44px}.field input,.field select{font-size:16px}.modal-card{max-height:calc(100dvh - 20px)}.login-shell,.center-screen{min-height:100dvh}.stage{padding-left:max(2px,env(safe-area-inset-left));padding-right:max(2px,env(safe-area-inset-right));padding-bottom:max(26px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* =====================================================
   2026-10-08 Experience Upgrade Pack (12 modules)
   ===================================================== */
.login-link{display:block;margin:12px auto 0;border:0;background:transparent;color:#4f46e5;font-size:13px;font-weight:700;padding:6px 10px;border-radius:9px}.login-link:hover{background:rgba(79,70,229,.08)}
.topbar{gap:16px}.top-title{min-width:max-content}.top-command{position:relative;flex:1;max-width:560px;height:42px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.74);border-radius:14px;display:flex;align-items:center;padding:0 12px;gap:8px;transition:.18s ease}.top-command:focus-within{background:#fff;border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.09)}.top-command svg{width:17px;height:17px;color:#64748b}.top-command input{border:0;outline:0;background:transparent;min-width:0;flex:1;font-size:13px;color:#111827}.top-command kbd{font-size:10px;color:#98a2b3;border:1px solid #e5e7eb;border-bottom-width:2px;border-radius:6px;padding:2px 6px;background:#fff}.command-results{position:absolute;top:48px;left:0;right:0;z-index:120;background:rgba(255,255,255,.98);border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 22px 70px rgba(15,23,42,.18);padding:7px;max-height:420px;overflow:auto}.command-results button{width:100%;border:0;background:transparent;border-radius:11px;padding:10px;display:flex;gap:10px;text-align:left;align-items:center}.command-results button:hover{background:#f5f7ff}.command-results i{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6366f1;background:#eef2ff;padding:4px 6px;border-radius:6px}.command-results span{display:grid;gap:2px}.command-results b{font-size:13px}.command-results small{font-size:10.5px;color:#98a2b3}
.top-actions{display:flex!important;align-items:center;gap:8px}.top-icon{position:relative;width:42px;height:42px;border:1px solid rgba(15,23,42,.07);background:rgba(255,255,255,.74);border-radius:13px;display:grid;place-items:center;color:#475467}.top-icon:hover{background:#fff;transform:translateY(-1px)}.top-badge{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff}.profile-chip{border:1px solid rgba(15,23,42,.06);cursor:pointer;color:inherit;text-align:left}.profile-chip:hover{background:#fff}

.dash-alert-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin:0 0 14px}.dash-alert{border:1px solid rgba(15,23,42,.07);background:rgba(255,255,255,.72);border-radius:16px;padding:11px 13px;display:flex;align-items:flex-start;gap:10px;text-align:left;box-shadow:0 6px 18px rgba(15,23,42,.04);transition:.16s}.dash-alert:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.07)}.dash-alert>span{width:9px;height:9px;border-radius:50%;margin-top:4px;background:#64748b;box-shadow:0 0 0 5px rgba(100,116,139,.1)}.dash-alert.warning>span{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.12)}.dash-alert.danger>span{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}.dash-alert.ok>span{background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.12)}.dash-alert.info>span{background:#3b82f6;box-shadow:0 0 0 5px rgba(59,130,246,.12)}.dash-alert div{display:grid;gap:2px}.dash-alert b{font-size:12.5px}.dash-alert small{font-size:10.5px;color:#667085;line-height:1.35}

.smart-report-center{margin-bottom:14px;padding:16px 18px}.smart-report-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.smart-report-head h3{margin:3px 0 0}.smart-report-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}.smart-report-groups>div>small{display:block;color:#98a2b3;margin-bottom:6px;font-size:10px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.smart-report-chips{display:flex;gap:7px;flex-wrap:wrap;min-height:34px;align-items:center}.saved-report-chip{display:flex;border:1px solid #e5e7eb;background:#fff;border-radius:11px;overflow:hidden}.saved-report-chip>button:first-child,.smart-report-chips>button{border:0;background:#fff;border-radius:10px;padding:7px 10px;display:grid;text-align:left;gap:1px}.saved-report-chip>button:first-child:hover,.smart-report-chips>button:hover{background:#f5f7ff}.saved-report-chip b,.smart-report-chips b{font-size:11.5px}.saved-report-chip small,.smart-report-chips small{font-size:9px;color:#98a2b3}.chip-x{border:0;border-left:1px solid #edf0f4;background:#fff;color:#98a2b3;width:30px}.chip-x:hover{background:#fef2f2;color:#dc2626}

.experience-panel{position:fixed;right:18px;top:90px;bottom:18px;width:min(390px,calc(100vw - 28px));z-index:190;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 28px 90px rgba(15,23,42,.22);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);padding:16px;overflow:auto;animation:panelIn .22s ease}.experience-panel.wide{width:min(620px,calc(100vw - 28px))}@keyframes panelIn{from{opacity:0;transform:translateX(12px) scale(.985)}to{opacity:1;transform:none}}.experience-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-16px;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);padding:16px 0 12px;z-index:2}.experience-head h3{margin:3px 0 0;font-size:21px}.experience-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.experience-list{display:grid;gap:7px}.notification-item{width:100%;display:flex;gap:10px;border:1px solid #edf0f4;background:#fff;border-radius:14px;padding:11px;text-align:left}.notification-item.unread{background:#f7f8ff;border-color:#dfe2ff}.notification-item>span{display:grid;gap:3px;min-width:0}.notification-item b{font-size:12.5px}.notification-item small{font-size:11px;color:#667085;white-space:normal}.notification-item em{font-style:normal;font-size:9.5px;color:#98a2b3}.notification-dot{width:9px;height:9px;border-radius:50%;background:#64748b;margin-top:4px;flex:none}.notification-dot.chat{background:#7c3aed}.notification-dot.security{background:#ef476f}.notification-dot.warning{background:#f59e0b}

.profile-summary{display:flex;align-items:center;gap:14px;padding:12px;background:linear-gradient(135deg,#f8faff,#f7f2ff);border:1px solid #eceeff;border-radius:18px}.profile-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#4f46e5,#2563eb);color:#fff;font-size:22px;font-weight:800;box-shadow:0 10px 24px rgba(79,70,229,.22)}.profile-summary h3{margin:0}.profile-summary p{margin:3px 0;color:#667085}.profile-summary small{display:block;color:#98a2b3;margin-top:2px}.experience-tabs{display:flex;gap:6px;margin:14px 0}.experience-tabs button{border:0;background:#f2f4f7;color:#667085;border-radius:10px;padding:8px 12px;font-weight:700;font-size:12px}.experience-tabs button.active{background:#eef2ff;color:#4338ca}.profile-password-form{border:1px solid #edf0f4;border-radius:16px;padding:14px;margin-bottom:12px}.profile-password-form h4{margin:0 0 6px}.security-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.security-summary>div{padding:11px;border:1px solid #edf0f4;border-radius:13px;background:#fafbfc}.security-summary span{display:block;font-size:9.5px;color:#98a2b3;text-transform:uppercase;letter-spacing:.06em}.security-summary b{display:block;font-size:12px;margin-top:4px}.security-sessions{display:grid;gap:7px;margin:10px 0 14px}.security-session{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #edf0f4;border-radius:14px;padding:11px}.security-session div{display:grid;gap:2px}.security-session b{font-size:12px}.security-session small{font-size:10px;color:#98a2b3}

.floating-tool{position:fixed;z-index:185;width:52px;height:52px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 16px 38px rgba(15,23,42,.14);backdrop-filter:blur(20px);display:grid;place-items:center;color:#4f46e5;transition:.18s}.floating-tool:hover{transform:translateY(-2px) scale(1.02);background:#fff}.floating-tool svg{width:22px;height:22px}.chat-tool{right:22px;bottom:84px}.help-tool{right:22px;bottom:22px;font-size:20px;font-weight:800;color:#475467}.floating-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff}.chat-panel{position:fixed;right:84px;bottom:20px;width:min(430px,calc(100vw - 30px));height:min(680px,calc(100vh - 110px));z-index:195;background:rgba(255,255,255,.96);border:1px solid #fff;border-radius:26px;box-shadow:0 28px 90px rgba(15,23,42,.24);backdrop-filter:blur(26px);padding:14px;display:grid;grid-template-rows:auto auto 1fr auto;animation:panelIn .22s ease}.chat-admin-inbox{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px}.chat-thread{min-width:145px;max-width:190px;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:8px;display:flex;justify-content:space-between;gap:6px;text-align:left}.chat-thread.active{border-color:#a5b4fc;background:#f5f7ff}.chat-thread span{display:grid;min-width:0}.chat-thread b{font-size:10.5px}.chat-thread small{font-size:9px;color:#98a2b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread i{font-style:normal;background:#ef4444;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:9px}.chat-messages{overflow:auto;padding:8px 4px;display:flex;flex-direction:column;gap:8px}.chat-bubble{max-width:84%;border-radius:16px;padding:9px 11px;background:#f2f4f7;align-self:flex-start}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(145deg,#4f46e5,#2563eb);color:#fff}.chat-bubble b{display:block;font-size:9.5px;margin-bottom:3px;opacity:.85}.chat-bubble p{margin:0;font-size:12px;line-height:1.45;white-space:pre-wrap}.chat-bubble small{display:block;font-size:8.5px;margin-top:5px;opacity:.65}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.chat-compose textarea{min-height:44px;max-height:100px;resize:vertical;border:1px solid #dfe3eb;border-radius:14px;padding:10px;outline:0}.chat-compose textarea:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px rgba(99,102,241,.09)}

.quick-action{position:fixed;left:calc(280px + 28px);bottom:22px;z-index:184}.rail-collapsed .quick-action{left:112px}.quick-main{width:52px;height:52px;border:0;border-radius:18px;background:linear-gradient(145deg,#4f46e5,#2563eb);color:#fff;font-size:27px;box-shadow:0 15px 38px rgba(79,70,229,.27);transition:.18s}.quick-main:hover{transform:rotate(8deg) scale(1.04)}.quick-menu{position:absolute;left:0;bottom:62px;width:160px;padding:7px;border:1px solid #e5e7eb;border-radius:15px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.16);display:grid;gap:3px}.quick-menu button{border:0;background:transparent;text-align:left;padding:9px;border-radius:9px;font-size:12px}.quick-menu button:hover{background:#f5f7ff;color:#4338ca}

.help-content{display:grid;gap:7px}.help-content details{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:0 12px}.help-content summary{cursor:pointer;padding:12px 0;font-weight:750;font-size:12.5px}.help-content p{margin:0 0 12px;color:#667085;font-size:12px;line-height:1.55}

.forgot-overlay{position:fixed;inset:0;z-index:300;background:rgba(15,23,42,.24);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.forgot-card{width:min(470px,100%);border-radius:26px;padding:24px}.status-copy{padding:11px;border-radius:12px;background:#f8fafc;color:#475467;font-size:12px;line-height:1.5}

.activity-timeline{display:grid;gap:0}.activity-row{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;padding:10px 4px}.activity-row:not(:last-child):before{content:"";position:absolute;left:10px;top:25px;bottom:-9px;width:1px;background:#e5e7eb}.activity-row>i{width:10px;height:10px;border-radius:50%;background:#6366f1;margin:4px 0 0 5px;box-shadow:0 0 0 5px #eef2ff}.activity-row div{display:grid;gap:2px}.activity-row b{font-size:12px}.activity-row span{font-size:10.5px;color:#667085}.activity-row small{font-size:9.5px;color:#98a2b3}
.reset-request{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #edf0f4;border-radius:14px;padding:11px}.reset-request div:first-child{display:grid;gap:3px}.reset-request b{font-size:12px}.reset-request small{font-size:10px;color:#98a2b3}
.empty.compact{padding:10px}.muted{color:#667085}

@media(max-width:1180px){.top-command{max-width:420px}.quick-action{left:24px}.rail-collapsed .quick-action{left:24px}}
@media(max-width:900px){.topbar{gap:8px}.top-title{flex:1;min-width:0}.top-title h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-command{position:absolute;left:64px;right:110px;max-width:none;top:78px;z-index:22;box-shadow:0 10px 30px rgba(15,23,42,.08)}.stage{padding-top:64px}.profile-chip{width:42px;height:42px;padding:0;display:grid;place-items:center}.profile-chip>div{display:none}.profile-chip .status-dot{margin:0}.experience-panel,.experience-panel.wide{top:76px;right:8px;bottom:8px;width:calc(100vw - 16px);border-radius:22px}.chat-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 86px);border-radius:22px}.floating-tool{right:12px}.chat-tool{bottom:76px}.help-tool{bottom:14px}.quick-action{left:12px;bottom:14px}.smart-report-groups{grid-template-columns:1fr}.security-summary{grid-template-columns:1fr}.top-command kbd{display:none}}
@media(max-width:620px){.top-command{left:12px;right:12px;top:76px}.stage{padding-top:62px}.dash-alert-strip{grid-template-columns:1fr}.chat-compose{grid-template-columns:1fr}.chat-compose .btn{width:100%}.smart-report-head{align-items:flex-start;flex-direction:column}.profile-summary{align-items:flex-start}.reset-request{align-items:flex-start;flex-direction:column}.reset-request .actions{width:100%}.reset-request .actions .btn{flex:1}}
@media print{.experience-panel,.chat-panel,.floating-tool,.quick-action,.forgot-overlay,.top-command,.top-icon{display:none!important}}
body:not(.portal-ready) .floating-tool,body:not(.portal-ready) .quick-action{display:none!important}
.security-heading{font-size:12px;margin:14px 0 7px;color:#475467}.security-history{display:grid;gap:6px;margin-bottom:14px}.security-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #edf0f4;border-radius:13px;padding:9px 10px}.security-history-row>div{display:grid;gap:2px}.security-history-row>div:last-child{text-align:right;justify-items:end}.security-history-row b{font-size:11.5px}.security-history-row small{font-size:9.5px;color:#98a2b3}.security-session-actions{display:grid;gap:5px;justify-items:end}
html[data-theme="dark"] body{--bg:#0b1020;--panel:rgba(17,24,39,.82);--panel2:rgba(17,24,39,.94);--line:rgba(255,255,255,.09);--text:#f8fafc;--muted:#a5b4c7;background:radial-gradient(circle at 15% 10%,#141b33 0,transparent 34%),radial-gradient(circle at 85% 90%,#10192e 0,transparent 30%),#0b1020;color:var(--text)}
html[data-theme="dark"] .glass,html[data-theme="dark"] .glass-soft,html[data-theme="dark"] .glass-nav,html[data-theme="dark"] .panel,html[data-theme="dark"] .dash-card,html[data-theme="dark"] .orbit-card,html[data-theme="dark"] .experience-panel,html[data-theme="dark"] .chat-panel{background:rgba(17,24,39,.88)!important;border-color:rgba(255,255,255,.08)!important;color:#f8fafc}html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea,html[data-theme="dark"] .top-command,html[data-theme="dark"] .scope-chip,html[data-theme="dark"] .top-icon,html[data-theme="dark"] .notification-item,html[data-theme="dark"] .saved-report-chip,html[data-theme="dark"] .saved-report-chip button,html[data-theme="dark"] .chat-thread,html[data-theme="dark"] .quick-menu,html[data-theme="dark"] .help-content details{background:#111827;color:#f8fafc;border-color:#273244}html[data-theme="dark"] .muted,html[data-theme="dark"] .field>span,html[data-theme="dark"] .nav-item,html[data-theme="dark"] .security-session small,html[data-theme="dark"] .security-history-row small{color:#a5b4c7}html[data-theme="dark"] .nav-item:hover,html[data-theme="dark"] .nav-item.active{background:rgba(99,102,241,.18);color:#eef2ff}html[data-theme="dark"] .command-results{background:#111827;border-color:#273244}html[data-theme="dark"] .command-results button:hover{background:#1f2937}html[data-theme="dark"] .a4-sheet{color:#111;background:#fff}
@media(prefers-color-scheme:dark){html[data-theme="system"] body{--bg:#0b1020;--panel:rgba(17,24,39,.82);--panel2:rgba(17,24,39,.94);--line:rgba(255,255,255,.09);--text:#f8fafc;--muted:#a5b4c7;background:#0b1020;color:var(--text)}html[data-theme="system"] .glass,html[data-theme="system"] .glass-soft,html[data-theme="system"] .glass-nav,html[data-theme="system"] .panel,html[data-theme="system"] .dash-card,html[data-theme="system"] .orbit-card,html[data-theme="system"] .experience-panel,html[data-theme="system"] .chat-panel{background:rgba(17,24,39,.9)!important;border-color:rgba(255,255,255,.08)!important;color:#f8fafc}html[data-theme="system"] .field input,html[data-theme="system"] .field select,html[data-theme="system"] .field textarea,html[data-theme="system"] .top-command,html[data-theme="system"] .scope-chip,html[data-theme="system"] .top-icon{background:#111827;color:#f8fafc;border-color:#273244}html[data-theme="system"] .a4-sheet{color:#111;background:#fff}}

.saved-report-chip .saved-fav{width:34px;min-width:34px;border:0;background:transparent;color:#f59e0b;font-size:20px;display:grid;place-items:center;border-radius:10px;transition:.16s ease}.saved-report-chip .saved-fav:hover{background:rgba(245,158,11,.10);transform:scale(1.06)}
