:root{--gold:#d4af37;--black:#090909;--panel:#151515;--soft:#f7f3e8;--white:#fff;--muted:#707070;--green:#2e7d32;--red:#b00020;--blue:#2457a6}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f1ea;color:#1c1c1c}.topbar{background:#000;color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 4px 18px rgba(0,0,0,.25)}.brand{display:flex;align-items:center;gap:12px}.brand img{height:48px;width:auto;background:#fff;border-radius:10px;padding:4px}.brand span{display:block;color:var(--gold);font-size:13px;margin-top:2px}.topbar nav{display:flex;gap:10px;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:10px}.topbar a:hover{background:var(--gold);color:#000}.container{max-width:1180px;margin:0 auto;padding:24px}.hero,.card{background:#fff;border:1px solid #e7decb;border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(0,0,0,.06);margin-bottom:18px}.hero{background:linear-gradient(135deg,#111 0%,#3b2a00 55%,#d4af37 100%);color:#fff}.hero h1{margin:0 0 8px}.hero p{color:#f5e8be;max-width:900px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.plan{border:2px solid #e2d5b7;border-radius:18px;padding:20px;background:#fff}.plan.premium{border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.12)}.price{font-size:32px;font-weight:800;margin:8px 0}.discount{color:var(--green);font-weight:700}.btn,button,input[type=submit]{display:inline-block;border:0;background:#000;color:#fff;padding:10px 14px;border-radius:12px;text-decoration:none;cursor:pointer;font-weight:700}.btn.gold,button.gold{background:var(--gold);color:#000}.btn.soft{background:#eee;color:#111}.btn.red{background:var(--red)}.btn.blue{background:var(--blue)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}th{background:#111;color:#fff}tr:hover td{background:#fffaf0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}label{font-weight:700;display:block;margin-bottom:5px}input,select,textarea{width:100%;padding:10px;border:1px solid #cfc7b8;border-radius:10px;font:inherit;background:#fff}textarea{min-height:100px}.notice{padding:12px 14px;border-radius:12px;background:#fff7da;border:1px solid #e5c767;margin-bottom:16px}.error{background:#fde7e9;border-color:#f5a3ad;color:#65000b}.success{background:#e8f5e9;border-color:#9bd29d;color:#154a19}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#eee}.badge.active{background:#dff3df;color:#155b17}.badge.expired,.badge.suspended{background:#ffd9df;color:#820016}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.metric{background:#111;color:#fff;border-radius:16px;padding:18px}.metric strong{font-size:34px;display:block;color:var(--gold)}.tool-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.small{font-size:13px;color:#666}.footer{text-align:center;padding:30px;color:#666}@media(max-width:720px){.topbar{display:block}.topbar nav{margin-top:12px}.container{padding:14px}}
.topbar a.account-link{background:rgba(212,175,55,.16);border:1px solid rgba(212,175,55,.65);color:#fff}.topbar a.account-link:hover{background:var(--gold);color:#000}.account-card{border-color:#b9c8eb}.account-card h2{color:#163f82}


/* Account settings visibility fix */
.account-link,
.account-settings-link {
  background: #d4af37;
  color: #000 !important;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.35);
}
.password-alert-banner {
  margin: 18px 0;
  padding: 14px 18px;
  border-radius: 16px;
  background: #fff7d6;
  border: 2px solid #d4af37;
  color: #111;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.password-alert-banner a {
  display: inline-block;
  margin-left: 10px;
  background: #111;
  color: #fff !important;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}
.account-card {
  border: 2px solid #d4af37;
}

.inline-form { display: inline; margin: 0; }
button.danger, .danger {
    background: #9f1d1d;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 8px 12px;
    cursor: pointer;
    font-weight: 700;
}
button.danger:hover, .danger:hover { background: #7f1414; }
.muted { color: #777; font-size: 0.95em; }


/* Account button color update: inactive/default state is white for readability */
.topbar a.account-link,
.topbar a.account-settings-link,
.account-password-btn,
a.account-password-btn,
.account-settings-banner a {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid var(--gold) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.topbar a.account-link:hover,
.topbar a.account-settings-link:hover,
.account-password-btn:hover,
a.account-password-btn:hover,
.account-settings-banner a:hover {
    background: var(--gold) !important;
    color: #000000 !important;
}

/* Top row button color update: inactive/default state is white for readability */
.topbar nav a,
.topbar nav a:visited {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid var(--gold) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.10);
    font-weight: 800;
}

.topbar nav a:hover,
.topbar nav a:focus {
    background: var(--gold) !important;
    color: #000000 !important;
    border-color: var(--gold) !important;
}

/* Super Admin correction styles */
.signed-in-user{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
  padding:8px 12px;
  border:1px solid rgba(212,175,55,.65);
  border-radius:12px;
  background:#fff;
  color:#111;
  min-width:170px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.signed-in-user .signed-in-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#555;font-weight:700}
.signed-in-user strong{font-size:.98rem;color:#111;line-height:1.1}
.signed-in-user span:last-child{font-size:.8rem;color:#6b4c00;font-weight:700}
.detail-card{border-left:6px solid #d4af37}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 18px}
.detail-grid p{padding:10px;border:1px solid #eee;border-radius:10px;background:#fffdf4;margin:0}
.actions-cell{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inline-form{display:inline-block;margin:0}
.inline-form button{margin:0}
.action-row{align-items:center}
.btns.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
button.danger,.btn.danger,.danger{background:#b3261e!important;color:#fff!important;border:1px solid #8f1d17!important}
.badge.active{background:#dcfce7;color:#166534}
.badge.pending{background:#fef3c7;color:#854d0e}
.badge.suspended,.badge.expired,.badge.inactive{background:#fee2e2;color:#991b1b}
.badge.trial{background:#dbeafe;color:#1e40af}
.notice.warning{background:#fff7d6;border-color:#d4af37;color:#4d3800}
@media(max-width:900px){.signed-in-user{align-items:flex-start;width:100%}.topbar{gap:10px}}

/* Confirmed Super Admin Fix 2026-08-14 */
.current-user-strip{
  max-width:1180px;
  margin:12px auto 0;
  padding:10px 18px;
  background:#fff7d6;
  border:2px solid var(--gold);
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.current-user-strip span{
  font-weight:900;
  color:#111;
}
.current-user-strip em{
  font-style:normal;
  color:#684d00;
  font-weight:800;
  background:#fff;
  border:1px solid #e7decb;
  padding:4px 8px;
  border-radius:999px;
}
.dashboard-card-highlight{
  border:3px solid var(--gold)!important;
  box-shadow:0 10px 26px rgba(212,175,55,.18)!important;
}
.card a:not(.btn), table a:not(.btn){
  color:#1a4f9c;
  font-weight:800;
  text-decoration:underline;
}
.card a:not(.btn):hover, table a:not(.btn):hover{
  color:#000;
  background:#fff1b8;
}
.btns.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center}
.actions-cell{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.detail-card{border-left:7px solid var(--gold)!important}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 18px}
.detail-grid p{padding:10px;border:1px solid #eee;border-radius:10px;background:#fffdf4;margin:0}
.inline-form{display:inline-block;margin:0}
.inline-form button{margin:0}
button.danger,.btn.danger,.danger{background:#b3261e!important;color:#fff!important;border:1px solid #8f1d17!important}
.notice.warning{background:#fff7d6;border-color:#d4af37;color:#4d3800}
.badge.pending{background:#fef3c7;color:#854d0e}
.badge.trial{background:#dbeafe;color:#1e40af}
.badge.inactive,.badge.suspended,.badge.expired{background:#fee2e2;color:#991b1b}
@media(max-width:720px){.current-user-strip{margin:10px 12px 0}.actions-cell{display:block}.actions-cell .btn,.actions-cell form{margin-bottom:6px}}

/* User, school account, and PDF management hotfix 2026-08-14 */
.user-info-banner{
  background:#fff7d6!important;
  border:2px solid var(--gold)!important;
  color:#111!important;
  margin-top:12px!important;
}
.user-info-banner strong{color:#111!important;}
.user-info-banner span{font-weight:900!important;color:#111!important;}
.user-info-banner em{background:#fff!important;color:#5b4300!important;border:1px solid #e3cc74!important;}
.table-action-note{font-size:13px;color:#555;margin:.25rem 0 1rem;}
.actions-cell .btn,.actions-cell button{margin:2px 0;white-space:nowrap;}
.pdf-preview-box{border:1px solid #e7decb;border-radius:14px;overflow:hidden;background:#f9f6ee;margin:14px 0;}
.pdf-preview-box iframe{display:block;width:100%;min-height:650px;border:0;background:#fff;}
.inline-check{font-weight:500;display:flex;align-items:center;gap:8px;margin-top:8px;}
.inline-check input{width:auto;}
.card table a:not(.btn), table a:not(.btn){cursor:pointer;}

/* Role-based dashboard redesign 2026-09-02 */
.role-hero{position:relative;overflow:hidden}
.role-dashboard-kicker{display:inline-block;background:#d4af37;color:#000;border-radius:999px;padding:6px 12px;font-weight:900;margin-bottom:10px;letter-spacing:.02em}
.role-dashboard-jumpbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.role-dashboard-jumpbar a{background:#fff;color:#111;border:1px solid #d4af37;border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:900;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.role-dashboard-jumpbar a:hover{background:#d4af37;color:#000}
.role-metrics-row{margin-bottom:22px}
.role-metric{min-height:104px;display:flex;flex-direction:column;justify-content:center}
.role-metric span{display:block;color:#fff3c4;font-weight:800}
.role-metric small{display:block;color:#f7e7a0;margin-top:5px;font-weight:700}
.role-dashboard-section{background:#fff;border:1px solid #e7decb;border-radius:22px;padding:20px;margin:0 0 22px;box-shadow:0 8px 24px rgba(0,0,0,.06);scroll-margin-top:110px}
.role-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #eee1c8;margin-bottom:16px;padding-bottom:12px}
.role-section-head span{display:inline-block;text-transform:uppercase;letter-spacing:.08em;color:#7b5f05;font-weight:900;font-size:12px;margin-bottom:5px}
.role-section-head h2{margin:0;color:#111;font-size:26px}
.role-section-head p{margin:6px 0 0;color:#5d5547;max-width:850px;line-height:1.45}
.role-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}
.role-action-card{margin:0;min-height:188px;display:flex;flex-direction:column;justify-content:space-between;border-left:7px solid #d4af37;background:linear-gradient(180deg,#fff,#fffdf6)}
.role-action-card h3{margin:6px 0 8px;font-size:20px;color:#111}
.role-action-card p{margin:0 0 12px;color:#4c463a;line-height:1.45}
.role-card-badge{display:inline-block;background:#111;color:#d4af37;border:1px solid #d4af37;border-radius:999px;padding:4px 9px;font-weight:900;font-size:12px;margin-bottom:3px}
.role-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.role-compact-list{margin:6px 0 12px 18px;padding:0;color:#333}
.role-compact-list li{margin:4px 0}
.role-snapshot-card{border-left-color:#111;background:#fff}
.role-link-card .btn.soft{border:1px solid #d4af37;background:#fff;color:#111}
.role-link-card .btn.soft:hover{background:#d4af37;color:#000}
@media(max-width:780px){.role-section-head{display:block}.role-dashboard-section{padding:15px}.role-card-grid{grid-template-columns:1fr}.role-metric{min-height:88px}.role-dashboard-jumpbar a{flex:1;text-align:center}.topbar nav a{font-size:.92rem;padding:7px 9px}}
@media print{.role-dashboard-jumpbar,.topbar,.current-user-strip,.footer{display:none!important}.role-dashboard-section,.hero,.card{box-shadow:none;break-inside:avoid}.role-card-grid{grid-template-columns:1fr 1fr}.role-action-card{min-height:auto}}

/* Parent / Guardian View Phases 1-3 */
.parent-view-body{background:#f4f1ea;color:#111}
.parent-view-container{max-width:1120px}
.parent-hero,.parent-admin-hero{background:linear-gradient(135deg,#111 0%,#3b2a00 55%,#d4af37 100%)}
.parent-login-card{border-top:7px solid var(--gold)}
.parent-safe-notice{border-left:7px solid #111;background:#fffdf6}
.parent-safe-notice h2,.parent-family-guide h2,.parent-student-profile h2{margin-top:0;color:#111}
.parent-student-card{border-left-color:#d4af37}
.parent-summary-card{border-left:7px solid var(--gold);background:#fff}
.parent-summary-card h3{margin-top:0;color:#111}
.parent-summary-card h4{margin:16px 0 6px;color:#6f5300;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.parent-prompt-card{border-left-color:#2457a6}
.parent-family-activity{border-left-color:#2e7d32}
.parent-comment-box{background:#fffdf6;border-color:#e5c767}
.parent-safe-metrics,.parent-view-metrics{margin-bottom:18px}
.parent-safe-snapshot ul,.parent-student-profile ul{margin-top:6px}
.badge.approved{background:#dcfce7;color:#166534}.badge.draft{background:#fff7d6;color:#6b4c00}.badge.archived{background:#e5e7eb;color:#374151}
@media print{.parent-topbar,.parent-footer,.btn,.actions-cell,.role-dashboard-jumpbar{display:none!important}.parent-summary-card,.parent-safe-notice,.role-dashboard-section,.card{box-shadow:none;break-inside:avoid}}

/* Parent / Guardian View Phases 4-5 */
.parent-resource-filters{border-top:6px solid var(--gold)}
.parent-print-resource{max-width:850px;margin:0 auto 18px;border-left:8px solid var(--gold)}
.parent-print-resource h1{margin:10px 0 8px;color:#111}
.parent-print-resource h2{margin:18px 0 6px;color:#6b4c00;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}
.parent-big-prompt{font-size:1.25rem;line-height:1.55;background:#fff7d6;border:1px solid #d4af37;border-radius:14px;padding:16px;font-weight:800;color:#111}
.family-manager-forms .role-action-card{min-height:auto}
.family-manager-forms textarea{min-height:80px}
.parent-engagement-note{border-left:7px solid #2457a6;background:#f8fbff}
.parent-engagement-note h2{margin-top:0}
@media print{
  .parent-resource-filters,.parent-safe-notice .btn,.parent-print-resource .btn,.parent-print-resource button,.current-user-strip,.topbar,.footer{display:none!important}
  .parent-print-resource{box-shadow:none;border:0;margin:0;padding:0}
  .parent-big-prompt{border:2px solid #111;background:#fff}
  table{font-size:11px;table-layout:fixed;word-wrap:break-word}
  th,td{padding:7px}
}

/* Kimika & Kalynn Calming Corner */
.status-pill{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;border:1px solid rgba(0,0,0,.08);background:#f3f4f6;color:#111827}
.status-pill.danger{background:#fee2e2;color:#7f1d1d}
.status-pill.review{background:#fff7d6;color:#6b4c00}
.status-pill.good{background:#dcfce7;color:#14532d}
.role-action-card[href*="calming_corner"],.calm-dashboard-card{border-left-color:#255c50}
.student-start-card.calm-start-card{background:linear-gradient(135deg,#e9fff2,#fff7d6);border-color:#d4af37}
.student-start-card.calm-start-card strong{font-size:2.3rem;line-height:1}
.calm-request-card .student-section-title,.student-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.student-empty{background:#fff7d6;border:1px solid #d4af37;border-radius:12px;padding:12px;color:#111}


/* Left sidebar navigation cleanup 2026-09-04 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-body{background:#f4f1ea;color:#111}.app-shell{min-height:100vh;display:flex;align-items:stretch}.sidebar{position:fixed;left:0;top:0;bottom:0;width:292px;background:#090909;color:#fff;border-right:3px solid var(--gold);box-shadow:8px 0 26px rgba(0,0,0,.18);z-index:1000;overflow-y:auto;padding:16px 14px;transition:transform .25s ease}.app-main{width:100%;min-height:100vh;margin-left:292px;display:flex;flex-direction:column}.app-container{max-width:1220px;width:100%;padding-top:22px}.app-topbar{position:sticky;top:0;z-index:900;background:#fff!important;color:#111!important;padding:12px 20px;border-bottom:1px solid #e7decb;box-shadow:0 3px 16px rgba(0,0,0,.08)}.app-topbar .brand img{height:38px}.app-topbar .brand strong{color:#111}.app-topbar .brand span{color:#6b4c00;font-weight:800}.app-topbar-left{display:flex;align-items:center;gap:12px;min-width:220px}.sidebar-toggle{display:none;background:#111;color:#fff;border:1px solid var(--gold);border-radius:12px;padding:9px 12px;font-size:1.1rem;line-height:1}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:8px 8px 14px;border-bottom:1px solid rgba(212,175,55,.35)}.sidebar-brand img{height:54px;background:#fff;border-radius:12px;padding:4px}.sidebar-brand strong{display:block;color:#fff;font-size:1.05rem;line-height:1.1}.sidebar-brand span{display:block;color:var(--gold);font-weight:800;font-size:.82rem;margin-top:2px}.sidebar-user-card{margin:14px 4px;padding:12px;border-radius:16px;background:#fff7d6;color:#111;border:1px solid var(--gold)}.sidebar-user-card small{display:block;text-transform:uppercase;letter-spacing:.06em;color:#6b4c00;font-weight:900;font-size:.7rem}.sidebar-user-card strong{display:block;font-size:1rem;margin-top:3px}.sidebar-user-card span{display:inline-block;margin-top:5px;background:#111;color:var(--gold);border-radius:999px;padding:4px 8px;font-weight:900;font-size:.78rem}.sidebar-nav{display:flex;flex-direction:column;gap:9px}.sidebar-group{border:1px solid rgba(212,175,55,.35);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.04)}.sidebar-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px;font-weight:900;color:#fff}.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary b{font-size:.9rem;color:var(--gold);transition:transform .2s ease}.sidebar-group[open] summary b{transform:rotate(180deg)}.sidebar-links{padding:0 8px 10px;display:flex;flex-direction:column;gap:5px}.sidebar-link{display:flex;align-items:center;gap:9px;text-decoration:none;color:#f8f8f8;border-radius:12px;padding:9px 10px;font-weight:800;font-size:.92rem}.sidebar-link:hover,.sidebar-link.active{background:var(--gold);color:#000}.sidebar-link.logout{margin-top:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.sidebar-link-icon{width:24px;text-align:center;flex:0 0 24px}.sidebar-footer-actions{padding:12px 4px 4px}.global-search{display:flex;align-items:center;gap:7px;flex:1;max-width:620px;margin:0 12px}.global-search input{height:42px;border:1px solid #d8ccb2;background:#fffdf6;border-radius:999px;padding:0 16px;width:100%}.global-search button{height:42px;border-radius:999px;background:#111;color:#fff;padding:0 16px;white-space:nowrap}.topbar-tools{display:flex;align-items:center;gap:10px;min-width:max-content}.notification-bell{position:relative;width:44px;height:44px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:50%!important;background:#fff7d6!important;color:#111!important;border:1px solid var(--gold)!important;text-decoration:none!important;box-shadow:0 4px 12px rgba(0,0,0,.08)}.notification-bell b{position:absolute;right:-5px;top:-6px;background:#b3261e;color:#fff;border:2px solid #fff;border-radius:999px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:0 5px}.quick-action-menu{position:relative}.quick-action-button{background:var(--gold)!important;color:#000!important;border:1px solid #806000!important;border-radius:999px!important;padding:11px 15px!important;font-weight:900!important;white-space:nowrap}.quick-action-list{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e7decb;border-radius:16px;box-shadow:0 16px 35px rgba(0,0,0,.15);padding:8px;min-width:230px;display:none;z-index:1002}.quick-action-menu:hover .quick-action-list,.quick-action-menu:focus-within .quick-action-list{display:block}.quick-action-list a{display:flex;gap:9px;align-items:center;color:#111!important;text-decoration:none;padding:10px;border-radius:12px;font-weight:900}.quick-action-list a:hover{background:#fff7d6}.app-user-strip{margin:14px 20px 0!important;max-width:none!important}.public-topbar nav a{background:#ffffff!important;color:#111111!important;border:1px solid var(--gold)!important;font-weight:800}.public-topbar nav a:hover{background:var(--gold)!important;color:#000!important}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px}.search-result-card{display:flex;flex-direction:column;justify-content:space-between;min-height:205px}.search-result-card h3{margin:8px 0;color:#111}.search-result-card p{color:#4f483b;line-height:1.45}.notification-list{display:flex;flex-direction:column;gap:10px}.notification-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;padding:14px;border:1px solid #e7decb;border-radius:16px;background:#fff;text-decoration:none;color:#111}.notification-row:hover{background:#fff7d6;border-color:var(--gold)}.notification-count{width:52px;height:52px;border-radius:50%;background:#111;color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.2rem}.notification-text{font-weight:900}.notification-open{font-weight:900;color:#6b4c00}.notification-row.tone-urgent{border-left:7px solid #b3261e}.notification-row.tone-review{border-left:7px solid #2457a6}.notification-row.tone-family{border-left:7px solid #2e7d32}.notification-row.tone-private{border-left:7px solid #111}.notification-row.tone-admin{border-left:7px solid #d4af37}.notification-empty-card{border-left:7px solid #2e7d32}.role-dashboard-jumpbar{display:none!important}
@media(max-width:1100px){.sidebar{transform:translateX(-103%)}.app-shell.sidebar-open .sidebar{transform:translateX(0)}.app-main{margin-left:0}.sidebar-toggle{display:inline-block}.global-search{max-width:none;margin:0;order:3;width:100%;flex-basis:100%}.app-topbar{flex-wrap:wrap}.topbar-tools{margin-left:auto}.compact-brand img{display:none}.app-user-strip{margin-left:14px!important;margin-right:14px!important}.app-container{padding:16px}.app-shell.sidebar-open:after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:950}}
@media(max-width:700px){.sidebar{width:86vw;max-width:310px}.app-topbar-left{min-width:0}.topbar-tools{width:100%;justify-content:space-between}.quick-action-menu{flex:1}.quick-action-button{width:100%}.quick-action-list{left:0;right:auto;width:100%}.notification-row{grid-template-columns:52px 1fr}.notification-open{grid-column:2}.notification-count{width:44px;height:44px}.global-search button{padding:0 12px}.global-search input{min-width:0}.sidebar-brand strong{font-size:.98rem}.role-dashboard-jumpbar{display:none!important}}
@media print{.sidebar,.app-topbar,.app-user-strip,.notification-bell,.quick-action-menu{display:none!important}.app-main{margin-left:0}.app-shell{display:block}.role-dashboard-jumpbar{display:none!important}}

/* Parent / Guardian Manager student checkbox linking */
.guardian-link-grid{align-items:start}
.guardian-student-checkbox-area{grid-column:1 / -1}
.checkbox-list-header{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;align-items:end;margin-top:4px}
.student-checkbox-search{width:100%;height:44px;border:1px solid #d8ccb2;background:#fffdf6;border-radius:999px;padding:0 16px;margin-top:6px}
.select-all-visible{display:inline-flex;align-items:center;gap:8px;background:#fff7d6;border:1px solid #d4af37;border-radius:999px;padding:11px 14px;font-weight:900;color:#111;white-space:nowrap}
.student-checkbox-list{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;max-height:360px;overflow:auto;border:2px solid #d4af37;background:#fffdf6;border-radius:16px;padding:10px}
.student-checkbox-row{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #eadfca;border-radius:14px;padding:11px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.student-checkbox-row:hover{background:#fff7d6;border-color:#d4af37}
.student-checkbox-row input[type="checkbox"]{width:20px;height:20px;accent-color:#d4af37;margin-top:2px;flex:0 0 auto}
.student-checkbox-main{display:flex;flex-direction:column;gap:3px;line-height:1.25;flex:1}
.student-checkbox-main strong{color:#111}
.student-checkbox-meta{color:#5d5547;font-size:.86rem;font-weight:700}
.linked-note{align-self:center;background:#e7f8eb;color:#14532d;border:1px solid #a7e3b4;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900;white-space:nowrap}
.student-checkbox-row.already-linked-to-selected-guardian{border-color:#9fd6ad;background:#f2fff5}
.form-help{margin:8px 0 0;color:#5d5547}
@media(max-width:720px){.guardian-student-checkbox-area{grid-column:auto}.checkbox-list-header{grid-template-columns:1fr}.select-all-visible{justify-content:center}.student-checkbox-list{grid-template-columns:1fr;max-height:420px}}

/* Common delete/remove confirmation popup */
.kks-confirm-open{overflow:hidden}
.kks-delete-confirm-modal[hidden]{display:none!important}
.kks-delete-confirm-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:22px;pointer-events:auto}
.kks-delete-confirm-backdrop{position:absolute;inset:0;z-index:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}
.kks-delete-confirm-box{position:relative;z-index:1;width:min(520px,94vw);background:#fff;color:#111;border:3px solid var(--gold,#d4af37);border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.35);padding:26px;text-align:center}
.kks-delete-confirm-icon{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#b3261e;color:#fff;font-size:34px;font-weight:900;margin-bottom:8px;box-shadow:0 7px 18px rgba(179,38,30,.25)}
.kks-delete-confirm-box h2{margin:4px 0 8px;color:#111;font-size:1.65rem}
.kks-delete-confirm-box p{line-height:1.5;margin:8px 0;color:#332b1d;font-weight:700}
.kks-delete-confirm-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.kks-delete-confirm-actions button{border-radius:999px;padding:12px 20px;font-weight:900;border:2px solid #111;cursor:pointer;min-width:150px}
.kks-delete-confirm-no{background:#fff;color:#111}
.kks-delete-confirm-no:hover,.kks-delete-confirm-no:focus{background:#f3f4f6;outline:3px solid rgba(0,0,0,.12)}
.kks-delete-confirm-yes{background:#b3261e;color:#fff;border-color:#7f1d1d!important}
.kks-delete-confirm-yes:hover,.kks-delete-confirm-yes:focus{background:#8f1f18;outline:3px solid rgba(179,38,30,.25)}
.kks-delete-confirm-help{font-size:.9rem;color:#6b4c00!important;margin-top:14px!important}
@media(max-width:560px){.kks-delete-confirm-box{padding:20px}.kks-delete-confirm-actions{display:grid}.kks-delete-confirm-actions button{width:100%}}
@media print{.kks-delete-confirm-modal{display:none!important}}
