:root{--blue:#123d8d;--blue2:#1b56b5;--green:#00a651;--green2:#13c66b;--ink:#15223b;--muted:#68758a;--bg:#f2f6fb;--panel:rgba(255,255,255,.94);--line:#dbe4ef;--danger:#cf3347;--warning:#d8890c;--shadow:0 18px 50px rgba(26,53,93,.09);--sidebar:#0b2457;--sidebar2:#0c3378;--radius:18px;--top:82px}*{box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;background:linear-gradient(165deg,var(--sidebar),var(--sidebar2) 62%,#075747);color:#fff;padding:24px 17px 16px;display:flex;flex-direction:column;z-index:50;overflow-y:auto;box-shadow:15px 0 45px rgba(8,31,74,.16)}.sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 10%,rgba(35,213,116,.17),transparent 25%),linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.025) 49% 51%,transparent 52%);pointer-events:none}.brand{position:relative;display:flex;align-items:center;gap:12px;padding:2px 8px}.brand img{width:178px;height:56px;object-fit:contain;object-position:left}.brand strong{font-size:19px;white-space:nowrap}.brand-tagline{position:relative;margin:3px 8px 24px;font-size:10px;opacity:.67;letter-spacing:.05em;text-transform:uppercase}.nav-list{position:relative;display:grid;gap:4px}.nav-label{font-size:9px;font-weight:800;letter-spacing:.18em;opacity:.48;margin:14px 12px 5px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:rgba(255,255,255,.78);font-size:12px;font-weight:680;transition:transform .18s ease,background .18s ease,color .18s ease}.nav-item svg{width:18px;height:18px;flex:0 0 auto}.nav-item:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(3px)}.nav-item.active{background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.08));color:#fff;box-shadow:inset 3px 0 0 var(--green2),0 8px 24px rgba(0,0,0,.09)}.sidebar-bottom{position:relative;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.logout-nav{background:rgba(211,48,68,.19);color:#ffd5da;margin-top:4px}.logout-nav:hover{background:rgba(211,48,68,.34)}.user-card{display:flex;align-items:center;gap:10px;margin:14px 4px 0;padding:11px;border-radius:13px;background:rgba(0,0,0,.14)}.user-card>span{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#bfe1ff);color:var(--blue);border-radius:10px;font-weight:900}.user-card b,.user-card small{display:block}.user-card b{font-size:11px}.user-card small{font-size:9px;opacity:.65;margin-top:2px}.main-area{margin-left:272px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:var(--top);position:sticky;top:0;z-index:35;background:rgba(247,250,254,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(203,215,230,.75);padding:0 32px;display:flex;align-items:center;justify-content:space-between}.page-heading h1{margin:2px 0 0;font-size:23px;letter-spacing:-.025em}.page-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.eyebrow{font-size:9px;letter-spacing:.16em;font-weight:850;color:var(--blue);text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:9px}.icon-btn,.theme-switch,.top-logout{border:1px solid var(--line);background:var(--panel);color:var(--ink);height:41px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;box-shadow:0 5px 17px rgba(25,53,92,.05);transition:transform .16s ease,box-shadow .16s ease}.icon-btn{width:41px}.icon-btn svg,.top-logout svg{width:18px}.icon-btn:hover,.theme-switch:hover,.top-logout:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(25,53,92,.12)}.icon-btn em{position:absolute;right:-5px;top:-5px;background:var(--danger);color:#fff;min-width:19px;height:19px;padding:0 4px;border-radius:99px;font-size:9px;font-style:normal;display:grid;place-items:center}.theme-switch{width:65px;padding:0 7px;justify-content:space-between;overflow:hidden}.theme-switch i{position:absolute;width:27px;height:27px;border-radius:9px;left:5px;background:linear-gradient(135deg,#ffda68,#ff9f2d);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s;box-shadow:0 3px 9px rgba(0,0,0,.16)}.theme-switch span{position:relative;z-index:2;font-size:12px}.theme-switch .sun{color:#6f4500}.theme-switch .moon{color:#536179}.top-logout{padding:0 14px;gap:8px;background:#fff0f2;border-color:#f0c7cd;color:#b6293c;font-size:11px;font-weight:800}.content{position:relative;padding:27px 32px 42px;flex:1;overflow:hidden}.ambient-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ambient-orbs i{position:absolute;width:280px;height:280px;border-radius:50%;filter:blur(60px);opacity:.08;animation:drift 15s ease-in-out infinite}.ambient-orbs i:nth-child(1){background:var(--blue);right:-90px;top:20px}.ambient-orbs i:nth-child(2){background:var(--green);left:35%;top:45%;animation-delay:-5s}.ambient-orbs i:nth-child(3){background:#8b5cf6;right:15%;bottom:-120px;animation-delay:-9s}.app-footer{display:flex;justify-content:space-between;padding:16px 32px 26px;color:var(--muted);font-size:9px}.nav-loader{position:fixed;left:272px;right:0;top:0;height:3px;z-index:100;opacity:0;pointer-events:none}.nav-loader.active{opacity:1}.nav-loader span{display:block;height:100%;width:30%;background:linear-gradient(90deg,var(--green),#7cf6b2,var(--blue2));box-shadow:0 0 18px var(--green);animation:loadbar .8s ease-in-out infinite}.laser-flash{position:fixed;inset:0;pointer-events:none;z-index:120;opacity:0;background:linear-gradient(115deg,transparent 0 47%,rgba(65,255,178,.85) 49%,rgba(88,170,255,.8) 50%,transparent 53%)}.laser-flash.fire{animation:laser .42s ease-out}.panel,.hero-panel,.detail-hero,.automation-hero,.download-console{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:21px}.panel.slim{padding:15px 20px}.panel-head,.page-actions,.detail-hero,.automation-hero,.download-console{display:flex;justify-content:space-between;align-items:center;gap:18px}.panel-head{margin-bottom:14px}.panel h3,.panel-head h3{margin:3px 0;font-size:16px}.page-actions{margin-bottom:17px}.filter-tabs{display:flex;gap:5px;background:rgba(133,153,181,.13);padding:5px;border-radius:12px}.filter-tabs span,.filter-tabs a{font-size:10px;font-weight:800;color:var(--muted);padding:8px 11px;border-radius:8px}.filter-tabs .active{background:var(--panel);color:var(--blue);box-shadow:0 4px 13px rgba(20,45,79,.08)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid var(--line);border-radius:11px;padding:9px 14px;background:var(--panel);color:var(--ink);cursor:pointer;font-size:11px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,filter .16s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(30,55,90,.12)}.btn.primary{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--blue),var(--blue2) 55%,#0c8f57)}.btn.danger{background:#fff0f2;color:#b8283a;border-color:#efc5cc}.btn.glass{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}.btn.small{min-height:31px;padding:6px 9px;font-size:9px}.btn.wide{width:100%}.text-link,.strong-link{font-weight:800;color:var(--blue)}.text-link{font-size:10px}.strong-link:hover{text-decoration:underline}.hero-panel{min-height:230px;padding:33px 36px;margin-bottom:18px;color:#fff;overflow:hidden;background:radial-gradient(circle at 75% 15%,rgba(19,215,113,.28),transparent 22%),linear-gradient(135deg,#0c2c68,#153f8f 62%,#08714d)}.hero-panel:after{content:"";position:absolute;inset:auto -10% -50% 20%;height:80%;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}.hero-panel>div:first-child{position:relative;z-index:2;max-width:630px}.hero-panel .eyebrow{color:#8ef0ba}.hero-panel h2{font-size:34px;margin:8px 0 10px;letter-spacing:-.04em}.hero-panel p{max-width:590px;line-height:1.6;color:rgba(255,255,255,.74)}.hero-actions{display:flex;gap:10px;margin-top:22px}.core-orbit{position:absolute;right:55px;top:32px;width:164px;height:164px;display:grid;place-items:center;z-index:2}.core-orbit b{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);font-size:15px;letter-spacing:.08em}.core-orbit i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;animation:orbit 9s linear infinite}.core-orbit i:nth-child(2){inset:18px;border-style:dashed;animation-direction:reverse;animation-duration:6s}.core-orbit i:nth-child(3){inset:-12px 32px;transform:rotate(65deg);animation-duration:11s}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:17px;overflow:hidden;box-shadow:0 10px 30px rgba(24,50,89,.055);transition:transform .18s ease}.metric-card:hover{transform:translateY(-3px)}.metric-card:after{content:"";position:absolute;width:65px;height:65px;border-radius:50%;right:-20px;top:-20px;background:linear-gradient(135deg,rgba(20,70,155,.1),rgba(0,166,81,.1))}.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:9px}.metric-card b{display:block;font-size:27px;margin:6px 0 2px;letter-spacing:-.03em}.dashboard-grid,.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:17px;margin-bottom:17px}.span-2{grid-column:auto}.status-stack{display:grid;gap:11px;margin-top:16px}.status-stack>div{display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid var(--line);font-size:11px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#9aa8b9}.dot.success{background:var(--green)}.dot.info{background:var(--blue2)}.dot.warning{background:var(--warning)}.dot.danger{background:var(--danger)}.workflow-mini{display:flex;align-items:center;gap:5px;margin-top:18px;overflow-x:auto}.workflow-mini span{font-size:8px;font-weight:800;background:rgba(21,72,156,.09);padding:6px 7px;border-radius:7px;white-space:nowrap}.workflow-mini i{height:1px;width:10px;background:var(--green)}.table-wrap{overflow:auto;border-radius:12px}.table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.table-wrap th{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 11px;border-bottom:1px solid var(--line)}.table-wrap td{font-size:10px;padding:12px 11px;border-bottom:1px solid rgba(216,226,238,.75);vertical-align:middle}.table-wrap tr{transition:background .14s}.table-wrap tbody tr:hover{background:rgba(20,73,158,.035)}td small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.empty{text-align:center;color:var(--muted);padding:35px!important}.demo-tag{display:inline-block!important;color:var(--warning)!important;font-weight:900}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:99px;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.badge.success{background:#e4f8ed;color:#087541}.badge.info{background:#e8f0fd;color:#1c56a5}.badge.warning{background:#fff3dc;color:#8c5909}.badge.danger{background:#fde9ec;color:#ad2638}.badge.neutral{background:#edf1f5;color:#627084}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.stack-form{display:grid;gap:13px}.inline-form,.assign-inline,.method-edit,.mini-form,.mini-cancel{display:flex;align-items:flex-end;gap:8px}.assign-inline select,.assign-inline input{min-width:110px}.mini-cancel input{width:110px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}label{display:grid;gap:6px;font-size:9px;font-weight:800;color:#46556b}label small{color:var(--muted);font-weight:500;line-height:1.4}input,select,textarea{width:100%;border:1px solid #cfdbea;border-radius:10px;padding:10px 11px;background:rgba(255,255,255,.88);color:var(--ink);outline:none;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#4b79ca;box-shadow:0 0 0 3px rgba(32,89,184,.1)}textarea{resize:vertical;min-height:78px}fieldset{border:1px solid var(--line);border-radius:14px;padding:14px}legend{font-size:9px;color:var(--blue);font-weight:900;padding:0 7px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.method-grid h4{grid-column:1/-1;margin:10px 0 1px;color:var(--blue);font-size:10px}.check-card{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .15s,transform .15s}.check-card:hover{background:rgba(20,73,158,.035);transform:translateY(-1px)}.check-card input{width:auto;margin:2px 0 0}.check-card b,.check-card small{display:block}.check-card small{margin-top:2px;color:var(--muted);font-size:8px}.modal{border:0;background:transparent;padding:20px;max-width:none;width:100%;height:100%;margin:0}.modal::backdrop{background:rgba(5,20,48,.65);backdrop-filter:blur(6px)}.modal[open]{display:grid;place-items:center}.modal-card{width:min(720px,96vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:0 35px 100px rgba(0,0,0,.28);animation:modalin .25s ease}.modal.wide .modal-card{width:min(1050px,97vw)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h3{margin:0}.detail-hero{padding:23px 25px;margin-bottom:17px}.detail-hero h2{font-size:27px;margin:7px 0 3px}.detail-hero p{margin:0;color:var(--muted)}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.data-list{margin:14px 0 0}.data-list>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.data-list dt{color:var(--muted);font-size:9px}.data-list dd{margin:0;font-size:10px;font-weight:760}.invoice-total{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,rgba(20,70,155,.06),rgba(0,166,81,.07))}.invoice-total small,.invoice-total b{display:block}.invoice-total b{font-size:27px;margin:7px 0}.lifecycle{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:22px}.lifecycle span{position:relative;text-align:center;padding:12px 5px;border-radius:9px;background:rgba(119,137,160,.12);color:var(--muted);font-size:8px;font-weight:850}.lifecycle span.done{background:linear-gradient(135deg,rgba(18,63,143,.13),rgba(0,166,81,.14));color:var(--blue);box-shadow:inset 0 0 0 1px rgba(0,166,81,.18)}.assignment-grid,.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.assignment-card,.review-card{overflow:hidden}.assignment-card:before,.review-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--green))}.assignment-meta{display:flex;gap:15px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:9px}.assignment-meta b{color:var(--ink)}.result-preview{background:rgba(20,73,158,.055);padding:17px;border-radius:12px;margin-top:13px}.result-preview>b{font-size:22px}.result-preview p{color:var(--muted)}.result-big{font-size:30px;font-weight:900;color:var(--blue);margin:17px 0}.result-big small{font-size:12px}.review-card blockquote{margin:14px 0;padding:12px;border-left:3px solid var(--green);background:rgba(0,166,81,.05);font-size:10px;line-height:1.6}.review-panel{border-left:4px solid var(--warning)}.release-panel{background:linear-gradient(135deg,#e8f8ef,#f7fffb)}.release-seal{border:2px solid var(--green);color:#05783f;padding:14px;text-align:center;border-radius:12px;margin-top:15px;transform:rotate(-1deg)}.release-seal b{font-size:22px;letter-spacing:.14em;display:block}.timeline{margin-top:15px}.timeline>div{position:relative;margin-left:6px;padding:0 0 18px 21px;border-left:1px solid var(--line)}.timeline i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);left:-5px;top:3px;box-shadow:0 0 0 4px rgba(0,166,81,.12)}.timeline b,.timeline p,.timeline small{display:block}.timeline b{font-size:10px}.timeline p{font-size:9px;margin:4px 0;color:var(--muted)}.timeline small{font-size:8px;color:var(--muted)}.automation-hero,.download-console{padding:28px 30px;margin-bottom:17px;overflow:hidden;background:linear-gradient(135deg,var(--panel),rgba(225,242,255,.95))}.automation-hero:after,.download-console:after{content:"";position:absolute;right:-45px;top:-75px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(20,72,156,.12);box-shadow:0 0 0 40px rgba(0,166,81,.035),0 0 0 80px rgba(20,72,156,.025)}.automation-hero>*,.download-console>*{position:relative;z-index:1}.automation-hero h2,.download-console h2{font-size:25px;margin:6px 0}.automation-hero p,.download-console p{color:var(--muted);margin:0}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.template-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 9px 25px rgba(24,50,89,.05);transition:transform .17s}.template-card:hover{transform:translateY(-4px)}.template-card>span{font-size:8px;text-transform:uppercase;color:var(--green);font-weight:900}.template-card h3{font-size:14px;margin:8px 0}.template-card b{font-size:9px;color:var(--blue)}.template-card p{font-size:9px;color:var(--muted);min-height:30px}.template-card a{font-size:9px;font-weight:850;color:var(--blue)}.input-guide{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(20,73,158,.035)}.input-guide>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.input-guide code{font-size:9px;background:#102b5d;color:#b7ffdb;border-radius:6px;padding:5px 7px}.input-guide code+span{font-size:8px;color:var(--muted);margin-right:7px;align-self:center}.live-preview{border:1px dashed #9bb0ca;border-radius:11px;padding:13px;color:var(--muted);font-size:9px}.technical-table{max-height:520px}.technical-table td,.technical-table th{font-size:8px}.profile-panel{max-width:560px;margin:auto}.profile-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.profile-head>span{width:62px;height:62px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-size:24px;font-weight:900}.profile-head h2,.profile-head p{margin:0}.profile-head p{color:var(--muted);margin-top:4px}.notification-list{padding:0;overflow:hidden}.notification-item{display:flex;gap:12px;padding:15px 19px;border-bottom:1px solid var(--line);transition:background .15s}.notification-item:hover{background:rgba(20,73,158,.035)}.notification-item i{width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:4px}.notification-item b,.notification-item p,.notification-item small{display:block}.notification-item p{font-size:10px;color:var(--muted);margin:4px 0}.notification-item small{font-size:8px;color:var(--muted)}.empty-state{text-align:center;padding:45px}.empty-state p{color:var(--muted)}.alert{position:relative;border-radius:11px;padding:11px 14px;margin-bottom:14px;font-size:10px}.alert.success{background:#e5f8ed;color:#087440;border:1px solid #bce9cf}.alert.danger{background:#fde9ec;color:#a92436;border:1px solid #efc2ca}.alert.warning{background:#fff3dc;color:#81520a;border:1px solid #efd7a9}.alert.info{background:#e9f1fd;color:#20569f}.muted{color:var(--muted)}.top-gap{margin-top:14px}details summary{cursor:pointer;font-size:10px;font-weight:850;color:var(--blue)}.mobile-only{display:none}.backdrop{display:none}.login-body{min-height:100vh;background:#071a3d;display:grid;place-items:center;padding:24px;overflow:hidden;position:relative}.login-body:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(0,205,104,.17),transparent 28%),radial-gradient(circle at 85% 75%,rgba(45,112,235,.25),transparent 35%)}.login-layers{position:absolute;inset:auto -10% -12% -10%;height:45%;opacity:.65}.login-layers i{position:absolute;left:0;right:0;height:95px;border-radius:50% 50% 0 0;transform:skewY(-5deg);animation:layerfloat 8s ease-in-out infinite}.login-layers i:nth-child(1){bottom:0;background:#0b285c}.login-layers i:nth-child(2){bottom:55px;background:#143f88;animation-delay:-2s}.login-layers i:nth-child(3){bottom:112px;background:#096c4a;animation-delay:-4s}.login-layers i:nth-child(4){bottom:168px;background:#0b465a;animation-delay:-6s}.login-card{position:relative;z-index:3;width:min(1050px,96vw);min-height:620px;background:var(--panel);border-radius:27px;display:grid;grid-template-columns:1.12fr .88fr;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.36)}.login-visual{color:#fff;padding:45px;background:radial-gradient(circle at 85% 20%,rgba(0,199,100,.27),transparent 25%),linear-gradient(145deg,#0c2c6d,#17478d 65%,#0d6c4d);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:390px;height:390px;border-radius:50%;right:-180px;bottom:-180px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 52px rgba(255,255,255,.03),0 0 0 104px rgba(255,255,255,.02);animation:orbit 18s linear infinite}.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.login-brand img{width:275px;height:78px;object-fit:contain;object-position:left}.login-brand strong{font-size:25px}.login-visual h1{font-size:53px;margin:8px 0 9px;letter-spacing:-.05em}.login-visual p{max-width:520px;line-height:1.65;color:rgba(255,255,255,.78)}.visual-stats{display:flex;gap:32px;position:relative;z-index:2}.visual-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.visual-stats b{display:block;font-size:25px;opacity:1;letter-spacing:0}.login-form-wrap{padding:48px 50px;display:flex;flex-direction:column;justify-content:center}.login-form-wrap h2{font-size:28px;margin:7px 0}.login-form-wrap>.muted{margin:0 0 20px}.login-mobile-brand{display:none}.login-roles{margin-top:18px;padding:11px;border:1px solid var(--line);border-radius:11px}.login-roles>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.login-roles span{display:flex;justify-content:space-between;background:rgba(20,73,158,.04);padding:6px;border-radius:7px;font-size:8px}.login-roles code{color:var(--blue)}.login-roles small{font-size:8px;color:var(--muted)}.login-tools{display:flex;align-items:center;gap:9px;margin-top:15px}.login-tools small{color:var(--muted);font-size:8px}[data-theme="dark"]{--ink:#edf3fb;--muted:#9cabc0;--bg:#0e1624;--panel:rgba(23,35,54,.95);--line:#314058;--sidebar:#07152e;--sidebar2:#102d60;--shadow:0 18px 50px rgba(0,0,0,.25)}[data-theme="dark"] .topbar{background:rgba(16,25,40,.88)}[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#1c2a40;border-color:#3b4b63;color:var(--ink)}[data-theme="dark"] .theme-switch i{transform:translateX(27px);background:linear-gradient(135deg,#6784bd,#172a50)}[data-theme="dark"] .theme-switch .sun{color:#6d7482}[data-theme="dark"] .theme-switch .moon{color:#dbe9ff}[data-theme="dark"] .top-logout{background:#3a1f29;color:#ffb9c3;border-color:#65303d}[data-theme="dark"] .badge.success{background:#173a2b;color:#7ce5a8}[data-theme="dark"] .badge.info{background:#1c3151;color:#8eb8ff}[data-theme="dark"] .badge.warning{background:#3b301d;color:#ffd17b}[data-theme="dark"] .badge.danger{background:#41242b;color:#ff9dad}[data-theme="dark"] .automation-hero,[data-theme="dark"] .download-console{background:linear-gradient(135deg,#172336,#152b31)}[data-theme="dark"] .release-panel{background:linear-gradient(135deg,#143126,#172c29)}[data-theme="dark"] .login-body{background:#060d18}@keyframes drift{50%{transform:translate(35px,-25px) scale(1.08)}}@keyframes loadbar{0%{transform:translateX(-110%)}100%{transform:translateX(430%)}}@keyframes laser{0%{opacity:0;transform:translateX(-25%)}25%{opacity:.7}100%{opacity:0;transform:translateX(25%)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes modalin{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes layerfloat{50%{transform:skewY(-5deg) translateY(-8px)}}.reveal{animation:reveal .38s ease both}@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(3,1fr)}.template-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:950px){.sidebar{transform:translateX(-105%);transition:transform .23s ease}.sidebar.open{transform:none}.main-area{margin-left:0}.nav-loader{left:0}.backdrop{position:fixed;inset:0;background:rgba(4,15,37,.6);z-index:45}.backdrop.show{display:block}.mobile-only{display:flex}.content{padding:22px 18px 35px}.topbar{padding:0 18px}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.core-orbit{display:none}.assignment-grid,.review-grid{grid-template-columns:1fr}.login-card{grid-template-columns:1fr;max-width:530px;min-height:auto}.login-visual{display:none}.login-form-wrap{padding:42px}.login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.login-mobile-brand img{width:220px}.login-mobile-brand b{color:var(--ink);font-size:18px}.top-logout span{display:none}.top-logout{width:41px;padding:0}}@media(max-width:650px){html{font-size:14px}.topbar{height:72px}.page-heading .eyebrow,.page-heading p{display:none}.page-heading h1{font-size:18px}.content{padding:17px 12px 28px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric-card{padding:14px}.metric-card b{font-size:23px}.hero-panel{padding:24px;min-height:220px}.hero-panel h2{font-size:27px}.hero-actions{flex-wrap:wrap}.page-actions,.detail-hero,.automation-hero,.download-console{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.method-grid,.template-grid{grid-template-columns:1fr}.inline-form,.assign-inline,.method-edit,.mini-form,.mini-cancel{align-items:stretch;flex-direction:column}.lifecycle{grid-template-columns:repeat(3,1fr)}.app-footer{display:grid;gap:4px;padding:14px 16px 23px}.login-form-wrap{padding:30px 23px}.login-body{padding:10px}.login-card{border-radius:20px}.login-roles>div{grid-template-columns:1fr}.top-actions{gap:5px}.theme-switch{width:58px}.detail-hero h2{font-size:22px}.data-list>div{grid-template-columns:100px 1fr}}

.session-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line));border-radius:var(--radius);background:linear-gradient(110deg,var(--panel),color-mix(in srgb,var(--danger) 7%,var(--panel)));box-shadow:var(--shadow)}.session-strip b{display:block;margin-top:5px;font-size:12px}.btn.danger{background:linear-gradient(135deg,#cf3347,#a91f32);color:#fff;border-color:transparent}@media(max-width:620px){.session-strip{align-items:stretch;flex-direction:column}.session-strip .btn{width:100%}}

.automation-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-2px 0 12px}.automation-tools span{font-size:10px;color:var(--muted)}

/* BSI LIMS V1.0.2 — workflow synchronization and visual-fit overrides */
.sidebar{width:264px;padding:20px 16px 15px;overflow-x:hidden}.main-area{margin-left:264px}.nav-loader{left:264px}.brand{display:block;width:100%;padding:0 7px;overflow:visible}.brand img{display:block;width:218px;max-width:100%;height:63px;object-fit:contain;object-position:left center}.brand-tagline{margin:0 8px 16px;line-height:1.45}.nav-item{padding:10px 11px}.nav-label{margin-top:11px}.content{max-width:1800px;width:100%;margin:0 auto}
.login-card{width:min(1120px,calc(100vw - 44px));min-height:590px;grid-template-columns:1.08fr .92fr}.login-visual{padding:42px 48px;justify-content:flex-start}.login-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:44px}.login-brand{gap:12px}.login-brand img{width:min(360px,75%);height:auto;max-height:98px}.login-brand strong{font-size:27px;white-space:nowrap}.login-message{max-width:570px}.login-message .eyebrow{color:rgba(130,219,255,.74)}.login-visual h1{margin:10px 0 9px}.login-visual p{margin:0}.visual-stats{display:none!important}.login-form-wrap{padding:42px 48px}.login-mobile-brand img{max-width:230px;height:65px;object-fit:contain}.login-mobile-brand b{white-space:nowrap}
.progress-line{width:100%;height:7px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden;min-width:90px}.progress-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue2),var(--green2));box-shadow:0 0 12px color-mix(in srgb,var(--green) 45%,transparent)}
.capability-list{display:grid;gap:9px;margin:17px 0}.capability-list>div{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:10px;line-height:1.45}.capability-list i{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--green) 13%,var(--panel));color:var(--green);font-style:normal;font-weight:900}
.workflow-control{margin-bottom:17px}.job-pipeline{display:grid;grid-template-columns:repeat(8,minmax(100px,1fr));gap:8px;overflow-x:auto;padding:4px 1px 8px}.pipeline-step{position:relative;display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 94%,var(--bg));min-width:122px}.pipeline-step:not(:last-child):after{content:"";position:absolute;width:9px;height:2px;right:-9px;top:22px;background:var(--line)}.pipeline-step>i{width:23px;height:23px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:var(--bg);color:var(--muted);font-style:normal;font-size:9px;font-weight:900}.pipeline-step b,.pipeline-step small{display:block}.pipeline-step b{font-size:9px}.pipeline-step small{font-size:7px;line-height:1.35;color:var(--muted);margin-top:4px}.pipeline-step.done{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--panel))}.pipeline-step.done>i{background:var(--green);color:#fff}.pipeline-step.current{border-color:color-mix(in srgb,var(--blue2) 58%,var(--line));box-shadow:0 9px 25px color-mix(in srgb,var(--blue) 12%,transparent)}.pipeline-step.current>i{background:linear-gradient(135deg,var(--blue),var(--green));color:#fff}.job-pipeline.compact .pipeline-step{padding:8px;min-width:105px}
.executive-shell{display:grid;gap:17px;margin:17px 0}.executive-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.chart-panel canvas{display:block;width:100%;height:270px}.top-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:17px}.top-service{padding:18px;border-radius:15px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--blue) 5%,var(--panel)))}.top-service>span{font-size:9px;font-weight:900;color:var(--green)}.top-service>b{display:block;font-size:23px;margin:6px 0}.top-service p,.top-service small{margin:0;color:var(--muted);font-size:9px}.top-service.podium-1{border-color:color-mix(in srgb,#e3a211 50%,var(--line));box-shadow:0 13px 30px rgba(227,162,17,.12)}
.demo-intro,.finance-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 31px;margin-bottom:17px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 9%,var(--panel)),color-mix(in srgb,var(--green) 8%,var(--panel)));box-shadow:var(--shadow)}.demo-intro h2,.finance-hero h2{font-size:28px;margin:7px 0}.demo-intro p,.finance-hero p{color:var(--muted);max-width:750px;line-height:1.55}.demo-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.demo-stage-card{position:relative;padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 10px 28px rgba(25,53,92,.055);overflow:hidden}.demo-stage-card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-35px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 18%,transparent),color-mix(in srgb,var(--green) 20%,transparent))}.demo-stage-card>span{position:relative;font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--blue);text-transform:uppercase}.demo-stage-card h3{position:relative;margin:8px 0 5px;font-size:16px}.demo-stage-card p{position:relative;min-height:36px;color:var(--muted);font-size:9px;line-height:1.45}.demo-stage-card .progress-line{margin:14px 0}.role-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:17px}.role-guide-card{min-height:295px}.role-guide-card.active-role{border-color:color-mix(in srgb,var(--green) 50%,var(--line));box-shadow:0 18px 42px color-mix(in srgb,var(--green) 12%,transparent)}.role-guide-card>p{color:var(--muted);font-size:10px;line-height:1.5}.role-guide-card>small{display:block;margin-top:auto;color:var(--muted)}
.finance-total{text-align:right;min-width:260px;padding:15px 18px;border-radius:16px;background:color-mix(in srgb,var(--blue) 7%,var(--panel));border:1px solid var(--line)}.finance-total span,.finance-total small{display:block;color:var(--muted);font-size:9px}.finance-total b{display:block;font-size:25px;margin:5px 0}.finance-metrics{grid-template-columns:repeat(4,1fr)}.finance-action,.quote-action{display:grid;gap:6px;min-width:210px}.finance-action input,.finance-action select,.quote-action input,.quote-action select{min-height:31px;font-size:8px}.finance-action .btn,.quote-action .btn{width:100%}
.demo-tag{display:inline-block!important;margin-left:5px;padding:2px 5px;border-radius:5px;background:#fff1cf;color:#8c5b00;font-size:6px!important;font-weight:900;letter-spacing:.08em}.badge.neutral{background:var(--bg);color:var(--muted)}
@media(max-width:1350px){.demo-stage-grid,.role-guide-grid{grid-template-columns:repeat(2,1fr)}.job-pipeline{grid-template-columns:repeat(8,130px)}}
@media(max-width:950px){.main-area{margin-left:0}.nav-loader{left:0}.sidebar{width:264px}.executive-grid{grid-template-columns:1fr}.login-card{width:min(560px,calc(100vw - 20px))}.login-mobile-brand{overflow:visible}.login-mobile-brand img{width:215px}.login-mobile-brand b{font-size:17px}}
@media(max-width:650px){.demo-stage-grid,.role-guide-grid,.top-service-grid{grid-template-columns:1fr}.demo-intro,.finance-hero{align-items:flex-start;flex-direction:column;padding:22px}.finance-total{width:100%;min-width:0;text-align:left}.finance-metrics{grid-template-columns:repeat(2,1fr)}.login-card{width:100%}.login-mobile-brand{gap:5px}.login-mobile-brand img{width:190px}.job-pipeline{grid-template-columns:repeat(8,120px)}}

/* BSI LIMS V1.0.3 — document center, status board, opening loader */
.startup-loader{position:fixed;inset:0;display:grid;place-items:center;z-index:9999;background:radial-gradient(circle at 25% 25%,rgba(30,86,181,.38),transparent 30%),linear-gradient(135deg,#061b43,#0b3c8c 55%,#075747);transition:opacity .35s ease,visibility .35s ease}.startup-loader.hide{opacity:0;visibility:hidden;pointer-events:none}.startup-card{width:min(520px,calc(100vw - 42px));padding:34px;border:1px solid rgba(255,255,255,.23);border-radius:24px;background:rgba(255,255,255,.08);box-shadow:0 30px 90px rgba(0,0,0,.27);backdrop-filter:blur(14px);color:#fff;text-align:center}.startup-card img{width:260px;max-width:70%;height:auto;vertical-align:middle}.startup-card>span{font-weight:900;font-size:24px;margin-left:8px}.startup-card>b{display:block;margin:22px 0 15px;letter-spacing:.12em;text-transform:uppercase;font-size:10px;color:rgba(255,255,255,.74)}.startup-bar{height:9px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden}.startup-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff,#7edbff,#11c76f);animation:startupLoad 1.45s ease forwards;box-shadow:0 0 22px rgba(126,219,255,.5)}@keyframes startupLoad{from{width:0}to{width:100%}}
.status-board-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:17px;padding:30px;border:2px solid color-mix(in srgb,var(--blue) 36%,var(--line));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,var(--panel)),color-mix(in srgb,var(--green) 8%,var(--panel)));box-shadow:var(--shadow);overflow:hidden;position:relative}.status-board-hero:after{content:"";position:absolute;width:350px;height:350px;border:1px solid color-mix(in srgb,var(--green) 18%,transparent);border-radius:50%;right:-120px;bottom:-170px;animation:softSpin 14s linear infinite}.status-board-hero h2{font-size:32px;margin:7px 0}.status-board-hero p{max-width:820px;color:var(--muted);line-height:1.55}.status-orbit{position:relative;z-index:1;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,var(--panel),color-mix(in srgb,var(--blue) 12%,var(--panel)));border:2px solid color-mix(in srgb,var(--green) 44%,var(--line));box-shadow:inset 0 0 30px color-mix(in srgb,var(--green) 12%,transparent),0 20px 45px rgba(13,52,115,.13)}.status-orbit b{display:block;font-size:36px}.status-orbit span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.12em}.status-filter-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.status-filter-form label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted)}.status-filter-form input,.status-filter-form select{margin-top:7px;width:100%}.status-stage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:17px 0}.stage-tile{display:block;padding:15px;border:2px solid var(--line);border-radius:15px;background:var(--panel);transition:.18s ease;box-shadow:0 9px 25px rgba(25,53,92,.045)}.stage-tile:hover,.stage-tile.active{transform:translateY(-3px);border-color:color-mix(in srgb,var(--green) 55%,var(--line));box-shadow:0 18px 42px color-mix(in srgb,var(--blue) 12%,transparent)}.stage-tile b{display:block;font-size:24px;color:var(--blue)}.stage-tile span{display:block;font-weight:900;font-size:10px}.stage-tile small{display:block;color:var(--muted);font-size:8px;line-height:1.35;margin-top:5px}.status-board-list{display:grid;gap:14px}.status-job-card{border:2px solid color-mix(in srgb,var(--blue) 25%,var(--line));border-left:6px solid var(--blue2);border-radius:18px;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--blue) 4%,var(--panel)));padding:18px;box-shadow:var(--shadow);transition:.2s ease;position:relative;overflow:hidden}.status-job-card:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;right:-90px;top:-120px;background:color-mix(in srgb,var(--green) 10%,transparent)}.status-job-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(22,60,125,.15)}.status-job-card.overdue{border-left-color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.status-job-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.status-job-head h3{margin:5px 0;font-size:22px}.status-job-head p{margin:0;color:var(--muted)}.job-status-badge{text-align:right}.job-status-badge b{display:block;margin-top:7px;font-size:20px}.status-job-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.status-job-grid span{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,var(--bg));padding:10px;font-size:11px}.status-job-grid b{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}.status-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap}.document-selector select{width:100%;margin-top:8px}.document-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.doc-card{border:2px solid color-mix(in srgb,var(--blue) 24%,var(--line));border-radius:18px;background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--blue) 5%,var(--panel)));padding:18px;min-height:210px;display:flex;flex-direction:column;box-shadow:0 11px 28px rgba(25,53,92,.06);transition:.18s ease}.doc-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--green) 50%,var(--line));box-shadow:0 22px 44px rgba(25,53,92,.13)}.doc-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-weight:900;letter-spacing:.06em}.doc-card h3{font-size:16px;margin:14px 0 6px}.doc-card p{color:var(--muted);font-size:10px;line-height:1.45;flex:1}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}.executive-shell .panel,.chart-panel,.top-service{border-width:2px}.executive-chart{filter:drop-shadow(0 14px 18px rgba(18,61,141,.09))}.chart-panel{transition:.2s ease}.chart-panel:hover{transform:translateY(-4px) perspective(900px) rotateX(1deg);box-shadow:0 24px 60px rgba(22,60,125,.14)}.top-service{transition:.18s ease}.top-service:hover{transform:translateY(-5px) scale(1.015)}@keyframes softSpin{to{transform:rotate(360deg)}}
@media(max-width:1350px){.status-stage-grid{grid-template-columns:repeat(4,1fr)}.document-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:950px){.status-filter-form{grid-template-columns:1fr}.status-board-hero{align-items:flex-start;flex-direction:column}.status-stage-grid{grid-template-columns:repeat(2,1fr)}.status-job-grid{grid-template-columns:repeat(2,1fr)}.document-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.status-stage-grid,.document-grid,.status-job-grid{grid-template-columns:1fr}.status-job-head{flex-direction:column}.job-status-badge{text-align:left}.startup-card{padding:24px}.startup-card img{max-width:78%}}

/* BSI LIMS V1.0.4 UX refinements */
.content:before{content:"";position:absolute;inset:-10% -8% auto auto;width:55%;height:62%;pointer-events:none;background:linear-gradient(135deg,rgba(93,187,255,.12),rgba(255,255,255,0) 38%),linear-gradient(225deg,rgba(0,215,136,.10),rgba(255,255,255,0) 42%),repeating-linear-gradient(120deg,rgba(255,255,255,.12) 0 2px,rgba(255,255,255,0) 2px 28px);mix-blend-mode:screen;filter:blur(8px);opacity:.62;transform:rotate(-8deg)}
.hero-panel:before,.login-visual:before{content:"";position:absolute;inset:-20% auto auto -12%;width:78%;height:92%;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.14),rgba(255,255,255,0) 28%),repeating-linear-gradient(125deg,rgba(255,255,255,.08) 0 2px,rgba(255,255,255,0) 2px 24px);mix-blend-mode:screen;opacity:.55;transform:skewX(-12deg)}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-actions .btn{margin:0}.quote-action input[type=file]{max-width:220px}.result-preview small{display:block;margin-top:8px;color:var(--muted)}.login-brand img,.login-mobile-brand img,.brand img{image-rendering:auto}#navLoader{display:none!important}@media(max-width:650px){.inline-actions{width:100%}}


/* BSI LIMS V1.0.5 — Silver Prism Performance Edition */
:root{--shadow:0 12px 34px rgba(26,53,93,.075)}
html.startup-seen .startup-loader{display:none!important}
.logo-shell{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;overflow:visible;isolation:isolate;line-height:1}
.logo-shell img{display:block;max-width:100%;height:auto;object-fit:contain;object-position:left center;position:relative;z-index:2}
.logo-text-fallback{font-weight:850;letter-spacing:.08em;font-size:30px;color:currentColor;white-space:nowrap}
.sidebar-logo{width:190px;min-height:54px}.sidebar-logo .logo-text-fallback{font-size:27px;color:#fff}
.login-logo{width:min(360px,76%);min-height:72px}.login-logo .logo-text-fallback{font-size:48px;color:#fff}
.mobile-logo{width:215px;min-height:61px}.mobile-logo .logo-text-fallback{font-size:30px;color:var(--blue)}
.startup-logo{width:min(260px,70%);min-height:74px}.startup-logo .logo-text-fallback{font-size:38px;color:#fff}
.brand img,.login-brand img,.login-mobile-brand img,.startup-card img{width:100%!important;height:auto!important;max-height:none!important}
.brand{min-height:58px}.brand-tagline{margin-top:1px}
.startup-loader{will-change:opacity;contain:strict}.startup-card{backdrop-filter:none;background:rgba(255,255,255,.095);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.topbar{backdrop-filter:blur(7px) saturate(112%);background:rgba(247,250,254,.91)}
[data-theme="dark"] .topbar{background:rgba(16,25,40,.92)}
.ambient-orbs{display:none!important}
.content{isolation:isolate;background:
linear-gradient(128deg,rgba(255,255,255,.16) 0 8%,transparent 21%),
linear-gradient(148deg,transparent 0 53%,rgba(196,207,222,.10) 61%,transparent 70%),
linear-gradient(36deg,transparent 0 66%,rgba(210,235,247,.08) 72%,transparent 80%)}
.content:before{content:"";position:absolute;z-index:-1;inset:8px -8% auto 28%;height:300px;pointer-events:none;transform:skewX(-18deg);opacity:.52;mix-blend-mode:normal;filter:none;background:
linear-gradient(112deg,transparent 0 18%,rgba(255,255,255,.24) 26%,rgba(201,211,224,.14) 31%,rgba(223,238,246,.10) 36%,transparent 48%),
linear-gradient(118deg,transparent 0 55%,rgba(235,225,245,.09) 62%,rgba(190,224,239,.08) 67%,transparent 76%);border:1px solid rgba(255,255,255,.08);border-radius:44% 12% 48% 8%}
.content:after{content:"";position:absolute;z-index:-1;inset:auto 3% 4% auto;width:38%;height:220px;pointer-events:none;opacity:.34;background:linear-gradient(142deg,transparent 16%,rgba(211,219,230,.18) 28%,rgba(255,255,255,.22) 32%,rgba(201,225,238,.08) 40%,transparent 52%);clip-path:polygon(8% 52%,100% 0,72% 100%)}
.hero-panel:before,.login-visual:before,.status-board-hero:before,.finance-hero:before{content:"";position:absolute;pointer-events:none;inset:-18% -12% auto auto;width:72%;height:95%;opacity:.50;transform:skewX(-17deg);mix-blend-mode:normal;filter:none;background:
linear-gradient(122deg,transparent 0 20%,rgba(255,255,255,.20) 28%,rgba(214,220,231,.14) 33%,rgba(192,229,241,.10) 39%,transparent 50%),
linear-gradient(132deg,transparent 0 58%,rgba(233,225,244,.10) 65%,transparent 75%)}
.login-body:before{background:radial-gradient(circle at 14% 14%,rgba(0,205,104,.11),transparent 30%),radial-gradient(circle at 84% 72%,rgba(45,112,235,.17),transparent 37%),linear-gradient(132deg,rgba(255,255,255,.05),transparent 32%)}
.login-layers i{animation:none!important;opacity:.84}.login-visual:after{animation:none!important}
.core-orbit i,.status-board-hero:after{animation:none!important}
.hero-panel:hover .core-orbit i:first-child{transform:rotate(14deg)}
.panel,.metric-card,.status-job-card,.doc-card,.template-card{box-shadow:var(--shadow)}
.panel,.metric-card,.status-job-card,.doc-card,.template-card,.chart-panel,.top-service{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.chart-panel:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(22,60,125,.12)}
.executive-chart{filter:none!important}
.status-job-card,.doc-card,.assignment-card,.review-card{content-visibility:auto;contain-intrinsic-size:240px}
.laser-flash{contain:strict}
.reveal{animation-duration:.26s}
@media(max-width:950px){.content:before{inset:0 -25% auto 15%;opacity:.38}.sidebar-logo{width:184px}}
@media(max-width:650px){.content:before,.content:after{display:none}.login-logo{width:240px}.mobile-logo{width:190px}.sidebar-logo{width:176px}.panel,.status-job-card,.doc-card{box-shadow:0 7px 22px rgba(26,53,93,.065)}}
.startup-card>.startup-logo{margin:0 auto!important;font-size:inherit!important;font-weight:inherit!important}

/* BSI LIMS V1.0.8 — Lux Prism, Fluent Navigation, CRUD Master Data, Interactive Analytics */
@view-transition{navigation:auto}
::view-transition-old(root){animation:bsiPageOut .15s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:bsiPageIn .28s cubic-bezier(.16,1,.3,1) both}
@keyframes bsiPageOut{to{opacity:0;transform:translateY(-4px) scale(.998)}}
@keyframes bsiPageIn{from{opacity:0;transform:translateY(9px) scale(.997)}to{opacity:1;transform:none}}
body.page-leaving .content{opacity:.18;transform:translateY(-4px);transition:opacity .13s ease,transform .13s ease}
body.page-leaving .topbar,body.page-leaving .sidebar{opacity:1!important;transform:none!important}
.nav-item.nav-pending{background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.10));color:#fff;box-shadow:inset 3px 0 0 #baf7dc,0 8px 24px rgba(0,0,0,.11)}
.content{transition:opacity .2s ease,transform .2s ease;background-color:transparent}

/* Day prism is intentionally clearer, while data surfaces stay readable. */
html:not([data-theme="dark"]) body{background:
radial-gradient(circle at 13% 9%,rgba(255,255,255,.96) 0 12%,transparent 31%),
radial-gradient(circle at 82% 15%,rgba(193,220,235,.38),transparent 34%),
radial-gradient(circle at 70% 85%,rgba(221,211,233,.30),transparent 35%),
linear-gradient(128deg,#eef3f8 0%,#f8fafc 36%,#e7edf4 67%,#f6f8fb 100%)}
html:not([data-theme="dark"]) .main-area:before{content:"";position:fixed;pointer-events:none;z-index:0;left:18%;right:-8%;top:65px;height:66vh;opacity:.82;background:
linear-gradient(116deg,transparent 0 11%,rgba(255,255,255,.92) 18%,rgba(188,203,218,.43) 23%,rgba(217,238,245,.37) 28%,transparent 39%),
linear-gradient(146deg,transparent 0 52%,rgba(208,198,222,.30) 60%,rgba(255,255,255,.57) 66%,transparent 75%);clip-path:polygon(4% 18%,76% 0,100% 42%,72% 100%,14% 81%);filter:drop-shadow(0 28px 60px rgba(77,94,120,.10))}
html:not([data-theme="dark"]) .content:before{height:430px;opacity:.86;background:
linear-gradient(112deg,transparent 0 14%,rgba(255,255,255,.88) 22%,rgba(177,192,210,.38) 28%,rgba(210,235,242,.32) 34%,transparent 46%),
linear-gradient(125deg,transparent 0 55%,rgba(224,212,236,.29) 62%,rgba(255,255,255,.58) 67%,transparent 76%);border:1px solid rgba(160,174,193,.22)}
html:not([data-theme="dark"]) .panel,html:not([data-theme="dark"]) .metric-card,html:not([data-theme="dark"]) .status-job-card{background:rgba(255,255,255,.86);border-color:rgba(150,168,191,.38);box-shadow:0 16px 42px rgba(48,70,104,.09)}

/* Luxury login prism: clear silver/pearl refraction, no heavy WebGL. */
.login-body{background:
radial-gradient(circle at 18% 18%,rgba(172,225,235,.24),transparent 32%),
radial-gradient(circle at 86% 78%,rgba(191,174,224,.25),transparent 36%),
linear-gradient(135deg,#061733 0%,#0d346d 45%,#0a554a 100%)}
.login-body:after{content:"";position:absolute;inset:-12% -7%;pointer-events:none;opacity:.82;background:
linear-gradient(117deg,transparent 0 13%,rgba(255,255,255,.31) 20%,rgba(194,203,216,.22) 25%,rgba(160,219,233,.19) 31%,transparent 42%),
linear-gradient(148deg,transparent 0 49%,rgba(228,218,241,.20) 57%,rgba(255,255,255,.30) 63%,transparent 73%);clip-path:polygon(0 12%,68% 0,100% 40%,77% 100%,14% 83%)}
.login-card{border:1px solid rgba(255,255,255,.34);box-shadow:0 40px 110px rgba(2,12,32,.44),inset 0 1px 0 rgba(255,255,255,.24)}
.login-visual{background:
radial-gradient(circle at 76% 12%,rgba(255,255,255,.20),transparent 25%),
linear-gradient(145deg,rgba(8,36,84,.96),rgba(21,70,139,.91) 59%,rgba(6,101,73,.92))}
.login-visual:before{opacity:.90;width:92%;height:112%;background:
linear-gradient(116deg,transparent 0 13%,rgba(255,255,255,.31) 21%,rgba(198,207,221,.23) 27%,rgba(179,224,235,.18) 33%,transparent 46%),
linear-gradient(136deg,transparent 0 56%,rgba(235,223,244,.19) 64%,rgba(255,255,255,.22) 69%,transparent 78%)}
.login-form-wrap{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(238,243,249,.94))}
[data-theme="dark"] .login-form-wrap{background:linear-gradient(145deg,rgba(21,32,49,.98),rgba(17,28,44,.96))}
.login-committing .login-card{transform:scale(.996);filter:saturate(1.12);transition:transform .45s ease,filter .45s ease}

/* Master Data CRUD */
.master-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;border-width:2px}.master-hero h2{margin:6px 0 8px}.master-kpi{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 12%,var(--panel)),color-mix(in srgb,var(--green) 12%,var(--panel)));border:2px solid color-mix(in srgb,var(--green) 46%,var(--line));box-shadow:inset 0 0 28px color-mix(in srgb,var(--blue) 10%,transparent)}.master-kpi b{font-size:34px}.master-kpi span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted)}
.master-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:17px 0}.master-service-card{border-width:2px;overflow:hidden}.master-service-card.inactive{opacity:.68;filter:saturate(.55)}.master-service-card>p{min-height:38px;color:var(--muted);font-size:10px}.master-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.master-summary>div{padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 84%,var(--bg))}.master-summary dt{font-size:8px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.master-summary dd{margin:4px 0 0;font-size:11px;font-weight:800}.category-edit{display:grid;grid-template-columns:60px 1fr 1.5fr auto auto;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.switch-label{display:flex!important;align-items:center;gap:8px}.switch-label input{width:auto!important}

/* Quotation builder */
.quotation-modal .modal-card{width:min(1180px,96vw)}.quotation-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quotation-service-grid>h4{grid-column:1/-1;margin:12px 0 1px;color:var(--blue)}.quotation-service-card{border:1px solid var(--line);border-radius:15px;padding:11px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));transition:border-color .16s ease,transform .16s ease}.quotation-service-card:has(input[type=checkbox]:checked){border-color:color-mix(in srgb,var(--green) 58%,var(--line));transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,166,81,.08)}.quote-item-controls{display:grid;grid-template-columns:.55fr .8fr 1.25fr;gap:7px;margin-top:8px}.quote-item-controls label{font-size:8px;color:var(--muted)}.custom-service-rows{display:grid;gap:8px}.custom-service-row{display:grid;grid-template-columns:2fr .6fr .8fr 1fr .6fr 1.3fr 40px;gap:7px;align-items:center}.custom-service-row input{min-width:0}.quote-live-total{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:15px 0}.quote-live-total span{color:var(--muted);font-size:10px}.quote-live-total b{font-size:24px;color:var(--blue)}

/* Interactive charts and vivid top 3 */
.chart-3d-shell{position:relative;overflow:visible;min-height:390px}.chart-title-row{display:flex;justify-content:space-between;gap:12px;align-items:start}.chart-title-row small{color:var(--muted)}.executive-chart{display:block;width:100%;height:310px!important;min-height:310px;outline:none;touch-action:manipulation}.executive-chart:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:12px}.chart-tooltip{position:absolute;z-index:8;pointer-events:none;padding:8px 10px;border-radius:9px;background:rgba(8,24,50,.94);color:#fff;font-size:9px;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.25);white-space:nowrap}.chart-insight{margin:0 0 17px;border:2px solid color-mix(in srgb,var(--blue) 26%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--blue) 7%,var(--panel)),color-mix(in srgb,var(--green) 6%,var(--panel)))}.chart-insight.pulse{animation:insightPulse .42s ease}.insight-metrics{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap}.insight-metrics b{font-size:29px;color:var(--blue)}.insight-metrics span{color:var(--muted)}.insight-metrics strong{font-size:18px;color:var(--green)}@keyframes insightPulse{50%{transform:scale(1.006);border-color:var(--green)}}
.top-service-vivid .top-service{appearance:none;text-align:left;color:var(--ink);cursor:pointer;min-height:205px;position:relative;overflow:hidden}.top-service-vivid .top-service:before{content:"";position:absolute;inset:0;opacity:.24;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.6),transparent 40%)}.top-service-vivid .podium-1{background:linear-gradient(145deg,color-mix(in srgb,#e7ba4c 24%,var(--panel)),var(--panel));border-color:color-mix(in srgb,#d7a829 65%,var(--line));box-shadow:0 18px 45px rgba(216,165,44,.17)}.top-service-vivid .podium-2{background:linear-gradient(145deg,color-mix(in srgb,#8da9c5 23%,var(--panel)),var(--panel));border-color:color-mix(in srgb,#7795b4 60%,var(--line));box-shadow:0 18px 45px rgba(86,119,157,.14)}.top-service-vivid .podium-3{background:linear-gradient(145deg,color-mix(in srgb,#a87545 19%,var(--panel)),color-mix(in srgb,var(--green) 7%,var(--panel)));border-color:color-mix(in srgb,#9d7147 58%,var(--line));box-shadow:0 18px 45px rgba(112,94,66,.13)}.top-service-vivid .top-service strong{display:block;margin-top:9px;font-size:13px}.service-mini-chart{height:8px;border-radius:999px;background:rgba(120,137,158,.18);overflow:hidden;margin:13px 0 8px}.service-mini-chart i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green));transform-origin:left;animation:serviceGrow .7s cubic-bezier(.16,1,.3,1) both}@keyframes serviceGrow{from{transform:scaleX(0)}}

/* Notification demos */
.notification-item.unread{background:color-mix(in srgb,var(--blue) 5%,var(--panel));border-left:4px solid var(--blue)}.notification-item.read{opacity:.76}.notification-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.notification-title .badge{font-size:7px;padding:3px 6px}.notification-item>div{flex:1}

@media(max-width:1350px){.master-service-grid{grid-template-columns:repeat(2,1fr)}.custom-service-row{grid-template-columns:2fr .65fr .85fr 1fr .65fr;}.custom-service-row input:nth-of-type(6){grid-column:1/-2}.quotation-service-grid{grid-template-columns:1fr}}
@media(max-width:950px){.master-service-grid{grid-template-columns:1fr}.category-edit{grid-template-columns:55px 1fr}.category-edit input:nth-of-type(2){grid-column:1/-1}.custom-service-row{grid-template-columns:1fr 1fr}.custom-service-row input:first-child,.custom-service-row input:nth-of-type(6){grid-column:1/-1}.chart-3d-shell{min-height:420px}.executive-chart{height:340px!important;min-height:340px}}
@media(max-width:650px){body.page-leaving .content{opacity:.35}.master-hero{align-items:flex-start;flex-direction:column}.master-kpi{width:90px;height:90px}.category-edit{grid-template-columns:1fr}.custom-service-row{grid-template-columns:1fr}.custom-service-row input:first-child,.custom-service-row input:nth-of-type(6){grid-column:auto}.quote-item-controls{grid-template-columns:1fr}.chart-3d-shell{min-height:430px;padding:15px}.executive-chart{height:480px!important;min-height:480px}.top-service-vivid .top-service{min-height:180px}html:not([data-theme="dark"]) .main-area:before{left:0;opacity:.46}}
@media(prefers-reduced-motion:reduce){body.page-leaving .content{transition:none}.service-mini-chart i{animation:none}}

.login-submit-loader{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(190,226,238,.24),transparent 34%),linear-gradient(135deg,rgba(4,20,49,.96),rgba(11,52,111,.95),rgba(7,84,69,.95));animation:submitLoaderIn .18s ease both}.login-submit-loader>div{width:min(470px,calc(100vw - 38px));padding:28px;border-radius:22px;text-align:center;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.10);box-shadow:0 30px 85px rgba(0,0,0,.32)}.login-submit-loader img{display:block;width:240px;height:auto;margin:0 auto 18px}.login-submit-loader b{display:block;color:#fff;font-size:10px;letter-spacing:.18em}.login-submit-loader span{display:block;height:8px;margin-top:17px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.16)}.login-submit-loader i{display:block;height:100%;background:linear-gradient(90deg,#fff,#aeeaff,#a9ffd6);box-shadow:0 0 20px rgba(175,239,255,.7);animation:submitBar 1.02s cubic-bezier(.2,.8,.2,1) both}@keyframes submitLoaderIn{from{opacity:0}to{opacity:1}}@keyframes submitBar{from{width:0}to{width:100%}}


/* BSI LIMS V1.0.8 — Creator Full Access UI, deterministic prism stacking, mobile/desktop compatibility */
html,body{max-width:100%;overflow-x:hidden}
body{min-height:100dvh}
.app-shell{position:relative;max-width:100%;overflow-x:clip}
.main-area{position:relative;isolation:isolate;min-width:0;overflow:clip}
.main-area:before{z-index:-2!important}
.topbar,.content,.app-footer{position:relative;z-index:2}
.content{isolation:isolate;min-width:0;overflow:visible}
.content:before,.content:after{z-index:-2!important;pointer-events:none!important}
.content>.ambient-orbs{z-index:-3!important}
.content>:not(.ambient-orbs){position:relative;z-index:1}
.automation-hero,.hero-panel,.status-board-hero,.finance-hero,.download-console,.panel,.template-grid,.template-card{isolation:isolate}
.automation-hero>* ,.hero-panel>* ,.status-board-hero>* ,.finance-hero>* ,.download-console>*{position:relative;z-index:2}
.creator-superuser .content{--creator-access-ring:rgba(0,166,81,.18)}
.creator-superuser .panel:focus-within,.creator-superuser .automation-hero:focus-within{border-color:color-mix(in srgb,var(--green) 50%,var(--line))}
.creator-authority{border:2px solid color-mix(in srgb,var(--green) 44%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--green) 7%,var(--panel)),color-mix(in srgb,var(--blue) 6%,var(--panel)))}
.table-wrap{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table-wrap table{min-width:720px}
img,svg,canvas{max-width:100%}
input,select,textarea{max-width:100%}
.page-heading{min-width:0}.page-heading h1,.page-heading p{overflow-wrap:anywhere}
.top-actions{flex:0 0 auto}
.chart-3d-shell{max-width:100%;overflow:visible}.executive-chart{max-width:100%}.chart-tooltip{max-width:min(260px,calc(100% - 12px));white-space:normal}

/* Preserve shell while only content transitions. */
.sidebar{view-transition-name:bsi-sidebar}.topbar{view-transition-name:bsi-topbar}.content{view-transition-name:bsi-content}
::view-transition-old(bsi-sidebar),::view-transition-new(bsi-sidebar),::view-transition-old(bsi-topbar),::view-transition-new(bsi-topbar){animation:none}
::view-transition-old(bsi-content){animation:bsiContentOut .12s ease both}
::view-transition-new(bsi-content){animation:bsiContentIn .24s cubic-bezier(.16,1,.3,1) both}
@keyframes bsiContentOut{to{opacity:0;transform:translateY(-3px)}}
@keyframes bsiContentIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Drawer mode for tablets, mobile landscape, and coarse pointer devices. */
@media (max-width:1180px),(hover:none) and (pointer:coarse){
  .sidebar{width:min(86vw,320px);transform:translateX(-105%);transition:transform .24s cubic-bezier(.16,1,.3,1);z-index:110;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));box-shadow:22px 0 60px rgba(4,19,48,.28)}
  .sidebar.open{transform:translateX(0)}
  .main-area{margin-left:0!important;width:100%}
  .mobile-only{display:flex!important}
  .backdrop{display:block;position:fixed;inset:0;z-index:100;background:rgba(4,15,37,.58);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
  .backdrop.show{opacity:1;visibility:visible}
  body.nav-open{overflow:hidden;touch-action:none}
  .topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .content{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .app-footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .sidebar-logo{width:min(210px,72vw)}
}

@media (max-width:900px){
  :root{--top:76px}
  .topbar{gap:10px;min-height:76px;height:auto;padding-top:8px;padding-bottom:8px}
  .page-heading{flex:1}.page-heading h1{font-size:20px;line-height:1.15}.page-heading p{display:none}
  .top-actions{gap:6px}.top-logout{width:41px;padding:0}.top-logout span{display:none}
  .content{padding-top:20px;padding-bottom:30px}
  .dashboard-grid,.detail-grid,.executive-grid{grid-template-columns:1fr!important}
  .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .template-grid,.document-grid,.assignment-grid,.review-grid,.role-guide-grid,.demo-stage-grid,.top-service-grid,.master-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-actions,.detail-hero,.automation-hero,.download-console,.demo-intro,.finance-hero{align-items:stretch;flex-direction:column}
  .detail-actions,.hero-actions,.form-actions,.inline-actions{width:100%;flex-wrap:wrap}
  .detail-actions .btn,.hero-actions .btn{flex:1 1 180px}
  dialog.modal{padding:0;margin:auto;width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  dialog.modal .modal-card{width:100%!important;max-width:none;max-height:calc(100dvh - 24px);overflow:auto;border-radius:18px}
  .chart-3d-shell{min-height:400px}.executive-chart{height:360px!important;min-height:360px}
}

@media (max-width:650px){
  html{font-size:14px}
  :root{--radius:15px;--top:70px}
  .topbar{min-height:70px;padding:7px 10px;gap:7px}
  .icon-btn{width:39px;height:39px}.theme-switch{width:55px;height:39px}.top-actions{gap:4px}
  .page-heading .eyebrow{display:none}.page-heading h1{font-size:17px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .content{padding:14px 10px 26px}.app-footer{display:grid;gap:4px;padding:12px 12px max(20px,env(safe-area-inset-bottom))}
  .panel{padding:15px}.panel.slim{padding:13px}.hero-panel,.automation-hero,.detail-hero,.download-console,.status-board-hero,.finance-hero{padding:18px!important;border-radius:16px}
  .hero-panel h2,.automation-hero h2,.status-board-hero h2,.finance-hero h2{font-size:24px;line-height:1.15}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .template-grid,.document-grid,.assignment-grid,.review-grid,.role-guide-grid,.demo-stage-grid,.top-service-grid,.master-service-grid{grid-template-columns:1fr!important}
  .form-grid{grid-template-columns:1fr!important}.form-grid .full{grid-column:auto!important}
  .filter-tabs{max-width:100%;overflow-x:auto;justify-content:flex-start}.filter-tabs>*{flex:0 0 auto}
  .btn{min-height:42px}.btn.small{min-height:36px;font-size:10px}
  .detail-actions .btn,.hero-actions .btn,.form-actions .btn{flex:1 1 100%;width:100%}
  .status-job-grid,.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .job-pipeline{overflow-x:auto;grid-template-columns:repeat(12,118px)!important;padding-bottom:8px}
  .lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .chart-3d-shell{min-height:480px;padding:12px;overflow:hidden}.executive-chart{height:455px!important;min-height:455px}.chart-title-row{flex-direction:column}.chart-tooltip{font-size:10px}
  .master-summary{grid-template-columns:1fr}.quotation-service-grid{grid-template-columns:1fr}.custom-service-row{grid-template-columns:1fr!important}.quote-live-total{justify-content:space-between;align-items:flex-start;flex-direction:column}
  .login-card{width:100%;max-width:100%;border-radius:18px}.login-form-wrap{padding:26px 20px}.login-mobile-brand img{width:min(190px,70vw)}
  .login-submit-loader>div{padding:22px 18px}.login-submit-loader img{width:min(210px,70vw)}
}

@media (max-width:390px){
  .top-actions .theme-switch{display:none}.page-heading h1{font-size:16px}
  .metric-grid,.status-job-grid,.finance-metrics{grid-template-columns:1fr!important}
  .content{padding-left:8px;padding-right:8px}.panel{padding:13px}
}

@media (prefers-reduced-motion:reduce){.sidebar,.backdrop,.content{transition:none!important}}

/* BSI LIMS V1.0.8 — final mobile shell and secure distribution UI */
@media (max-width:1180px),(any-pointer:coarse){
  .login-body{min-height:100svh;overflow-y:auto;overflow-x:hidden;padding:12px;background-attachment:fixed}
  .login-card{display:block!important;width:min(560px,calc(100vw - 24px))!important;min-height:0!important;margin:auto;border-radius:22px}
  .login-visual{display:none!important}
  .login-form-wrap{min-height:0;padding:34px 30px!important}
  .login-mobile-brand{display:flex!important;align-items:center;gap:9px;margin-bottom:22px;overflow:visible}
  .login-mobile-brand img{display:block;width:min(230px,67vw)!important;height:auto!important;max-height:none!important;object-fit:contain}
  .login-mobile-brand b{font-size:18px;white-space:nowrap}
  .login-tools{flex-wrap:wrap}
  .sidebar{will-change:transform}
  .main-area{min-height:100svh}
}
@media (max-width:650px){
  body{min-width:0!important}
  .login-body{padding:max(8px,env(safe-area-inset-top)) 8px max(12px,env(safe-area-inset-bottom))}
  .login-card{width:100%!important;border-radius:17px}
  .login-form-wrap{padding:24px 18px!important}
  .login-form-wrap h2{font-size:24px}
  .login-mobile-brand{margin-bottom:18px}
  .login-mobile-brand img{width:min(205px,70vw)!important}
  .login-mobile-brand b{font-size:16px}
  input,select,textarea{font-size:16px!important}
  .login-roles{max-height:34vh;overflow:auto}
  .sidebar{width:min(88vw,306px)!important}
  .brand img,.sidebar-logo{width:min(205px,68vw)!important;height:auto!important}
  .brand-tagline{font-size:9px;margin-bottom:16px}
  .nav-item{min-height:44px;font-size:12px}
  .topbar{width:100%;overflow:hidden}
  .page-heading{max-width:calc(100vw - 145px)}
  .top-actions{max-width:135px}
  .content{width:100%;max-width:100vw;overflow-x:hidden}
  .table-wrap{width:100%;max-width:calc(100vw - 20px)}
  .document-grid,.template-grid,.assignment-grid,.review-grid,.role-guide-grid,.demo-stage-grid,.top-service-grid,.master-service-grid{width:100%}
  .doc-card,.template-card,.assignment-card,.review-card,.top-service{min-width:0;max-width:100%}
  dialog.modal{inset:0;margin:auto!important;width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;max-height:calc(100svh - 14px)!important}
  dialog.modal .modal-card{max-height:calc(100svh - 14px)!important;border-radius:15px!important}
}
@media (max-width:360px){
  .top-actions{gap:2px}.icon-btn,.top-logout{width:37px;height:37px}.page-heading{max-width:calc(100vw - 125px)}
  .login-form-wrap{padding:22px 15px!important}.login-mobile-brand img{width:min(185px,68vw)!important}
}
