:root{
  --co-primary:#3d3ae6;
  --co-primary-600:#302fd0;
  --co-primary-soft:#eeedfd;
  --co-secondary:#0ea5e9;
  --co-secondary-soft:#e0f2fe;
  --co-accent:#ff6b00;
  --co-accent-soft:#fff0e6;
  --co-success:#10b981;
  --co-success-soft:#ecfdf5;
  --co-warning:#f59e0b;
  --co-warning-soft:#fef3c7;
  --co-danger:#ef4444;
  --co-danger-soft:#fee2e2;
  --co-bg:#f8fafc;
  --co-surface:#ffffff;
  --co-surface-2:#f1f5f9;
  --co-border:#e2e8f0;
  --co-text:#0f172a;
  --co-muted:#475569;
  --co-faint:#94a3b8;
  --co-shadow:0 10px 30px rgba(15,23,42,.06);
  --co-shadow-sm:0 2px 8px rgba(15,23,42,.05);
  --co-radius:16px;
  --co-radius-sm:10px;
  --co-sidebar:240px;
  --co-topbar:68px;
  --co-font-display:"Outfit","Avenir Next","Segoe UI",sans-serif;
  --co-font-body:"Geist","Inter","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--co-bg)}
body{margin:0!important;background:var(--co-bg)!important;color:var(--co-text)!important;font-family:var(--co-font-body)!important;-webkit-font-smoothing:antialiased}
a{color:var(--co-primary)}
h1,h2,h3,h4{font-family:var(--co-font-display);color:var(--co-text);letter-spacing:-.015em}
h1{font-size:28px;line-height:1.15;margin:0 0 7px;font-weight:800}
h2{font-size:18px;line-height:1.25;margin:0 0 12px;font-weight:700}
h3{font-size:16px;margin:0 0 10px;font-weight:700}
p{line-height:1.55}
.muted{color:var(--co-muted)!important}.ok{color:var(--co-success)!important}.bad,.error,#error{color:var(--co-danger)!important}

body.co-app main{max-width:none!important;margin:0!important;margin-left:var(--co-sidebar)!important;padding:calc(var(--co-topbar) + 30px) 32px 48px!important;min-height:100vh}
.co-sidebar{position:fixed;z-index:100;left:0;top:0;bottom:0;width:var(--co-sidebar);background:#fff;border-right:1px solid var(--co-border);padding:24px 16px;display:flex;flex-direction:column;justify-content:space-between}
.co-brand{display:flex;align-items:center;padding:0 10px 20px;text-decoration:none;color:var(--co-text)}
.co-brand-logo{display:block;width:154px;max-width:100%;height:34px;object-fit:contain;object-position:left center}
.co-brand-text{font:800 22px/1 var(--co-font-display);letter-spacing:-.03em}
.co-nav{display:flex;flex-direction:column;gap:6px}.co-nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--co-faint);font-weight:800;padding:12px 14px 4px}
.co-nav a{display:flex;align-items:center;gap:12px;min-height:40px;padding:10px 14px;border-radius:9px;text-decoration:none;color:var(--co-muted);font-weight:600;font-size:13px;transition:.15s ease}
.co-nav a:hover{background:var(--co-surface-2);color:var(--co-text)}.co-nav a.active{background:var(--co-primary-soft);color:var(--co-primary)}
.co-nav-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px}.co-nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.co-sidebar-foot{background:var(--co-bg);border:1px solid var(--co-border);border-radius:12px;padding:12px}.co-sidebar-foot strong{display:block;font-size:12px}.co-sidebar-foot span{display:block;font-size:11px;color:var(--co-muted);margin-top:2px}
.co-topbar{position:fixed;z-index:90;left:var(--co-sidebar);right:0;top:0;height:var(--co-topbar);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--co-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px}
.co-top-title{font:700 19px/1 var(--co-font-display);display:flex;align-items:center;gap:9px}.co-top-mark{width:24px;height:24px;object-fit:contain;flex:0 0 24px}.co-top-right{display:flex;align-items:center;gap:14px;color:var(--co-muted);font-size:12px}.co-live-dot{width:8px;height:8px;border-radius:50%;background:var(--co-success);box-shadow:0 0 0 4px rgba(16,185,129,.12)}

.card,.metric,.co-card{background:var(--co-surface)!important;border:1px solid var(--co-border)!important;border-radius:var(--co-radius)!important;box-shadow:var(--co-shadow-sm)!important}
.card{padding:20px!important}.metric{padding:16px!important}.grid{gap:16px!important}.big{font-family:var(--co-font-display);font-weight:800!important;color:var(--co-text);letter-spacing:-.03em}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
button,.btn,a.btn,input,select,textarea{font-family:var(--co-font-body)!important}
input,select,textarea{background:#fff!important;border:1px solid #cbd5e1!important;color:var(--co-text)!important;border-radius:9px!important;min-height:38px;padding:9px 12px!important;outline:none;transition:.15s ease}
input:focus,select:focus,textarea:focus{border-color:var(--co-primary)!important;box-shadow:0 0 0 3px rgba(61,58,230,.11)!important}
button,.btn,a.btn{border:1px solid transparent!important;border-radius:9px!important;background:var(--co-primary)!important;color:#fff!important;min-height:36px;padding:8px 13px!important;font-weight:700!important;font-size:13px!important;cursor:pointer;text-decoration:none;box-shadow:0 2px 8px rgba(61,58,230,.14);transition:transform .12s ease,background .12s ease,box-shadow .12s ease}
button:hover,.btn:hover,a.btn:hover{background:var(--co-primary-600)!important;transform:translateY(-1px);box-shadow:0 7px 18px rgba(61,58,230,.18)}
button.secondary,.secondary,a.secondary,.btn.secondary{background:#fff!important;color:var(--co-text)!important;border-color:var(--co-border)!important;box-shadow:none!important}
button.secondary:hover,.secondary:hover{background:var(--co-surface-2)!important}
button.danger,.danger{background:var(--co-danger)!important;color:#fff!important;border-color:var(--co-danger)!important}
button.warning{background:var(--co-accent)!important}.co-btn-teal{background:var(--co-success)!important}.co-btn-cyan{background:var(--co-secondary)!important}
label{font-size:12px;font-weight:700;color:var(--co-muted)}
.bar{height:9px!important;background:var(--co-surface-2)!important;border-radius:999px!important;overflow:hidden}.fill{background:linear-gradient(90deg,var(--co-primary),#5956f5)!important;border-radius:999px!important}
pre{background:#101827!important;border:1px solid #263348!important;color:#dbeafe!important;border-radius:12px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
table{width:100%;border-collapse:separate!important;border-spacing:0!important;font-size:13px!important}th{background:var(--co-bg);color:var(--co-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}th,td{border-bottom:1px solid var(--co-border)!important;padding:11px 12px!important;text-align:left}tbody tr:hover{background:#fafbff}
.status,.badge,.state{font-weight:800!important}.status,.badge{border-radius:999px!important;padding:4px 8px!important;font-size:11px!important}.online{background:var(--co-success-soft)!important;color:var(--co-success)!important}.offline{background:var(--co-danger-soft)!important;color:var(--co-danger)!important}

.co-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.co-page-head p{margin:4px 0 0;color:var(--co-muted)}
.co-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--co-primary);font-weight:800;margin-bottom:6px}.co-title{font:800 30px/1.12 var(--co-font-display);margin:0}.co-subtitle{color:var(--co-muted);font-size:13px;margin-top:6px}
.co-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.co-stat-card{padding:22px;background:#fff;border:1px solid var(--co-border);border-radius:16px;box-shadow:var(--co-shadow-sm)}
.co-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.co-stat-label{font-size:13px;color:var(--co-muted);font-weight:650}.co-stat-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:900}.co-stat-icon.purple{background:var(--co-primary-soft);color:var(--co-primary)}.co-stat-icon.cyan{background:var(--co-secondary-soft);color:var(--co-secondary)}.co-stat-icon.green{background:var(--co-success-soft);color:var(--co-success)}.co-stat-icon.orange{background:var(--co-accent-soft);color:var(--co-accent)}
.co-stat-value{font:800 32px/1 var(--co-font-display);margin-top:18px;letter-spacing:-.035em}.co-stat-note{font-size:11px;color:var(--co-faint);margin-top:8px}.co-stat-note.good{color:var(--co-success);font-weight:700}
.co-section{margin-top:18px;background:#fff;border:1px solid var(--co-border);border-radius:16px;padding:20px;box-shadow:var(--co-shadow-sm)}.co-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.co-section-head h2{margin:0}.co-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--co-primary-soft);color:var(--co-primary);font-size:10px;font-weight:800}.co-pill.green{background:var(--co-success-soft);color:var(--co-success)}.co-pill.orange{background:var(--co-accent-soft);color:var(--co-accent)}.co-pill.red{background:var(--co-danger-soft);color:var(--co-danger)}
.co-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.co-mini{padding:16px;background:#fff;border:1px solid var(--co-border);border-radius:14px}.co-mini .big{font-size:25px;margin-top:8px}
.co-license-row{display:flex;justify-content:space-between;gap:18px;align-items:center}.co-license-meta{font-size:13px;color:var(--co-muted)}
.co-table-wrap{overflow:auto;border:1px solid var(--co-border);border-radius:13px}.co-form-strip{display:grid;grid-template-columns:1.1fr 1.2fr .8fr auto;gap:10px;margin-bottom:16px;padding:14px;background:var(--co-bg);border:1px solid var(--co-border);border-radius:12px}

/* Classroom */
body.co-app.co-classroom main{padding-top:calc(var(--co-topbar) + 24px)!important}.co-class-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--co-border);border-radius:16px;padding:18px 20px;box-shadow:var(--co-shadow-sm);margin-bottom:18px}.co-class-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.co-class-name{font:700 18px/1 var(--co-font-display)}.co-realtime{display:inline-flex;gap:7px;align-items:center;background:var(--co-success-soft);color:var(--co-success);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}
.co-class-stats{display:flex;gap:18px}.co-class-stat{font-size:11px;color:var(--co-muted)}.co-class-stat strong{display:block;color:var(--co-text);font:800 20px/1.1 var(--co-font-display);margin-bottom:2px}
.co-command-bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--co-border);border-radius:14px;padding:12px;margin-bottom:18px}.co-command-bar .spacer{flex:1}.co-command-bar input{min-width:250px}
.co-control-panel{border:1px solid rgba(61,58,230,.24)!important;background:linear-gradient(180deg,#fff 0,#fbfbff 100%)!important}.co-control-panel h2{display:flex;align-items:center;gap:8px}.co-control-panel h2:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--co-primary);box-shadow:0 0 0 5px rgba(61,58,230,.1)}
.co-class-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.co-class-primary{min-width:0}.co-class-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px}.co-class-side .card{margin:0!important}.co-device-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:12px!important}.co-device-grid>.card{padding:14px!important;border-radius:13px!important;margin:0!important}.co-device-grid .name{font:700 14px/1.2 var(--co-font-display)!important;margin:10px 0 4px!important}.co-device-grid .muted{font-size:11px!important}.co-device-grid .actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:12px!important}.co-device-grid .actions button{font-size:10px!important;min-height:29px!important;padding:6px 8px!important}.co-event-log{max-height:260px;overflow:auto;background:var(--co-bg);border:1px solid var(--co-border);border-radius:10px;padding:8px}.co-event-log div{border-bottom:1px solid var(--co-border)!important;padding:6px!important;color:var(--co-muted)}
.co-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.co-side-action{min-height:78px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;background:#fff!important;color:var(--co-text)!important;border:1px solid var(--co-border)!important;box-shadow:none!important}.co-side-action:hover{border-color:#c7c6fa!important;background:#fbfbff!important}.co-side-action span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--co-primary-soft);color:var(--co-primary);font-size:14px}.co-side-action.danger-action span{background:var(--co-danger-soft);color:var(--co-danger)}.co-side-action.green-action span{background:var(--co-success-soft);color:var(--co-success)}.co-side-action.orange-action span{background:var(--co-accent-soft);color:var(--co-accent)}

/* Generic pages */
body.co-app:not(.co-dashboard):not(.co-classroom) main>h1:first-child,body.co-app:not(.co-dashboard):not(.co-classroom) main>.top:first-child{margin-bottom:18px}.hero{border-radius:20px}.code{background:var(--co-bg)!important;border:1px solid var(--co-border);color:var(--co-primary)!important}.device{border-color:var(--co-border)!important}.health{color:var(--co-success)}

/* Public/account pages */
body.co-public{background:radial-gradient(circle at 8% 0%,rgba(61,58,230,.11),transparent 30%),radial-gradient(circle at 95% 5%,rgba(14,165,233,.10),transparent 28%),var(--co-bg)!important}.co-public .card{box-shadow:var(--co-shadow)!important}.co-public h1{font-size:34px}.co-public .price{font:800 38px/1 var(--co-font-display);color:var(--co-primary)}

@media(max-width:1100px){
  :root{--co-sidebar:210px}.co-stat-grid,.co-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.co-class-layout{grid-template-columns:1fr}.co-class-side{position:static}.co-form-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  :root{--co-sidebar:0px}.co-sidebar{display:none}.co-topbar{left:0;padding:0 16px}.co-top-right{display:none}body.co-app main{margin-left:0!important;padding:calc(var(--co-topbar) + 20px) 16px 32px!important}.co-stat-grid,.co-team-grid{grid-template-columns:1fr}.co-form-strip{grid-template-columns:1fr}.co-page-head,.co-class-hero{align-items:flex-start;flex-direction:column}.co-class-stats{width:100%;justify-content:space-between}.co-command-bar input{min-width:100%;width:100%}.co-side-actions{grid-template-columns:1fr 1fr}
}

/* Compact ClassOrbit brand assets — v0.34.2 */
.co-public-brand{display:block;width:min(220px,66vw);margin:0 auto 18px;text-decoration:none}
.co-public-brand img{display:block;width:100%;height:auto;max-height:64px;object-fit:contain}
.co-public-brand.compact{width:min(190px,60vw);margin-bottom:14px}
.co-public-brand+h1{margin-top:0}
.co-brand-duplicate{display:none!important}
.co-sidebar-foot{position:relative;padding-left:44px;min-height:48px}
.co-sidebar-foot:before{content:"";position:absolute;left:10px;top:10px;width:24px;height:24px;background:url("/assets/classorbit-mark.png") center/contain no-repeat}
@media(max-width:760px){
  .co-top-title{font-size:17px}.co-top-mark{width:22px;height:22px;flex-basis:22px}
  .co-public-brand{width:min(200px,70vw)}
}
