:root{--color-primary: #1E293B;--color-secondary: #E2E8F0;--color-accent: #F97316;--color-surface: #FFFFFF;--color-text: #0F172A;--color-muted: #475569;--color-border: rgba(30, 41, 59, .12);--shadow-soft: 0 16px 40px rgba(15, 23, 42, .08)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#f8fafc 0%,var(--color-secondary) 100%);color:var(--color-text)}body{min-height:100dvh}app-root{display:block;width:100%;height:100dvh;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none!important}:where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 38%,transparent);outline-offset:2px}button:not(:disabled):active{transform:translateY(1px)}:where(h1,h2,h3){color:var(--color-primary);line-height:1.15;text-wrap:balance;overflow-wrap:anywhere}:where(h1){font-size:clamp(1.65rem,1.25rem + 1.15vw,2.45rem);letter-spacing:-.025em}:where(h2){font-size:clamp(1.25rem,1.05rem + .65vw,1.75rem);letter-spacing:-.015em}*{scrollbar-width:thin;scrollbar-color:rgba(30,58,95,.45) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#1e3a5f73;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--color-accent);background-clip:padding-box}.app-main>router-outlet+*{display:block;min-width:0;min-height:100%}:where(.assign-shell,.workspace-shell,.calendar-shell,.communication-shell,.feed-shell,.grade-shell,.learn-shell,.notebook-shell,.profile-shell,.account-shell,.plan-shell,.system-shell,.users-shell,.doc-shell){width:100%;max-width:100%;min-width:0}:where(.assign-modal,.calendar-modal,.comm-modal,.feed-modal,.grade-modal,.learn-modal,.notebook-modal,.profile-modal,.account-modal,.plan-modal,.system-modal,.users-modal){max-width:min(var(--modal-width, 960px),calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain}:where(table){max-width:100%}:where(.assign-grid,.learn-grid,.users-grid,.account-cards,.workspace-grid,.workspace-group-grid,.system-role-grid){grid-template-columns:repeat(4,minmax(0,1fr))!important}@media(max-width:900px){:where(.assign-grid,.learn-grid,.users-grid,.account-cards,.workspace-grid,.workspace-group-grid,.system-role-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}:where(.assign-shell,.workspace-shell,.calendar-shell,.communication-shell,.feed-shell,.grade-shell,.learn-shell,.notebook-shell,.profile-shell,.account-shell,.plan-shell,.system-shell,.users-shell,.doc-shell){min-height:0}}@media(max-width:560px){:where(.assign-grid,.learn-grid,.users-grid,.account-cards,.workspace-grid,.workspace-group-grid,.system-role-grid){grid-template-columns:minmax(0,1fr)!important}}@media(max-width:560px){:where(button,a,select,input:not([type=checkbox]):not([type=radio])){min-height:40px}:where(.assign-modal,.calendar-modal,.comm-modal,.feed-modal,.grade-modal,.learn-modal,.notebook-modal,.profile-modal,.account-modal,.plan-modal,.system-modal,.users-modal){max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}}@media print{@page{margin:12mm}body.receipt-printing{background:#fff!important}body.receipt-printing app-sidebar,body.receipt-printing app-floating-chat,body.receipt-printing .account-shell,body.receipt-printing .account-modal-backdrop:not(.receipt-backdrop),body.receipt-printing .receipt-actions{display:none!important}body.receipt-printing .app-layout,body.receipt-printing .app-main{display:block!important;margin:0!important;padding:0!important}body.receipt-printing .receipt-backdrop{position:static!important;display:block!important;min-height:auto!important;padding:0!important;background:#fff!important}body.receipt-printing .receipt-modal{position:static!important;width:100%!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;padding:0!important}}
