.cp-interface{--ui-line:#e2e7eb;--ui-muted:#f6f8fa;font-size:15px;line-height:1.6}.cp-interface :where(h1,h2,h3,h4){text-wrap:balance}.cp-interface :where(h1):not([data-presentation=stage] *){letter-spacing:-.035em;font-size:clamp(1.75rem,2.3vw,2rem);font-weight:700;line-height:1.3}.cp-interface :where(.rounded-2xl,.rounded-3xl):not([data-presentation=stage],[data-presentation=stage] *){border-radius:12px}.cp-interface :where(.shadow-sm,.shadow-md):not([role=dialog],[role=dialog] *,[data-presentation=stage],[data-presentation=stage] *){--tw-shadow:0 0 #0000}.cp-interface :where(.cp-reveal):not([data-presentation=stage] *){animation:none}.cp-interface :where(input,textarea,select):not([type=checkbox],[type=radio],[type=color],[type=range],[data-presentation=stage] *){border-radius:8px}.cp-interface :where(table):not([data-presentation=stage] *){font-variant-numeric:tabular-nums}.cp-interface :where(thead):not([data-presentation=stage] *){background:var(--ui-muted)}.cp-interface :where(th):not([data-presentation=stage] *){font-weight:600}.cp-interface :where([role=tablist]):not([data-presentation=stage] *){border-bottom:1px solid var(--ui-line);background:0 0;border-radius:0;gap:8px;padding:0}.cp-interface :where([role=tab]):not([data-presentation=stage] *){min-height:44px;color:var(--color-ink-soft);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px}.cp-interface :where([role=tab][aria-selected=true]):not([data-presentation=stage] *){border-bottom-color:var(--color-ocean);color:var(--color-ocean);background:0 0;font-weight:600}.cp-sidebar{background:var(--color-ui-sidebar);border-color:var(--ui-line)}.cp-side-brand{height:104px}.cp-side-brand>a>img{width:auto;height:72px}.cp-side-brand>a{height:80px}[data-sidebar=collapsed] .cp-side-brand>a>img{height:42px}@media (max-width:1023px){[data-view=desktop] .cp-side-brand>a>img{height:42px}}.cp-side-groups{gap:6px}.cp-side-item{border-radius:8px}.cp-side-item.cp-side-active{color:var(--color-ocean);box-shadow:none;background:#e5f1f8}.cp-side-active:before{content:"";background:var(--color-ocean);border-radius:2px;width:3px;position:absolute;inset:8px auto 8px 0}.cp-side-section{margin-top:16px}.cp-side-section-toggle{letter-spacing:.035em;font-size:11px}.cp-topbar{background:var(--color-ui-sidebar);border-color:var(--ui-line);box-shadow:none}.cp-interface [data-view=desktop]>div>main{padding:28px 24px 64px}@media (min-width:1440px){.cp-interface [data-view=desktop]>div>main{padding-inline:32px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.page-header h1{margin:0}.page-description{color:var(--color-ink-soft);margin-top:5px;font-size:14px}.page-header-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.cp-button:not([data-presentation=stage] *){border-radius:8px;font-size:14px}.ui-empty{text-align:center;border-bottom:1px solid var(--ui-line);padding:48px 20px}.ui-empty h2{font-size:18px;font-weight:600}.ui-empty p{color:var(--color-ink-soft);max-width:42rem;margin:8px auto 0}.ui-text-action{min-height:44px;color:var(--color-ocean);padding:8px 12px;font-weight:600}.ui-table-shell{border:1px solid var(--ui-line);border-radius:8px;max-width:100%;overflow:auto}.ui-table-shell thead{z-index:20;position:sticky;top:0}.gradebook-table-shell{min-height:240px;max-height:calc(100dvh - 18rem)}.gradebook-name-column{z-index:10;background:#fff;min-width:180px;max-width:260px;position:sticky;left:4rem}.gradebook-table-shell thead .gradebook-name-column{background:var(--ui-muted)}.ui-tabs{border-bottom:1px solid var(--ui-line);gap:8px;display:flex}.ui-tabs button{min-height:44px;color:var(--color-ink-soft);border-bottom:2px solid #0000;padding:10px 18px}.ui-tabs :is([aria-selected=true],[aria-pressed=true]){border-bottom-color:var(--color-ocean);color:var(--color-ocean);font-weight:600}.class-list-page{flex-direction:column;gap:24px;min-width:0;display:flex}.class-list-toolbar{z-index:21;background:#fff;flex-direction:column;gap:24px;padding-bottom:12px;display:flex;position:sticky;top:56px}.class-library-links{align-items:center;gap:20px;display:flex}.class-library-links a{min-height:44px;color:var(--color-ocean);align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.class-list-search{min-height:48px;color:var(--color-ink-soft);background:#fafcfd;border:1px solid #d4dfe7;border-radius:8px;align-items:center;gap:12px;padding:0 16px;display:flex}.class-list-search:focus-within{outline:2px solid var(--color-ocean);outline-offset:2px}.class-list-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:46px}.class-list-search input:focus-visible{outline:0}.class-list-search button{place-items:center;min-width:44px;min-height:44px;display:grid}.class-list-tabs{margin-bottom:-12px}.class-tab-count{color:var(--color-ink-soft);margin-left:7px;font-size:11px;font-weight:400}.class-row{grid-template-columns:minmax(160px,1fr) minmax(100px,.47fr) 85px minmax(212px,.7fr);align-items:center;gap:16px;display:grid}.class-list-head{background:var(--ui-muted);color:var(--color-ink-soft);border-radius:8px;padding:12px 20px;font-size:13px;font-weight:600}.class-list-rows{padding:0;list-style:none}.class-list-rows>li{border-bottom:1px solid var(--ui-line)}.class-list-item{min-height:80px;padding:12px 20px}.class-list-item:hover{background:#fafcfd}.class-row-name{align-items:center;gap:16px;min-width:0;min-height:44px;display:flex}.class-name{overflow-wrap:anywhere;font-size:16px;font-weight:600;display:block}.class-row-icon{color:#126d9d;background:#e4f3ff;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.class-row-icon[data-tone="1"]{color:#267447;background:#e3f6e8}.class-row-icon[data-tone="2"]{color:#946314;background:#fff4d8}.class-row-icon[data-tone="3"]{color:#6251ad;background:#efebff}.class-row-icon[data-tone="4"]{color:#a03b71;background:#fce9f3}.class-row-icon[data-tone="5"]{color:#197985;background:#e2f5f5}.class-row-year,.class-row-count{font-variant-numeric:tabular-nums;font-size:15px}.class-row-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.class-open{min-height:44px;color:var(--color-ocean);white-space:nowrap;background:#edf6fc;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.class-open:hover{background:#dfedf7}.class-call{min-height:44px;color:var(--color-ocean);white-space:nowrap;align-items:center;gap:6px;padding:8px;font-size:13px;display:inline-flex}.class-call-icon{display:none}.class-row-options{border-left:1px solid var(--ui-line);padding-left:8px;position:relative}.class-menu-trigger{width:36px;height:44px;color:var(--color-ocean);border-radius:6px;place-items:center;display:grid}.class-menu-trigger:hover{background:var(--ui-muted)}.class-menu{z-index:40;border:1px solid var(--ui-line);background:#fff;border-radius:8px;width:184px;padding:4px;position:absolute;top:46px;right:0;box-shadow:0 8px 28px #172b3a1a}.class-menu button{text-align:left;border-radius:4px;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;font-size:14px;display:flex}.class-menu button:hover{background:var(--ui-muted)}.class-menu-danger{color:var(--color-coral-ink);border-top:1px solid var(--ui-line)}.class-role{color:var(--color-ink-soft);font-size:11px;display:block}.class-mobile-meta{display:none}.class-list-hint{color:var(--color-ink-soft);margin-top:24px;font-size:13px}.class-list-notices{flex-direction:column;gap:12px;display:flex}.ws-shell{--ws-accent:#245f7d;color:var(--color-ink);background:#fff}.ws-sidebar{background:var(--color-ui-sidebar);border-color:var(--ui-line)}.ws-topbar{background:var(--color-ui-sidebar);border-color:var(--ui-line);min-height:56px;padding-block:12px}.ws-title{letter-spacing:-.035em;font-size:clamp(28px,2.3vw,32px)}.ws-panel{border-color:var(--ui-line);box-shadow:none;border-radius:12px}.ws-primary,.ws-secondary,.ws-input,.ws-label input,.ws-label select,.ws-label textarea{border-radius:8px;font-size:14px}.ws-label :is(input,select,textarea).sr-only,.ws-table :is(input,select,textarea).sr-only{border:0;width:1px;min-width:0;height:1px;min-height:0;padding:0}.ws-nav{color:var(--color-ink-soft);border-radius:8px;font-size:14px;position:relative}.ws-nav[aria-current=page]{background:#e5f1f8}.ws-nav[aria-current=page]:before{content:"";background:var(--ws-accent);border-radius:2px;width:3px;position:absolute;inset:8px auto 8px 0}.ws-table th{background:var(--ui-muted);color:var(--color-ink-soft)}.ws-table th,.ws-table td{border-color:var(--ui-line)}.ws-label,.ws-hint{color:var(--color-ink-soft)}.ws-auth{box-shadow:none;border-radius:12px}.auth-card{border:1px solid var(--ui-line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);width:100%;display:grid;overflow:hidden}.auth-form-pane{outline:none;min-width:0;padding:36px}.auth-introduction{background:var(--ui-muted);border-left:1px solid var(--ui-line);flex-direction:column;justify-content:center;gap:20px;padding:36px;display:flex}.auth-introduction>svg{color:var(--color-ocean)}.auth-introduction h2{letter-spacing:-.025em;font-size:25px;font-weight:600;line-height:1.45}.auth-introduction p,.auth-introduction li{color:var(--color-ink-soft);font-size:14px}.auth-introduction ul{flex-direction:column;gap:12px;display:flex}.auth-introduction li{align-items:center;gap:10px;display:flex}.auth-introduction li svg{color:var(--color-ocean);flex-shrink:0}.cp-landing [data-home-hero-heading]{letter-spacing:-.04em;font-size:clamp(32px,3.8vw,54px);line-height:1.16}.cp-landing [data-home-hero-subtitle]{max-width:36rem;font-size:17px;line-height:1.8}.cp-landing main>section{border-bottom:1px solid var(--ui-line)}.cp-landing .backdrop-blur{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.cp-landing :where([class*=shadow-]):not([data-presentation=stage] *){--tw-shadow:0 0 #0000}.cp-landing h2{letter-spacing:-.025em;font-weight:600}[data-presentation=stage]{--color-bg:#f3fafd;--color-card:#fff;--color-ink:#1f3a4a;--color-ink-soft:#506a7c;--color-sky:#8fd0ea;--color-sky-soft:#d4eef8;--color-ocean:#1b6e93;--color-ocean-deep:#14536f;--font-display:var(--font-baloo),var(--font-be-vietnam),sans-serif;--radius-xl:1rem;--radius-2xl:1.25rem}@media (max-width:1199px){.class-library-links,.page-header-actions{gap:12px}.class-row{grid-template-columns:minmax(140px,1fr) 110px 65px 212px;gap:12px}}@media (max-width:767px){.auth-card{display:block}.auth-form-pane{padding:24px 20px}.auth-introduction{display:none}.page-header{align-items:flex-start;gap:12px}.page-header h1{font-size:26px}.page-header-actions{gap:8px}.class-list-page{gap:20px}.class-library-links,.class-list-head,.class-row-year,.class-row-count{display:none}.class-list-item{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 0}.class-row-name{gap:10px}.class-row-icon{width:36px;height:36px}.class-row-icon svg{width:20px;height:20px}.class-name{font-size:14px}.class-mobile-meta{color:var(--color-ink-soft);margin-top:3px;font-size:11px;display:block}.class-open{gap:4px;min-height:44px;padding:8px;font-size:12px}.class-open svg,.class-call{display:none}.class-row-actions{gap:4px}.class-row-options{border:0;padding-left:0}.class-menu-trigger{width:32px}.class-list-hint{margin-top:16px;font-size:12px}.class-list-search{min-height:44px}.ui-empty{padding:32px 12px}.ws-topbar{padding-inline:16px}}@media (pointer:coarse){.class-menu-trigger{min-width:44px}}@media print{.gradebook-table-shell{min-height:0;max-height:none;overflow:visible}.gradebook-table-shell thead,.gradebook-table-shell th,.gradebook-table-shell td{position:static}}
