:root{--navy:#0b1f36;--navy2:#102c4c;--blue:#1769c2;--blue2:#2479d4;--blue-soft:#e8f2fd;--ink:#182334;--muted:#64748b;--line:#dfe7f0;--page:#f5f7fa;--green:#1b8d69;--green-soft:#e9f7f1;--red:#cf3e4f;--red-soft:#fff0f2;--amber:#a96816;--amber-soft:#fff6e9;--shadow:0 12px 36px rgba(21,46,74,.07)}
*{box-sizing:border-box}html{background:var(--page);color:var(--ink)}body{margin:0;background:var(--page);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.hidden{display:none!important}
.brand{display:flex;align-items:center;gap:12px}.brand>span:last-child{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:16px}.brand small{color:#91abc4;font-size:10px}.brand-mark{width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;color:#fff;background:linear-gradient(145deg,#398ce0,#1361b2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 20px rgba(0,0,0,.17);font-size:13px;font-weight:900;letter-spacing:.04em}.brand-mark.large{width:62px;height:62px;border-radius:18px;font-size:17px}
.state-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#fff;background:linear-gradient(155deg,var(--navy2),var(--navy))}.state-screen p{margin:0;color:#9db3c9;font-size:11px}.loading-line{width:200px;height:3px;overflow:hidden;border-radius:9px;background:rgba(255,255,255,.12)}.loading-line i{display:block;width:45%;height:100%;background:#5ca9f2;animation:loading 1.2s ease-in-out infinite}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(60,134,207,.28),transparent 30%),linear-gradient(155deg,var(--navy2),var(--navy))}.login-card{width:min(480px,100%);padding:34px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.28)}.login-brand{display:flex;align-items:center;gap:17px;margin-bottom:29px}.login-brand>div{display:flex;flex-direction:column;gap:4px}.login-brand>div>span{color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.login-brand h1{margin:0;color:var(--navy);font-size:25px;letter-spacing:-.03em}.login-brand p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.login-card form{display:grid;gap:14px}.login-card label,.form-field{display:flex;flex-direction:column;gap:7px}.login-card label span,.form-field>span{color:#56677a;font-size:10px;font-weight:800}.login-card input,.form-field input,.form-field select,.form-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;outline:0;color:#26384c;background:#fbfcfe;font-size:12px}.login-card input:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#6ba6df;box-shadow:0 0 0 3px rgba(36,121,212,.1)}.form-error{margin:0;padding:10px 12px;border-radius:8px;color:var(--red);background:var(--red-soft);font-size:10px;font-weight:700}.secure-note{display:block;margin-top:18px;color:#8c99a8;font-size:8px;text-align:center}
.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;border:1px solid transparent;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer;transition:.16s}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:var(--blue);box-shadow:0 7px 18px rgba(23,105,194,.18)}.button.secondary{border-color:var(--line);color:#34465b;background:#fff}.button.danger{color:var(--red);background:var(--red-soft)}.button.green{color:#fff;background:#18744f}.button.wide{width:100%}.button:disabled{opacity:.48;cursor:not-allowed;transform:none}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;display:flex;flex-direction:column;padding:28px 22px 20px;color:#fff;background:radial-gradient(circle at 15% 6%,rgba(60,134,207,.27),transparent 32%),linear-gradient(175deg,var(--navy2),var(--navy));z-index:30}.side-nav{display:grid;gap:7px;margin-top:42px}.side-nav button{width:100%;display:flex;align-items:center;gap:13px;padding:12px 14px;border:0;border-radius:11px;color:#b8c9dc;background:transparent;text-align:left;font-size:13px;font-weight:700;cursor:pointer}.side-nav button b{color:#7590aa;font-size:9px;letter-spacing:.08em}.side-nav button:hover{color:#fff;background:rgba(255,255,255,.06)}.side-nav button.active{color:#fff;background:rgba(74,151,226,.18);box-shadow:inset 3px 0 #55a8f4}.side-nav button.active b{color:#77baff}.install-button{width:100%;display:flex;align-items:center;gap:11px;margin-top:auto;padding:11px;border:1px solid rgba(111,184,246,.3);border-radius:12px;color:#fff;background:rgba(70,151,224,.12);text-align:left;cursor:pointer}.install-button>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#287fd0;font-size:18px;font-weight:900}.install-button>div,.sync-note>div,.account-button>div{display:flex;flex-direction:column;gap:3px}.install-button strong,.sync-note strong,.account-button strong{font-size:9px}.install-button small,.sync-note small,.account-button small{color:#91abc4;font-size:7px}.sync-note{display:flex;align-items:flex-start;gap:9px;margin-top:10px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.04)}.sync-note i{width:8px;height:8px;margin-top:2px;border-radius:50%;background:#4ed8a7;box-shadow:0 0 0 4px rgba(78,216,167,.12)}.account-button{width:100%;display:flex;align-items:center;gap:9px;margin-top:8px;padding:8px;border:0;border-radius:10px;color:#fff;background:transparent;text-align:left;cursor:pointer}.account-button:hover{background:rgba(255,255,255,.05)}.account-button>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#315477;color:#b9d8f5;font-size:9px;font-weight:900}
.app-main{min-height:100vh;margin-left:264px}.page-content{width:min(1440px,100%);margin:0 auto;padding:40px 42px 70px}.mobile-header,.mobile-nav{display:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.page-header>div:first-child{max-width:720px}.eyebrow{display:block;margin-bottom:8px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.page-header h1{margin:0;color:var(--navy);font-size:clamp(28px,3vw,38px);line-height:1.1;letter-spacing:-.035em}.page-header p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.header-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{min-height:132px;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-top:3px solid var(--blue2);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(21,46,74,.035)}.stat-card:nth-child(2){border-top-color:var(--navy2)}.stat-card:nth-child(3){border-top-color:var(--red)}.stat-card:nth-child(4){border-top-color:var(--green)}.stat-card span{color:var(--muted);font-size:10px;font-weight:700}.stat-card strong{margin-top:14px;color:var(--navy);font-size:30px;letter-spacing:-.035em}.stat-card small{margin-top:auto;color:#8b9aae;font-size:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.8fr);gap:17px}.panel{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 21px 16px;border-bottom:1px solid #edf1f6}.panel-title h2{margin:0;color:var(--navy);font-size:14px}.panel-title p{margin:4px 0 0;color:#8b99aa;font-size:9px}.text-button{border:0;color:var(--blue);background:none;font-size:9px;font-weight:900;cursor:pointer}.alert-list,.movement-list{padding:4px 14px 10px}.alert-row,.movement-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;border-bottom:1px solid #eff3f7}.alert-row:last-child,.movement-row:last-child{border-bottom:0}.category-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#2967a2;background:#e9f2fb;font-size:8px;font-weight:900}.row-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.row-copy strong{overflow:hidden;color:#2d3b4c;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.row-copy small{color:#97a3b1;font-size:8px}.alert-row>strong{color:var(--red);font-size:15px}.movement-arrow{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:900}.movement-arrow.entry{color:var(--green);background:var(--green-soft)}.movement-arrow.exit{color:var(--red);background:var(--red-soft)}.movement-amount.entry{color:var(--green)}.movement-amount.exit{color:var(--red)}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.quick-actions button{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.quick-actions button>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;font-size:19px}.quick-actions button.entry>span{color:var(--green);background:var(--green-soft)}.quick-actions button.exit>span{color:var(--red);background:var(--red-soft)}.quick-actions button div{display:flex;flex-direction:column;gap:3px}.quick-actions strong{font-size:10px}.quick-actions small{color:#8795a5;font-size:8px}
.tools{display:flex;align-items:flex-end;gap:11px;padding:16px;border-bottom:1px solid var(--line);background:#fbfcfe}.search,.select{display:flex;flex-direction:column;gap:6px}.search{flex:1;max-width:450px}.select{width:220px}.search span,.select span{color:#78889a;font-size:8px;font-weight:900}.search input,.select select{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:0;color:#26384c;background:#fff;font-size:10px}.result-count{margin-left:auto;color:#8694a4;font-size:9px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th{padding:12px 16px;color:#8392a3;background:#f1f5f9;font-size:8px;letter-spacing:.04em;text-align:left;text-transform:uppercase}.data-table td{padding:11px 16px;border-top:1px solid #e9eff5;color:#47596c;font-size:9px;vertical-align:middle}.data-table tr:hover td{background:#fbfdff}.product-name{display:flex;align-items:center;gap:10px;min-width:280px}.product-name>div{min-width:0;display:flex;flex-direction:column;gap:3px}.product-name strong{overflow:hidden;color:#263548;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.product-name small{color:#8c9aaa;font-size:8px}.product-thumb{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:9px;color:#2967a2;background:#e9f2fb;font-size:8px;font-weight:900}.product-thumb img{width:100%;height:100%;object-fit:cover}.status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:7px;font-weight:900}.status.good{color:var(--green);background:var(--green-soft)}.status.low{color:var(--amber);background:var(--amber-soft)}.status.empty{color:var(--red);background:var(--red-soft)}.mini-button{padding:7px 9px;border:1px solid #cfe0f1;border-radius:8px;color:var(--blue);background:#eef7ff;font-size:8px;font-weight:900;cursor:pointer}.cards{display:none}.supplier-grid,.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.info-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 22px rgba(21,46,74,.04)}.info-card header{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid #edf1f5}.info-card header>span{width:41px;height:41px;display:grid;place-items:center;border-radius:11px;color:var(--blue);background:var(--blue-soft);font-size:10px;font-weight:900}.info-card header div{display:flex;flex-direction:column;gap:3px}.info-card header strong{color:var(--navy);font-size:11px}.info-card header small{color:#8b99aa;font-size:8px}.info-card dl{display:grid;gap:8px;margin:14px 0 0}.info-card dl>div{display:grid;grid-template-columns:70px 1fr;gap:8px}.info-card dt{color:#8a98a9;font-size:8px}.info-card dd{margin:0;color:#405267;font-size:9px;overflow-wrap:anywhere}.empty-state{min-height:240px;display:grid;place-items:center;padding:30px;color:#8493a5;font-size:10px;text-align:center}
.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(4,17,31,.6);backdrop-filter:blur(5px);z-index:100}.modal{width:min(680px,100%);max-height:calc(100vh - 38px);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.24);animation:modalIn .18s ease}.modal>header{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 23px 17px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);z-index:3}.modal>header h2{margin:0;color:var(--navy);font-size:18px}.modal>header p{margin:5px 0 0;color:var(--muted);font-size:9px}.modal>header button{width:32px;height:32px;border:0;border-radius:50%;color:#67788b;background:#f1f4f7;font-size:20px;cursor:pointer}.modal-body{padding:20px 23px 0}.modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;margin:22px -23px 0;padding:16px 23px;border-top:1px solid var(--line);background:rgba(255,255,255,.97)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-field.full{grid-column:1/-1}.form-field textarea{min-height:84px;resize:vertical}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px}.type-toggle button{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fafbfd;text-align:left;cursor:pointer}.type-toggle button span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:18px}.type-toggle button div{display:flex;flex-direction:column;gap:2px}.type-toggle strong{font-size:10px}.type-toggle small{color:#8493a4;font-size:7px}.type-toggle .entry span{color:var(--green);background:var(--green-soft)}.type-toggle .exit span{color:var(--red);background:var(--red-soft)}.type-toggle .active{border-color:#74b7e8;box-shadow:inset 0 0 0 1px #74b7e8}.photo-capture{display:grid;place-items:center;min-height:150px;overflow:hidden;border:1.5px dashed #9bbddd;border-radius:12px;color:var(--blue);background:#f8fbff;cursor:pointer;text-align:center}.photo-capture img{width:100%;height:190px;object-fit:cover}.photo-capture div{display:flex;align-items:center;flex-direction:column;gap:5px}.photo-capture div>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:22px}.photo-capture strong{font-size:10px}.photo-capture small{color:#7792ad;font-size:8px}.recognition{display:grid;gap:7px;margin-top:13px}.candidate{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.candidate.best{border-color:#8dbbe7;background:#f4f9ff;box-shadow:inset 3px 0 var(--blue)}.candidate img,.candidate>span:first-child{width:46px;height:46px;display:grid;place-items:center;object-fit:cover;border-radius:8px;color:var(--blue);background:var(--blue-soft);font-size:8px;font-weight:900}.candidate div{min-width:0;display:flex;flex-direction:column;gap:3px}.candidate strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.candidate small{color:#8292a5;font-size:7px}.candidate b{color:var(--blue);font-size:11px}.install-intro{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #cfe1f3;border-radius:12px;background:#f4f9ff}.install-intro div{display:flex;flex-direction:column;gap:4px}.install-intro strong{font-size:13px}.install-intro small{color:#6d8197;font-size:9px}.install-steps{display:grid;gap:9px;margin:17px 0;padding:0;list-style:none}.install-steps li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.install-steps li span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--blue);font-size:8px;font-weight:900}.install-steps p{margin:0;color:#455970;font-size:9px;line-height:1.45}
.camera-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,9,17,.95);z-index:300}.camera-panel{width:min(720px,100%);max-height:calc(100dvh - 36px);display:flex;overflow:hidden;flex-direction:column;border:1px solid rgba(255,255,255,.12);border-radius:18px;color:#fff;background:#050a10}.camera-panel>header{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#09121c}.camera-panel>header div{display:flex;flex-direction:column;gap:3px}.camera-panel>header span{color:#72b9f5;font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.camera-panel>header strong{font-size:12px}.camera-panel>header button{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fff;background:rgba(255,255,255,.08);font-size:21px;cursor:pointer}.camera-viewport{position:relative;min-height:340px;overflow:hidden;flex:1;background:#000}.camera-viewport video{width:100%;height:100%;min-height:340px;display:block;object-fit:cover}.camera-guide{position:absolute;inset:50% auto auto 50%;width:min(72%,430px);aspect-ratio:4/3;border:2px solid rgba(255,255,255,.78);border-radius:15px;box-shadow:0 0 0 999px rgba(0,0,0,.13);transform:translate(-50%,-50%)}.camera-guide:after{content:"Frente del producto";position:absolute;inset:auto auto 8px 50%;padding:5px 8px;border-radius:20px;background:rgba(0,0,0,.58);font-size:8px;font-weight:800;white-space:nowrap;transform:translateX(-50%)}.camera-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:22px;background:#050a10;text-align:center}.camera-status i{width:28px;height:28px;border:3px solid rgba(255,255,255,.18);border-top-color:#70b9f6;border-radius:50%;animation:spin .75s linear infinite}.camera-status strong{font-size:11px}.camera-status p{max-width:400px;margin:0;color:#afbdca;font-size:9px;line-height:1.5}.camera-panel>footer{min-height:88px;display:grid;grid-template-columns:1fr 86px 1fr;align-items:center;padding:10px 22px 6px;background:#09121c}.camera-panel>footer>button:first-child{justify-self:start;display:flex;align-items:center;gap:5px;border:0;color:#cfdae4;background:none;font-size:8px;font-weight:800;cursor:pointer}.camera-panel>footer>button:first-child span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1);font-size:17px}.shutter{width:68px;height:68px;display:grid;place-items:center;justify-self:center;border:3px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.shutter i{width:53px;height:53px;border-radius:50%;background:#fff}.camera-panel>p{margin:0;padding:0 16px 13px;color:#8fa0af;background:#09121c;font-size:8px;text-align:center}.toast{position:fixed;right:24px;bottom:24px;max-width:min(390px,calc(100vw - 32px));padding:13px 16px;border-radius:10px;color:#fff;background:var(--navy);box-shadow:0 14px 40px rgba(0,0,0,.2);font-size:10px;font-weight:700;z-index:400}
.client-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:17px}.client-summary article{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.client-summary span{color:var(--muted);font-size:9px;font-weight:700}.client-summary strong{color:var(--navy);font-size:21px}.client-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#166b51;background:var(--green-soft);font-size:8px;font-weight:900}.audit-panel{margin-top:17px}.audit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px 15px 14px}.audit-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:5px 8px;border-bottom:1px solid #edf1f5}.audit-row>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--blue);background:var(--blue-soft);font-size:7px;font-weight:900}.audit-row>div{min-width:0;display:flex;flex-direction:column;gap:4px}.audit-row strong{overflow:hidden;color:#35475b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.audit-row small{color:#91a0b0;font-size:7px}.account-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px;padding:14px;border:1px solid #cfe1f3;border-radius:11px;background:#f5f9fe}.account-actions>div{display:flex;flex-direction:column;gap:4px}.account-actions strong{color:var(--navy);font-size:10px}.account-actions small{max-width:330px;color:#6d8197;font-size:8px;line-height:1.5}
.app-brand{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;gap:12px;padding:0;border:0;color:#fff;background:none;text-align:left;cursor:pointer}.app-brand>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.app-brand strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.app-brand small{overflow:hidden;color:#91abc4;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.app-brand>b{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:#a8c9e7;background:rgba(255,255,255,.06);font-size:13px}.launcher-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:27px;padding:25px 28px;border-radius:18px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(82,167,242,.31),transparent 29%),linear-gradient(135deg,#102c4c,#0b1f36);box-shadow:0 18px 50px rgba(11,31,54,.16)}.launcher-kicker{display:block;margin-bottom:8px;color:#74baf4;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.launcher-hero h1{margin:0;font-size:34px;letter-spacing:-.035em}.launcher-hero p{margin:8px 0 0;color:#b1c7dc;font-size:12px}.launcher-user{display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.06)}.launcher-user>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#2676c4;font-size:9px;font-weight:900}.launcher-user>div{display:flex;flex-direction:column;gap:4px}.launcher-user strong{font-size:10px}.launcher-user small{color:#9fb7cd;font-size:8px}.app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.app-tile{min-height:205px;display:flex;align-items:flex-start;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(21,46,74,.055);text-align:left;cursor:pointer;transition:.18s}.app-tile:hover{border-color:#b8d2eb;box-shadow:0 16px 36px rgba(21,46,74,.11);transform:translateY(-2px)}.app-tile.coming{background:#fafbfd;box-shadow:none}.app-tile.coming:hover{border-color:var(--line);box-shadow:none;transform:none}.app-tile-icon{position:relative;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:#fff;font-size:14px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.17),0 8px 18px rgba(0,0,0,.12)}.app-tile-icon>em{position:absolute;inset:-7px -7px auto auto;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border:2px solid #fff;border-radius:99px;color:#fff;background:var(--red);font-size:8px;font-style:normal}.app-tile-icon.blue{background:linear-gradient(145deg,#358bdd,#1769c2)}.app-tile-icon.green{background:linear-gradient(145deg,#35a77e,#197657)}.app-tile-icon.purple{background:linear-gradient(145deg,#8c72cf,#6550a5)}.app-tile-icon.orange{background:linear-gradient(145deg,#e59a46,#b96916)}.app-tile-icon.teal{background:linear-gradient(145deg,#2ba1a5,#147376)}.app-tile-icon.navy{background:linear-gradient(145deg,#496b8e,#193d61)}.app-tile-icon.gray{background:linear-gradient(145deg,#7c8997,#4d5d6d)}.app-tile>div{display:flex;flex-direction:column;gap:5px}.tile-state{color:var(--blue);font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.app-tile.coming .tile-state{color:#9a6a2f}.app-tile strong{color:var(--navy);font-size:16px}.app-tile p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.app-tile>b{margin-top:auto;color:var(--blue);font-size:8px}.app-tile.coming>b{color:#9aa5b2}.launcher-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.launcher-summary article{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:#fff}.launcher-summary span{color:var(--muted);font-size:8px}.launcher-summary strong{color:var(--navy);font-size:15px}.launcher-mode .sync-note i{background:#74baf4}.launcher-mode .app-main{background:linear-gradient(180deg,#f3f6fa,#f7f9fb)}
.notification-button{position:relative;width:100%;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:8px;padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:12px;color:#fff;background:rgba(255,255,255,.045);text-align:left;cursor:pointer}.notification-button:hover{background:rgba(255,255,255,.08)}.notification-button>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#cbe7ff;background:#315477;font-size:15px;font-weight:900}.notification-button>div{display:flex;flex-direction:column;gap:3px}.notification-button strong{font-size:9px}.notification-button small{color:#91abc4;font-size:7px}.notification-button>b,.mobile-header #mobileAlertBadge{min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:99px;color:#fff;background:var(--red);font-size:7px}.notification-button.critical{border-color:rgba(242,98,112,.45);background:rgba(207,62,79,.12)}.notification-button.critical>span{color:#fff;background:var(--red)}.notification-button.warning>span{color:#fff;background:var(--amber)}.side-nav button em{min-width:20px;height:20px;display:grid;place-items:center;margin-left:auto;padding:0 5px;border-radius:99px;color:#fff;background:var(--red);font-size:7px;font-style:normal}.mobile-nav button b{position:relative}.mobile-nav button b em{position:absolute;inset:-5px -8px auto auto;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border:1px solid #fff;border-radius:99px;color:#fff;background:var(--red);font-size:6px;font-style:normal}.mobile-header #mobileAlerts{position:relative}.mobile-header #mobileAlertBadge{position:absolute;inset:-5px -5px auto auto;border:2px solid var(--navy)}
.alert-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.alert-stats article{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(21,46,74,.035)}.alert-stats article.critical{border-top-color:var(--red)}.alert-stats article.warning{border-top-color:var(--amber)}.alert-stats span{color:var(--muted);font-size:10px;font-weight:700}.alert-stats strong{color:var(--navy);font-size:26px}.alert-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:26px 0 13px}.alert-section-title h2{margin:0;color:var(--navy);font-size:16px}.alert-section-title p{margin:5px 0 0;color:var(--muted);font-size:9px}.alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stock-alert{overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:14px;background:#fff;box-shadow:0 6px 22px rgba(21,46,74,.04)}.stock-alert.critical{border-top-color:var(--red)}.stock-alert.unread{box-shadow:0 10px 30px rgba(21,46,74,.1)}.stock-alert.resolved{border-top-color:#9aa8b6;opacity:.78}.stock-alert header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:17px 18px 12px}.stock-alert header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--amber);background:var(--amber-soft);font-size:16px;font-weight:900}.stock-alert.critical header>span{color:var(--red);background:var(--red-soft)}.stock-alert.resolved header>span{color:var(--green);background:var(--green-soft)}.stock-alert header div{min-width:0;display:flex;flex-direction:column;gap:4px}.stock-alert header small{color:#8a98a8;font-size:7px;font-weight:900}.stock-alert header strong{overflow:hidden;color:var(--navy);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.stock-alert header em{padding:5px 7px;border-radius:99px;color:#fff;background:var(--red);font-size:7px;font-style:normal;font-weight:900}.stock-alert>p{min-height:44px;margin:0;padding:0 18px;color:#637488;font-size:9px;line-height:1.55}.stock-alert dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 18px;padding:12px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}.stock-alert dl>div{display:flex;flex-direction:column;gap:4px}.stock-alert dt{color:#91a0b0;font-size:7px}.stock-alert dd{margin:0;color:#36495e;font-size:9px;font-weight:800}.stock-alert footer{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:0 18px 15px}.stock-alert footer .button{min-height:32px;padding:6px 9px;font-size:8px}.stock-alert footer>span{color:#8392a3;font-size:8px}.empty-alerts{min-height:260px;display:grid;place-items:center;align-content:center;gap:9px;padding:35px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center}.empty-alerts>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--green-soft);font-size:24px}.empty-alerts strong{color:var(--navy);font-size:16px}.empty-alerts p{margin:0;color:var(--muted);font-size:9px}
.app-tile-icon.red{background:linear-gradient(145deg,#d45c6b,#a72d40)}
.document-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.document-summary article{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.document-summary span{color:var(--muted);font-size:9px;font-weight:700}.document-summary strong{color:var(--navy);font-size:20px}.document-notice{display:flex;align-items:center;gap:10px;margin-bottom:17px;padding:12px 15px;border:1px solid #cfe4dc;border-radius:11px;color:#356554;background:#f2fbf7}.document-notice>span{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--green);font-size:10px;font-weight:900}.document-notice p{margin:0;font-size:9px;line-height:1.5}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;background:var(--page)}.document-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 22px rgba(21,46,74,.04)}.document-card>header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:17px 17px 12px}.document-card>header>div{min-width:0;display:flex;flex-direction:column;gap:4px}.document-card>header small{color:var(--blue);font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.document-card>header strong{overflow:hidden;color:var(--navy);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.document-card>header em{padding:5px 7px;border-radius:99px;color:#60758b;background:#edf3f8;font-size:7px;font-style:normal;font-weight:900}.document-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#fff;background:#6e7f91;font-size:8px;font-weight:900;letter-spacing:.02em}.document-icon.pdf{background:#c73e4e}.document-icon.word{background:#276fc1}.document-icon.sheet{background:#16805d}.document-icon.database{background:#6e56a4}.document-icon.image{background:#b56b20}.document-icon.generic{background:#617385}.document-card>p{min-height:44px;margin:0;padding:0 17px;color:#657589;font-size:9px;line-height:1.55}.document-card>dl{display:grid;gap:7px;margin:13px 17px;padding:12px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}.document-card>dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px}.document-card dt{color:#91a0af;font-size:7px}.document-card dd{overflow:hidden;margin:0;color:#3f5267;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.document-card>footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 17px 15px}.document-card>footer .button{min-height:33px;padding:7px 10px;font-size:8px}.document-card>footer .mini-button{display:inline-flex;align-items:center;justify-content:center;min-height:33px;text-decoration:none}.version-history{border-top:1px solid #edf1f5;background:#f9fbfd}.version-history summary{padding:12px 17px;color:var(--blue);font-size:8px;font-weight:900;cursor:pointer}.version-history>div{display:grid;padding:0 12px 12px}.version-history a{display:flex;justify-content:space-between;gap:10px;padding:9px;border-radius:8px;color:#3e5268;text-decoration:none}.version-history a:hover{background:#eef5fc}.version-history a span{overflow:hidden;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.version-history a small{flex:0 0 auto;color:#8695a5;font-size:7px}.document-empty{grid-column:1/-1;background:#fff}.document-upload-current{display:flex;align-items:center;gap:12px;margin-bottom:17px;padding:13px;border:1px solid #d7e3ee;border-radius:11px;background:#f7fafe}.document-upload-current>div{min-width:0;display:flex;flex-direction:column;gap:4px}.document-upload-current strong{color:var(--navy);font-size:10px}.document-upload-current small{overflow:hidden;color:#73859a;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.form-help{margin:13px 0 0;padding:10px 12px;border-radius:9px;color:#617489;background:#f1f5f9;font-size:8px;line-height:1.5}
.document-icon.presentation{background:#cb7426}.document-card>footer .button{text-decoration:none}
@keyframes loading{from{transform:translateX(-110%)}to{transform:translateX(330%)}}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.page-content{padding-inline:28px}.stats-grid{grid-template-columns:repeat(2,1fr)}.supplier-grid,.user-grid{grid-template-columns:repeat(2,1fr)}.alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{display:none}.app-main{margin-left:0;padding-top:70px;padding-bottom:76px}.mobile-header{position:fixed;inset:0 0 auto;height:65px;display:flex;align-items:center;justify-content:space-between;padding:9px 16px;color:#fff;background:var(--navy);z-index:50}.mobile-header .brand-mark{width:39px;height:39px;border-radius:10px}.mobile-header .brand strong{font-size:13px}.mobile-header>div:last-child{display:flex;gap:7px}.mobile-header button{width:38px;height:38px;border:1px solid rgba(255,255,255,.13);border-radius:10px;color:#fff;background:rgba(255,255,255,.08);font-size:20px;cursor:pointer}.mobile-header button:first-child{color:#8ec9fa}.mobile-nav{position:fixed;inset:auto 0 0;height:68px;display:grid;grid-template-columns:repeat(7,1fr);padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 25px rgba(19,43,67,.08);z-index:50}.mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;color:#8391a2;background:none}.mobile-nav button b{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;font-size:8px}.mobile-nav button small{font-size:6.5px;font-weight:700}.mobile-nav button.active{color:var(--blue)}.mobile-nav button.active b{background:var(--blue-soft)}.page-content{padding:24px 18px 34px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{width:100%}.header-actions .button{flex:1}.dashboard-grid{grid-template-columns:1fr}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;padding:12px;background:var(--page)}.mobile-card{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.mobile-card>strong{margin-top:10px;color:#26364a;font-size:10px;line-height:1.4}.mobile-card>small{margin-top:4px;color:#8795a5;font-size:8px}.mobile-card dl{display:grid;gap:7px;margin:12px 0}.mobile-card dl>div{display:grid;grid-template-columns:68px 1fr;gap:6px}.mobile-card dt{color:#8b98a7;font-size:7px}.mobile-card dd{margin:0;color:#384b60;font-size:8px;font-weight:700}.audit-list{grid-template-columns:1fr}.table-wrap{display:none}}
@media(max-width:620px){.login-card{padding:25px 20px}.login-brand{align-items:flex-start;flex-direction:column}.page-content{padding-inline:13px}.page-header h1{font-size:27px}.page-header p{font-size:11px}.stats-grid{display:flex;gap:9px;overflow-x:auto;margin-inline:-13px;padding:0 13px 4px}.stat-card{min-width:200px;min-height:116px}.quick-actions{grid-template-columns:1fr}.tools{display:grid;grid-template-columns:1fr 1fr;padding:12px}.search{grid-column:1/-1;max-width:none}.select{width:auto}.result-count{margin:0;text-align:right}.cards{grid-template-columns:1fr;padding:9px}.supplier-grid,.user-grid{grid-template-columns:1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:94vh;border-radius:18px 18px 0 0}.modal>header{padding:18px 16px 14px}.modal-body{padding:16px 16px 0}.modal-footer{margin-inline:-16px;padding:13px 16px max(13px,env(safe-area-inset-bottom))}.modal-footer .button{flex:1}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.camera-overlay{padding:0}.camera-panel{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.camera-panel>header{min-height:calc(62px + env(safe-area-inset-top));padding-top:calc(10px + env(safe-area-inset-top))}.camera-viewport,.camera-viewport video{min-height:0}.camera-guide{width:79%}.camera-panel>p{padding-bottom:max(14px,env(safe-area-inset-bottom))}.toast{right:15px;bottom:82px}}
@media(max-width:620px){.client-summary{display:flex;overflow-x:auto;margin-inline:-13px;padding:0 13px 4px}.client-summary article{min-width:180px}.account-actions{align-items:stretch;flex-direction:column}.account-actions .button{width:100%}}
@media(max-width:1180px){.app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.launcher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.launcher-mode .app-main{padding-bottom:18px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launcher-hero{padding:22px}.launcher-hero h1{font-size:30px}}
@media(max-width:620px){.launcher-hero{align-items:flex-start;flex-direction:column;padding:21px 18px}.launcher-user{width:100%}.app-grid{grid-template-columns:1fr}.app-tile{min-height:180px}.launcher-summary{grid-template-columns:1fr 1fr}.launcher-summary article{align-items:flex-start;flex-direction:column;gap:8px}.mobile-header .brand small{display:none}.mobile-header>div:last-child{gap:5px}.mobile-header button{width:35px;height:35px}.alert-stats{display:flex;overflow-x:auto;margin-inline:-13px;padding:0 13px 4px}.alert-stats article{min-width:185px}.alert-grid{grid-template-columns:1fr}.alert-section-title{align-items:flex-start;flex-direction:column}.stock-alert>p{min-height:0}}
@media(max-width:1180px){.document-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.document-summary{display:flex;overflow-x:auto;margin-inline:-13px;padding:0 13px 4px}.document-summary article{min-width:180px}.document-notice{align-items:flex-start}.document-grid{grid-template-columns:1fr;padding:9px}.document-card>p{min-height:0}.version-history a{align-items:flex-start;flex-direction:column}.document-card>footer>*{flex:1}.document-card>footer .button,.document-card>footer .mini-button{white-space:nowrap}.document-upload-current{align-items:flex-start}.document-upload-current .document-icon{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.notification-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.notification-empty{display:flex;align-items:center;gap:13px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.notification-empty>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--green);background:var(--green-soft);font-size:17px;font-weight:900}.notification-empty>div{display:flex;flex-direction:column;gap:5px}.notification-empty strong{color:var(--navy);font-size:11px}.notification-empty p{margin:0;color:var(--muted);font-size:8px}.new-activity-count{padding:6px 9px;border-radius:99px;color:#fff;background:var(--red);font-size:7px;font-weight:900}.activity-feed{display:grid;gap:9px}.activity-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid #a7b4c2;border-radius:12px;background:#fff;box-shadow:0 4px 15px rgba(21,46,74,.03)}.activity-card.unread{border-left-color:var(--blue);background:#fbfdff;box-shadow:0 8px 24px rgba(21,46,74,.08)}.activity-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#728398;font-size:10px;font-weight:900}.activity-card.document .activity-icon{background:#bd3e50}.activity-card.inventory .activity-icon{background:#2773bf;font-size:17px}.activity-card.product .activity-icon{background:#287c60}.activity-card.contact .activity-icon{background:#7159a8}.activity-card.team .activity-icon{background:#be7627}.activity-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.activity-copy header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.activity-copy header>div{min-width:0;display:flex;flex-direction:column;gap:3px}.activity-copy small{color:#8796a7;font-size:7px}.activity-copy strong{color:var(--navy);font-size:11px}.activity-copy header em{padding:4px 7px;border-radius:99px;color:#fff;background:var(--blue);font-size:6.5px;font-style:normal;font-weight:900}.activity-copy>b{overflow:hidden;color:#3c536b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.activity-copy>p{margin:0;color:#738399;font-size:8px}.activity-card>footer{min-width:150px;display:flex;align-items:center;justify-content:flex-end;gap:9px}.activity-card>footer>span{color:#8b99a9;font-size:7px}.activity-card>footer .text-button{white-space:nowrap}.resolved-notifications{margin-top:26px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.resolved-notifications>summary{color:var(--blue);font-size:9px;font-weight:900;cursor:pointer}.resolved-notifications .alert-grid{margin-top:15px}
@media(max-width:900px){.notification-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-card{grid-template-columns:40px minmax(0,1fr)}.activity-icon{width:40px;height:40px}.activity-card>footer{grid-column:2;min-width:0;justify-content:flex-start}}
@media(max-width:620px){.notification-stats{display:flex;grid-template-columns:none}.activity-card{grid-template-columns:36px minmax(0,1fr);align-items:start;padding:13px 12px}.activity-icon{width:36px;height:36px}.activity-copy header{gap:7px}.activity-copy header em{flex:0 0 auto}.activity-card>footer{grid-column:1/-1;justify-content:flex-end;padding-top:3px}.activity-card>footer .mini-button,.activity-card>footer .text-button{flex:1;text-align:center}.resolved-notifications{padding:12px}.resolved-notifications .alert-grid{margin-top:12px}}
