/* Dr Z Academy design-governance layer. Shared hierarchy, geometry, density, and context rules only. */

.ui-icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mobile-tab .ui-icon{width:20px;height:20px}.notify summary .ui-icon{width:17px;height:17px}

/* A restrained geometry system: controls, panels, feature surfaces, and overlays. */
.btn,.top-course summary,.notify summary,.schedule-tabs label,.filter-tabs label,
.admin-toolbar input,.admin-toolbar select,.admin-form input,.admin-form select,.admin-form textarea,
.admin-confirm-form textarea,.admin-select-inline select{border-radius:var(--radius-control)}
.card,.recording-card,.resource-card,.unit-card,.calendar-week,.payment-plan-card,
.payment-policy,.payment-guide-item,.payment-history details,.admin-toolbar,.admin-table-wrap,
.admin-metrics section,.admin-detail-section{border-radius:var(--radius-panel)}
.next-card,.course-hero,.exam-next,.payment-balance{border-radius:var(--radius-feature)}
.modal-card,.admin-modal-card{border-radius:var(--radius-overlay);box-shadow:var(--shadow-overlay)}

/* Functional pages begin with identity and context, not repeated marketing heroes. */
.functional-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin:0 0 var(--space-3);padding:4px 2px var(--space-3);border-bottom:1px solid var(--line)}
.functional-header h1{margin:0;color:var(--navy);font-size:28px;line-height:1.05;letter-spacing:-.04em}
.functional-header p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.functional-header p strong{color:var(--navy)}
.functional-header .schedule-tabs{flex:0 0 auto}

/* Greeting and course identity remain branded, but do not compete with the next action. */
.hero{border-radius:var(--radius-feature);background:var(--paper);box-shadow:none}
.home-greeting{padding:7px 2px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;margin-bottom:12px}
.home-greeting h1{font-size:27px}.home-greeting p{max-width:650px;margin-top:6px;font-size:11px}
.course-hero{padding:15px 16px}.course-hero h1{font-size:28px}.course-hero p{font-size:11px}
.home-greeting .course-meta,.course-hero .course-meta,.view-office .hero .course-meta{gap:0;margin-top:9px}
.home-greeting .course-meta .chip,.course-hero .course-meta .chip,.view-office .hero .course-meta .chip{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:9px;font-weight:700}
.home-greeting .course-meta .chip:not(:last-child)::after,.course-hero .course-meta .chip:not(:last-child)::after,.view-office .hero .course-meta .chip:not(:last-child)::after{content:"·";padding:0 7px;color:#b8aea0}

/* Default cards are bounded sections. Elevation is reserved for focus and overlays. */
.card,.recording-card,.resource-card,.admin-metrics section,.payment-stat{box-shadow:none}
.next-card{box-shadow:var(--shadow-floating)}
.recording-list,.resource-list{gap:6px}
.recording-card>details>summary,.resource-card>summary{padding:9px 10px}
.rec-copy em,.res-copy em{padding:0;border-radius:0;background:transparent;color:var(--muted)}
.topic{padding:8px 0;border-radius:0;border-bottom:1px solid var(--line);background:transparent}.topic:last-child{border-bottom:0}
.stat{border-radius:var(--radius-panel);background:var(--paper)}
.quick,.exam-tool,.practice-question,.exam-check,.scope-row{border-radius:var(--radius-panel)}
.exam-tool{min-height:142px}.exam-tool-icon{border-radius:var(--radius-control)}

/* Exam Center keeps one meaningful overview treatment, without a second decorative hero. */
.exam-overview{grid-template-columns:minmax(0,1.45fr) minmax(255px,.55fr)}
.exam-next{min-height:184px;padding:16px;box-shadow:none}
.exam-next::after{display:none}.exam-next h2{margin-top:12px;font-size:25px}.exam-next p{margin-top:7px;font-size:10px;line-height:1.5}
.exam-countdown-empty{margin-top:14px;padding-top:12px}.exam-countdown-empty strong{font-size:15px}
.exam-status span{min-height:25px;padding:0 8px;border-radius:var(--radius-pill)}
.readiness-score strong{font-size:36px}.readiness-note{border-radius:var(--radius-control)}

/* Payments lead with the account summary; secondary information reads as records. */
.payment-summary{margin:0 0 10px}.payment-balance{padding:17px;box-shadow:none}.payment-balance::after{display:none}.payment-balance strong{font-size:32px}
.payment-stat{padding:14px;border-radius:var(--radius-panel)}
.payment-policy{padding:13px}.payment-guide-item{padding:9px}.payment-method{border-radius:var(--radius-control)}

/* Role shells reuse the existing state controls; student navigation never leaks into role workspaces. */
.operations-nav,.instructor-shell-nav,.role-sidebar-footer,.role-mobile-actions{display:none}
.page-name strong{display:none!important}
@media(min-width:901px){
  #p-admin:checked~.app .operations-nav,#p-instructor:checked~.app .instructor-shell-nav{display:flex;flex-direction:column;gap:3px}
  .operations-nav>span,.instructor-shell-nav>span{padding:4px 10px 7px;color:#8196a8;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.11em}
  .operations-nav label,.instructor-shell-nav label{position:relative;display:flex;align-items:center;min-height:36px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-control);color:#a9b8c6;font-size:10px;font-weight:800;cursor:pointer}
  .operations-nav label:hover,.instructor-shell-nav label:hover{background:rgba(255,255,255,.06);color:white}
  #a-overview:checked~.app .operations-nav [for=a-overview],#a-enrollments:checked~.app .operations-nav [for=a-enrollments],#a-courses:checked~.app .operations-nav [for=a-courses],#a-announcements:checked~.app .operations-nav [for=a-announcements],#a-students:checked~.app .operations-nav [for=a-students],#a-payments:checked~.app .operations-nav [for=a-payments],#a-analytics:checked~.app .operations-nav [for=a-analytics],#a-audit:checked~.app .operations-nav [for=a-audit],
  body[data-instructor-destination=today] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=today],body[data-instructor-destination=courses] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=courses],body[data-instructor-destination=sessions] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=sessions],body[data-instructor-destination=resources] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=resources],body[data-instructor-destination=recordings] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=recordings],body[data-instructor-destination=exams] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=exams],body[data-instructor-destination=announcements] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=announcements],body[data-instructor-destination=students] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=students],body[data-instructor-destination=analytics] #p-instructor:checked~.app .instructor-shell-nav [data-instructor-destination=analytics]{border-color:rgba(168,131,61,.28);background:#fffdf8;color:var(--navy);box-shadow:inset 3px 0 0 var(--gold)}
  #p-admin:checked~.app .sidebar .side-nav,#p-instructor:checked~.app .sidebar .side-nav{display:none}
  #p-admin:checked~.app .admin-role-footer,#p-instructor:checked~.app .instructor-role-footer{display:block;margin-top:auto}
  #p-admin:checked~.app .admin-tabs{display:none}
}

/* One quiet active treatment for the student sidebar. */
.side-nav .nav-label{position:relative;border:1px solid transparent}
#p-home:checked~.app [for=p-home].nav-label,#p-course:checked~.app [for=p-course].nav-label,#p-schedule:checked~.app [for=p-schedule].nav-label,#p-recordings:checked~.app [for=p-recordings].nav-label,#p-resources:checked~.app [for=p-resources].nav-label,#p-exams:checked~.app [for=p-exams].nav-label,#p-office:checked~.app [for=p-office].nav-label,#p-payments:checked~.app [for=p-payments].nav-label,#p-instructor:checked~.app [for=p-instructor].nav-label,#p-admin:checked~.app [for=p-admin].nav-label{border-color:rgba(168,131,61,.24);background:#fffdf8;color:var(--navy);box-shadow:inset 3px 0 0 var(--gold)}

.role-sidebar-footer{padding-top:11px;border-top:1px solid rgba(255,255,255,.1)}
.role-identity{display:flex;align-items:center;gap:9px;padding:0 8px 10px}.role-identity>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-control);background:rgba(255,255,255,.1);color:#f2dfae;font-size:9px;font-weight:900}.role-identity small,.role-identity strong{display:block}.role-identity small{color:#8196a8;font-size:7px}.role-identity strong{margin-top:3px;color:#eef2f5;font-size:9px}
.role-exit-group{display:grid;gap:3px}.role-exit{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 9px;border-radius:var(--radius-control);color:#cbd6df;font-size:9px;font-weight:800;cursor:pointer}.role-exit:hover{background:rgba(255,255,255,.06);color:white}.role-exit b{color:#d8bd7a;font-size:11px}
.role-sidebar-footer+.side-bottom{margin-top:12px}
#p-instructor:checked~.app .instructor-owner-card .btn{display:none}

/* Admin is an information-dense operational workspace, not a marketing surface. */
.admin-hero.operations-header{align-items:center;padding:5px 2px 13px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--navy);box-shadow:none}
.admin-hero.operations-header h1{margin-top:5px;font-size:27px}.admin-hero.operations-header p{margin-top:5px;color:var(--muted);font-size:10px}
.admin-hero.operations-header .admin-identity{display:none}
.admin-hero.operations-header .admin-identity>span{width:32px;height:32px;border-radius:var(--radius-control)}
.admin-hero.operations-header .admin-identity small{color:var(--muted)}.admin-hero.operations-header .admin-identity strong{color:var(--navy)}
.admin-policy{margin:9px 0;padding:9px 10px;border-width:0 0 0 3px;border-radius:0;background:transparent}.admin-policy>span{width:22px;height:22px;font-size:9px}.admin-policy p{font-size:9px}
.admin-metrics{gap:7px;margin:9px 0}.admin-metrics section{padding:11px}.admin-metrics small{text-transform:none;letter-spacing:0}.admin-metrics strong{margin-top:5px;font-size:23px}
.admin-overview-grid,.admin-overview-grid.lower{gap:9px;margin-top:9px}
.admin-section-head{padding-bottom:8px}.admin-section-head h2{font-size:22px}
.admin-toolbar{gap:7px;margin-bottom:8px;padding:8px}.admin-toolbar input,.admin-toolbar select,.admin-form input,.admin-form select,.admin-form textarea,.admin-confirm-form textarea{min-height:38px}
.admin-table-wrap{box-shadow:none}.admin-table th{padding:8px 10px}.admin-table td{padding:10px}
.admin-quick-grid{gap:6px}.admin-quick{min-height:68px;padding:9px;border-radius:var(--radius-panel)}
.course-detail-hero{padding:13px 14px;border-radius:var(--radius-panel)}
.course-operation-form{gap:8px}.course-form-note{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}.course-form-note>span{display:none!important}.course-form-note p{margin:0!important;color:var(--muted)!important}

/* Overlays are compact and explicit. */
.admin-modal-head{padding:14px 16px}.admin-modal-card>.admin-form{padding:14px 16px}.admin-modal-actions{margin-top:2px}
.admin-modal-head>a{border-radius:var(--radius-control)}
.admin-detail-grid{gap:8px;padding:10px 16px}.admin-detail-section{padding:11px}

@media(max-width:900px){
  .functional-header{align-items:flex-start;padding:2px 0 11px}.functional-header h1{font-size:25px}.functional-header .schedule-tabs{margin-left:auto}
  .home-greeting{padding-top:2px}.home-greeting h1,.course-hero h1{font-size:24px}
  .exam-overview{grid-template-columns:1fr}.exam-next{min-height:178px;padding:14px}.exam-next h2{font-size:23px}
  .admin-hero.operations-header{display:flex;padding:2px 0 11px}.admin-hero.operations-header .admin-identity{width:auto;margin-top:0}
  .admin-tabs{top:66px;margin:8px 0;border-radius:var(--radius-panel);box-shadow:none}
  .admin-table tr{border-radius:var(--radius-panel);box-shadow:none}
  .modal-card,.admin-modal-card{border-radius:var(--radius-feature)}
  #p-admin:checked~.app .mobile-nav,#p-instructor:checked~.app .mobile-nav{display:none}
  #p-admin:checked~.app .admin-mobile-actions,#p-instructor:checked~.app .instructor-mobile-actions{display:flex}
  .role-mobile-actions{position:fixed;left:7px;right:7px;bottom:calc(7px + env(safe-area-inset-bottom));z-index:150;align-items:center;gap:6px;min-height:58px;padding:6px;border:1px solid var(--line);border-radius:15px;background:rgba(255,253,249,.97);box-shadow:0 14px 38px rgba(7,26,49,.14);backdrop-filter:blur(20px)}
  .role-mobile-identity{display:flex;align-items:center;gap:6px;min-width:0;margin-right:auto;padding:0 5px}.role-mobile-identity span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-control);background:var(--navy);color:white;font-size:8px;font-weight:900}.role-mobile-identity strong{max-width:82px;overflow:hidden;color:var(--navy);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
  .role-mobile-actions label{min-height:44px;display:flex;align-items:center;gap:4px;padding:0 9px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--navy);font-size:8px;font-weight:850;cursor:pointer;white-space:nowrap}.role-mobile-actions label b{color:var(--gold)}
}

@media(max-width:520px){
  .content{padding-top:13px}
  .functional-header{display:block}.functional-header .schedule-tabs{margin:9px 0 0}
  .functional-header p{font-size:9px}
  .home-greeting .course-meta,.course-hero .course-meta,.view-office .hero .course-meta{line-height:1.7}
  .recording-card>details>summary,.resource-card>summary{padding:9px}
  .admin-hero.operations-header{display:block}.admin-hero.operations-header .admin-identity{width:max-content;margin-top:10px}
  .admin-metrics section{padding:10px}.admin-metrics strong{font-size:21px}
  .admin-modal-head{padding:12px 13px}.admin-modal-card>.admin-form{padding:12px 13px}
  .instructor-mobile-actions .role-mobile-identity{display:none}.instructor-mobile-actions label{flex:1;justify-content:center}
}

@media(prefers-reduced-motion:reduce){
  .view,.admin-panel,.modal-card,.recording-card,.resource-card{animation:none!important;transition:none!important}
}
