@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary:#1b7a68;--primary-dark:#145a4f;--primary-soft:#d9f4ee;--secondary:#f8f1e7;--background:#f4f5f7;--surface:#fff;--surface-alt:#f9fbfd;--surface-muted:#f1f5f9;--text:#10243a;--text-muted:#5f7186;--border:#d8e0ea;--success:#0f9d73;--error:#dc4a4a;--warning:#cf7f26;--shadow-soft:0 10px 28px #10243a14;--shadow-elevated:0 22px 52px #10243a26;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--header-height:78px;--bottom-nav-height:86px;--bottom-nav-overlay-height:calc(3.6rem + env(safe-area-inset-bottom));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root.dark{--primary:#4ac4ab;--primary-dark:#78d8c4;--primary-soft:#4ac4ab24;--secondary:#262d35;--background:#0f141a;--surface:#171d25;--surface-alt:#111820;--surface-muted:#202a36;--text:#e8edf4;--text-muted:#9caac0;--border:#2b3747;--success:#41c89b;--error:#ff7474;--warning:#e0a15a;--shadow-soft:0 12px 32px #00000057;--shadow-elevated:0 24px 58px #00000073}.font-serif{letter-spacing:0;font-family:inherit;font-weight:850}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}html,body{background:radial-gradient(circle at 8% -10%, #1b7a6833, transparent 34%), radial-gradient(circle at 90% 8%, #10243a1f, transparent 26%), var(--background);width:100%;height:100%;color:var(--text)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-family:inherit;overflow:hidden}button,input,textarea,select{font-family:inherit}a{color:inherit}#root{width:100%;height:100%;position:relative;overflow:hidden}.route-layer{background:var(--surface-alt);isolation:isolate;width:100%;height:100%;position:relative}.route-transition{pointer-events:none;background:var(--surface-alt);will-change:transform, opacity;backface-visibility:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s;position:absolute;inset:0;overflow:hidden;transform:translate(0,0)}.route-transition .app-shell,.route-transition main{background:var(--surface-alt)}.route-transition-enter.route-transition-forward{transform:translate(100%)}.route-transition-enter.route-transition-back{opacity:.95;transform:translate(-22%)}.route-transition.route-animate.route-transition-enter{opacity:1;transform:translate(0,0)}.route-transition.route-animate.route-transition-exit.route-transition-forward{opacity:.86;transform:translate(-24%)}.route-transition.route-animate.route-transition-exit.route-transition-back{opacity:.98;transform:translate(100%)}.app-shell{background:linear-gradient(#ffffff52,#0000 18%);flex-direction:column;width:min(100%,560px);height:100%;margin:0 auto;display:flex}.app-shell>main,main{-webkit-overflow-scrolling:touch;padding-bottom:var(--bottom-nav-height);background:0 0;flex:1;position:relative;overflow-y:auto}main.onboarding-main{background:linear-gradient(180deg, #d9f4eee6, #f9fbfdf5 34%, #f8f1e7c2), var(--surface-alt);width:100%;height:100%;padding-bottom:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.route-transition{transition-duration:1ms}.tembo-onboard-card .onboard-step,.tembo-onboard-card .onboard-visual{animation:none}}.page-shell{min-height:100%;padding:1.2rem 1rem 1.5rem}.page-header-stack{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.page-title{color:var(--text);font-size:1.9rem;line-height:1}.page-subtitle{color:var(--text-muted);margin-top:.4rem;font-size:.9rem}.section-title{font-size:1.54rem;line-height:1.05}.section-subtitle{color:var(--text-muted);margin-top:.45rem;font-size:.88rem;line-height:1.5}.surface-card{background:linear-gradient(180deg, var(--surface), #fffffff2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.stat-card{background:linear-gradient(160deg, var(--surface), var(--surface-alt));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.15rem;display:grid}.metric-card-wide{grid-column:1/-1}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.38rem;font-size:.68rem}.metric-value{font-size:1.16rem;font-weight:800;line-height:1.15}.metric-value.primary{color:var(--primary-dark)}.metric-value.success{color:var(--success)}.metric-value.error{color:var(--error)}.btn{border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.4rem;height:46px;min-height:46px;padding:0 1.15rem;font-size:.9rem;font-weight:700;line-height:1;text-decoration:none;transition:transform .2s,opacity .2s,background-color .2s,box-shadow .2s;display:inline-flex}.btn:hover{opacity:.98;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:linear-gradient(130deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:0 14px 28px #145a4f40}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.btn-danger{color:#fff;background:linear-gradient(135deg,#ea5b57,#cb3936);box-shadow:0 14px 30px #dc4a4a3d}.btn-outline-danger{color:var(--error);background:0 0;border:1px solid #dc4a4a9e}.btn-small{height:40px;min-height:40px;padding:0 .9rem;font-size:.82rem}.btn-block{width:100%}.btn-icon svg{flex-shrink:0;width:15px;height:15px}a.btn{display:inline-flex}.input,select.input,textarea.input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);outline:none;padding:.92rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.4;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px 2px #10243a0d}.input:focus,select.input:focus,textarea.input:focus{border-color:#1b7a6885;box-shadow:0 0 0 3px #1b7a6824}.input::placeholder,textarea.input::placeholder{color:#9aa8bb}.mobile-select-control{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.88rem .92rem .88rem 1rem;font-size:.95rem;font-weight:600;line-height:1.35;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;box-shadow:inset 0 1px 2px #10243a0d}.mobile-select-control:focus-visible{border-color:#1b7a6885;outline:none;box-shadow:0 0 0 3px #1b7a6824}.mobile-select-control.is-disabled,.mobile-select-control:disabled{opacity:.62}.mobile-select-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.mobile-select-label.is-placeholder{color:#8fa0b5;font-weight:500}.mobile-select-chevron{color:#8fa0b5;flex-shrink:0;width:18px;height:18px}.input-lg{border-radius:18px;padding:1rem 1.1rem;font-size:1rem}.input-with-icon{position:relative}.input-with-icon .input{padding-right:3.2rem}.input-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.auth-form .input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form .input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form .input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form select.input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form select.input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form select.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form textarea.input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form textarea.input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.auth-form textarea.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 5000s ease-in-out}.field-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.34rem;font-size:.74rem;font-weight:700;display:block}.form-stack{flex-direction:column;gap:.85rem;display:flex}.field-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.auth-shell{justify-content:center;align-items:center;min-height:100dvh;padding:1.8rem 1.25rem;display:flex}.auth-card{width:100%;max-width:460px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(160deg,#fffffff2,#ffffffe0);border:1px solid #ffffffb8;border-radius:26px;padding:1.45rem}.auth-badge{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-dark);align-items:center;gap:.34rem;margin-bottom:.82rem;padding:.34rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.auth-brand-mark{background:#ffffffbd;border-radius:20px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:1.05rem;padding:.18rem;display:inline-flex;overflow:hidden;box-shadow:0 16px 30px #145a4f38}.auth-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.auth-title{color:var(--text);margin-bottom:.46rem;font-size:1.72rem;font-weight:800;line-height:1.08}.auth-subtitle{color:var(--text-muted);margin-bottom:1.3rem;font-size:1rem;line-height:1.45}.auth-form{flex-direction:column;gap:.94rem;display:flex}.auth-form .field-label{text-transform:none;letter-spacing:0;color:#243246;margin-bottom:.45rem;font-size:.82rem}.auth-form .input{box-shadow:none;background:#e7ebf0;border-color:#d6dde6}.auth-form .input:focus{border-color:#1b7a6873;box-shadow:0 0 0 3px #1b7a681f}.auth-form .input::placeholder{color:#89a0b8}.auth-form .input-lg{border-radius:16px;padding:.82rem .96rem;font-size:1rem}.auth-form .input-with-icon.has-trailing-icon .input{padding-right:3rem}.auth-form .input-with-leading-icon .input{padding-left:2.38rem}.auth-form .input-icon-btn{color:#8ca0b5;width:32px;height:32px;right:.7rem}.auth-form .btn.btn-primary{box-shadow:none}.input-leading-icon{color:#8ca0b5;pointer-events:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;top:50%;left:.76rem;transform:translateY(-50%)}.auth-meta-row{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.08rem;display:flex}.auth-remember{color:var(--text);cursor:pointer;align-items:center;gap:.58rem;font-size:.84rem;display:inline-flex}.auth-forgot-link{color:var(--primary-dark);white-space:nowrap;font-size:.84rem;font-weight:700;text-decoration:none}.auth-remember input{opacity:0;pointer-events:none;position:absolute}.checkbox-ui{background:var(--surface);border:1.5px solid #b8c7d8;border-radius:5px;justify-content:center;align-items:center;width:19px;height:19px;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:inset 0 1px 1px #10243a0f}.checkbox-ui:after{content:"";transform-origin:50%;opacity:0;border-bottom:2.2px solid #0000;border-left:2.2px solid #0000;width:9px;height:5px;transition:transform .16s,opacity .16s;transform:rotate(-45deg)scale(.75)}.auth-remember input:checked+.checkbox-ui{background:linear-gradient(145deg, var(--primary), var(--primary-dark));border-color:var(--primary-dark);box-shadow:0 3px 8px #145a4f47}.auth-remember input:checked+.checkbox-ui:after{opacity:1;border-bottom-color:#fff;border-left-color:#fff;transform:rotate(-45deg)scale(1)}.auth-remember input:focus-visible+.checkbox-ui{box-shadow:0 0 0 3px #1b7a6829,inset 0 1px 1px #10243a0f}:root.dark .checkbox-ui{background:var(--surface-muted);border-color:#42566e}.auth-form input[type=password]{letter-spacing:.13em;font-variant-numeric:tabular-nums;font-weight:800}.auth-form input[type=password]::placeholder{letter-spacing:.1em;font-weight:700}.auth-links{flex-direction:column;gap:.64rem;margin-top:1rem;display:flex}.auth-link{color:var(--primary-dark);font-size:.9rem;font-weight:600;text-decoration:none}.auth-link.subtle{color:var(--text);font-weight:600}.auth-warning{color:var(--error);font-size:.8rem;line-height:1.45}.auth-footer{justify-content:center;gap:.46rem;margin-top:1rem;font-size:.9rem;display:flex}.auth-footer span{color:var(--text-muted)}.onboard-shell{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem 1.2rem;display:flex}.onboard-card{width:100%;max-width:540px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(160deg,#fffffff0,#ffffffd1);border:1px solid #ffffffc7;border-radius:30px;padding:1.3rem 1.1rem}.onboard-dots{justify-content:center;gap:.42rem;margin-bottom:0;display:flex}.onboard-dot{cursor:pointer;background:#8f9fb161;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:transform .25s,background .25s}.onboard-dot.active{background:var(--primary);transform:scale(1.22)}.onboard-progress{background:#8f9fb133;border-radius:999px;width:100%;height:4px;overflow:hidden}.onboard-progress-value{background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-radius:inherit;height:100%;transition:width .5s}.onboard-step{flex-direction:column;gap:.95rem;min-height:0;animation:.52s fadeInUp;display:flex}.onboard-head{text-align:left;margin-top:0}.onboard-title{color:var(--text);margin-bottom:.55rem;font-size:1.46rem;line-height:1.08}.onboard-subtitle{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.74rem;font-weight:700}.onboard-body{flex-direction:column;flex:1;justify-content:center;gap:.9rem;animation:.55s fadeIn;display:flex}.onboard-visual-wrap{justify-content:center;display:flex}.onboard-visual{width:100%;max-width:100%;min-height:218px;box-shadow:var(--shadow-soft);border:1px solid #fffc;border-radius:26px;justify-content:center;align-items:center;padding:1rem;display:flex;overflow:hidden}.onboard-visual.welcome{background:radial-gradient(circle at 0 0,#3b82f633,#0000 40%),radial-gradient(circle at 100% 100%,#22c55e24,#0000 35%),#fff}.onboard-visual.inventory{background:linear-gradient(135deg,#fef7ed,#fffaf1)}.onboard-visual.analytics{background:linear-gradient(135deg,#f0fdf4,#effcf8)}.onboard-visual.ready{background:linear-gradient(135deg,#eef2ff,#f3f4f6)}.onboard-copy{color:var(--text-muted);text-align:left;margin:0;font-size:.92rem;line-height:1.58}.onboard-actions{gap:.7rem;min-width:0;margin-top:0;display:flex}.onboard-actions .btn{flex:1;min-width:0}.onboard-actions .ghost-spacer{flex:1}.tembo-onboard{background:linear-gradient(180deg, #d9f4eee6, #f9fbfdf5 34%, #f8f1e7c2), var(--surface-alt);width:100vw;max-width:100vw;height:100dvh;min-height:100%;padding:0;position:fixed;inset:0;overflow:hidden}.tembo-onboard-card{width:100vw;max-width:min(430px,100vw);height:100%;min-height:100%;padding:max(1rem, env(safe-area-inset-top)) 1.15rem max(1rem, env(safe-area-inset-bottom));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:.78rem;margin:0 auto;display:flex;position:relative;overflow:hidden}.tembo-onboard-card:before{content:"";pointer-events:none;z-index:0;background:#1b7a681a;border-radius:50%;width:190px;height:190px;position:absolute;inset:-72px -64px auto auto}.tembo-onboard-card>*,.onboard-brand-row,.onboard-footer{z-index:1;position:relative}.onboard-brand-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.onboard-brand-mark{background:#ffffffbd;border-radius:17px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:0;padding:.2rem;display:inline-flex;overflow:hidden;box-shadow:0 12px 26px #145a4f3d}.onboard-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.onboard-skip{color:var(--text-muted);border-radius:var(--radius-pill);cursor:pointer;background:#ffffffb8;border:1px solid #d8e0eaeb;height:36px;min-height:36px;padding:0 .82rem;font-size:.78rem;font-weight:800}.tembo-onboard-card .onboard-progress{background:#d8e0ead1;height:5px}.tembo-onboard-card .onboard-step{align-content:stretch;gap:.78rem;justify-content:initial;will-change:transform, opacity;flex:1;grid-template-rows:126px minmax(172px,1fr) 104px;min-height:0;animation:.28s cubic-bezier(.2,.8,.2,1) both onboardStepForwardIn;display:grid}.tembo-onboard-card .onboard-step.is-back{animation-name:onboardStepBackIn}.tembo-onboard-card .onboard-subtitle{color:var(--primary-dark);margin:0 0 .3rem}.tembo-onboard-card .onboard-title{max-width:19ch;margin-bottom:.42rem;font-size:1.56rem;line-height:1.04}.tembo-onboard-card .onboard-copy{max-width:32ch;font-size:.88rem;line-height:1.44}.tembo-onboard-card .onboard-head{min-height:126px}.tembo-onboard-card .onboard-visual-wrap,.tembo-onboard-card .onboard-visual,.tembo-onboard-card .onboard-mock{height:100%;min-height:0}.tembo-onboard-card .onboard-visual{border-radius:24px;padding:.82rem;animation:.34s cubic-bezier(.2,.8,.2,1) both onboardVisualSettle}.tembo-onboard-card .onboard-visual.roles{background:linear-gradient(145deg,#f0fbf7,#fff)}.tembo-onboard-card .onboard-visual.scope{background:linear-gradient(145deg,#f3f7ff,#fff)}.tembo-onboard-card .onboard-visual.sync{background:linear-gradient(145deg,#fff8ed,#fff)}.tembo-onboard-card .onboard-visual.ready{background:linear-gradient(145deg,#f0fbf7,#f7f9fc)}.onboard-mock{border-radius:22px;flex-direction:column;justify-content:center;width:100%;min-height:184px;display:flex}.mock-phone-head{justify-content:space-between;margin-bottom:.62rem;display:flex}.mock-phone-head span:first-child{border-radius:var(--radius-pill);background:#1b7a6829;width:82px;height:10px}.mock-phone-head span:last-child{border-radius:var(--radius-pill);background:#10243a1f;width:38px;height:10px}.mock-role-stack{gap:.48rem;display:grid}.mock-role-stack div,.mock-access-row{background:#ffffffd6;border:1px solid #d8e0ead1;border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:.62rem .78rem;display:flex}.mock-role-stack strong,.mock-access-row strong,.mock-ready-copy strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.mock-role-stack span,.mock-access-row span,.mock-ready-copy span{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.mock-shield,.mock-sync-ring,.mock-ready-mark{background:var(--primary-soft);width:64px;height:64px;color:var(--primary-dark);border-radius:22px;justify-content:center;align-items:center;margin:0 auto .78rem;display:inline-flex}.mock-shield svg,.mock-sync-ring svg{width:34px;height:34px}.mock-access-row{margin-bottom:.44rem}.mock-access-row.muted{opacity:.82}.mock-sync-lines{gap:.48rem;width:78%;margin:0 auto .72rem;display:grid}.mock-sync-lines span{border-radius:var(--radius-pill);background:#d8e0eaf2;height:12px}.mock-sync-lines span:nth-child(2){width:82%}.mock-sync-lines span:nth-child(3){width:58%}.onboard-mock.sync strong{color:var(--text);text-align:center}.onboard-mock.ready{text-align:center;align-items:center}.mock-ready-mark{color:var(--primary-dark);box-shadow:var(--shadow-soft);background:#ffffffe0;padding:.36rem;font-weight:900}.mock-ready-mark img{object-fit:contain;width:100%;height:100%;display:block}.mock-ready-copy{gap:.28rem;display:grid}.onboard-check-list{grid-template-rows:repeat(3,30px);gap:.42rem;display:grid}.onboard-check{color:var(--text);align-items:center;gap:.52rem;font-size:.8rem;font-weight:800;display:flex}.onboard-check span{background:var(--primary-soft);width:24px;height:24px;color:var(--primary-dark);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.onboard-check svg{width:14px;height:14px}.onboard-footer{gap:.74rem;display:grid}@media (height<=700px){.tembo-onboard-card{padding-top:max(.72rem, env(safe-area-inset-top));padding-bottom:max(.72rem, env(safe-area-inset-bottom));gap:.62rem}.onboard-brand-mark{border-radius:15px;width:42px;height:42px}.tembo-onboard-card .onboard-step{grid-template-rows:112px minmax(148px,1fr) 96px;gap:.62rem}.tembo-onboard-card .onboard-head{min-height:112px}.tembo-onboard-card .onboard-title{font-size:1.42rem}.tembo-onboard-card .onboard-copy{font-size:.84rem;line-height:1.36}.tembo-onboard-card .onboard-visual{padding:.68rem}.tembo-onboard-card .onboard-mock{min-height:0}.mock-shield,.mock-sync-ring,.mock-ready-mark{border-radius:18px;width:54px;height:54px;margin-bottom:.52rem}.mock-shield svg,.mock-sync-ring svg{width:30px;height:30px}.mock-sync-lines{gap:.34rem;margin-bottom:.5rem}.mock-sync-lines span{height:10px}.mock-role-stack div,.mock-access-row{padding:.54rem .68rem}.onboard-check-list{grid-template-rows:repeat(3,28px);gap:.34rem}.onboard-actions .btn{height:44px;min-height:44px}}@media (width<=340px){.tembo-onboard-card{padding-left:.88rem;padding-right:.88rem}.tembo-onboard-card .onboard-title{font-size:1.36rem}.mock-role-stack div,.mock-access-row{gap:.48rem;padding-left:.62rem;padding-right:.62rem}.onboard-actions{gap:.55rem}}.app-topbar{height:var(--header-height);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;background:linear-gradient(#fffffff5,#ffffffd1);border-bottom:1px solid #d8e0eab3;justify-content:center;align-items:center;padding:.95rem 1rem;display:flex;position:sticky;top:0}.app-topbar.dashboard{justify-content:flex-start}.profile-trigger{cursor:pointer;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:.68rem;width:100%;padding:0;display:flex}.avatar-circle{background:linear-gradient(140deg, var(--primary), var(--primary-dark));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.88rem;height:2.88rem;font-size:.98rem;font-weight:700;display:flex;box-shadow:0 10px 20px #145a4f3d}.profile-meta{flex:1;align-items:center;gap:.36rem;min-width:0;display:flex}.profile-copy{text-align:left;min-width:0}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 140px);color:var(--text);font-size:.98rem;font-weight:700;display:block;overflow:hidden}.profile-email{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 140px);color:var(--text-muted);margin-top:.14rem;font-size:.74rem;display:block;overflow:hidden}.topbar-icon{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.icon-btn{background:var(--surface-muted);color:var(--text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.app-topbar-title{font-size:1.08rem;font-weight:700}.back-btn{position:absolute;left:1rem}.app-topbar .back-btn{width:44px;height:44px;color:var(--text);background:0 0;border-radius:0}.app-topbar .back-btn:active{color:var(--primary-dark)}.drawer-overlay{z-index:45;opacity:0;pointer-events:none;background:#0000007a;transition:opacity .24s;position:fixed;inset:0}.drawer-overlay.is-open{opacity:1;pointer-events:auto}.drawer{background:linear-gradient(180deg, var(--surface), var(--surface-alt));border-right:1px solid var(--border);z-index:55;width:min(84vw,312px);box-shadow:var(--shadow-elevated);border-radius:0 26px 26px 0;flex-direction:column;transition:transform .26s ease-out;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%)}.drawer.is-open{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--border);background:linear-gradient(130deg, var(--primary-soft), transparent);align-items:center;gap:.7rem;padding:1.35rem 1.05rem 1.05rem;display:flex}.drawer-profile{flex:1;min-width:0}.drawer-name{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:700;overflow:hidden}.drawer-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.2rem;font-size:.76rem;overflow:hidden}.drawer-nav{flex-direction:column;flex:1;gap:.32rem;padding:.84rem;display:flex;overflow-y:auto}.drawer-link{color:#3f4d61;letter-spacing:-.01em;border-radius:12px;align-items:center;gap:.72rem;min-height:46px;padding:.72rem .8rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.drawer-link-icon{color:#738195;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.drawer-link-icon svg{width:19px;height:19px}.drawer-link.active{color:#3a4658;background:#eef2f5;font-weight:700}.drawer-link.active .drawer-link-icon{color:#5f6d80;background:0 0;border:none}.drawer-link-badge{min-width:20px;height:20px;color:var(--error);background:#dc4a4a24;border:1px solid #dc4a4a3d;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:.72rem;font-weight:800;display:inline-flex}.drawer-footer{border-top:1px solid var(--border);padding:.9rem}.drawer-logout{width:100%;color:var(--error);cursor:pointer;background:#dc4a4a1a;border:none;border-radius:14px;align-items:center;gap:.68rem;padding:.82rem .9rem;font-size:.92rem;font-weight:700;display:flex}.bottom-nav{width:min(100%,560px);padding:.42rem .18rem;padding-bottom:max(.58rem, env(safe-area-inset-bottom));z-index:28;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#fffffff5,#f9fbfdf2);border-top:1px solid #d8e0eadb;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #10243a1a}.bottom-nav-link{color:var(--text-muted);border-radius:14px;flex-direction:column;flex:1;align-items:center;padding:.34rem .32rem;text-decoration:none;transition:color .2s,background .2s;display:flex}.bottom-nav-link svg{width:1.18rem;height:1.18rem;margin-bottom:.18rem}.bottom-nav-label{letter-spacing:.01em;font-size:.67rem;font-weight:600}.bottom-nav-link.active{color:var(--primary-dark);background:0 0}.bottom-nav-link.active .bottom-nav-label{font-weight:700}.actions-row{align-items:center;gap:.45rem;display:flex}.list-scroll{flex:1;overflow-y:auto}.list-stack{flex-direction:column;gap:.68rem;display:flex}.list-card{background:linear-gradient(180deg, var(--surface), #ffffffeb);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;padding:.92rem}.pill{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);align-items:center;padding:.16rem .5rem;font-size:.72rem;line-height:1;display:inline-flex}.pill strong{color:var(--text);margin-left:.2rem}.search-panel{margin-bottom:.78rem}.search-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.32rem;font-size:.72rem;font-weight:700;display:block}.search-input{border-radius:var(--radius-pill);padding:.83rem .95rem}.loading-state,.empty-state{text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.2rem}.low-stock-list{flex-direction:column;gap:.66rem;margin-top:.72rem;padding-bottom:1rem;display:flex}.low-stock-card{background:linear-gradient(180deg, var(--surface), #ffffffeb);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:.7rem;padding:1rem .95rem;display:flex}.low-stock-card-link{cursor:pointer}.low-stock-card-link:focus-visible{outline-offset:2px;outline:2px solid #1b7a6873}.low-stock-card .stock-note{color:var(--error);border-radius:var(--radius-pill);background:#dc4a4a1f;border:1px solid #dc4a4a38;align-items:center;margin-top:.34rem;padding:.2rem .52rem;font-size:.74rem;font-weight:700;display:inline-flex}.low-stock-price{color:var(--text);font-variant-numeric:tabular-nums;margin-top:.18rem;font-size:.96rem;font-weight:700;line-height:1.22}.low-stock-action{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;flex-shrink:0;padding:.3rem .68rem;font-size:.75rem;font-weight:700;text-decoration:none}.pos-page{flex-direction:column;height:100%;display:flex;position:relative}.pos-scroll{flex:1;padding:1.1rem 1rem 102px;overflow-y:auto}.pos-list{flex-direction:column;gap:.6rem;display:flex}.pos-item-row{background:linear-gradient(180deg, var(--surface), #ffffffed);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;justify-content:space-between;align-items:center;gap:.62rem;padding:.82rem;transition:border-color .2s,background .2s;display:flex}.pos-item-row.out-of-stock{opacity:.5}.pos-item-row.in-cart{background:linear-gradient(180deg, var(--surface), #1b7a6814);border-color:#1b7a6866}.pos-item-main{flex:1;min-width:0}.pos-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;font-weight:700;line-height:1.24;overflow:hidden}.pos-item-meta{flex-direction:column;align-items:flex-start;gap:.24rem;margin-top:.32rem;display:flex}.pill-stock{padding-right:.52rem}.pos-price-wrap{align-items:center;min-width:0;display:inline-flex}.pos-price-value{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;max-width:min(44vw,190px);font-size:1.02rem;font-weight:700;line-height:1.25}.pos-add-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:.3rem .68rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.pos-add-btn.active{background:var(--surface);color:var(--text);border-color:var(--border)}.floating-cart-btn{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;cursor:pointer;z-index:30;opacity:.84;border:none;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;position:fixed;bottom:95px;right:max(1rem,50vw - 280px + 1rem);box-shadow:0 14px 30px #145a4f40}.floating-cart-btn:hover{transform:scale(1.05);box-shadow:0 18px 36px #145a4f52}.floating-cart-btn.has-items{opacity:1}.cart-badge{background:var(--error);color:#fff;border:2px solid var(--surface-alt);border-radius:50%;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.67rem;font-weight:700;display:none;position:absolute;top:-7px;right:-7px}.cart-page{flex-direction:column;height:100%;padding-top:.4rem;display:flex}.cart-item{background:linear-gradient(180deg, var(--surface), #ffffffeb);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:.7rem;padding:.92rem;display:flex}.cart-item-main{flex:1;min-width:0}.cart-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;font-weight:700;overflow:hidden}.cart-item-price{color:var(--text-muted);margin-top:.18rem;font-size:.78rem}.qty-control{flex-shrink:0;align-items:center;gap:.38rem;display:flex}.qty-btn{background:var(--surface-muted);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text);border-radius:8px;font-weight:700}.qty-value{text-align:center;min-width:24px;font-weight:700}.remove-cart-item{color:var(--error);cursor:pointer;background:0 0;border:none;padding:0 .24rem;font-size:1.2rem}.cart-footer{border-top:1px solid var(--border);background:linear-gradient(#0000,#f9fbfdb3);padding:.92rem 0 .2rem}.summary-row{justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:1.05rem;font-weight:800;display:flex}.inventory-list{flex-direction:column;gap:.64rem;display:flex}.inventory-item{background:linear-gradient(180deg, var(--surface), #ffffffed);border:1px solid var(--border);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:18px;justify-content:space-between;align-items:center;gap:.62rem;padding:.82rem;transition:border-color .2s,background .2s;display:flex}.inventory-main{flex:1;min-width:0}.inventory-name{white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;font-weight:700;line-height:1.24;overflow:hidden}.inventory-meta{margin-top:.34rem}.inventory-prices{flex-direction:column;align-items:flex-start;gap:.24rem;margin-top:.32rem;display:flex}.inventory-price-value{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;max-width:min(44vw,190px);font-size:1.02rem;font-weight:700;line-height:1.25}.inventory-pill-stock{margin-top:.05rem}.inventory-edit-btn{flex-shrink:0}.reports-list{flex-direction:column;gap:.7rem;display:flex}.report-sections{margin-bottom:.72rem}.reports-page .metric-value{font-variant-numeric:tabular-nums;font-size:.98rem;line-height:1.15}.sale-card{background:linear-gradient(180deg, var(--surface), #ffffffeb);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;padding:.95rem}.sale-head{justify-content:space-between;align-items:flex-start;gap:.68rem;margin-bottom:.52rem;display:flex}.sale-total{font-size:1.03rem;font-weight:800}.sale-date{color:var(--text-muted);text-align:right;font-size:.74rem;line-height:1.24}.sale-items{color:var(--text);font-size:.88rem;line-height:1.45}.sale-footer{border-top:1px dashed var(--border);justify-content:space-between;align-items:center;margin-top:.58rem;padding-top:.6rem;display:flex}.sale-profit-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.71rem}.sale-profit-value{color:var(--success);font-size:.9rem;font-weight:800}.sales-ledger-list{gap:.72rem}.sale-ledger-card{border-radius:16px;padding:.94rem .92rem .86rem}.sale-ledger-head{margin-bottom:.56rem}.sale-ledger-total{letter-spacing:-.01em;font-size:1.08rem;font-weight:800}.sale-ledger-date{color:#7f8da1;font-size:.73rem;font-weight:600;line-height:1.2}.sale-ledger-items{flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;display:flex}.sale-ledger-item{color:#324255;font-size:.91rem;line-height:1.4}.sale-ledger-footer{margin-top:.62rem;padding-top:.56rem}.sale-ledger-profit-label{letter-spacing:.08em;font-size:.72rem;font-weight:700}.sale-ledger-profit-value{font-size:1.02rem;line-height:1.2}.report-stat-row{border-top:1px dashed var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:.6rem;padding:.48rem 0;font-size:.85rem;display:flex}.report-stat-row span{line-height:1.3}.report-stat-value{color:var(--text);text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:800}.report-period-block{margin-top:.68rem}.report-period-block+.report-period-block{margin-top:.9rem}.report-period-block .sale-profit-label{margin-bottom:.28rem;display:inline-block}.report-product-row{border-top:1px dashed var(--border);justify-content:space-between;align-items:flex-start;gap:.7rem;padding:.68rem 0;display:flex}.report-product-main{flex:1;min-width:0;padding-right:.32rem}.report-products-card .sale-head{margin-bottom:.42rem}.report-product-header{justify-content:space-between;align-items:center;gap:.6rem;padding:.14rem 0 .4rem;display:flex}.report-product-header span{text-transform:uppercase;letter-spacing:.1em;color:#7d8ea4;font-size:.68rem;font-weight:700}.report-product-title-row{align-items:flex-start;gap:.48rem;min-width:0;display:flex}.report-product-rank{background:var(--surface-muted);border:1px solid var(--border);color:#6f8095;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:.66rem;font-weight:800;line-height:1;display:inline-flex}.report-product-name{letter-spacing:-.01em;color:#23374e;white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;font-weight:800;line-height:1.28;overflow:hidden}.report-product-units{letter-spacing:.09em;text-transform:uppercase;color:#8395aa;margin-top:.24rem;margin-left:1.92rem;font-size:.72rem;font-weight:700}.report-product-money{flex-shrink:0;justify-content:flex-end;align-items:flex-end;min-width:106px;margin-left:auto;padding-top:.02rem;display:flex}.report-product-revenue{color:var(--success);text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:800;line-height:1.2}.report-empty{margin-top:.35rem}.notification-card{background:linear-gradient(180deg, var(--surface), #ffffffeb);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:16px;padding:.92rem}.notification-head{align-items:center;gap:.58rem;display:flex}.notification-icon-wrap{background:var(--surface-muted);border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.notification-icon-wrap svg{width:16px;height:16px}.notification-title{font-size:.94rem;font-weight:700;line-height:1.25}.notification-message{color:var(--text-muted);margin-top:.5rem;font-size:.84rem;line-height:1.45}.notification-action{margin-top:.62rem}.notification-card.warning .notification-icon-wrap{color:var(--error);background:#dc4a4a1f;border-color:#dc4a4a3d}.notification-card.success .notification-icon-wrap{color:var(--success);background:#0f9d731f;border-color:#0f9d733d}.notification-card.info .notification-icon-wrap{color:var(--primary-dark);background:#1b7a681f;border-color:#1b7a683d}.settings-group{flex-direction:column;gap:.58rem;display:flex}.settings-group+.settings-group{margin-top:.36rem}.settings-group-title{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.settings-item,.settings-switch{background:linear-gradient(180deg, var(--surface), #ffffffeb);border:1px solid var(--border);width:100%;color:var(--text);text-align:left;box-shadow:var(--shadow-soft);border-radius:16px;justify-content:space-between;align-items:center;padding:1.02rem .95rem;font-family:inherit;font-size:1rem;display:flex}.settings-item{cursor:pointer}.settings-item-title{letter-spacing:-.01em;font-family:inherit;font-size:1.02rem;font-weight:800;line-height:1.28}.settings-item-subtitle{color:var(--text-muted);margin-top:.22rem;font-family:inherit;font-size:.84rem;font-weight:500;line-height:1.35}.settings-chevron{width:18px;height:18px;color:var(--text-muted)}.toggle-switch{width:46px;height:25px;display:inline-flex;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-track{background:var(--border);border-radius:24px;transition:background .25s;position:absolute;inset:0}.toggle-thumb{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .25s;position:absolute;bottom:4px;left:4px}.toggle-switch input:checked+.toggle-track{background:var(--primary)}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(21px)}.info-hint{color:var(--text-muted);font-size:.88rem;line-height:1.48}.modal-overlay{--overlay-opacity:.52;background:rgba(0, 0, 0, var(--overlay-opacity));z-index:60;padding:.4rem .35rem max(.4rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;display:flex;position:fixed;inset:0}.modal-align-bottom{align-items:flex-end}.modal-align-center{align-items:center}.sheet-modal{background:var(--surface);width:min(720px,100vw - .75rem);max-height:min(88vh,880px);padding:1rem 1.05rem calc(1.2rem + env(safe-area-inset-bottom));box-shadow:var(--shadow-elevated);border:1px solid #ffffff9e;border-radius:28px 28px 0 0;margin:0 auto;animation:.28s ease-out sheetSlideUp;position:relative;overflow:auto}.sheet-handle{background:var(--border);border-radius:999px;width:40px;height:4px;margin:0 auto .9rem;display:block}.modal-header{justify-content:center;align-items:center;margin-bottom:.9rem;padding:0 .3rem;display:flex}.modal-title{color:var(--text);font-size:1.25rem;font-weight:800;line-height:1.2}.modal-content{flex-direction:column;gap:.82rem;display:flex}.modal-actions{gap:.62rem;display:flex}.modal-actions .btn{flex:1}.modal-copy{color:var(--text-muted);font-size:.88rem;line-height:1.45}.select-sheet{padding:.7rem .78rem calc(.92rem + env(safe-area-inset-bottom))}.select-sheet-header{justify-content:flex-start;margin-bottom:.55rem;padding:.15rem .32rem .28rem}.select-option-list{flex-direction:column;gap:.38rem;max-height:min(56vh,430px);padding:.12rem 0 .18rem;display:flex;overflow-y:auto}.select-option{background:var(--surface-alt);width:100%;min-height:54px;color:var(--text);text-align:left;border:1px solid #0000;border-radius:18px;justify-content:space-between;align-items:center;gap:.75rem;padding:.76rem .85rem;display:flex}.select-option strong{min-width:0;font-size:.95rem;font-weight:800;line-height:1.25;display:block}.select-option small{color:var(--text-muted);margin-top:.2rem;font-size:.76rem;line-height:1.25;display:block}.select-option svg{width:19px;height:19px;color:var(--primary-dark);flex-shrink:0}.select-option.is-selected{background:var(--primary-soft);color:var(--primary-dark);border-color:#1b7a6838}.select-option:disabled{opacity:.56}.select-empty{box-shadow:none}.calendar-sheet{padding-top:.7rem}.calendar-header{border-bottom:1px solid var(--border);justify-content:flex-start;align-items:center;gap:1rem;padding:.4rem .8rem .95rem;display:flex}.calendar-title{font-size:1.02rem;font-weight:800}.calendar-range{color:var(--text-muted);margin-top:.18rem;font-size:.8rem}.calendar-body{flex-direction:column;gap:.86rem;padding:.95rem;display:flex}.calendar-toolbar{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.calendar-month{font-weight:700}.calendar-weekdays{text-align:center;color:var(--text-muted);grid-template-columns:repeat(7,minmax(0,1fr));gap:.36rem;font-size:.74rem;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.36rem;display:grid}.calendar-spacer{height:40px}.list-sentinel{height:10px}.calendar-day{background:var(--surface-alt);width:100%;height:40px;color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:12px;font-size:.88rem}.calendar-day.active{background:var(--primary);color:#fff}.calendar-day.in-range{background:var(--primary-soft)}.calendar-footer{background:var(--surface-alt);border-top:1px solid var(--border);gap:.64rem;padding:1rem;display:flex}.sheet-modal.slide-down{animation:.24s ease-in forwards sheetSlideDown}@media (width>=768px){.app-shell{width:100%;max-width:none;margin:0}.app-topbar,.page-shell{width:100%}.page-shell{padding:1.35rem 2rem calc(var(--bottom-nav-height) + 1.35rem)}.bottom-nav{width:100%;max-width:none;left:0;right:0;transform:none}.modal-overlay{padding-left:0;padding-right:0}.sheet-modal{border-left:0;border-right:0;width:100vw;max-width:100vw;margin:0}.modal-align-center .sheet-modal{border-radius:28px;max-height:min(92vh,920px)}.select-sheet,.calendar-sheet{width:100vw;max-width:100vw}.select-option-list{max-height:min(62vh,560px)}.auth-shell.teacher-auth-shell{justify-content:stretch;align-items:stretch;padding:0}.teacher-auth-card{width:100%;max-width:none;min-height:100dvh;box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:2rem max(2rem,7vw);display:flex}.teacher-auth-card .auth-title,.teacher-auth-card .auth-subtitle,.teacher-auth-card .auth-form{width:min(100%,560px);margin-left:auto;margin-right:auto}.teacher-auth-card .auth-brand-mark{margin-left:auto;margin-right:auto}.tembo-onboard-card{width:100vw;max-width:none;padding-left:max(2rem,5vw);padding-right:max(2rem,5vw)}.tembo-onboard-card .onboard-title,.tembo-onboard-card .onboard-copy{max-width:none}.tembo-onboard-card .onboard-step{grid-template-rows:126px minmax(220px,1fr) 104px}}.toast-message{bottom:max(1.15rem, env(safe-area-inset-bottom));color:#fff;z-index:1000;letter-spacing:.01em;text-align:center;word-wrap:break-word;background:#111827f2;border-radius:12px;width:fit-content;max-width:min(86vw,320px);padding:.76rem 1.08rem;font-size:.83rem;font-weight:600;line-height:1.35;animation:.24s toastSlideUp;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 26px #00000045}.notify-banner{top:max(1rem, env(safe-area-inset-top));color:#fff;box-shadow:var(--shadow-elevated);z-index:1000;word-wrap:break-word;border-radius:14px;max-width:90%;padding:.88rem 1.15rem;font-size:.88rem;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.notify-info{background:var(--primary)}.notify-success{background:var(--success)}.notify-error{background:var(--error)}.inline-link{color:var(--primary-dark);font-weight:600;text-decoration:none}.card-scroll-shell{flex:1;padding-bottom:80px;overflow-y:auto}.page-column{flex-direction:column;display:flex}.page-header-tight{margin-bottom:.9rem}.items-center{align-items:center}.full-height{height:100%}.gap-sm{gap:.9rem}.gap-md{gap:1rem}.section-subheading{font-size:1.35rem}.list-bottom-space{padding-bottom:.9rem}.min-width-zero{min-width:0}.modal-header-compact{margin-bottom:.5rem}.modal-title-small{font-size:1.12rem}app-header{width:100%;display:block}app-nav{z-index:20;width:100%;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width<=380px){.page-shell{padding:1.05rem .85rem 1.2rem}.auth-card{padding:1.2rem 1rem}.btn{font-size:.84rem}.section-title{font-size:1.4rem}}@keyframes sheetSlideUp{0%{opacity:.72;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes sheetSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:.72;transform:translateY(100%)}}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes onboardStepForwardIn{0%{opacity:.72;transform:translate(16px)scale(.992)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes onboardStepBackIn{0%{opacity:.72;transform:translate(-16px)scale(.992)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes onboardVisualSettle{0%{opacity:.82;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.eyebrow{color:var(--primary-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:800}.teacher-auth-shell,.teacher-onboard{background:radial-gradient(circle at 15% 0,#1b7a6838,#0000 34%),radial-gradient(circle at 86% 24%,#cf7f2629,#0000 30%),linear-gradient(160deg,#eef8f4,#fbf7ef 54%,#eef4fb)}.teacher-auth-card,.teacher-hero-card{position:relative;overflow:hidden}.teacher-auth-card:before,.teacher-hero-card:before{content:"";pointer-events:none;background:#1b7a681f;border-radius:50%;width:210px;height:210px;position:absolute;inset:-40% -20% auto auto}@media (width<=640px){.teacher-auth-shell{padding:max(4.2rem, calc(env(safe-area-inset-top) + 2.4rem)) 1.3rem max(1.6rem, env(safe-area-inset-bottom));justify-content:flex-start}.teacher-auth-card{max-width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.teacher-auth-card:before{display:none}.auth-title{margin-bottom:.56rem;font-size:2.05rem;line-height:1.03}.auth-subtitle{max-width:28ch;margin-bottom:1.6rem;font-size:1.02rem}.auth-form{gap:1.08rem}.auth-form .field-label{margin-bottom:.42rem;font-size:.72rem}.auth-form .input-lg{border-radius:18px}.auth-meta-row{margin-top:.05rem}.auth-form .btn.btn-primary{height:52px;min-height:52px;margin-top:.48rem;font-size:1rem}}.teacher-brand-mark{background:linear-gradient(140deg, var(--primary), var(--primary-dark));color:#fff;letter-spacing:-.04em;border-radius:22px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:1rem;font-weight:900;display:inline-flex;box-shadow:0 18px 34px #145a4f47}.teacher-feature-stack{flex-direction:column;gap:.72rem;margin:1.1rem 0;display:flex}.teacher-feature{background:#ffffff9e;border:1px solid #d8e0eacc;border-radius:18px;grid-template-columns:38px 1fr;gap:.7rem;padding:.82rem;display:grid}.teacher-feature span{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-dark);border-radius:12px;grid-row:span 2;justify-content:center;align-items:center;font-size:.74rem;font-weight:900;display:inline-flex}.teacher-feature strong{color:var(--text)}.teacher-feature p{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.45}.drawer-school{background:var(--primary-soft);height:32px;color:var(--primary-dark);white-space:nowrap;text-overflow:ellipsis;border-radius:14px;flex-shrink:0;align-items:center;margin:0 1rem -.6rem;padding:0 .8rem;font-size:.82rem;font-weight:800;line-height:1;display:flex;overflow:hidden;transform:translateY(-50%)}.teacher-dashboard-hero{background:linear-gradient(135deg, #1b7a6824, #f8f1e7eb), var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d8e0eabf;border-radius:26px;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:1rem;display:flex}.teacher-alert{color:var(--error);background:#dc4a4a1a;border:1px solid #dc4a4a2e;border-radius:16px;padding:.82rem .95rem;font-size:.84rem;line-height:1.45}.teacher-progress-card{color:#fff;background:radial-gradient(circle at 92% 12%,#ffffff40,#0000 28%),linear-gradient(145deg,#10243a,#1b7a68);border-radius:24px;padding:1rem;box-shadow:0 24px 48px #10243a38}.teacher-progress-top,.teacher-progress-foot,.section-header-row,.allocation-card-top,.card-action-row,.score-entry-summary{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.teacher-progress-card .metric-label{color:#ffffffad}.teacher-progress-value{font-size:2rem;font-weight:900;line-height:1}.learner-progress-card .teacher-progress-top{align-items:flex-start}.learner-name-value{letter-spacing:0;overflow-wrap:anywhere;max-width:9.6rem;font-size:1.55rem;line-height:1.04}.learner-progress-card .teacher-progress-pill{white-space:normal;text-align:right;max-width:8.4rem;line-height:1.18}.teacher-progress-pill{border-radius:var(--radius-pill);white-space:nowrap;background:#ffffff29;padding:.38rem .62rem;font-size:.76rem;font-weight:800}.progress-track{border-radius:var(--radius-pill);background:#ffffff38;height:8px;margin:.95rem 0 .7rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#fff,#d9f4ee);height:100%;display:block}.teacher-progress-foot{color:#ffffffbd;font-size:.76rem}@media (width<=380px){.learner-name-value{max-width:8.3rem;font-size:1.34rem}.learner-progress-card .teacher-progress-pill{max-width:7.6rem;padding:.34rem .52rem;font-size:.68rem}}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.78rem;display:grid}.quick-action-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), #ffffffe6);min-height:112px;box-shadow:var(--shadow-soft);color:var(--text);text-align:left;cursor:pointer;border-radius:22px;flex-direction:column;gap:.42rem;padding:.92rem 2.45rem .92rem .92rem;display:flex;position:relative}.quick-action-card strong{font-size:.98rem}.quick-action-card small{color:var(--text-muted)}.quick-action-icon{background:var(--primary-soft);width:32px;height:32px;color:var(--primary-dark);border-radius:12px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.quick-action-arrow{width:28px;height:28px;color:var(--primary-dark);background:#1b7a6814;border-radius:11px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.9rem;right:.9rem}.quick-action-arrow svg{width:15px;height:15px}.teacher-text-link{color:var(--primary-dark);font-size:.84rem;font-weight:800;text-decoration:none}.activity-list,.teacher-card-list,.score-list{flex-direction:column;gap:.72rem;display:flex}.activity-row{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;grid-template-columns:14px 1fr;gap:.7rem;padding:.85rem;display:grid}.activity-dot{background:var(--primary);width:10px;height:10px;box-shadow:0 0 0 5px var(--primary-soft);border-radius:50%;margin-top:.32rem}.activity-title{font-weight:800;line-height:1.35}.activity-time{color:var(--text-muted);margin-top:.18rem;font-size:.78rem}.teacher-list-card{background:linear-gradient(180deg, var(--surface), #ffffffe6);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:22px;padding:.95rem}.teacher-card-title{color:var(--text);font-weight:900;line-height:1.22}.teacher-card-subtitle{color:var(--text-muted);margin-top:.24rem;font-size:.82rem;line-height:1.35}.teacher-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.85rem 0;display:grid}.teacher-meta-grid span{background:var(--surface-muted);min-width:0;color:var(--text);border-radius:14px;padding:.58rem;font-size:.8rem;line-height:1.35}.teacher-meta-grid strong{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.12rem;font-size:.64rem;display:block}.compact-student-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.7rem;padding:.76rem 0;display:flex}.compact-student-row:last-child{border-bottom:none}.compact-student-row span{font-weight:800}.compact-student-row small{color:var(--text-muted)}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:.24rem;padding:.24rem;display:grid}.segmented-control button{border-radius:var(--radius-pill);min-height:38px;color:var(--text-muted);background:0 0;border:none;font-weight:900}.segmented-control button.active{background:var(--surface);color:var(--primary-dark);box-shadow:var(--shadow-soft)}.field-hint{color:var(--text-muted);margin-top:.34rem;font-size:.76rem;line-height:1.35}.score-entry-form,.teacher-filter-panel{flex-direction:column;gap:.82rem;display:flex}.score-entry-form .score-list{margin-bottom:.34rem}.score-entry-form .sticky-save-bar{padding-top:.5rem}.teacher-filter-panel{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), #ffffffeb);box-shadow:var(--shadow-soft);border-radius:24px;padding:.9rem}.score-entry-summary{background:var(--primary-soft);color:var(--primary-dark);border-radius:16px;padding:.7rem .8rem;font-size:.78rem;font-weight:900}.score-row{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:18px;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:.7rem;padding:.82rem;display:grid}.student-name{font-weight:900;line-height:1.25}.student-meta{color:var(--text-muted);margin-top:.2rem;font-size:.76rem}.score-input-wrap{grid-template-columns:1fr auto;align-items:center;gap:.32rem;display:grid}.score-input-wrap .input{text-align:center;padding:.75rem .48rem;font-weight:900}.score-input-wrap span{color:var(--text-muted);font-size:.76rem;font-weight:800}.timetable-day-strip{background:var(--surface-muted);border:1px solid var(--border);border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:.34rem;display:grid}.timetable-day-chip{min-width:0;min-height:54px;color:var(--text-muted);background:0 0;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;font-weight:900;display:flex}.timetable-day-chip span{font-size:.78rem}.timetable-day-chip small{min-width:22px;height:22px;color:var(--text-muted);background:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;padding:0 .38rem;font-size:.68rem;font-weight:900;display:inline-flex}.timetable-day-chip.active{background:var(--surface);color:var(--primary-dark);box-shadow:var(--shadow-soft)}.timetable-day-chip.active small{background:var(--primary-soft);color:var(--primary-dark)}.timetable-lesson-card{background:linear-gradient(180deg, var(--surface), #ffffffe6);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:22px;grid-template-columns:82px minmax(0,1fr);gap:.82rem;padding:.92rem;display:grid}.timetable-lesson-time{background:var(--primary-soft);min-height:58px;color:var(--primary-dark);text-align:center;border-radius:16px;justify-content:center;align-items:center;padding:.48rem;font-size:.74rem;font-weight:900;line-height:1.25;display:flex}.timetable-lesson-main{align-self:center;min-width:0}.timetable-lesson-note{color:var(--text-muted);margin-top:.42rem;font-size:.78rem;line-height:1.35}.sticky-save-bar{bottom:calc(var(--bottom-nav-overlay-height) + .38rem);background:linear-gradient(180deg, transparent, var(--surface-alt) 34%);z-index:8;padding:.7rem 0 .2rem;position:sticky}.settings-profile-card{background:radial-gradient(circle at top right, #1b7a6821, transparent 34%), var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:24px;align-items:center;gap:.85rem;padding:1rem;display:flex}.settings-item.static{cursor:default}.settings-item:disabled{opacity:.62;cursor:wait}:root.dark .teacher-auth-shell,:root.dark .teacher-onboard{background:radial-gradient(circle at 15% 0,#4ac4ab29,#0000 34%),radial-gradient(circle at 86% 24%,#e0a15a1f,#0000 30%),linear-gradient(160deg,#0f141a,#111820 54%,#171d25)}:root.dark .teacher-feature,:root.dark .quick-action-card,:root.dark .teacher-list-card,:root.dark .teacher-filter-panel,:root.dark .score-row,:root.dark .timetable-lesson-card,:root.dark .activity-row,:root.dark .settings-profile-card{background:linear-gradient(180deg, var(--surface), #171d25eb)}:root.dark .drawer-link{color:#d5deea}:root.dark .drawer-link-icon{color:#a3b1c5}:root.dark .drawer-link.active{color:#f3f7fc;background:#ffffff1a}:root.dark .drawer-link.active .drawer-link-icon{color:#dfe7f3}
/*$vite$:1*/