/* Student-only mockup styling. Staff/login screens and data rules are unchanged. */
.student-design{font-family:"Segoe UI",Inter,Arial,sans-serif;font-size:14px;--student-navy:#04175b;--student-soft:#e8ecf8;--student-gold:#f5a623}
.student-design .content{padding:24px 28px 40px;max-width:1280px;min-height:100dvh;display:flex;flex-direction:column}
.student-design .content>*{flex-shrink:0}
.student-design .pagehead{margin-bottom:24px;gap:16px}
.student-design h1{font-size:28px;line-height:1.2;color:var(--dash-text);letter-spacing:-.5px}
.student-design h2{font-size:18px;color:var(--student-navy)}
.student-design h3{font-size:16px}
.student-design .small,.student-design .test-notice{font-size:13px;line-height:1.6}
.student-design .intro{font-size:14px;line-height:1.65;margin-bottom:20px}
.student-design .panel,.student-design .action-card{border-radius:14px;box-shadow:0 1px 2px rgba(4,23,91,.04)}
.student-design .panelhead{padding:18px 20px}
.student-design .panelbody{padding:20px}
.student-design .panelhead h2{font-size:17px}
.student-design button,.student-design .button{font-family:inherit;font-size:13px;border-radius:10px;font-weight:600;min-height:44px}
.student-design .primary{background:var(--student-navy);color:white}
.student-design .primary:hover{background:#0a2a8a}
.student-design input,.student-design select,.student-design textarea{font-family:inherit;font-size:14px;border-radius:10px;border-color:#cfd6e6;background:#fbfcff}
.student-design .field label{font-size:12.5px;font-weight:600}
.student-design .tag,.student-design .category-label{font-size:11.5px;border-radius:999px;padding:4px 9px;font-weight:700}
.student-design .category-label{background:var(--student-soft);color:var(--student-navy)}
.student-design .tag.warning{background:#fff4dd;color:#8a5200}
.student-design .alert{border-radius:12px;font-size:13px;line-height:1.65}
.student-design .footer{margin-top:auto;padding-top:32px;font-size:12px;justify-content:center;text-align:center;color:var(--dash-muted)}
.student-design .sidebar{width:250px;padding:18px 10px 16px}
.student-design .shell{margin-left:250px}
.student-design .dashboard-brand{padding:0 8px 16px;gap:10px}
.student-design .dashboard-brand strong{font-size:14.5px}
.student-design .dashboard-brand small{font-size:11.5px;color:#f5a623}
.student-design .user-card{padding:12px;margin:16px 6px;border-radius:12px}
.student-design .user-card strong{font-size:13px}
.student-design .user-card small{font-size:11.5px}
.student-design .dashboard-nav a{font-size:13.5px;padding:8px 10px;gap:10px;border-radius:10px}
.student-design .dashboard-nav a.active{padding:8px 10px}
.student-design .nav-label{font-size:10.5px;letter-spacing:1.2px;padding:10px 10px 6px}
.student-menu-icon{--menu-ink:#1b7f4b;--menu-bg:#e3f4ea;display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 26px;color:var(--menu-ink);background:var(--menu-bg);border-radius:7px}
.student-design .dashboard-nav a .student-menu-icon .icon{width:18px;height:18px;stroke-width:2.1}
.menu-dashboard{--menu-ink:#945600;--menu-bg:#fff1d2}.menu-report-card{--menu-ink:#234eaa;--menu-bg:#e6eeff}.menu-schedule{--menu-ink:#713da1;--menu-bg:#f2eaff}.menu-calendar{--menu-ink:#c03f40;--menu-bg:#ffebec}.menu-balance{--menu-ink:#15663e;--menu-bg:#e3f4ea}.menu-guidance{--menu-ink:#7143a1;--menu-bg:#f2eaff}.menu-health{--menu-ink:#a52a42;--menu-bg:#ffebef}.menu-announcements{--menu-ink:#b34d11;--menu-bg:#fff0dd}.menu-profile{--menu-ink:#096277;--menu-bg:#e2f5fa}
.student-mobile-bar{display:none}
.student-design .profile-v06-stack{gap:18px}
.student-design .profile-v06-list{gap:16px}
.student-design .profile-v06-list dt{font-size:12.5px;margin-bottom:4px}
.student-design .profile-v06-list dd{font-size:14px}
.student-design .profile-photo-row{gap:20px;margin-bottom:24px}
.student-design .profile-photo-row h3{font-size:20px}
.student-design .profile-photo-large{border-color:var(--student-gold);background:#e8ecf8}
.student-design .detail-dialog{border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.student-design .dialog-header{padding:20px}
.student-design .dialog-header h2{font-size:20px}
.student-design .dialog-content{padding:20px}
.student-design .full-message{font-size:14px}
/* Rounded independent calendar cells, preserving all date buttons/popups. */
.student-design .calendar-panel .weekday-row{margin:0 20px;background:transparent;color:var(--dash-muted);border:0;padding:4px 0 8px;font-size:12px}
.student-design .calendar-grid{gap:6px;padding:0 20px 20px}
.student-design .calendar-panel .date-cell,.student-design .calendar-panel .calendar-blank{border:1px solid var(--line);border-radius:10px;min-height:100px;padding:6px;font-size:12px;gap:4px}
.student-design .calendar-panel .calendar-blank{background:#f6f7fb}
.student-design .calendar-panel .date-cell:hover{background:#eef2fc;border-color:#a7b7db}
.student-design .date-number{min-width:28px;min-height:28px}
.student-design .calendar-panel .is-today .date-number{background:var(--student-gold)}
.student-design .calendar-event{border:0;border-radius:6px;padding:4px 5px;background:#e8ecf8;color:#04175b;font-size:11.5px}
.student-design .calendar-event.category-1{background:#fff4dd;color:#8a5200}
.student-design .calendar-event.category-2{background:#e3f4ea;color:#1b6946}
.student-design .calendar-event.category-3{background:#f2eaff;color:#7143a1}
.student-design .more-events{font-size:12px}
.student-design .calendar-toolbar{padding:20px}
.student-design .calendar-toolbar h2{font-size:24px}
.student-design .calendar-legend{padding:0 20px 20px;font-size:12px;gap:10px 16px}
.student-design .calendar-panel .calendar-controls{background:#eef1f8;border-radius:12px;padding:5px;gap:6px}
.student-design .event-list-button{padding:12px;border-radius:12px;gap:12px;font-size:13px}
.student-design .event-list-button small{font-size:12.5px}
.student-design .calendar-panel .date-badge{background:#e8ecf8;color:#04175b;border-radius:10px}
.student-design .date-badge strong{font-size:20px}
/* A single clean weekly table instead of individual colored grid cards. */
.student-design .schedule-context{gap:20px}
.student-design .schedule-context h2{font-size:20px}
.student-design .schedule-week{padding:20px}
.student-design .schedule-week table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;table-layout:fixed}
.student-design .schedule-week thead th{background:var(--student-navy);color:#fff;font-size:12.5px;text-align:left;padding:12px;border-radius:0}
.student-design .schedule-week th:first-child{width:125px}
.student-design .schedule-week tbody th,.student-design .schedule-week tbody td{padding:11px 12px;border-top:1px solid var(--line);border-radius:0;vertical-align:top;background:white;color:var(--dash-text);font-size:13px;text-align:left}
.student-design .schedule-week tbody tr:nth-child(even)>*{background:#fafbfe}
.student-design .schedule-week tbody th{font-size:12px;font-weight:500}
.student-design .schedule-week tbody th span{line-height:1.7}
.student-design .schedule-week .schedule-class{min-height:0;background:transparent;border:0;border-radius:0;padding:0}
.student-design .schedule-week .schedule-class strong{font-size:13px;line-height:1.5}
.student-design .schedule-week .schedule-class small{font-size:12px;line-height:1.5;margin-top:3px;color:var(--dash-muted)}
.student-design .schedule-week .schedule-activity strong{color:var(--dash-muted);font-weight:600}
.student-design .schedule-day-tabs{padding:16px 20px 0}
.student-design .schedule-day-cards .schedule-class{background:#fafbfe;border:1px solid var(--line);border-radius:12px;padding:14px}
.student-design .schedule-day-cards .schedule-activity{background:#f0f2f8}
.student-design .schedule-day-cards h3{font-size:15px}
.student-design .schedule-card-time{font-size:12.5px;color:var(--student-navy)}
/* Date-tile announcement list. Existing search, pinning, attachments and dialogs remain. */
.student-design .notice-card-grid{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--dash-card-bg);box-shadow:0 1px 2px rgba(4,23,91,.04)}
.student-design .notice-card{display:flex;flex-direction:row;align-items:flex-start;gap:14px;padding:20px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;cursor:default}
.student-design .notice-card:last-child{border-bottom:0}
.student-design .notice-main{flex:1;min-width:0}
.student-design .notice-date{width:48px;flex:0 0 48px;text-align:center;background:var(--student-soft);color:var(--student-navy);border-radius:10px;padding:8px 4px}
.student-design .notice-date small{font-size:10px;text-transform:uppercase;font-weight:700;display:block}
.student-design .notice-date strong{font-size:20px;display:block;line-height:1.4}
.student-design .notice-card h2{margin:4px 0 0}
.student-design .notice-title{font-size:15px;line-height:1.5;min-height:32px;color:var(--student-navy)}
.student-design .notice-card p.small{font-size:12px;margin:2px 0 0}
.student-design .notice-preview{font-size:13px;line-height:1.6;margin:8px 0 4px}
.student-design .notice-card-bottom .small,.student-design .read-more{font-size:12px}
.student-design .notice-card-bottom{margin-top:4px}
.student-design .notice-empty{border:0;box-shadow:none}
.student-design .balance-amount{font-size:32px}
.student-design .account-status-tag{border-radius:999px;font-size:16px;padding:8px 14px}
@media(max-width:1200px){.student-design .schedule-week{display:none}}
@media(max-width:800px){
 .student-design .shell{margin-left:0}
 .student-design .sidebar{width:min(280px,calc(100vw - 44px))}
 .student-design .student-mobile-bar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 16px;background:var(--dash-card-bg);border-bottom:1px solid var(--line)}
 .student-design .student-mobile-bar .avatar{width:36px;height:36px;overflow:hidden;border-radius:50%}
 .student-design .content{padding:20px 16px 32px;min-height:calc(100dvh - 64px)}
 .student-design h1{font-size:26px}
 .student-design .pagehead{flex-direction:row;align-items:center;flex-wrap:wrap}
 .student-design .panelhead{padding:16px}
 .student-design .panelbody{padding:16px}
 .student-design .profile-v06-stack>.panel>.panelhead h2{font-size:17px}
 .student-design .calendar-toolbar{padding:16px}
 .student-design .calendar-legend{padding:0 16px 16px}
 .student-design .calendar-panel .weekday-row{margin:0 8px;font-size:10.5px}
 .student-design .calendar-grid{gap:4px;padding:0 8px 12px}
 .student-design .calendar-panel .date-cell,.student-design .calendar-panel .calendar-blank{min-height:86px;padding:3px;border-radius:7px}
 .student-design .calendar-event{font-size:10.5px;padding:3px 2px}
 .student-design .more-events{font-size:10.5px;line-height:1.3}
 .student-design .date-number{min-width:24px;min-height:24px}
 .student-design .notice-card{padding:16px;gap:12px}
 .student-design .notice-card-bottom{flex-wrap:wrap}
 .student-design .schedule-context h2{font-size:19px}
 .student-design .schedule-day-tabs{padding:16px 16px 0}
 .student-design .schedule-day-tabs a{font-size:12px}
 .student-design .footer{align-items:center;padding-top:28px}
}
@media(prefers-reduced-motion:reduce){.student-design *{scroll-behavior:auto}}
/* Keep sign-out visible; scroll menu links on short mobile screens. */
.student-design .sidebar{height:100dvh;overflow:hidden}
.student-design nav.dashboard-nav{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
.student-design .sidebar-bottom{margin-top:12px}
