:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{background:#f5f7fa;margin:0;font-family:Segoe UI,Arial,sans-serif}.app{height:100vh;display:flex}.sidebar{color:#fff;background:#184e77;flex-direction:column;width:240px;padding:20px;display:flex}.sidebar h2{margin-bottom:30px}.sidebar button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;margin-bottom:10px;padding:12px;font-size:15px}.sidebar button:hover{background:#ffffff26}.content{flex:1;padding:40px}.page-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.page-header h1{color:#1f2937;margin:0;font-size:34px}.page-header p{color:#6b7280;margin:6px 0 0}.primary-button{color:#fff;cursor:pointer;background:#2a9d8f;border:none;border-radius:12px;padding:12px 18px;font-weight:700}.stats-grid{grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 25px #0f172a14}.stat-card span{color:#6b7280;margin-bottom:10px;display:block}.stat-card strong{color:#184e77;font-size:32px}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.panel{background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 25px #0f172a14}.panel h2{color:#1f2937;margin-top:0}.timeline-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:20px;padding:16px 0;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-item p{color:#6b7280;margin:5px 0}.timeline-item small{color:#9ca3af}.status{border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-block}.status.completed{color:#166534;background:#dcfce7}.status.in-progress{color:#92400e;background:#fef3c7}.status.upcoming{color:#075985;background:#e0f2fe}.dosage-label{text-align:right;font-size:13px}.alert-card{color:#7c2d12;background:#fff7ed;border-left:5px solid #f97316;border-radius:12px;margin-bottom:12px;padding:14px}.sidebar button.active-nav{background:#ffffff38;font-weight:700}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#6b7280;border-bottom:1px solid #e5e7eb;padding:14px;font-size:13px}.data-table td{color:#1f2937;border-bottom:1px solid #e5e7eb;padding:16px 14px}.data-table tr:last-child td{border-bottom:none}.status-pill{border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-block}.status-pill.active{color:#166534;background:#dcfce7}.small-button{color:#fff;cursor:pointer;background:#184e77;border:none;border-radius:10px;padding:8px 12px}.form-panel{margin-bottom:24px}.participant-form{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.participant-form input,.participant-form select{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.form-actions{grid-column:1/-1;gap:12px;display:flex}.secondary-button{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:12px;padding:12px 18px;font-weight:700}.filter-bar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.filter-bar input{border:1px solid #d1d5db;border-radius:12px;max-width:320px;padding:12px;font-size:15px}.filter-buttons{flex-wrap:wrap;gap:8px;display:flex}.filter-buttons button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:10px 12px;font-weight:600}.filter-buttons button.filter-active{color:#fff;background:#184e77;border-color:#184e77}.attendance-layout{grid-template-columns:420px 1fr;gap:24px;display:grid}.kiosk-card{text-align:center}.pin-input{text-align:center;letter-spacing:6px;border:1px solid #d1d5db;border-radius:14px;width:100%;margin:20px 0;padding:18px;font-size:24px}.message-box{color:#92400e;background:#fef3c7;border-radius:12px;margin-top:18px;padding:14px;font-weight:700}.confirm-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-top:22px;padding:20px}.confirm-card h2{color:#184e77}.confirm-actions{gap:12px;display:flex}.attendance-board{grid-template-columns:1fr 1fr;gap:18px;display:grid}.attendance-group{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px}.attendance-group h3{color:#1f2937;justify-content:space-between;margin:0 0 12px;display:flex}.attendance-group h3 span{color:#184e77;background:#fff;border-radius:999px;padding:2px 9px;font-size:14px}.attendance-person{background:#fff;border-left:5px solid #d1d5db;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.attendance-person p{color:#6b7280;margin:4px 0 0;font-size:13px}.attendance-person span{color:#6b7280;white-space:nowrap;font-weight:700}.present-card{border-left-color:#2d6a4f}.late-card{border-left-color:#f4a261}.not-arrived-card{border-left-color:#9ca3af}.clocked-out-card{border-left-color:#184e77}.empty-group{color:#9ca3af;font-style:italic}.reason-box{gap:12px;margin-top:16px;display:grid}.reason-box select,.reason-box input{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.attendance-log-panel{margin-top:24px}.back-button{color:#184e77;cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:0;font-weight:700}.profile-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.detail-list{gap:14px;display:grid}.detail-list div{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:20px;padding-bottom:12px;display:flex}.detail-list span{color:#6b7280}.detail-list strong{color:#1f2937;text-align:right}.provider-card{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;margin-bottom:12px;padding:14px}.provider-card p{color:#6b7280;margin:5px 0}.profile-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.profile-form label{color:#6b7280;gap:6px;font-size:13px;font-weight:700;display:grid}.profile-form input,.profile-form select{color:#1f2937;border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.provider-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;gap:10px;margin-bottom:16px;padding:14px;display:grid}.provider-form input,.provider-form select{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.provider-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.note-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;gap:10px;margin-bottom:16px;padding:14px;display:grid}.note-form select,.note-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.note-form textarea{resize:vertical;min-height:110px;font-family:inherit}.notes-list{gap:12px;display:grid}.note-card{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;padding:14px}.note-header{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.note-header span{color:#6b7280;font-size:13px}.note-card p{color:#1f2937;margin:0 0 10px}.note-card small{color:#6b7280}.appointment-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;gap:10px;margin-bottom:16px;padding:14px;display:grid}.appointment-form input,.appointment-form select,.appointment-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.appointment-form textarea{resize:vertical;min-height:90px;font-family:inherit}.appointments-list{gap:12px;display:grid}.appointment-card{background:#f8fafc;border-left:5px solid #e9c46a;border-radius:14px;padding:14px}.appointment-header{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.appointment-card p{color:#374151;margin:5px 0}.status-pill.scheduled{color:#1e40af;background:#dbeafe}.status-pill.cancelled{color:#991b1b;background:#fee2e2}.mini-appointment-card{background:#f8fafc;border-left:5px solid #e9c46a;border-radius:14px;margin-bottom:12px;padding:14px}.mini-appointment-card p{color:#374151;margin:6px 0}.mini-appointment-card small{color:#6b7280}.schedule-form-panel{margin-bottom:24px}.schedule-form{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.schedule-form label{color:#6b7280;gap:6px;font-size:13px;font-weight:700;display:grid}.schedule-form input,.schedule-form select{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.checkbox-row{justify-content:flex-start;align-items:center;color:#374151!important;gap:10px!important;font-size:15px!important;display:flex!important}.checkbox-row input{width:auto}.schedule-grid{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:start;gap:18px;display:grid}.schedule-day-card{padding:18px}.schedule-day-card h2{margin-bottom:0}.class-card{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;margin-bottom:12px;padding:14px}.class-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.class-card p{color:#374151;margin:8px 0 4px;font-weight:700}.class-card small{color:#6b7280}.dosage-chip,.non-dosage-chip{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-block}.dosage-chip{color:#166534;background:#dcfce7}.non-dosage-chip{color:#374151;background:#e5e7eb}.class-actions{gap:8px;margin-top:12px;display:flex}.danger-button{color:#991b1b;cursor:pointer;background:#fee2e2;border:none;border-radius:12px;padding:12px 18px;font-weight:700}@media (width<=1300px){.schedule-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media (width<=800px){.schedule-grid,.schedule-form{grid-template-columns:1fr}}.daily-adjustments-panel{margin-bottom:24px}.date-picker{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.selected-day-label{color:#6b7280;margin-top:10px;font-weight:700}.daily-override-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;gap:10px;margin:16px 0;padding:14px;display:grid}.daily-override-form input,.daily-override-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.daily-override-form textarea{resize:vertical;min-height:90px;font-family:inherit}.daily-adjustment-list{gap:12px;display:grid}.daily-class-card{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;gap:12px;padding:14px;display:grid}.daily-class-card p{color:#374151;margin:8px 0 4px;font-weight:700}.cancelled-class{opacity:.8;border-left-color:#dc2626}.override-note{color:#6b7280!important;margin-top:8px!important;font-weight:500!important}.status-pill.modified{color:#92400e;background:#fef3c7}.status-pill.cancelled,.status.cancelled{color:#991b1b;background:#fee2e2}.cancelled-timeline-item{opacity:.8}.override-label{margin-top:6px;font-weight:700;display:block;color:#92400e!important}.stat-date{font-size:20px!important}.dosage-class-card{background:#f8fafc;border-left:5px solid #2d6a4f;border-radius:14px;justify-content:space-between;gap:16px;margin-bottom:12px;padding:14px;display:flex}.dosage-class-card p{color:#374151;margin:6px 0;font-weight:700}.dosage-class-card small{color:#6b7280;display:block}.section-subtitle{color:#374151;margin-top:24px}.rule-list{gap:10px;display:grid}.rule-list p{color:#374151;background:#f8fafc;border-left:5px solid #184e77;border-radius:12px;margin:0;padding:12px}.dosage-results-panel{margin-top:24px}.empty-inline{color:#9ca3af;font-style:italic}.class-breakdown-list{gap:8px;display:grid}.class-breakdown-item{background:#f8fafc;border-radius:10px;justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.class-breakdown-item span{color:#374151}.class-breakdown-item strong{color:#184e77}.class-breakdown-actions{align-items:center;gap:8px;display:flex}.small-danger-button{color:#991b1b;cursor:pointer;background:#fee2e2;border:none;border-radius:9px;padding:7px 10px;font-size:13px;font-weight:700}.manual-adjustment-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.manual-adjustment-form label{color:#6b7280;gap:6px;font-size:13px;font-weight:700;display:grid}.manual-adjustment-form select,.manual-adjustment-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.manual-adjustment-form textarea{resize:vertical;grid-column:1/-1;min-height:90px;font-family:inherit}.manual-adjustment-form button{justify-self:start}.timeline-panel{grid-column:1/-1}.timeline-list{gap:14px;display:grid;position:relative}.timeline-card{grid-template-columns:18px 1fr;gap:12px;display:grid;position:relative}.timeline-card:before{content:"";background:#e5e7eb;width:2px;position:absolute;top:22px;bottom:-16px;left:8px}.timeline-card:last-child:before{display:none}.timeline-dot{z-index:1;background:#184e77;border-radius:999px;width:18px;height:18px;margin-top:8px}.timeline-content{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;padding:14px}.timeline-card-header{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.timeline-type{color:#075985;background:#e0f2fe;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}.timeline-content strong{color:#1f2937}.timeline-content p{color:#374151;margin:8px 0}.timeline-content small{color:#6b7280}.report-summary-panel{margin-bottom:24px}.report-summary-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.report-summary-grid div{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;padding:14px}.report-summary-grid span{color:#6b7280;margin-bottom:8px;display:block}.report-summary-grid strong{color:#1f2937;font-size:18px}.report-table-panel{margin-top:24px}.status-pill.present{color:#166534;background:#dcfce7}.status-pill.late{color:#92400e;background:#fef3c7}.status-pill.not-arrived{color:#374151;background:#e5e7eb}.status-pill.clocked-out{color:#1e40af;background:#dbeafe}@media (width<=1200px){.report-summary-grid{grid-template-columns:repeat(2,1fr)}}.report-actions{align-items:center;gap:12px;display:flex}.print-report-title{display:none}@media print{body{background:#fff}.sidebar{display:none}.content{width:100%;padding:0}.app{height:auto;display:block}.page-header{display:none}.print-report-title{margin-bottom:20px;display:block}.print-report-title h1{color:#111827;margin:0}.print-report-title p{color:#374151;margin:6px 0 0}.panel,.stat-card,.report-summary-grid div{box-shadow:none;border:1px solid #d1d5db}.stats-grid{grid-template-columns:repeat(5,1fr)}.report-summary-grid{grid-template-columns:repeat(3,1fr)}.data-table th,.data-table td{padding:8px;font-size:12px}.primary-button,.secondary-button,.danger-button,.small-button,.small-danger-button,.date-picker{display:none!important}}.print-instructions{border-left:6px solid #2a9d8f;margin-bottom:24px}.print-view-active{background:#fff}@media print{body{background:#fff}.sidebar,.no-print{display:none!important}.content{width:100%;padding:0}.app{height:auto;display:block}.print-report-title{margin-bottom:20px;display:block}.print-report-title h1{color:#111827;margin:0}.print-report-title p{color:#374151;margin:6px 0 0}.panel,.stat-card,.report-summary-grid div{box-shadow:none;border:1px solid #d1d5db}.stats-grid{grid-template-columns:repeat(5,1fr)}.report-summary-grid{grid-template-columns:repeat(3,1fr)}.data-table th,.data-table td{padding:8px;font-size:12px}.primary-button,.secondary-button,.danger-button,.small-button,.small-danger-button,.date-picker{display:none!important}}.report-selector{background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.participant-summary-grid,.program-stat-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.participant-summary-grid div,.program-stat-grid div{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;padding:14px}.participant-summary-grid span,.program-stat-grid span{color:#6b7280;margin-bottom:8px;display:block}.participant-summary-grid strong,.program-stat-grid strong{color:#1f2937;font-size:18px}.summary-two-column{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.compact-summary-grid{grid-template-columns:repeat(2,1fr)}.mini-summary-card{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;margin-bottom:12px;padding:14px}.mini-summary-card p{color:#374151;margin:6px 0}.mini-summary-card small{color:#6b7280}.summary-note-list{gap:12px;display:grid}@media (width<=1200px){.participant-summary-grid,.program-stat-grid{grid-template-columns:repeat(2,1fr)}.summary-two-column{grid-template-columns:1fr}}@media print{.report-selector{display:none!important}.participant-summary-grid,.program-stat-grid{grid-template-columns:repeat(3,1fr)}.summary-two-column{grid-template-columns:1fr 1fr}}.admin-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.admin-card p{color:#6b7280;line-height:1.5}.admin-message{color:#166534;background:#dcfce7;border-left:5px solid #2d6a4f;border-radius:14px;margin-bottom:20px;padding:14px;font-weight:700}.admin-data-list{gap:10px;margin:18px 0;display:grid}.admin-data-list div{background:#f8fafc;border-radius:12px;justify-content:space-between;gap:14px;padding:12px;display:flex}.admin-data-list span{color:#6b7280}.admin-data-list strong{color:#184e77}.file-upload-box{color:#fff;cursor:pointer;background:#184e77;border-radius:12px;padding:12px 18px;font-weight:700;display:inline-block}.file-upload-box input{display:none}.warning-text{background:#fff7ed;border-left:5px solid #f97316;border-radius:12px;margin-top:18px;padding:12px;color:#92400e!important}.danger-zone{border:2px solid #fee2e2}.danger-actions{gap:12px;margin-top:18px;display:grid}@media (width<=1000px){.admin-grid{grid-template-columns:1fr}}.dosage-profile-panel{border-top:6px solid #184e77}.dosage-profile-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.dosage-profile-stats div{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;padding:14px}.dosage-profile-stats span{color:#6b7280;margin-bottom:8px;display:block}.dosage-profile-stats strong{color:#184e77;font-size:20px}.dosage-profile-panel h3{color:#1f2937;margin:18px 0 12px}.class-dosage-list{gap:12px;display:grid}.class-dosage-card{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;grid-template-columns:1fr 2fr;align-items:center;gap:14px;padding:14px;display:grid}.class-dosage-card strong{color:#1f2937}.class-dosage-card small{color:#6b7280;margin-top:4px;display:block}.class-dosage-values{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.class-dosage-values span{color:#6b7280;background:#fff;border-radius:10px;padding:10px;font-size:13px}.class-dosage-values strong{color:#184e77;margin-top:4px;display:block}.removed-credit-list{gap:10px;display:grid}.removed-credit-card{background:#fff7ed;border-left:5px solid #f97316;border-radius:14px;padding:12px}.removed-credit-card p{color:#374151;margin:6px 0}.removed-credit-card small{color:#92400e}.compact-activity-panel{grid-column:1/-1}.compact-activity-list{gap:10px;display:grid}.compact-activity-card{background:#f8fafc;border-left:4px solid #d1d5db;border-radius:12px;grid-template-columns:1fr auto;gap:14px;padding:12px;display:grid}.compact-activity-card span{color:#6b7280;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.compact-activity-card strong{color:#1f2937}.compact-activity-card p{color:#374151;margin:4px 0 0}.compact-activity-card small{color:#6b7280;white-space:nowrap}@media (width<=1100px){.dosage-profile-stats,.class-dosage-values{grid-template-columns:1fr 1fr}.class-dosage-card,.compact-activity-card{grid-template-columns:1fr}}.attendance-layout{grid-template-columns:1fr 1.4fr;gap:24px;margin-bottom:24px;display:grid}.attendance-message{color:#075985;background:#e0f2fe;border-left:5px solid #0284c7;border-radius:14px;margin-bottom:20px;padding:14px;font-weight:700}.kiosk-panel{border-top:6px solid #184e77}.pin-form{gap:14px;display:grid}.pin-form input{text-align:center;letter-spacing:8px;border:1px solid #d1d5db;border-radius:14px;padding:18px;font-size:28px}.confirm-card{background:#f8fafc;border-radius:14px;gap:14px;padding:18px;display:grid}.confirm-card h3{color:#184e77;margin:0}.confirm-card strong{color:#1f2937;font-size:24px}.confirm-card label,.correction-form label{color:#374151;gap:6px;font-weight:700;display:grid}.confirm-card select,.correction-form select,.correction-form input,.correction-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:11px;font-size:15px}.correction-panel{border-top:6px solid #2a9d8f}.correction-form{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.correction-form .wide-field{grid-column:1/-1}.correction-form textarea{resize:vertical;min-height:90px}.attendance-board{gap:12px;display:grid}.attendance-status-card{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.attendance-status-card p{color:#6b7280;margin:6px 0}.attendance-status-card small{color:#92400e;font-weight:700}@media (width<=1100px){.attendance-layout,.correction-form{grid-template-columns:1fr}}.panel-subtitle{color:#6b7280;margin:4px 0 0}.needs-review-panel{border-top:6px solid #184e77;margin-bottom:24px}.needs-toolbar{align-items:center;gap:10px;display:flex}.needs-list{gap:12px;display:grid}.needs-item{background:#f8fafc;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px;display:grid}.needs-item.urgent{border-left:6px solid #dc2626}.needs-item.warning{border-left:6px solid #f97316}.needs-item.info{border-left:6px solid #0284c7}.needs-item.addressed{opacity:.65}.needs-item strong{color:#1f2937;margin-top:8px;display:block}.needs-item p{color:#374151;margin:6px 0}.needs-item small{color:#6b7280;font-weight:700}.needs-type{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-block}.needs-type.urgent{color:#991b1b;background:#fee2e2}.needs-type.warning{color:#9a3412;background:#ffedd5}.needs-type.info{color:#075985;background:#e0f2fe}.dashboard-two-column{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.dashboard-schedule-list,.appointment-mini-list,.dashboard-attendance-grid{gap:12px;display:grid}.dashboard-schedule-card,.appointment-mini-card,.dashboard-attendance-card{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;padding:14px}.dashboard-schedule-card{justify-content:space-between;align-items:center;gap:14px;display:flex}.dashboard-schedule-card.cancelled{opacity:.6;border-left-color:#dc2626}.dashboard-schedule-card strong,.appointment-mini-card strong,.dashboard-attendance-card strong{color:#1f2937}.dashboard-schedule-card p,.appointment-mini-card p,.dashboard-attendance-card p{color:#6b7280;margin:6px 0}.dashboard-schedule-card small,.appointment-mini-card small,.dashboard-attendance-card small{color:#92400e;font-weight:700}.dashboard-schedule-card span{color:#184e77;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.dashboard-attendance-card{justify-content:space-between;align-items:center;gap:14px;display:flex}.mini-heading{color:#184e77;margin:18px 0 10px}.status-pill.absent{color:#991b1b;background:#fee2e2}.status-pill.needs-review{color:#92400e;background:#fef3c7}@media (width<=1100px){.dashboard-two-column,.needs-item,.dashboard-attendance-card,.dashboard-schedule-card{grid-template-columns:1fr}.needs-toolbar{flex-direction:column;align-items:stretch}}.top-attendance-panel{border-top:6px solid #2a9d8f;margin-bottom:24px}.compact-page-header,.compact-stats-grid,.glance-panel{margin-bottom:18px}.small-muted{color:#6b7280;font-weight:700}.compact-attendance-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;display:grid}.compact-attendance-card{background:#f8fafc;border-left:5px solid #d1d5db;border-radius:12px;min-height:76px;padding:10px}.compact-attendance-card.present{border-left-color:#16a34a}.compact-attendance-card.late{border-left-color:#f97316}.compact-attendance-card.absent{border-left-color:#dc2626}.compact-attendance-card.not-arrived{border-left-color:#9ca3af}.compact-attendance-card.clocked-out{border-left-color:#2563eb}.compact-attendance-card.needs-review{border-left-color:#f59e0b}.compact-attendance-main{justify-content:space-between;align-items:center;gap:8px;display:flex}.compact-attendance-main strong{color:#1f2937;font-size:14px;line-height:1.2}.status-dot{background:#9ca3af;border-radius:999px;flex-shrink:0;width:11px;height:11px}.status-dot.present{background:#16a34a}.status-dot.late{background:#f97316}.status-dot.absent{background:#dc2626}.status-dot.not-arrived{background:#9ca3af}.status-dot.clocked-out{background:#2563eb}.status-dot.needs-review{background:#f59e0b}.compact-attendance-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.compact-attendance-bottom span{color:#374151;font-size:13px;font-weight:800}.compact-attendance-bottom small{color:#6b7280;white-space:nowrap;font-size:12px}.compact-needs-list{gap:8px;display:grid}.compact-needs-item{background:#f8fafc;border-left:5px solid #d1d5db;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.compact-needs-item.urgent{border-left-color:#dc2626}.compact-needs-item.warning{border-left-color:#f97316}.compact-needs-item.info{border-left-color:#0284c7}.compact-needs-item.addressed{opacity:.6}.compact-needs-item strong{color:#1f2937;font-size:14px;display:block}.compact-needs-item span{color:#374151;margin-top:3px;font-size:13px;display:block}.compact-needs-item small{color:#6b7280;margin-top:3px;font-size:12px;display:block}.glance-two-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.compact-schedule-list,.compact-appointment-section{gap:8px;display:grid}.compact-schedule-row,.compact-appointment-row{background:#f8fafc;border-radius:10px;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:8px;padding:9px;display:grid}.compact-schedule-row.cancelled{opacity:.6}.compact-schedule-row strong,.compact-appointment-row span{color:#1f2937;font-size:13px;font-weight:800}.compact-schedule-row span,.compact-appointment-row small{color:#6b7280;font-size:12px}.compact-schedule-row small{color:#184e77;font-size:12px;font-weight:800}.compact-appointment-section{margin-bottom:14px}.compact-appointment-section>strong{color:#184e77;margin-bottom:4px}@media (width<=1100px){.glance-two-column,.compact-needs-item,.compact-schedule-row,.compact-appointment-row{grid-template-columns:1fr}}.status-workflow-panel{border-top:6px solid #7c3aed}.status-change-form{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.status-change-form label{color:#374151;gap:6px;font-weight:700;display:grid}.status-change-form select,.status-change-form input,.status-change-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:11px;font-size:15px}.status-change-form textarea{resize:vertical;min-height:90px}.status-change-form .wide-field{grid-column:1/-1}.status-message{color:#075985;background:#e0f2fe;border-left:5px solid #0284c7;border-radius:12px;padding:12px;font-weight:700}.status-history-list{gap:12px;margin-top:14px;display:grid}.status-history-card{background:#f8fafc;border-left:5px solid #7c3aed;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.status-history-card strong{color:#1f2937}.status-history-card p{color:#374151;margin:6px 0}.status-history-card small{color:#6b7280}.status-pill.successful-completion{color:#166534;background:#dcfce7}.status-pill.unsuccessful-termination{color:#991b1b;background:#fee2e2}.status-pill.neutral-termination{color:#92400e;background:#fef3c7}@media (width<=1100px){.status-change-form,.status-history-card{grid-template-columns:1fr}}.note-actions{align-items:center;gap:10px;display:flex}.text-danger-button{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0;font-weight:800}.text-danger-button:hover{text-decoration:underline}.portal-layout{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.participant-portal-card{border-top:6px solid #184e77}.participant-portal-card:nth-child(2){border-top-color:#2a9d8f}.portal-instruction{color:#6b7280;line-height:1.5}.portal-message{color:#075985;background:#e0f2fe;border-left:5px solid #0284c7;border-radius:12px;margin-bottom:14px;padding:12px;font-weight:700}.portal-pin-form{gap:14px;display:grid}.portal-pin-form input{text-align:center;letter-spacing:8px;border:1px solid #d1d5db;border-radius:14px;padding:18px;font-size:28px}.portal-confirm-card{background:#f8fafc;border-radius:14px;gap:14px;padding:18px;display:grid}.portal-confirm-card h3{color:#184e77;margin:0}.portal-confirm-card strong{color:#1f2937;font-size:24px}.portal-confirm-card label,.portal-appointment-form label{color:#374151;gap:6px;font-weight:700;display:grid}.portal-confirm-card select,.portal-appointment-form input,.portal-appointment-form select,.portal-appointment-form textarea{border:1px solid #d1d5db;border-radius:10px;padding:11px;font-size:15px}.portal-appointment-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.portal-appointment-form .wide-field{grid-column:1/-1}.portal-appointment-form textarea{resize:vertical;min-height:90px}.portal-confirm-name{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;grid-column:1/-1;padding:14px}.portal-confirm-name span{color:#6b7280;margin-bottom:4px;display:block}.portal-confirm-name strong{color:#1f2937;font-size:20px}.portal-note-panel{border-left:6px solid #f97316}.portal-note-panel p{color:#374151;line-height:1.5}@media (width<=1100px){.portal-layout,.portal-appointment-form{grid-template-columns:1fr}.portal-appointment-form .wide-field,.portal-confirm-name{grid-column:auto}}.appointment-request-panel{border-top:6px solid #f97316}.request-count-pill{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.appointment-request-list{gap:10px;display:grid}.appointment-request-card{background:#f8fafc;border-left:5px solid #f97316;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px;display:grid}.appointment-request-card strong{color:#1f2937;margin-bottom:4px;font-size:15px;display:block}.appointment-request-card span{color:#374151;font-size:13px;font-weight:700;display:block}.appointment-request-card small{color:#6b7280;margin-top:4px;font-size:12px;display:block}.appointment-request-card p{color:#374151;margin:6px 0 0;font-size:13px}.request-actions{align-items:center;gap:8px;display:flex}.danger-outline-button{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:10px;padding:10px 14px;font-weight:800}.danger-outline-button:hover{background:#fee2e2}@media (width<=1100px){.appointment-request-card,.request-actions{grid-template-columns:1fr}.request-actions{display:grid}}.filter-row{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.filter-pill{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:8px 12px;font-weight:800}.filter-pill.active{color:#fff;background:#184e77;border-color:#184e77}.request-history-section{border-top:1px solid #e5e7eb;margin-top:22px;padding-top:18px}.request-history-list{gap:10px;display:grid}.request-history-card{background:#f8fafc;border-left:5px solid #2a9d8f;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px;display:grid}.request-history-card strong{color:#1f2937;margin-bottom:4px;display:block}.request-history-card span{color:#374151;font-size:13px;font-weight:700}.request-history-card p{color:#374151;margin:6px 0 0;font-size:13px}.request-history-card small{color:#6b7280;margin-top:6px;display:block}.status-pill.approved{color:#166534;background:#dcfce7}.status-pill.denied{color:#991b1b;background:#fee2e2}.status-pill.pending{color:#92400e;background:#fef3c7}@media (width<=1100px){.request-history-card{grid-template-columns:1fr}}.public-app{background:#eef4f8;min-height:100vh}.public-header{background:#fff;border-bottom:1px solid #dbe4ea;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;display:flex;box-shadow:0 4px 14px #0f172a0f}.public-header h1{color:#184e77;margin:0;font-size:28px}.public-header p{color:#6b7280;margin:4px 0 0;font-weight:700}.public-content{max-width:1300px;margin:0 auto;padding:28px}.public-login-panel{max-width:1300px;margin:18px auto 0;padding:0 28px}.staff-login-form{background:#fff;border-top:6px solid #184e77;border-radius:18px;gap:14px;max-width:420px;padding:20px;display:grid;box-shadow:0 10px 24px #0f172a14}.staff-login-form h2{color:#184e77;margin:0}.staff-login-form p{color:#6b7280;margin:4px 0 0}.staff-login-form label{color:#374151;gap:6px;font-weight:800;display:grid}.staff-login-form input{border:1px solid #d1d5db;border-radius:10px;padding:12px;font-size:15px}.login-error{color:#991b1b;background:#fee2e2;border-left:5px solid #dc2626;border-radius:12px;padding:12px;font-weight:800}.prototype-login-note{color:#6b7280;line-height:1.4}.logged-in-card{color:#fff;background:#ffffff1f;border-radius:14px;margin:18px 0;padding:12px}.logged-in-card span{opacity:.8;margin-bottom:4px;font-size:12px;display:block}.logged-in-card strong{margin-bottom:10px;font-size:16px;display:block}.logout-button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:10px;width:100%;padding:9px 10px;font-weight:800}.logout-button:hover{background:#fff3}@media (width<=800px){.public-header{flex-direction:column;align-items:flex-start}.public-content,.public-login-panel{padding:18px}.staff-login-form{max-width:none}}.staff-login-toggle{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.staff-login-toggle:hover{color:#184e77;border-color:#184e77}.participant-mobile-page{gap:20px;display:grid}.participant-hero{color:#fff;background:linear-gradient(135deg,#184e77,#2a9d8f);border-radius:22px;padding:28px;box-shadow:0 10px 24px #0f172a1f}.participant-hero span{letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-bottom:8px;font-size:12px;font-weight:900;display:inline-block}.participant-hero h1{margin:0;font-size:34px}.participant-hero p{opacity:.95;max-width:620px;margin:8px 0 0;font-weight:700;line-height:1.5}.mobile-card-heading{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.mobile-card-heading h2{margin:0}.mobile-card-heading p{color:#6b7280;margin:4px 0 0;line-height:1.4}.mobile-step-badge{color:#075985;background:#e0f2fe;border-radius:999px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:900;display:inline-grid}.request-card .mobile-step-badge{color:#166534;background:#dcfce7}.mobile-pin-form label{color:#374151;gap:8px;font-weight:900;display:grid}.mobile-action-button{min-height:48px;font-size:16px}.mobile-button-stack{gap:10px;display:grid}.mobile-note-panel{margin-bottom:24px}@media (width<=700px){.public-app{background:#eef4f8}.mobile-public-header{flex-direction:row;align-items:center;padding:12px 14px}.mobile-public-header h1{font-size:21px}.mobile-public-header p{font-size:12px}.staff-login-toggle{padding:7px 10px;font-size:12px}.mobile-public-content{padding:14px}.public-login-panel{margin-top:12px;padding:0 14px}.staff-login-form{border-radius:16px;max-width:none;padding:16px}.participant-hero{border-radius:20px;padding:22px}.participant-hero h1{font-size:28px}.participant-hero p{font-size:15px}.mobile-portal-layout{grid-template-columns:1fr;gap:14px}.mobile-portal-card{border-radius:18px;padding:18px}.portal-pin-form input{letter-spacing:10px;min-height:72px;padding:20px;font-size:34px}.mobile-request-form{grid-template-columns:1fr}.mobile-request-form .wide-field,.portal-confirm-name{grid-column:auto}.mobile-request-form input,.mobile-request-form select,.mobile-request-form textarea,.mobile-confirm-card select{min-height:48px;font-size:16px}.mobile-card-heading{gap:10px}.mobile-card-heading h2{font-size:21px}.mobile-confirm-card{padding:16px}.mobile-confirm-card strong{font-size:22px}.mobile-note-panel{padding:18px}}.admin-tool-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.admin-tool-card{background:#f8fafc;border-left:5px solid #184e77;border-radius:14px;gap:10px;padding:14px;display:grid}.admin-tool-card h3{color:#1f2937;margin:0}.admin-tool-card p{color:#6b7280;margin:0;line-height:1.4}.admin-tool-card input{border:1px solid #d1d5db;border-radius:10px;padding:11px}.clickable-stat-card{text-align:left;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s}.clickable-stat-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1f}.clickable-stat-card.active{outline-offset:2px;outline:3px solid #2a9d8f}.stat-detail-panel{border-top:6px solid #184e77}.stat-person-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.stat-person-chip{background:#f8fafc;border-left:5px solid #184e77;border-radius:12px;padding:10px}.stat-person-chip strong{color:#1f2937;font-size:14px;display:block}.stat-person-chip span{color:#374151;margin-top:4px;font-size:13px;font-weight:800;display:block}.stat-person-chip small{color:#6b7280;margin-top:3px;font-size:12px;display:block}.stat-detail-actions{align-items:center;gap:10px;display:flex}.attendance-log-list{gap:12px;display:grid}.attendance-log-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.attendance-log-main{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.attendance-log-main strong{color:#1f2937;font-size:15px;display:block}.attendance-log-main span{color:#374151;margin-top:4px;font-weight:800;display:block}.attendance-log-main small{color:#6b7280;margin-top:4px;display:block}.attendance-edit-box{border-top:1px solid #e5e7eb;gap:12px;margin-top:14px;padding-top:14px;display:grid}.schedule-change-layout{grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);align-items:start;gap:18px;display:grid}.schedule-preview-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px}.schedule-preview-list,.schedule-override-list,.weekly-schedule-list{gap:12px;display:grid}.schedule-preview-row,.schedule-override-row,.weekly-schedule-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.schedule-preview-row{gap:8px;display:grid}.schedule-preview-row.cancelled{opacity:.7;border-left:6px solid #b91c1c}.schedule-preview-row strong,.schedule-override-row strong,.weekly-schedule-row strong{color:#1f2937;display:block}.schedule-preview-row span,.schedule-override-row span,.weekly-schedule-row span{color:#374151;margin-top:4px;font-weight:700;display:block}.schedule-preview-row small,.schedule-override-row small,.weekly-schedule-row small{color:#6b7280;margin-top:4px;display:block}.schedule-badges{flex-wrap:wrap;gap:6px;display:flex}.schedule-badges span{color:#075985;background:#e0f2fe;border-radius:999px;margin-top:0;padding:4px 8px;font-size:12px}.schedule-note{background:#fff7ed;border-radius:10px;padding:8px}.schedule-override-row,.weekly-schedule-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.day-tab{color:#374151;cursor:pointer;background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;padding:8px 12px;font-weight:800}.day-tab.active{color:#fff;background:#184e77;border-color:#184e77}.add-class-form{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:18px}@media (width<=900px){.schedule-change-layout{grid-template-columns:1fr}}.report-preview-panel h1{color:#1f2937;margin-bottom:4px}.print-subtitle{color:#6b7280;margin-top:0;margin-bottom:18px;font-weight:700}.report-table{border-collapse:collapse;width:100%;font-size:13px}.report-table td{vertical-align:top;color:#1f2937;border:1px solid #d1d5db;padding:9px}.report-preview-panel{overflow-x:auto}.report-preview-panel h1{color:#1f2937;letter-spacing:-.02em;margin:0 0 6px;font-size:28px;line-height:1.15}.report-preview-panel .print-subtitle{color:#6b7280;margin:0 0 18px;font-size:14px;font-weight:700;line-height:1.35}.report-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.35}.report-table th{color:#374151;text-align:left;white-space:nowrap;background:#f3f4f6;border:1px solid #d1d5db;padding:7px 8px}.report-table td{vertical-align:top;color:#1f2937;word-break:normal;border:1px solid #d1d5db;padding:7px 8px}.report-empty{color:#6b7280;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:14px;font-weight:700}@media print{.report-preview-panel h1{font-size:22px}.report-preview-panel .print-subtitle{font-size:12px}.report-table{font-size:10px}.report-table th,.report-table td{padding:5px 6px}}.participant-filter-grid{margin-bottom:18px}.participant-card-grid{gap:12px;display:grid}.participant-directory-card{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e5e7eb;border-left:6px solid #184e77;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;width:100%;padding:14px;transition:transform .15s,box-shadow .15s;display:flex}.participant-directory-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1f}.participant-directory-card strong{color:#1f2937;font-size:16px;display:block}.participant-directory-card span{color:#374151;margin-top:4px;font-weight:800;display:block}.participant-directory-card small{color:#6b7280;margin-top:4px;display:block}.profile-open-pill{white-space:nowrap;background:#e0f2fe;border-radius:999px;padding:6px 10px;font-size:12px;color:#075985!important}.app-shell{background:#f3f4f6;grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#184e77;flex-direction:column;align-self:start;gap:24px;min-height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.brand-block h1{color:#fff;margin:0;font-size:38px;line-height:1}.brand-block p{color:#fff;opacity:.95;margin:10px 0 0}.staff-session-card{background:#ffffff21;border-radius:14px;padding:14px}.staff-session-card span{opacity:.85;font-size:12px;display:block}.staff-session-card strong{color:#fff;margin-top:6px;display:block}.logout-button{color:#fff;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-weight:900}.main-nav{gap:8px;display:grid}.nav-button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;width:100%;padding:10px 12px;font-weight:800}.nav-button:hover,.nav-button.active{background:#ffffff29}.main-content{min-width:0;padding:32px;overflow-x:hidden}.profile-header-summary{background:#fff;border-left:6px solid #2a9d8f;border-radius:14px;padding:14px 18px}.profile-header-summary span{color:#374151;font-weight:900;display:block}.profile-header-summary strong{color:#1f2937;margin-top:4px;display:block}.profile-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px;display:grid}.profile-list{gap:12px;margin-top:16px;display:grid}.profile-list-row{background:#f8fafc;border:1px solid #e5e7eb;border-left:5px solid #184e77;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px;display:flex}.profile-list-row strong{color:#1f2937;display:block}.profile-list-row span{color:#374151;margin-top:4px;font-weight:700;display:block}.profile-list-row small{color:#6b7280;margin-top:4px;display:block}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.main-content{padding:18px}}.profile-page{gap:20px;display:grid}.profile-hero{color:#fff;background:linear-gradient(135deg,#184e77,#2a9d8f);border-radius:22px;padding:24px;box-shadow:0 18px 40px #0f172a1f}.profile-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-hero-title h1{color:#fff;margin:10px 0 6px;font-size:34px;line-height:1.05}.profile-hero-title p{color:#ffffffeb;margin:0}.profile-badge-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-badge,.profile-pin-chip{border-radius:999px;align-items:center;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.profile-badge{color:#fff;background:#ffffff2e}.profile-pin-chip{color:#184e77;background:#fff}.profile-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:20px;display:grid}.profile-summary-card{background:#ffffff24;border:1px solid #ffffff24;border-radius:16px;padding:14px}.profile-summary-card span{text-transform:uppercase;letter-spacing:.04em;color:#fffc;font-size:12px;display:block}.profile-summary-card strong{color:#fff;margin-top:6px;font-size:22px;display:block}.profile-sections{gap:18px;display:grid}.profile-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:24px;box-shadow:0 14px 32px #0f172a14}.profile-section-header{margin-bottom:16px}.profile-section-header h2{color:#1f2937;margin:0;font-size:30px;line-height:1.1}.profile-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.profile-field{flex-direction:column;gap:6px;display:flex}.profile-field span{color:#475569;font-size:13px;font-weight:800}.profile-field input,.profile-field select,.profile-field textarea,.profile-inline-select{color:#1f2937;box-sizing:border-box;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:12px 14px;font-size:14px}.profile-field textarea{resize:vertical;min-height:110px}.profile-field-full{grid-column:1/-1}.profile-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.profile-item-list{gap:12px;margin-top:18px;display:grid}.profile-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.profile-item-main strong{color:#1f2937;font-size:15px;display:block}.profile-item-main span{color:#334155;margin-top:4px;font-weight:700;display:block}.profile-item-main small{color:#64748b;margin-top:4px;display:block}.profile-item-actions{flex-shrink:0}.profile-empty{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;margin:0;padding:14px 16px;font-style:italic}@media (width<=1100px){.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.profile-form-grid{grid-template-columns:1fr}.profile-item{flex-direction:column}.profile-section-card,.profile-hero{padding:18px}.profile-hero-title h1{font-size:28px}}.dosage-profile-section{border-top:6px solid #2a9d8f}.dosage-profile-total{color:#fff;background:linear-gradient(135deg,#184e77,#2a9d8f);border-radius:18px;margin-bottom:16px;padding:20px}.dosage-profile-total span{text-transform:uppercase;letter-spacing:.04em;color:#ffffffd9;font-size:13px;font-weight:800;display:block}.dosage-profile-total strong{color:#fff;margin-top:8px;font-size:42px;line-height:1;display:block}.dosage-class-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.dosage-class-card{background:#f8fafc;border:1px solid #e5e7eb;border-left:6px solid #184e77;border-radius:16px;padding:14px}.dosage-class-card span{color:#475569;font-size:13px;font-weight:900;display:block}.dosage-class-card strong{color:#1f2937;margin-top:6px;font-size:28px;display:block}.dosage-class-card small{color:#64748b;margin-top:4px;display:block}.dosage-removed-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin-bottom:14px;padding:12px 14px;font-weight:800}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:16px;display:grid}.form-grid label,.panel label{color:#475569;flex-direction:column;gap:6px;font-size:13px;font-weight:900;display:flex}.form-grid input,.form-grid select,.form-grid textarea,.panel input,.panel select,.panel textarea,.staff-login-card input{box-sizing:border-box;color:#1f2937;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:11px 13px;font-size:14px}.form-grid textarea,.panel textarea{resize:vertical;min-height:92px}.full-width-field{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-login-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;max-width:760px;margin:24px auto;padding:24px;box-shadow:0 16px 36px #0f172a1f}.prototype-login-help{color:#64748b;text-align:center;margin-top:14px;font-size:13px}.in-out-board-panel{border-top:6px solid #184e77}.board-mini-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.board-mini-summary span{color:#334155;background:#f1f5f9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.in-out-board-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.in-out-board-card{background:#f8fafc;border:1px solid #e5e7eb;border-left:7px solid #94a3b8;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:104px;padding:14px;display:flex}.in-out-board-card.present{background:#f0fdf4;border-left-color:#16a34a}.in-out-board-card.at-appointment,.in-out-board-card.appointment-today{background:#f0f9ff;border-left-color:#0284c7}.in-out-board-card.excused-absence{background:#fff7ed;border-left-color:#f97316}.in-out-board-card.absent{background:#fef2f2;border-left-color:#dc2626}.in-out-board-card.clocked-out{background:#f8fafc;border-left-color:#64748b}.board-card-topline{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.board-card-topline strong{color:#1f2937;font-size:15px}.late-flag{color:#b91c1c;text-transform:uppercase;background:#fee2e2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.board-card-status{margin-top:12px}.board-card-status span{color:#1f2937;font-weight:900;display:block}.board-card-status small,.board-card-appointment small{color:#64748b;margin-top:4px;font-weight:700;display:block}.board-card-appointment{background:#ffffffa6;border-radius:10px;margin-top:10px;padding:8px}.dashboard-priority-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;margin-top:18px;display:grid}.dashboard-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;margin-top:18px;display:grid}.compact-bottom-panel h2{font-size:24px}.compact-bottom-panel .panel-subtitle{font-size:13px}.schedule-change-layout .form-grid,.add-class-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:18px}.schedule-preview-card{box-shadow:none}@media (width<=1000px){.dashboard-priority-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.board-mini-summary{justify-content:flex-start}}.attendance-appointment-alert{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px 14px}.attendance-appointment-alert strong{margin-bottom:4px;font-size:13px;display:block}.attendance-appointment-alert span{font-weight:700;display:block}.excuse-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;gap:12px;padding:12px;display:grid}.clickable-dosage-card{text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s}.clickable-dosage-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a1f}.dosage-detail-popout{background:#f8fafc;border:1px solid #dbeafe;border-left:7px solid #184e77;border-radius:18px;margin-top:18px;padding:16px}.dosage-detail-popout h3{color:#1f2937;margin:0;font-size:24px}.dosage-detail-list{gap:10px;display:grid}.dosage-detail-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px}.dosage-detail-row strong{color:#1f2937;font-size:15px;display:block}.dosage-detail-row span{color:#184e77;margin-top:4px;font-size:20px;font-weight:900;display:block}.dosage-detail-row small{color:#64748b;margin-top:4px;display:block}.participant-count-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.participant-count-pill{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.participant-count-pill.tardy{color:#9a3412;background:#fff7ed}.participant-count-pill.absent{color:#b91c1c;background:#fef2f2}.participant-count-pill.excused{color:#1d4ed8;background:#eff6ff}.staff-session-card{min-width:0}.staff-session-card strong,.staff-session-card small{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.staff-session-card strong{line-height:1.25}.staff-session-card small{margin-top:4px;display:block}.attendance-log-actions,.profile-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=700px){.attendance-log-main{flex-direction:column}.attendance-log-actions,.profile-item-actions{justify-content:stretch;width:100%}.attendance-log-actions button,.profile-item-actions button{flex:1}}
