/* Sunrise / nature visual system. Loaded after the original app styles. */
:root {
  color-scheme: light;
  --background: #fff8f0;
  --foreground: #49362f;
  --primary: #995139;
  --primary-foreground: #fff;
  --card: #fffdf9;
  --card-foreground: #49362f;
  --secondary: #f3ece7;
  --secondary-foreground: #4f3525;
  --muted: #f3eeea;
  --muted-foreground: #79685e;
  --accent: #f5ede7;
  --accent-foreground: #583722;
  --border: #eaded3;
  --input: #eaded3;
  --ring: #d48d61;
  --font-sans: "Aptos", "Segoe UI Variable", "Segoe UI", sans-serif;
}
body.studio-page, body.admin-page, body.school-page, body.app-auth {
  --forest: #48322e;
  --leaf: #a65c40;
  --sage: #9b8273;
  --ink: #49362f;
  --soft-ink: #766458;
  --line: #e9ddd2;
  --paper: #fffdf9;
  --sun: #e7ac62;
  color: var(--ink);
  font-family: var(--font-sans);
  background: #fff8f0;
  -webkit-font-smoothing: antialiased;
}
:where(.studio-page,.admin-page,.school-page,.app-auth) :where(button,input,select,textarea) { font-family: inherit; }
:where(.studio-page,.admin-page,.school-page,.app-auth) :where(button,a,input,select,textarea,summary):focus-visible {
  outline: 3px solid #c7794b;
  outline-offset: 3px;
}
:where(.studio-page,.admin-page,.school-page,.app-auth) :where(input,select,textarea) { accent-color: #693d21; }
:where(.studio-page,.admin-page,.school-page,.app-auth) :where(button,a,select) { transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }

/* Shared top navigation and masthead */
.studio-page .saas-bar, .admin-page .top, .school-page header {
  background: #48322e;
  color: #faf3ee;
  border-bottom: 1px solid #ffffff20;
}
.studio-page .saas-bar { padding: 11px clamp(18px,2.4vw,42px); min-height:54px; font: 600 12px/1.45 var(--font-sans); letter-spacing:.09em; }
.studio-page .saas-bar .saas-muted { color:#e9ded6; opacity:1; }
.studio-page .saas-bar .saas-actions { gap:12px; }
.studio-page .saas-bar .saas-actions > a { color:#f8f7e9; }
.studio-page .saas-bar button, .admin-page .top button, .school-page header button {
  color:#f8f8f0; border:1px solid #c3ad9c50; background:#ffffff0b; border-radius:9px; padding:8px 13px;
}
.studio-page .saas-bar button:hover, .admin-page .top button:hover, .school-page header button:hover { background:#ffffff21; border-color:#dfd3c9; }
.studio-page .saas-switch label, .admin-page .school-switch label { color:#eadcd2; }
.studio-page .saas-switch select, .admin-page .school-switch select {
  border:1px solid #d7c7ba; border-radius:9px; background:#fffef8; color:#4c301f; font-weight:600;
}

/* Studio shell */
.studio-page .sidebar {
  background:linear-gradient(166deg,#654338 0%,#513832 45%,#352a2a 100%);
  color:#f8f1eb; border-right:1px solid #ffffff1a; padding-top:31px;
}
.studio-page .brand { padding-bottom:47px; }
.studio-page .brand-mark {
  background:linear-gradient(145deg,#ffc98d,#e9a463); color:#412d21;
  border:1px solid #f7d8a3; border-radius:14px;
  box-shadow:0 9px 23px #2c150647;
}
.studio-page .brand b { color:#fcfbf4; font-size:16px; letter-spacing:-.045em; }
.studio-page .brand small { color:#e0d0c4; }
.studio-page .side-label { color:#c7b2a1; letter-spacing:.16em; }
.studio-page .nav-item { color:#e5dad1; border-radius:11px; }
.studio-page .nav-item:hover { color:#fffdf4; background:#ffffff16; }
.studio-page .nav-item.active {
  color:#ffffff; background:#ffffff25; box-shadow:inset 3px 0 #efc583,0 7px 20px #2d16081d;
}
.studio-page .nav-item em { background:#b48952; }
.studio-page .sidebar-bottom { border-top:1px solid #ffffff25; padding-top:19px; }
.studio-page .session-badge { color:#f7f7e8; }
.studio-page .pulse { background:#f7c6a1; box-shadow:0 0 0 4px #f7c6a122; }
.studio-page .sidebar-note,.studio-page .powered,.studio-page .powered span { color:#d0beb1; }
.studio-page .powered { border-top-color:#ffffff28; }
.studio-page .content {
  background:radial-gradient(ellipse 50% 290px at 97% 0%,#f9d8b5b3,transparent 85%),
             radial-gradient(ellipse 53% 550px at 12% 50%,#f8e4d39a,transparent 86%),#fff9f3;
}
.studio-page .topbar {
  background:#fffaf5ef; border-bottom:1px solid #e9e1da; height:80px;
  padding-left:clamp(20px,3vw,52px); padding-right:clamp(20px,3vw,52px);
}
.studio-page .breadcrumb { color:#7f6c61; font-size:13px; }
.studio-page .breadcrumb strong { color:#4c3323; }
.studio-page .breadcrumb span { color:#b2a197; }
.studio-page .logout-form button { color:#6d5444; }
.studio-page .main-body { max-width:1700px; padding:43px clamp(20px,3vw,52px) 84px; }
.studio-page .eyebrow { color:#7c5e4c; letter-spacing:.18em; }
.studio-page .page-intro { margin-bottom:31px; }
.studio-page .page-intro h1 { color:#472a18; font-size:clamp(30px,3vw,42px); letter-spacing:-.055em; font-weight:700; }
.studio-page .page-intro p { color:#79685d; font-size:15px; line-height:1.55; }
.studio-page .save-button,.studio-page .generate-button {
  background:#995139; color:#fffaf5; border:1px solid #995139;
  border-radius:11px; box-shadow:0 8px 18px #502d1729; font-weight:650;
}
.studio-page .save-button:hover,.studio-page .generate-button:hover { background:#763d30; transform:translateY(-1px); box-shadow:0 11px 23px #502d1730; }
.studio-page .save-button:disabled { background:#9a8375; border-color:#9a8375; box-shadow:none; transform:none; }
.studio-page .save-status { color:#846c5d; }
.studio-page .save-status.unsaved { color:#95692b; }

/* Cards and guidance */
.studio-page .board-guidance {
  background:linear-gradient(109deg,#fff0de 0%,#fff8ed 100%);
  border:1px solid #eadbcf; border-left:4px solid #df996e;
  border-radius:16px; box-shadow:0 8px 26px #643a2010;
  padding:17px 20px; gap:23px;
}
.studio-page .board-choice span,.studio-page .board-guidance p { color:#685346; }
.studio-page .board-guidance p strong { color:#60361c; }
.studio-page .board-guidance a { color:#623519; text-decoration-thickness:1px; }
.studio-page .board-choice select,.studio-page .board-choice input {
  color:#5a341d; border-color:#ded0c5; border-radius:9px; padding:9px 12px; background:#fffdf9;
}
.studio-page .metrics { gap:17px; margin-bottom:24px; }
.studio-page .metric,.studio-page .panel {
  background:var(--paper); border:1px solid #eaded3;
  box-shadow:0 12px 36px #4d32220d,0 1px 2px #4d322208;
}
.studio-page .metric { border-radius:17px; padding:20px; min-height:105px; column-gap:15px; }
.studio-page .metric-icon { width:40px; height:40px; border-radius:12px; }
.studio-page .metric-icon.blue { background:#e9eff8; color:#385e87; }
.studio-page .metric-icon.amber { background:#fff1db; color:#9d692b; }
.studio-page .metric-icon.violet { background:#f1eaf5; color:#796495; }
.studio-page .metric-icon.mint { background:#e7f2eb; color:#386b55; }
.studio-page .metric > span,.studio-page .metric strong small { color:#816e63; }
.studio-page .metric strong { color:#442919; font-size:24px; letter-spacing:-.04em; }
.studio-page .panel { border-radius:18px; }
.studio-page .panel-head { padding:25px 27px; }
.studio-page .panel-head h2 { color:#422b1c; font-size:19px; }
.studio-page .panel-head p { color:#7a685d; }
.studio-page .search-box { border-color:#e5dbd3; color:#8c796d; background:#fffdf9; border-radius:10px; height:40px; }
.studio-page .search-box input { color:#503321; background:transparent; }
.studio-page .notice { background:#fff8e8; color:#8a5b20; border-color:#edd8ad; }
.studio-page .notice p { color:#785d36; }

/* Schedule and editing surfaces: subject colours keep distinct meanings. */
.studio-page .day-tabs button,.studio-page .shift-tabs button { color:#705b4e; border-radius:9px; }
.studio-page .day-tabs button:hover,.studio-page .shift-tabs button:hover { background:#f4ede7; }
.studio-page .day-tabs button.selected,.studio-page .shift-tabs button.selected {
  color:#573119; background:#f2eae3; border-color:#e0d1c6; font-weight:700;
}
.studio-page .shift-tabs { background:#f5f0ec; }
.studio-page .schedule th,.studio-page .schedule td { border-color:#eee7e2; }
.studio-page .schedule thead th { background:#f4ede8; color:#6e584a; }
.studio-page .schedule thead th small { color:#948175; }
.studio-page .schedule tbody th { background:#fbf8f6; color:#4a3223; }
.studio-page .schedule tbody th small { color:#8a796e; }
.studio-page .schedule td:has(.empty-cell):hover { background:#f8f0ea; }
.studio-page .empty-cell { color:#cab6a6; }
.studio-page .lesson { border-radius:8px; }
.studio-page .lesson.blue { color:#375d84; background:#eaf0f9; border-color:#7d9dbf; }
.studio-page .lesson.violet { color:#685586; background:#f2edf8; border-color:#a58abb; }
.studio-page .lesson.cyan { color:#286479; background:#e8f4f6; border-color:#76acb2; }
.studio-page .lesson.amber { color:#865c24; background:#fff2de; border-color:#d6a358; }
.studio-page .lesson.mint { color:#35684e; background:#e8f4eb; border-color:#87b99c; }
.studio-page .lesson.rose { color:#8e565d; background:#faeef0; border-color:#ca929b; }
.studio-page .lesson.picked { outline-color:#643b23; }
.studio-page .board-footer,.studio-page .data-table td { color:#7b695e; }
.studio-page .data-table th { color:#705c4f; background:#f7f2ee; border-color:#ebe3dd; }
.studio-page .data-table td { border-color:#ede6e1; }
.studio-page .data-table td strong,.studio-page .load-label b { color:#4f3525; }
.studio-page .count-input,.studio-page .form-grid input,.studio-page .form-grid select { color:#4e3321; border-color:#ded2c9; background:#fffdf9; border-radius:9px; }
.studio-page .form-dialog { color:#49362f!important; background:#fffdf9!important; }
.studio-page .form-grid label,.studio-page .profile-form label,.studio-page .allowed-days span { color:#6d5444; }
.studio-page .status-pill.draft { color:#895f29; background:#fff2da; }
.studio-page .status-pill.confirmed { color:#286845; background:#e6f4e8; }
.studio-page .edit-row,.studio-page .profile-link { color:#693d21; }
.studio-page .teacher-card,.studio-page .absence-card { background:#fffdf9; border-color:#eae2db; border-radius:12px; }
.studio-page .teacher-card:hover,.studio-page .absence-card:hover { border-color:#c1a997; }
.studio-page .avatar { color:#623a21; background:#f1eae4; }
.studio-page .load-label,.studio-page .teacher-top small,.studio-page .absence-card small { color:#857165; }
.studio-page .load-track { background:#eee7e2; }
.studio-page .availability button,.studio-page .teacher-shifts button,.studio-page .allowed-days button { color:#776356; background:#f8f5f3; border-color:#eae2db; }
.studio-page .availability button.available,.studio-page .teacher-shifts button.on,.studio-page .allowed-days button.on { color:#335e49; background:#eaf3e9; border-color:#c8dec9; }
.studio-page .absence-card.absent { background:#fcf1ec; border-color:#e6c4b8; }
.studio-page .absence-card.absent .avatar { color:#a15349; background:#f9ddd7; }

/* Standalone school panel */
.school-page { min-height:100vh; background:radial-gradient(ellipse 60% 50% at 90% 15%,#ffe8ce 0%,transparent 75%),#fff9f2!important; }
.school-page header { height:76px; }
.school-page .brand { color:#f8f9f0; font-size:13px; letter-spacing:.12em; }
.school-page .badge { border-color:#c3ac9a; color:#f3eae3; }
.school-page .container { padding-top:76px; }
.school-page .eyebrow { color:#7e5d48; font-weight:750; }
.school-page h1 { color:#3f2616; font-weight:650; }
.school-page .hero p,.school-page .panel p { color:#776356; }
.school-page .cta { background:#995139; border-radius:11px; box-shadow:0 12px 25px #55342027; }
.school-page .cta:hover { background:#502a13; transform:translateY(-1px); }
.school-page .metric,.school-page .panel { background:#fffdf9; border-color:#eae3dd; box-shadow:0 14px 36px #502d1710; }
.school-page .metric span { color:#7c6a5e; }
.school-page .metric strong,.school-page .panel h2,.school-page .details b { color:#50321f; }
.school-page .details { color:#766256; }

/* Superadmin workspace */
.admin-page { min-height:100vh; background:radial-gradient(ellipse 55% 40% at 90% 0%,#ffead2,transparent 82%),#fff8f2!important; }
.admin-page .top { padding-top:19px; padding-bottom:19px; }
.admin-page .top-actions { flex-wrap:wrap; }
.admin-page .wrap { margin-top:51px; margin-bottom:70px; }
.admin-page .heading h1 { color:#452816; font-size:clamp(30px,3.3vw,42px); letter-spacing:-.05em; }
.admin-page .heading p,.admin-page .muted { color:#7c6a5e; }
.admin-page .eyebrow { color:#81614d; }
.admin-page .card { background:#fffdf9; border-color:#eae3dd; box-shadow:0 14px 37px #47291612; border-radius:19px; }
.admin-page .card h2 { color:#482d1c; letter-spacing:-.025em; }
.admin-page .pill { background:#e6f2e5; color:#326c49; }
.admin-page .pill.pending { background:#fff2d9; color:#8e601b; }
.admin-page .pill.suspended { background:#fbe6e1; color:#95443c; }
.admin-page .row label,.admin-page .create-form label,.admin-page .reset label { color:#725a4b; }
.admin-page .row input,.admin-page .row select,.admin-page .create-form input,.admin-page .profile-form input { border-color:#e0d3c9; background:#fffdf9; border-radius:9px; color:#4b3121; }
.admin-page .row button,.admin-page .create-form button,.admin-page .reset button { border-color:#ded1c7; border-radius:9px; color:#613a22; background:#fdfaf8; }
.admin-page .row button:hover,.admin-page .reset button:hover { background:#f4ece6; border-color:#ccb4a2; }
.admin-page .row button.primary,.admin-page .create-form button.primary { background:#995139; border-color:#995139; color:#fff; }
.admin-page .row button.primary:hover,.admin-page .create-form button.primary:hover { background:#763d30; }
.admin-page .tokenbox,.admin-page .message { background:#f5ede7; border-color:#dbc9bb; color:#57331d; }
.admin-page .row.tokenrow,.admin-page .reset { border-color:#ece4de; }
.admin-page .empty { background:#fffdf9; }

/* Sign in, signup, setup, upgrade */
.app-auth {
  min-height:100vh; padding:42px 20px;
  background:radial-gradient(circle at 82% 12%,#fbc894 0%,#fbc89400 32%),
    radial-gradient(circle at 12% 86%,#f5ddd1 0%,#f5ddd100 38%),#fff7ee;
}
.app-auth .auth {
  width:min(100%,565px); border:1px solid #eae2db; border-radius:24px;
  padding:clamp(28px,4vw,44px); background:#fffdf9;
  box-shadow:0 27px 75px #4a291519,0 3px 10px #3e231310;
}
.app-auth .emblem { background:linear-gradient(145deg,#ffc887,#e4a15e); color:#462f20; border:1px solid #f3d69e; width:48px; height:48px; border-radius:14px; margin-bottom:33px; box-shadow:0 9px 18px #b4885130; }
.app-auth .eyebrow { color:#7d5c48; letter-spacing:.16em; }
.app-auth .auth h1 { font-size:clamp(30px,4vw,38px); color:#442919; letter-spacing:-.055em; margin:10px 0 13px; }
.app-auth .auth p { color:#766256; line-height:1.65; }
.app-auth .auth label { color:#664b3b; }
.app-auth .auth input { background:#fffdf9; border:1px solid #e0d4cb; color:#4f3525; border-radius:10px; height:45px; }
.app-auth .auth .choice input { width:18px; height:18px; flex:none; }
.app-auth .auth input:focus { outline:none; border-color:#9f7256; box-shadow:0 0 0 3px #b3846630; }
.app-auth .auth button { background:#995139; border-radius:10px; height:48px; font-size:14px; box-shadow:0 8px 20px #5a341c25; }
.app-auth .auth button:hover { background:#763d30; }
.app-auth .auth a { color:#683b1f; }
.app-auth .auth small { color:#836f63; }
.app-auth .message { background:#f5ede6; color:#613a22; border:1px solid #ddcabc; padding:12px 14px; border-radius:10px; margin:0 0 20px; line-height:1.5; }
.app-auth .error { color:#943f35; }

@media(max-width:900px) {
  .studio-page .board-guidance { padding:15px 17px; }
  .studio-page .board-guidance p { margin-top:10px; }
}
@media(max-width:800px) {
  .studio-page .sidebar { box-shadow:12px 0 35px #40231145; }
  .studio-page .scrim { background:#2f1b0fa3; }
  .studio-page .mobile-close,.studio-page .menu-button { color:#5d3922; }
  .studio-page .mobile-close { color:#fff; }
  .studio-page .main-body { padding:28px 18px 65px; }
  .studio-page .topbar { height:68px; padding:0 18px; }
  .admin-page .top { flex-wrap:wrap; padding:16px 20px; }
}
@media(max-width:560px) {
  .studio-page .saas-bar { padding:11px 15px; }
  .studio-page .saas-bar .saas-actions { gap:9px; }
  .studio-page .saas-switch select { max-width:170px; min-width:125px; }
  .studio-page .page-intro h1 { font-size:30px; }
  .studio-page .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .studio-page .metric { min-height:94px; padding:13px; grid-template-columns:32px 1fr; column-gap:8px; }
  .studio-page .metric-icon { width:32px; height:32px; }
  .studio-page .metric strong { font-size:21px; }
  .studio-page .panel-head { padding:18px; }
  .studio-page .board-guidance { margin-bottom:24px; }
  .school-page .container { padding-top:42px; }
  .admin-page .wrap { margin-top:34px; }
  .admin-page .card { padding:19px; }
  .app-auth { padding:22px 14px; }
  .app-auth .auth { padding:26px 23px; border-radius:19px; }
}
@media(max-width:380px) { .studio-page .metrics { grid-template-columns:1fr; } }

/* Quiet, compact editorial layout. Keep the board guidance close to the data it informs. */
.studio-page .main-body { display:flex; flex-direction:column; padding-top:34px; }
.studio-page .main-body > * { order:3; }
.studio-page .main-body > .page-intro { order:0; }
.studio-page .main-body > .metrics { order:1; }
.studio-page .main-body > .board-guidance { order:2; }
.studio-page .main-body > .notice { order:2; }
.studio-page .page-intro { align-items:center; margin-bottom:22px; }
.studio-page .page-intro h1 { font-size:clamp(27px,2.5vw,36px); font-weight:550; letter-spacing:-.045em; line-height:1.18; }
.studio-page .page-intro p { font-size:14px; margin-top:7px; }
.studio-page .page-intro .eyebrow { margin-bottom:8px; font-size:10px; letter-spacing:.18em; }
.studio-page .topbar { height:64px; }
.studio-page .topbar .logout-form { display:none; }
.studio-page .top-actions { gap:14px; }
.studio-page .save-button { height:37px; font-size:12px; font-weight:600; }
.studio-page .generate-button { height:39px; font-size:12px; font-weight:600; }
.studio-page .sidebar { padding:23px 14px; }
.studio-page .brand { padding:3px 10px 32px; }
.studio-page .side-label { font-size:10px; margin-bottom:8px; }
.studio-page .nav-item { height:43px; font-size:13px; }
.studio-page .nav-item.active { background:#ffffff20; }
.studio-page .sidebar-note { margin:12px 0 24px; }
.studio-page .metrics { margin-bottom:17px; gap:12px; }
.studio-page .metric { min-height:92px; padding:15px 17px; border-radius:14px; box-shadow:0 5px 15px #48322e0a; }
.studio-page .metric > span { font-size:12px; letter-spacing:.01em; }
.studio-page .metric strong { font-size:22px; font-weight:580; }
.studio-page .metric-icon { width:37px; height:37px; }
.studio-page .board-guidance { margin:0 0 22px; padding:11px 15px; border-left-width:3px; border-radius:11px; box-shadow:none; }
.studio-page .board-choice { gap:9px; }
.studio-page .board-choice span { font-size:12px; white-space:nowrap; }
.studio-page .board-choice select,.studio-page .board-choice input { padding:6px 9px; font-size:12px; }
.studio-page .board-guidance p { font-size:12px; line-height:1.5; }
.studio-page .panel { border-radius:15px; box-shadow:0 8px 25px #48322e0b; }
.studio-page .panel-head { padding:20px 23px 16px; }
.studio-page .panel-head h2 { font-size:16px; font-weight:620; }
.studio-page .panel-head p { margin-top:4px; font-size:12px; }
.studio-page .board-controls { padding:0 23px 15px; }
.studio-page .day-tabs button,.studio-page .shift-tabs button { padding:7px 10px; font-size:12px; }
.studio-page .schedule thead th { background:#f8f1eb; font-size:10px; }
.studio-page .schedule tbody th { background:#fffaf5; }
.studio-page .schedule th:first-child { width:108px; }
.studio-page .schedule tbody th b { font-size:12px; }
.studio-page .schedule tbody th small { font-size:10px; }
.studio-page .schedule td { height:72px; }
.studio-page .lesson { height:60px; padding:8px; }
.studio-page .schedule tbody th,.studio-page .schedule thead th:first-child { position:sticky; left:0; z-index:1; }
.studio-page .schedule thead th:first-child { z-index:2; }
.studio-page .teacher-card,.studio-page .absence-card { box-shadow:0 2px 8px #48322e08; }
.studio-page .teacher-top strong,.studio-page .absence-card strong { color:#49362f; }
.studio-page .board-footer { font-size:10px; }
.studio-page .data-table th { font-size:10px; }
.studio-page .data-table td { font-size:12px; }
.studio-page .saas-bar { min-height:48px; padding-top:7px; padding-bottom:7px; font-size:12px; }
.studio-page .saas-bar .saas-muted { letter-spacing:0; font-size:12px; }
.studio-page .saas-bar .saas-actions > a { font-size:12px; }
.studio-page .saas-bar button { padding:7px 11px; font-size:12px; }
.studio-page .saas-switch select { height:31px; }

.admin-page .heading h1 { font-weight:550; font-size:clamp(28px,2.6vw,36px); }
.admin-page .card h2 { font-weight:580; }
.admin-page .wrap { margin-top:39px; }
.admin-page .card { box-shadow:0 9px 28px #48322e0c; }
.school-page h1 { font-weight:550; font-size:clamp(29px,3vw,41px); }
.school-page .metric strong,.school-page .panel h2 { font-weight:580; }
.app-auth .auth h1 { font-weight:550; }

@media(max-width:900px) {
  .studio-page .board-guidance { display:block; }
  .studio-page .board-guidance p { margin-top:7px; }
}
@media(max-width:800px) {
  .studio-page .main-body { padding-top:24px; }
  .studio-page .topbar { height:60px; }
  .studio-page .brand { padding-bottom:32px; }
}
@media(max-width:560px) {
  .studio-page .main-body { padding-top:22px; }
  .studio-page .page-intro { align-items:flex-start; gap:13px; margin-bottom:17px; }
  .studio-page .page-intro h1 { font-size:27px; }
  .studio-page .metrics { gap:9px; }
  .studio-page .metric { padding:12px; min-height:83px; }
  .studio-page .metric strong { font-size:19px; }
  .studio-page .board-guidance { margin-bottom:16px; }
  .studio-page .board-controls { gap:10px; padding:0 16px 13px; }
  .studio-page .day-tabs { max-width:100%; overflow-x:auto; scrollbar-width:thin; }
  .studio-page .day-tabs button { flex:none; }
  .studio-page .panel-head { padding:17px 16px 14px; }
  .studio-page .schedule th:first-child { width:95px; }
}

/* Natural sunrise finish: charcoal olive, soft linen, a restrained copper highlight. */
:root {
  --background:#faf9f4;
  --foreground:#2d3b32;
  --primary:#89563e;
  --card:#fffdfa;
  --card-foreground:#2d3b32;
  --secondary:#edf1e9;
  --secondary-foreground:#35483b;
  --muted:#f1f3ed;
  --muted-foreground:#5d7063;
  --accent:#eef1e9;
  --accent-foreground:#3f5545;
  --border:#e4e6db;
  --input:#e4e6db;
  --ring:#b98866;
}
body.studio-page,body.admin-page,body.school-page,body.app-auth {
  --forest:#343e35;
  --leaf:#56715c;
  --sage:#839885;
  --ink:#2d3b32;
  --soft-ink:#607366;
  --line:#e3e6dd;
  --paper:#fffdfa;
  --sun:#e7b877;
  background:#faf9f4;
  color:var(--ink);
}
.studio-page .saas-bar,.admin-page .top,.school-page header { background:#303b34; color:#f9f8f1; }
.studio-page .sidebar { background:linear-gradient(162deg,#48594b 0%,#35473c 48%,#27382f 100%); }
.studio-page .sidebar .nav-item.active { background:#ffffff1e; box-shadow:inset 3px 0 #edbb79; }
.studio-page .brand-mark,.app-auth .emblem { background:linear-gradient(145deg,#f5d7aa,#eeb873); color:#344136; }
.studio-page .brand small,.studio-page .sidebar-note,.studio-page .powered,.studio-page .powered span { color:#d7dfd1; }
.studio-page .side-label { color:#c7d4c0; }
.studio-page .session-badge { color:#f9f9ee; }
.studio-page .pulse { background:#b6cf9f; box-shadow:0 0 0 4px #b6cf9f22; }
.studio-page .content { background:radial-gradient(ellipse 47% 310px at 100% 2%,#f7e7d5b8,transparent 87%),radial-gradient(ellipse 48% 560px at 9% 57%,#eaf0e789,transparent 85%),#faf9f4; }
.studio-page .topbar { background:#fffdfaeF; border-bottom-color:#e6e8df; }
.studio-page .breadcrumb strong,.studio-page .page-intro h1,.studio-page .panel-head h2,.studio-page .metric strong,.studio-page .teacher-top strong,.studio-page .absence-card strong { color:#283a30; }
.studio-page .breadcrumb,.studio-page .page-intro p,.studio-page .panel-head p,.studio-page .metric > span,.studio-page .metric strong small { color:#617367; }
.studio-page .eyebrow { color:#74816b; }
.studio-page .save-button,.studio-page .generate-button { background:#89563e; border-color:#89563e; box-shadow:0 8px 18px #734a3822; }
.studio-page .save-button:hover,.studio-page .generate-button:hover { background:#72432e; }
.studio-page .save-button:disabled { color:#fff; background:#9ea79a; border-color:#9ea79a; }
.studio-page .metric,.studio-page .panel { background:#fffdfa; border-color:#e7e8df; box-shadow:0 7px 23px #30473a0a; }
.studio-page .metric-icon.amber { background:#fff2df; color:#976535; }
.studio-page .metric-icon.mint { background:#e8f2eb; color:#466d56; }
.studio-page .board-guidance { background:linear-gradient(105deg,#f4f5ec 0%,#fdf8ef 100%); border-color:#e2e8d9; border-left-color:#bfab82; }
.studio-page .board-choice span,.studio-page .board-guidance p { color:#4c6253; }
.studio-page .board-guidance p strong,.studio-page .board-guidance a { color:#486551; }
.studio-page .board-choice select,.studio-page .board-choice input,.studio-page .search-box { background:#fffdfa; border-color:#dce3d8; color:#35473a; }
.studio-page .day-tabs button,.studio-page .shift-tabs button { color:#546b5b; }
.studio-page .day-tabs button.selected,.studio-page .shift-tabs button.selected { background:#ebf1e8; color:#315541; border-color:#d6e2d3; }
.studio-page .shift-tabs { background:#f1f4ee; }
.studio-page .schedule thead th,.studio-page .data-table th { background:#f2f5ef; color:#566b5b; }
.studio-page .schedule tbody th { background:#fafbf7; color:#34493a; }
.studio-page .schedule th,.studio-page .schedule td,.studio-page .data-table td { border-color:#ebeee7; }
.studio-page .data-table td strong,.studio-page .load-label b { color:#34483a; }
.studio-page .teacher-card,.studio-page .absence-card { background:#fffdfa; border-color:#e6e9df; }
.studio-page .avatar { background:#edf2e9; color:#46644e; }
.studio-page .teacher-card:hover,.studio-page .absence-card:hover { border-color:#a6bca5; }
.studio-page .availability button.available,.studio-page .teacher-shifts button.on,.studio-page .allowed-days button.on { background:#e9f2e7; color:#39674b; }
.studio-page .form-grid label,.studio-page .profile-form label,.studio-page .allowed-days span { color:#506957; }
.school-page { background:radial-gradient(ellipse 60% 50% at 90% 15%,#f8e6c8 0%,transparent 75%),#faf9f4!important; }
.school-page h1,.school-page .metric strong,.school-page .panel h2,.school-page .details b { color:#283a30; }
.school-page .hero p,.school-page .panel p { color:#607367; }
.school-page .cta { background:#89563e; }
.school-page .cta:hover { background:#72432e; }
.school-page .metric,.school-page .panel { border-color:#e6e9df; }
.admin-page { background:radial-gradient(ellipse 55% 40% at 90% 0%,#f7e8d4,transparent 82%),#faf9f4!important; }
.admin-page .heading h1,.admin-page .card h2 { color:#283a30; }
.admin-page .heading p,.admin-page .muted,.admin-page .row label,.admin-page .create-form label,.admin-page .reset label { color:#5a7060; }
.admin-page .card { border-color:#e6e9df; background:#fffdfa; }
.admin-page .row button.primary,.admin-page .create-form button.primary { background:#89563e; border-color:#89563e; }
.admin-page .row button.primary:hover,.admin-page .create-form button.primary:hover { background:#72432e; }
.admin-page .row input,.admin-page .row select,.admin-page .create-form input,.admin-page .profile-form input { border-color:#dce3d8; }
.app-auth { background:radial-gradient(circle at 83% 13%,#f5d9ad 0%,transparent 34%),radial-gradient(circle at 12% 86%,#e9efe6 0%,transparent 39%),#faf9f4; }
.app-auth .auth { background:#fffdfa; border-color:#e6e9df; }
.app-auth .auth h1 { color:#283a30; }
.app-auth .auth p,.app-auth .auth small { color:#607367; }
.app-auth .auth label,.app-auth .eyebrow { color:#536d58; }
.app-auth .auth input { background:#fffdfa; border-color:#dce3d8; color:#2e4033; }
.app-auth .auth button { background:#89563e; }
.app-auth .auth button:hover { background:#72432e; }
.app-auth .auth a { color:#67563d; }
@media(prefers-reduced-motion:reduce) {
  :where(.studio-page,.admin-page,.school-page,.app-auth) :where(button,a,select) { transition:none; }
}
