:root{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-display-sm:1.5rem;--text-display-md:2rem;--text-display-lg:3.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-50:#f5f2f7;--primary-100:#ebe5f0;--primary-200:#d7cadf;--primary-300:#b7a4c4;--primary-400:#9582a5;--primary-500:#7a638d;--primary-600:#674c7a;--primary-700:#574064;--primary-800:#473452;--primary-900:#36253d;--accent-warm:#a16207;--success-50:#f0fdf4;--success-100:#dcfce7;--success-200:#bbf7d0;--success-300:#86efac;--success-400:#4ade80;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-300:#fcd34d;--warning-400:#fbbf24;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#b45309;--warning-800:#92400e;--error-50:#fef2f2;--error-100:#fee2e2;--error-200:#fecaca;--error-300:#fca5a5;--error-400:#f87171;--error-500:#ef4444;--error-600:#dc2626;--error-700:#b91c1c;--gray-50:#faf9f8;--gray-100:#f0eeed;--gray-200:#ddd8dd;--gray-300:#c3bbc5;--gray-400:#99929e;--gray-500:#756d7b;--gray-600:#585160;--gray-700:#403b46;--gray-800:#2f2a34;--gray-900:#252329;--text-primary:#252329;--text-secondary:#514d55;--text-muted:#716b75;--text-main:var(--text-primary);--bg-main:#f6f5f3;--bg-card:#fff;--bg-elevated:#fff;--focus-ring:#725584;--purple-soft:#f3e8ff;--purple-text:#7e22ce;--table-header-bg:#f0eeed;--border-color:#ddd8dd;--border-soft:#403b4624;--warning-200:#fde68a;--danger:var(--error-600);--surface-secondary:var(--primary-50);--bg-subtle:var(--gray-50);--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--header-gradient:linear-gradient(120deg, #302d35, #302d35);--button-text:#fff;--button-primary-start:#574064;--button-primary-end:#574064;--button-primary-hover:#453050;--button-primary-border:#574064;--control-focus-shadow:#57406429;--surface-hover:#5740640b;--button-success-bg:#047857;--button-success-hover:#065f46;--button-danger-bg:#b91c1c;--button-danger-hover:#991b1b;--bg-page-gradient-start:#f6f5f3;--bg-page-gradient-end:#f6f5f3;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.625rem;--radius-xl:.875rem;--radius-2xl:1rem;--radius-3xl:1.25rem;--radius-full:9999px;--shadow-card:0 1px 3px #231e2809;--shadow-sm:0 1px 2px #231e280d;--shadow-md:0 4px 12px #231e2812;--shadow-lg:0 8px 24px #231e281a;--shadow-xl:0 16px 40px #231e2824;--shadow-2xl:0 24px 64px #231e2833;--transition-fast:.15s ease;--transition-base:.2s ease;--ease-spring:cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary-50:#2e2534;--primary-100:#3a2f43;--primary-200:#504058;--primary-300:#796386;--primary-400:#a18aad;--primary-500:#b8a4c5;--primary-600:#d2c3dc;--primary-700:#e4d9eb;--primary-800:#f2ebf6;--primary-900:#fff;--success-50:#052e16;--success-100:#14532d;--success-200:#166534;--success-300:#15803d;--success-400:#22c55e;--success-500:#4ade80;--success-600:#86efac;--success-700:#bbf7d0;--warning-50:#451a03;--warning-100:#78350f;--warning-300:#92400e;--warning-400:#b45309;--warning-500:#f59e0b;--warning-600:#fbbf24;--warning-700:#fcd34d;--warning-800:#fef3c7;--error-50:#450a0a;--error-100:#7f1d1d;--error-200:#991b1b;--error-300:#b91c1c;--error-400:#dc2626;--error-500:#f87171;--error-600:#fca5a5;--error-700:#fecaca;--gray-50:#201e23;--gray-100:#333136;--gray-200:#47424d;--gray-300:#655d6d;--gray-400:#9c93a4;--gray-500:#b6adbf;--gray-600:#d3cdd9;--gray-700:#e5dfeb;--gray-800:#f1edf5;--gray-900:#fff;--text-primary:#f3f1f5;--text-secondary:#d1ccd5;--text-muted:#b2abb8;--bg-main:#19181b;--bg-card:#242328;--bg-elevated:#2f2d33;--focus-ring:#c4b2d1;--purple-soft:#3b0764;--purple-text:#e9d5ff;--table-header-bg:#333136;--border-color:#47424d;--border-soft:#b6adbf29;--warning-200:#854d0e;--header-gradient:linear-gradient(120deg, #302d35, #302d35);--button-primary-start:#755887;--button-primary-end:#755887;--button-primary-hover:#654878;--button-primary-border:#b8a4c5;--control-focus-shadow:#b8a4c52e;--surface-hover:#b8a4c513;--bg-page-gradient-start:#19181b;--bg-page-gradient-end:#19181b;--shadow-card:0 1px 2px #0000004d, 0 4px 16px #0000003d;--shadow-sm:0 1px 2px #00000052;--shadow-md:0 6px 16px #00000061;--shadow-lg:0 12px 30px #00000070;--shadow-xl:0 20px 45px #00000080;--shadow-2xl:0 28px 70px #0000008f}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-moz-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;overflow-x:hidden}body{color:var(--text-primary);background:var(--bg-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif;font-size:var(--text-base);max-width:100%;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit}img,video,canvas,svg{max-width:100%}main,section,form{min-width:0}input,select,textarea{min-width:0;max-width:100%}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.3s ease-out both fadeIn}.animate-slide-up{animation:.3s ease-out both slideUp}.animate-slide-down,.animate-slide-right,.animate-pulse-glow,.animate-float{animation:.3s ease-out both fadeIn}.skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--border-soft);transition:box-shadow var(--transition-base), border-color var(--transition-base), transform var(--transition-base);padding:1.25rem}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.page-header{background:var(--header-gradient);color:#fff;isolation:isolate;border-bottom:none;position:relative;overflow:hidden}.page-header:before{display:none}.page-container>.page-header{border-radius:var(--radius-2xl);margin-bottom:1rem}.shared-page-header{background:var(--bg-card);color:var(--text-primary);border-top:3px solid var(--primary-600);border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:1.25rem max(1.5rem,50vw - 600px + 1.5rem);display:flex}.page-container>.shared-page-header{padding-inline:1.25rem}.shared-page-header-back{color:var(--primary-700);background:var(--primary-50);border-color:var(--primary-200)}.shared-page-header-home{color:var(--text-secondary);background:var(--bg-card);border-color:var(--gray-300);flex:none}.shared-page-header-home:hover:not(:disabled){background:var(--gray-100)}@media (max-width:640px){.student-status-top>.shared-page-header-home{grid-column:1/-1;width:100%}}.shared-page-header-copy{flex:auto;min-width:0}.shared-page-header-copy h1{font-size:var(--text-display-sm);letter-spacing:-.025em;font-weight:700;line-height:1.35}.shared-page-header-copy p{color:var(--text-muted);font-size:var(--text-sm);opacity:1;margin-top:.375rem;line-height:1.6}.bg-gradient-primary{background:var(--header-gradient);color:#fff}.glass,.glass-dark{background:var(--bg-card);border:1px solid var(--gray-200)}.btn{font-size:var(--text-sm);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:normal;overflow-wrap:anywhere;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;min-width:0;max-width:100%;min-height:2.75rem;padding:.5rem 1rem;font-weight:600;line-height:1.25rem;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible,.input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn-primary{background:var(--button-primary-start);color:var(--button-text);border-color:var(--button-primary-border);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--gray-100);color:var(--gray-800)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-200)}.btn-success{background-color:var(--button-success-bg);color:var(--button-text)}.btn-success:hover:not(:disabled){background-color:var(--button-success-hover)}.btn-danger{background-color:var(--button-danger-bg);color:var(--button-text)}.btn-danger:hover:not(:disabled){background-color:var(--button-danger-hover)}.btn-outline{background-color:var(--bg-card);border-color:var(--gray-300);color:var(--gray-700)}.btn-outline:hover:not(:disabled){background-color:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.btn-ghost{color:var(--gray-600);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100);color:var(--gray-900)}.btn-lg{font-size:var(--text-base);padding:.75rem 1.5rem}.btn-sm{font-size:var(--text-sm);padding:.375rem .75rem}.btn-xs{font-size:var(--text-xs);padding:.25rem .5rem}.btn-icon{aspect-ratio:1;white-space:nowrap;min-width:2.75rem;min-height:2.75rem;padding:.5rem}.action-log-detail-value{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;margin-top:1rem}.input{width:100%;min-width:0;max-width:100%;font-size:var(--text-base);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--gray-300);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none;padding:.75rem 1rem;font-family:inherit;display:block}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select).input{height:3.25rem;line-height:1.5}input.input[type=file]{padding-block:var(--space-2)}input.input:is([type=date],[type=time],[type=datetime-local],[type=month]){appearance:none;box-sizing:border-box;min-inline-size:0;max-inline-size:100%;min-height:2.75rem}input.input:is([type=date],[type=time],[type=datetime-local],[type=month])::-webkit-date-and-time-value{text-align:start;min-width:0}select.input{min-height:2.75rem;padding-right:2.25rem}textarea.input{resize:vertical;min-height:7rem}.input:hover:not(:disabled):not(:focus){border-color:var(--gray-400)}.input:focus{border-color:var(--primary-500);box-shadow:0 0 0 4px var(--control-focus-shadow);background:var(--bg-card)}.input:disabled{background:var(--gray-50);color:var(--text-muted);cursor:not-allowed}.input-error{border-color:var(--error-400)}.input-error:focus{box-shadow:0 0 0 4px #ef44441a}.label{font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.01em;margin-bottom:.5rem;font-weight:600;display:block}.form-group{min-width:0;margin-bottom:1.25rem;display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:start;gap:0 1rem;display:grid}.form-grid>.form-group-full{grid-column:1/-1}.form-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.error-text{font-size:var(--text-xs);color:var(--error-500);margin-top:.375rem}.success-text{font-size:var(--text-xs);color:var(--success-700);margin-top:.375rem}.help-text{font-size:var(--text-sm);color:var(--text-muted);margin-top:.375rem}.finance-migration-operation-panel{gap:.875rem;margin-top:1.25rem;display:grid}.finance-migration-operation-panel h4,.finance-migration-operation-panel p{margin:0}.finance-migration-operation-panel .label{margin-bottom:-.375rem}.finance-migration-operation-panel details{border-top:1px solid var(--gray-200);gap:.875rem;padding-top:.5rem;display:grid}.finance-migration-operation-panel details[open]>*+*{margin-top:.875rem}.finance-migration-confirmation{overflow-wrap:anywhere;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.625rem .75rem;display:block}.vision-editor{min-width:0;container-type:inline-size}.vision-structure{border-top:1px solid var(--gray-200);gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.vision-structure-heading,.vision-level-header,.vision-item-list-heading,.vision-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.vision-structure-heading h3,.vision-level-header h3{margin:0}.vision-structure-heading p{color:var(--text-muted);font-size:var(--text-sm);margin:.25rem 0 0}.vision-category-editor{border:1px solid var(--primary-200);border-top:4px solid var(--primary-500);border-radius:var(--radius-xl);background:var(--primary-50);box-shadow:var(--shadow-sm);padding:1rem}.vision-level-header{margin-bottom:1rem}.vision-level-header>div:first-child{align-items:center;gap:.625rem;min-width:0;display:flex}.vision-level-badge{border-radius:var(--radius-full);background:var(--primary-100);color:var(--primary-700);font-size:var(--text-xs);flex:none;align-items:center;padding:.25rem .625rem;font-weight:800;display:inline-flex}.vision-category-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.vision-item-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.vision-category-fields,.vision-item-fields{gap:.75rem}.vision-category-fields .form-group,.vision-item-fields .form-group{min-width:0;margin-bottom:0}.vision-category-fields .input,.vision-item-fields .input{width:100%;min-width:0}.vision-item-list{border-top:1px solid var(--primary-100);border-left:3px solid var(--primary-300);grid-template-columns:minmax(0,1fr);gap:.75rem;margin:1rem 0 0 1.25rem;padding:1rem 0 0 1rem;display:grid}.vision-item-list-heading strong,.vision-item-list-heading span{display:block}.vision-item-list-heading span{color:var(--text-muted);font-size:var(--text-xs);margin-top:.125rem}.vision-item-editor{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-card);min-width:0;padding:.875rem;position:relative}.vision-item-editor:before{content:"";border-top:2px solid var(--primary-300);width:1rem;position:absolute;top:1.35rem;left:-1.1rem}.vision-item-marker{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.vision-item-marker strong{overflow-wrap:anywhere;min-width:0}.vision-item-marker span{background:var(--gray-100);min-width:2rem;height:2rem;color:var(--primary-700);font-size:var(--text-xs);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.vision-item-remove{place-self:end}.vision-empty-level{border:1px dashed var(--gray-300);border-radius:var(--radius-lg);background:var(--gray-50);color:var(--text-muted);font-size:var(--text-sm);gap:.25rem;padding:1rem;display:grid}.vision-empty-level strong{color:var(--text-secondary)}.vision-empty-level-nested{padding:.75rem}@container (max-width:680px){.vision-category-fields,.vision-item-fields{grid-template-columns:minmax(0,1fr)}.vision-item-list{margin-left:.5rem;padding-left:.75rem}.vision-item-remove{justify-self:start}}.badge{font-size:var(--text-xs);border-radius:var(--radius-full);letter-spacing:0;text-transform:none;overflow-wrap:anywhere;align-items:center;gap:.25rem;max-width:100%;padding:.25rem .75rem;font-weight:700;line-height:1.4;display:inline-flex}.badge-primary{background:var(--primary-100);color:var(--primary-700)}.badge-success{background:var(--success-100);color:var(--success-700)}.badge-warning{background:var(--warning-100);color:var(--warning-800)}.badge-danger{background:var(--error-100);color:var(--error-700)}.badge-neutral{background:var(--gray-200);color:var(--gray-700)}.badge-info{background:var(--primary-100);color:var(--primary-700)}.badge-purple{background:var(--purple-soft);color:var(--purple-text)}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot-success{background:var(--success-500);box-shadow:0 0 0 3px #10b98133}.status-dot-warning{background:var(--warning-500);box-shadow:0 0 0 3px #f59e0b33}.status-dot-danger{background:var(--error-500);box-shadow:0 0 0 3px #ef444433}.status-dot-neutral{background:var(--gray-400)}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.table-container:after{content:"";display:none}.table{border-collapse:collapse;width:100%;min-width:680px;font-size:var(--text-sm)}.table th{background:var(--table-header-bg);text-align:left;font-weight:700;font-size:var(--text-sm);color:var(--text-primary);border-bottom:2px solid var(--gray-200);white-space:nowrap;letter-spacing:0;text-transform:none;padding:.875rem 1rem}.table td{border-bottom:1px solid var(--gray-100);color:var(--text-primary);transition:background var(--transition-fast);padding:.875rem 1rem}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--surface-hover)}.modal-overlay{-webkit-backdrop-filter:blur(3px);z-index:1000;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));overscroll-behavior:contain;background:#0f172a8c;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);overscroll-behavior:contain;width:100%;max-width:32rem;min-height:0;max-height:min(90dvh,100%);animation:slideUp .3s var(--ease-spring);border:1px solid var(--border-color);flex-direction:column;display:flex;overflow:hidden auto}.modal-content>form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.modal-width-400{max-width:400px}.modal-width-420{max-width:420px}.modal-width-440{max-width:440px}.modal-width-480{max-width:480px}.modal-width-520{max-width:520px}.modal-width-540{max-width:540px}.modal-width-560{max-width:560px}.modal-width-620{max-width:620px}.modal-width-640{max-width:640px}.modal-width-760{max-width:760px}.modal-width-920{max-width:920px}.modal-header{border-bottom:1px solid var(--gray-100);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1.375rem 1.5rem;display:flex}.modal-title{min-width:0;font-size:var(--text-xl);overflow-wrap:anywhere;font-weight:700}.modal-header .btn-icon{flex-shrink:0}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--gray-100);background:var(--gray-50);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}@media (max-height:640px){.modal-content>.modal-body,.modal-content>form,.modal-content>form>.modal-body{flex:none;overflow:visible}}.confirm-dialog-layout{align-items:flex-start;gap:1rem;display:flex}.confirm-dialog-copy{overflow-wrap:anywhere;min-width:0}.confirm-dialog-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.confirm-dialog-icon-danger{background:var(--error-50)}.confirm-dialog-icon-success{background:var(--success-50)}.confirm-dialog-icon-primary{background:var(--primary-50)}.confirm-dialog-message{margin-bottom:.375rem;font-weight:600}.confirm-dialog-detail{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.qr-preview-modal{max-width:34rem}.qr-mode-tabs{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.875rem;display:grid}.qr-mode-status{justify-content:center;margin-bottom:1rem;display:flex}.qr-mode-status .badge{justify-content:center;align-items:center;display:inline-flex}.qr-image-frame{border-radius:var(--radius-lg);border:2px solid var(--gray-200);background:var(--bg-card);width:min(280px,100%);margin:0 auto;padding:.5rem}.student-status-header{padding:1.25rem 1.5rem 2.5rem}.student-status-top{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.student-status-title{flex:auto;min-width:0}.student-status-actions{flex:none;align-items:center;gap:.75rem;display:flex}.student-status-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.student-status-stat-card{background:var(--gray-50);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;min-width:0;padding:.75rem}.student-status-stat-card>div{font-size:var(--text-display-sm);font-weight:800;line-height:1.15}.student-status-stat-card>span{font-size:var(--text-sm);color:var(--text-secondary);margin-top:.25rem;display:block}.toast{z-index:1100;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:24rem;animation:slideInRight .35s var(--ease-spring);overflow-wrap:anywhere;border:1px solid #0000;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast-success{background:var(--bg-card);border-color:var(--success-400);color:var(--success-700);border-left:4px solid var(--success-500)}.toast-warning{background:var(--bg-card);border-color:var(--warning-400);color:var(--warning-700);border-left:4px solid var(--warning-500)}.toast-error{background:var(--bg-card);border-color:var(--error-400);color:var(--error-600);border-left:4px solid var(--error-500)}.toast-info{background:var(--bg-card);border-color:var(--primary-300);color:var(--primary-600);border-left:4px solid var(--primary-500)}.toast-icon{font-size:var(--text-base);line-height:1}.toast-message{font-size:var(--text-sm);flex:auto;line-height:1.5}.toast-close{color:currentColor;cursor:pointer;min-width:2.75rem;min-height:2.75rem;font-size:var(--text-lg);background:0 0;border:0;flex-shrink:0;padding:0;line-height:1}.page-container{width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.page-title{font-size:var(--text-display-sm);color:var(--text-primary);letter-spacing:-.025em;font-weight:800}.page-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-top:.375rem}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-state-icon{font-size:var(--text-display-lg);opacity:.35;margin-bottom:1rem;display:block}.empty-state-title{font-size:var(--text-lg);color:var(--text-primary);margin:0}.empty-state-description{margin:var(--space-2) 0 0;color:var(--text-secondary)}.empty-state-action{margin-top:var(--space-4)}.app-language-switcher{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:90;border-color:var(--border-color);border-radius:var(--radius-full);background:var(--bg-elevated);min-height:2.75rem;box-shadow:var(--shadow-lg);padding-inline:1rem;position:fixed}@media (max-width:640px){body{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.page-header{border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}}
.loading-spinner{border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;width:2.5rem;height:2.5rem;animation:.75s linear infinite spin}.loading-page{background:var(--bg-main);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;display:flex}.loading-page-message{color:var(--text-secondary);font-size:var(--text-base)}.loading-spinner-sm{border-width:2px;width:1rem;height:1rem}.data-load-error-message{margin:.25rem 0 0}.authorized-attachment-link{overflow-wrap:anywhere;gap:.25rem;min-width:0;max-width:100%;display:inline-grid}.authorized-attachment-error{color:var(--danger);font-size:var(--text-xs)}.authorized-storage-image{color:inherit;background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.authorized-storage-image-media{width:100%;display:block}.authorized-storage-image-media-cover{object-fit:cover;height:120px}.authorized-storage-image-media-contain-160{object-fit:contain;height:160px}.authorized-storage-image-media-logo-96{object-fit:contain;height:96px;padding:.5rem}.authorized-storage-image-media-thumbnail-80{object-fit:cover;width:80px;height:80px}.authorized-storage-image-media-inspection-100{object-fit:cover;height:100px}.authorized-storage-image-state{min-height:120px;font-size:var(--text-sm);text-align:center;place-items:center;display:grid}.authorized-storage-image-error{color:var(--danger);padding:.75rem}.authorized-storage-image-loading{color:var(--text-secondary)}.authorized-storage-image-message{font-size:var(--text-sm);margin-bottom:.5rem}.authorized-storage-image-caption{color:var(--text-secondary);font-size:var(--text-sm);padding:.625rem}.attachment-panel{border-top:1px solid var(--border-color);min-width:0;margin-top:1rem;padding-top:1rem}.attachment-panel-title{font-size:var(--text-base);font-weight:800}.attachment-list{overflow-wrap:anywhere;gap:.5rem;min-width:0;padding-left:0;list-style:none;display:grid}.attachment-list>li{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.attachment-list-copy{gap:var(--space-1);flex:15rem;min-width:0;display:grid}.attachment-list-copy .help-text{margin-top:0}.attachment-list-actions{gap:var(--space-2);flex-wrap:wrap;max-width:100%;display:flex}.attachment-upload-fields{flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-top:.75rem;display:flex}.attachment-upload-fields .form-group{flex:15rem;max-width:100%;margin-bottom:0}.attachment-success{color:var(--success-700)}.attachment-error{color:var(--error-600)}.p2-disabled-page{max-width:720px;padding-top:3rem}.p2-disabled-title{font-size:var(--text-xl);margin-top:.75rem}.p2-disabled-copy{color:var(--text-secondary);margin-top:.5rem;line-height:1.7}.p2-disabled-action{margin-top:1rem}.semester-selector-control{min-width:15rem;margin-bottom:0}.semester-scope-card{margin-bottom:1rem;padding:1rem}.semester-scope-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.semester-scope-error{color:var(--error-600)}.semester-scope-empty{margin-top:.5rem}.maintenance-panel{margin-bottom:1rem}.governance-overdue-summary{margin-top:.75rem}.governance-overdue-actions{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem;display:flex}.governance-overdue-actions .form-group{margin-bottom:0}.governance-overdue-success{color:var(--success-700)}.governance-overdue-error{color:var(--error-600)}.p2-readonly-page{background:var(--bg-main);min-height:100vh}.p2-readonly-content{gap:1rem;max-width:1080px;display:grid}.p2-readonly-club-filter{max-width:360px}.p2-readonly-load-more{margin-top:1rem}.governance-readonly-page{background:var(--bg-main);min-height:100vh}.governance-readonly-content{gap:1rem;max-width:1080px;display:grid}.governance-readonly-club-filter{max-width:380px}.governance-readonly-tabs,.governance-review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.governance-task-list,.governance-task-card,.governance-response-form{display:grid}.governance-task-list{gap:1rem}.governance-task-card{border:1px solid var(--border-color);border-radius:.75rem;gap:.75rem;padding:1rem}.governance-task-title{margin:0}.governance-response-status{background:var(--bg-subtle);border-radius:.5rem;padding:.75rem}.governance-return-reason{color:var(--error-600);margin:.5rem 0 0}.governance-response-text{white-space:pre-wrap}.governance-response-form{gap:.5rem}.semester-backfill-panel{margin-bottom:1rem;padding:1rem}.semester-backfill-header{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.semester-backfill-intro{margin-top:.25rem}.semester-backfill-header-actions,.semester-backfill-badges{flex-wrap:wrap;gap:.5rem;display:flex}.semester-backfill-status,.semester-backfill-table{margin-top:.75rem}.semester-backfill-error{color:var(--error-600)}.semester-backfill-success{color:var(--success-700)}.semester-backfill-detail{border-top:1px solid var(--gray-200);margin-top:1rem;padding-top:1rem}.semester-backfill-operation{margin-top:.75rem}.semester-backfill-confirmation{overflow-wrap:anywhere;margin-bottom:.35rem;display:block}.semester-backfill-submit,.semester-backfill-details-body{margin-top:.5rem}.semester-backfill-details summary{cursor:pointer;font-weight:600}.admin-surface-page{background:var(--bg-main);min-height:100vh}.anomaly-scan-button{width:100%;margin-bottom:1.5rem}.anomaly-scan-spinner{border-width:2px;border-top-color:#fff;width:1.25rem;height:1.25rem}.anomaly-state-card{text-align:center;padding:2rem}.anomaly-state-spinner{margin:0 auto .75rem}.anomaly-state-title{font-weight:700}.anomaly-state-copy{color:var(--text-secondary);font-size:var(--text-sm)}.anomaly-list{margin-bottom:1rem}.anomaly-list-summary{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:1rem}.anomaly-list-count{color:var(--error-600)}.anomaly-card{border-left-style:solid;border-left-width:4px;margin-bottom:.75rem}.anomaly-card-high{border-left-color:var(--error-500)}.anomaly-card-medium{border-left-color:var(--warning-500)}.anomaly-card-low{border-left-color:var(--gray-400)}.anomaly-card-header,.anomaly-card-footer{justify-content:space-between;display:flex}.anomaly-card-header{align-items:flex-start;margin-bottom:.5rem}.anomaly-card-title{font-size:var(--text-base);font-weight:700}.anomaly-type-badge{font-size:var(--text-xs)}.anomaly-card-details{color:var(--error-600);font-size:var(--text-sm);font-weight:500}.anomaly-card-students{color:var(--text-muted);font-size:var(--text-sm);margin-top:.375rem}.anomaly-card-footer{align-items:center;margin-top:.75rem}.anomaly-card-time{color:var(--text-muted);font-size:var(--text-xs)}.action-log-note{margin-bottom:.75rem}.action-log-search{margin-bottom:.5rem}.action-log-search-help{color:var(--text-muted);font-size:var(--text-xs);margin-bottom:.75rem}.action-log-empty{color:var(--text-muted);text-align:center;padding:2rem}.action-log-time{font-family:monospace;font-size:var(--text-xs);white-space:nowrap}.action-log-regular-cell,.action-log-target{font-size:var(--text-sm)}.action-log-badge-cell{font-size:var(--text-xs)}.action-log-target{color:var(--text-secondary)}.action-log-details{max-width:200px;color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.action-log-followup,.action-log-load-more{margin-top:1rem}.action-log-load-more{text-align:center}.role-application-filters{flex-wrap:wrap;gap:.5rem;display:flex}.role-application-type-filters{margin-bottom:.75rem}.role-application-status-filters{margin-bottom:1rem}.role-application-pending-count{color:#fff;background:var(--error-500);width:16px;height:16px;font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.role-application-list{gap:.75rem;display:grid}.role-application-card{border-left-style:solid;border-left-width:4px}.role-application-card-pending{border-left-color:var(--warning-500)}.role-application-card-approved{border-left-color:var(--success-500)}.role-application-card-rejected{border-left-color:var(--error-500)}.role-application-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.role-application-identity{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.role-application-name{font-weight:700}.role-application-email{color:var(--text-secondary);font-size:var(--text-sm);margin-top:.125rem}.role-application-time{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.role-application-note{color:var(--text-secondary);background:var(--gray-50);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:.75rem;padding:.5rem .75rem}.role-application-actions{justify-content:flex-end;gap:.5rem;display:flex}.role-application-reject{color:var(--error-500)}.role-application-spinner{border-top-color:#fff}.p6-report-filter-card{margin:1rem 0}.p6-report-export-actions{justify-content:flex-end;margin:1rem 0;display:flex}.p6-report-section{margin-bottom:1rem}.p6-report-section-content,.p6-report-notice,.p6-report-school-summary,.p6-report-job-table{margin-top:1rem}.p6-report-ranking-field{margin-top:.75rem}.p6-report-command-actions,.p6-report-job-actions{flex-wrap:wrap;display:flex}.p6-report-command-actions{gap:.5rem}.p6-report-job-actions{gap:.4rem}.p6-report-hash{overflow-wrap:anywhere;word-break:break-word}.inspection-refresh-button{color:var(--primary-700);background:var(--primary-50);border-color:var(--primary-200)}.inspection-refresh-button:hover:not(:disabled){background:var(--primary-100)}.inspection-filter-card{margin-bottom:1rem}.inspection-filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:.75rem;display:grid}.inspection-filter-field{margin-bottom:0}.inspection-filter-summary{flex-wrap:wrap;gap:.5rem;margin-top:.875rem;display:flex}.inspection-empty-action{margin-top:1rem}.inspection-record-list{gap:1rem;display:grid}.inspection-record-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.inspection-record-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.inspection-record-title{font-size:var(--text-base);font-weight:700}.inspection-record-meta{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7}.inspection-record-headcount{color:var(--primary-600)}.inspection-photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;display:grid}.inspection-photo-empty,.inspection-record-note{color:var(--text-secondary);background:var(--gray-50);border-radius:var(--radius-md)}.inspection-photo-empty{color:var(--text-muted);font-size:var(--text-sm);padding:.75rem}.inspection-record-note{font-size:var(--text-sm);margin-top:.75rem;padding:.5rem .75rem}.binding-appeal-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.binding-appeal-list{gap:.75rem;display:grid}.binding-appeal-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.binding-appeal-title{font-weight:700}.binding-appeal-email{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.binding-appeal-time{color:var(--text-muted);font-size:var(--text-xs)}.binding-appeal-reason{background:var(--gray-50);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:.75rem;padding:.75rem}.binding-appeal-reason-label{margin-bottom:.25rem;font-weight:600}.binding-appeal-reason-copy{color:var(--text-secondary)}.binding-appeal-photo-section,.binding-appeal-note-field{margin-bottom:.75rem}.binding-appeal-photo-label{font-size:var(--text-sm);margin-bottom:.375rem;font-weight:600}.binding-appeal-photo{max-width:200px}.binding-appeal-cleanup{margin-top:.5rem}.binding-appeal-cleanup-error{color:var(--danger);margin-bottom:.375rem}.binding-appeal-resolution{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:.5rem}.binding-appeal-actions{justify-content:flex-end;gap:.5rem;display:flex}.binding-appeal-reject{color:var(--error-600);background:var(--error-50)}.attendance-finalization-empty-copy{color:var(--text-muted);font-size:var(--text-sm);margin-top:.5rem}.attendance-finalization-card{margin-bottom:1.5rem}.attendance-finalization-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.attendance-finalization-title{font-size:var(--text-xl);font-weight:700}.attendance-finalization-meta{color:var(--text-secondary);font-size:var(--text-sm);margin-top:.25rem}.attendance-finalization-review-note,.attendance-finalization-comparison,.attendance-finalization-no-inspection{border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid;margin-bottom:1rem;padding:.75rem}.attendance-finalization-review-note{background:var(--primary-50);border-color:var(--primary-200)}.attendance-finalization-review-label{color:var(--primary-700);font-weight:600}.attendance-finalization-review-copy{color:var(--primary-800)}.attendance-finalization-comparison{flex-wrap:wrap;gap:1.5rem;display:flex}.attendance-finalization-comparison-match{background:var(--success-50);border-color:var(--success-200)}.attendance-finalization-comparison-mismatch{background:var(--error-50);border-color:var(--error-200)}.attendance-finalization-comparison-label{color:var(--text-secondary)}.attendance-finalization-mismatch{color:var(--error-600);font-weight:600}.attendance-finalization-photo-list{flex-wrap:wrap;gap:.5rem;width:100%;margin-top:.5rem;display:flex}.attendance-finalization-no-inspection{color:var(--warning-700);background:var(--warning-50);border-color:var(--warning-200)}.attendance-finalization-student-id,.attendance-finalization-time{font-size:var(--text-sm)}.attendance-finalization-student-id{font-family:monospace}.attendance-finalization-time-recorded{color:var(--success-600)}.attendance-finalization-time-missing,.attendance-finalization-modified-note{color:var(--text-muted)}.attendance-finalization-modified-note{font-size:var(--text-xs)}.attendance-finalization-note-field{margin-top:1rem}.attendance-finalization-note-input{resize:vertical;min-height:56px}.attendance-finalization-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.finalize-show-finalized{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:1rem;display:inline-flex}.attendance-finalization-return{color:var(--warning-600);background:var(--warning-50)}.president-qr-page,.inspector-task-page,.admin-governance-page{background:var(--bg-main);min-height:100vh}.president-qr-header-action{color:var(--text-secondary);background:var(--gray-100);border-color:var(--gray-300)}.president-qr-header-action:hover:not(:disabled){background:var(--gray-200)}.president-qr-content{gap:1rem;max-width:920px;display:grid}.president-qr-empty-action{margin-top:1rem}.president-qr-card{text-align:center;gap:1rem;display:grid}.president-qr-status{margin-bottom:.75rem}.president-qr-club-name{font-size:var(--text-display-sm);font-weight:900}.president-qr-schedule-meta{color:var(--text-secondary);font-size:var(--text-base)}.president-qr-frame{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:0 auto;padding:1rem;display:inline-block}.president-qr-image,.president-qr-loading{width:min(72vw,320px)}.president-qr-image{height:auto;display:block}.president-qr-loading{aspect-ratio:1;place-items:center;display:grid}.president-qr-countdown-row{justify-content:center;align-items:center;gap:.625rem;display:flex}.president-qr-countdown{border:3px solid var(--gray-200);width:42px;height:42px;font-size:var(--text-sm);border-radius:50%;place-items:center;font-weight:800;display:grid}.president-qr-countdown-normal{color:var(--primary-600);border-top-color:var(--primary-500)}.president-qr-countdown-urgent{color:var(--error-600);border-top-color:var(--error-500)}.president-qr-countdown-copy{color:var(--text-secondary);font-size:var(--text-sm)}.president-qr-time-notice{text-align:left}.president-qr-candidate-title{font-size:var(--text-base);margin-bottom:.75rem;font-weight:800}.president-qr-candidate-list{gap:.5rem;display:grid}.president-qr-candidate{white-space:normal;justify-content:space-between}.inspector-task-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.inspector-task-card{margin-bottom:1rem}.inspector-task-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.inspector-task-title-row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.inspector-task-title{font-size:var(--text-base);font-weight:700}.inspector-task-location{color:var(--text-secondary);font-size:var(--text-sm)}.inspector-report-form{background:var(--gray-50);border-radius:var(--radius-lg);margin-top:1rem;padding:1rem}.inspector-system-count{margin-bottom:.75rem}.inspector-system-count-error{margin-bottom:.5rem}.inspector-system-count-copy{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:.25rem}.inspector-system-count-value{color:var(--primary-600)}.inspection-camera-video{object-fit:contain;width:100%;max-height:60vh;display:block}.inspector-photo-preview-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.inspector-photo-preview{flex-direction:column;align-items:center;gap:.25rem;display:flex}.inspector-photo-thumbnail{width:60px;height:60px;color:var(--text-muted);background:var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-xs);justify-content:center;align-items:center;display:flex;overflow:hidden}.inspector-photo-preview-image{object-fit:cover;width:100%;height:100%}.inspector-report-actions{gap:.5rem;display:flex}.inspector-report-submit{flex:1}.inspector-report-error{color:var(--error-500);background:var(--error-50);border-radius:var(--radius-md);font-size:var(--text-sm);margin-top:.75rem;padding:.625rem .75rem}.admin-governance-content{gap:1rem;max-width:1180px;display:grid}.governance-admin-checkbox{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.governance-admin-checkbox input{flex:none}.governance-admin-club-options,.governance-admin-actions{flex-wrap:wrap;display:flex}.governance-admin-club-options{gap:.75rem}.governance-admin-actions{gap:.5rem}.governance-admin-batch-actions{align-items:flex-end}.governance-admin-batch-actions .form-group{margin:0}.governance-admin-batch-actions>.governance-admin-checkbox,.governance-admin-batch-actions>span{align-self:center;margin:0}.governance-admin-transition-field{margin-top:1rem}.governance-certification-criteria{gap:.75rem;margin:1rem 0;display:grid}.governance-certification-criteria h3,.governance-certification-criteria p{margin:0}.governance-criterion-card{border:1px solid var(--gray-300);border-radius:var(--radius-md);min-width:0;padding:.75rem}.governance-criterion-card legend{padding:0 .25rem;font-weight:700}.governance-criterion-card .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;display:grid}.governance-criterion-card .form-group{min-width:0;margin:0}.governance-criterion-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.governance-criterion-actions .governance-admin-checkbox{margin:0}.governance-criterion-actions .btn{margin-left:auto}.equipment-page,.attendance-report-page,.session-admin-page,.president-review-page,.advisor-activity-page{background:var(--bg-main);min-height:100vh}.equipment-content,.attendance-report-content,.session-admin-content,.advisor-activity-content{grid-template-columns:minmax(0,1fr);gap:1rem;max-width:1180px;display:grid}.equipment-borrower-scope-field{max-width:420px}.equipment-tabs{border-bottom:1px solid var(--border-color);gap:.25rem;padding:.25rem .25rem 0;display:flex;overflow-x:auto}.equipment-tabs [role=tab]{min-height:2.75rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:.6rem 1rem;font-weight:650}.equipment-tabs [role=tab]:hover{color:var(--text-primary)}.equipment-tabs [role=tab][aria-selected=true]{border-bottom-color:var(--primary-600);color:var(--text-primary)}.equipment-tabs [role=tab]:focus-visible{outline:2px solid var(--primary-600);outline-offset:-2px}.equipment-tab-panel{gap:1rem;min-width:0;display:grid}.equipment-tab-panel[hidden]{display:none}.equipment-load-more{margin-top:.75rem}.equipment-catalog-grid,.equipment-picker-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.875rem;display:grid}.equipment-catalog-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:.875rem;padding:1rem;display:flex}.equipment-catalog-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.equipment-catalog-card h3,.equipment-catalog-card p{margin:0}.equipment-catalog-card h3{overflow-wrap:anywhere}.equipment-catalog-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.equipment-catalog-facts div{min-width:0}.equipment-catalog-facts dt{color:var(--text-muted);font-size:var(--text-xs);font-weight:700}.equipment-catalog-facts dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:650}.equipment-catalog-instructions{border-top:1px solid var(--border-color);color:var(--text-muted);padding-top:.75rem;line-height:1.55}.equipment-catalog-actions{margin-top:auto}.equipment-picker{border:0;min-width:0;padding:0}.equipment-picker-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);cursor:pointer;gap:.75rem;min-width:0;min-height:112px;padding:1rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.equipment-picker-card:hover{border-color:var(--primary-600);transform:translateY(-1px)}.equipment-picker-card:focus-within{outline:3px solid color-mix(in srgb, var(--primary-600) 28%, transparent);outline-offset:2px}.equipment-picker-card-selected{border-color:var(--primary-600);background:color-mix(in srgb, var(--primary-600) 8%, var(--bg-card));box-shadow:0 0 0 1px var(--primary-600)}.equipment-picker-card input{flex:none;margin-top:.2rem}.equipment-picker-card-body{gap:.3rem;min-width:0;display:grid}.equipment-picker-card-title{overflow-wrap:anywhere;font-weight:800}.equipment-role-options,.equipment-priority-row,.equipment-form-actions,.equipment-request-actions{flex-wrap:wrap;display:flex}.equipment-role-options,.equipment-form-actions,.equipment-request-actions{gap:.75rem}.equipment-priority-list{gap:.5rem;display:grid}.equipment-priority-row{align-items:center;gap:.5rem}.equipment-request-actions{align-items:center}.equipment-command-id{overflow-wrap:anywhere}.attendance-report-filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.75rem;display:grid}.attendance-report-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.attendance-report-title,.session-admin-list-title,.session-admin-editor-title{font-size:var(--text-base);font-weight:800}.attendance-report-meta{color:var(--text-secondary);font-size:var(--text-sm)}.attendance-report-row-low{background:var(--warning-50)}.attendance-report-student-id{font-family:monospace}.attendance-report-student-name{font-weight:700}.attendance-report-department{color:var(--text-muted);font-size:var(--text-xs)}.attendance-report-load-more-error,.attendance-report-load-more-actions,.attendance-report-complete{margin-top:1rem}.attendance-report-load-more-actions{justify-content:center;display:flex}.attendance-report-complete{color:var(--text-muted);text-align:center;font-size:var(--text-sm)}.session-admin-club-field{max-width:360px}.session-admin-error{color:var(--error-600)}.session-admin-list-title{margin-bottom:1rem}.session-admin-load-more{margin-top:1rem}.session-admin-editor-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.session-admin-editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.75rem;margin-top:1rem;display:grid}.session-admin-editor-field,.session-admin-attachment-help{margin-top:.75rem}.president-review-card{margin-bottom:1rem}.president-review-card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.president-review-card-actions{align-items:center;gap:.5rem;display:flex}.president-review-card-title,.advisor-activity-summary-title,.advisor-activity-list-title{font-size:var(--text-base);font-weight:800}.president-review-card-title{font-weight:700}.president-review-card-meta,.president-review-student-id,.president-review-time{font-size:var(--text-sm)}.president-review-card-meta{color:var(--text-secondary)}.president-review-time-recorded{color:var(--success-600)}.president-review-time-missing,.president-review-modified-note{color:var(--text-muted)}.president-review-editor{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.president-review-bulk-actions{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .75rem;display:flex}.president-review-status-select,.president-review-reason{height:2.75rem;font-size:var(--text-sm);padding:.25rem .5rem}.president-review-status-select{width:auto}.president-review-reason{width:120px}.president-review-modified-note{font-size:var(--text-xs);margin-top:.75rem}.advisor-activity-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.advisor-activity-summary-meta,.advisor-activity-editor-meta,.advisor-activity-list-meta{color:var(--text-secondary);font-size:var(--text-sm)}.advisor-activity-club-filter{width:auto;min-width:200px}.advisor-activity-editor-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.advisor-activity-editor-title{font-size:var(--text-lg);font-weight:800}.advisor-activity-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.advisor-activity-empty{padding:2rem 1rem}.advisor-activity-list{gap:.75rem;display:grid}.advisor-activity-list-item{text-align:left;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.dashboard-card-grid>.menu-card:nth-child(2){animation-delay:60ms}.dashboard-card-grid>.menu-card:nth-child(3){animation-delay:.12s}.dashboard-card-grid>.menu-card:nth-child(4){animation-delay:.18s}.dashboard-card-grid>.menu-card:nth-child(5){animation-delay:.24s}.dashboard-card-grid>.menu-card:nth-child(6){animation-delay:.3s}.dashboard-card-grid>.menu-card:nth-child(7){animation-delay:.36s}.dashboard-card-grid>.menu-card:nth-child(8){animation-delay:.42s}.dashboard-card-grid>.menu-card:nth-child(n+9){animation-delay:.48s}.advisor-club-log-page,.advisor-review-page,.semester-admin-page{background:var(--bg-main);min-height:100vh}.advisor-club-log-content{gap:1rem;max-width:1180px;display:grid}.advisor-club-log-filter-header,.advisor-club-log-card-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.advisor-club-log-filter-title{font-size:var(--text-base);font-weight:800}.advisor-club-log-filter-meta,.advisor-club-log-card-meta,.advisor-club-log-section-meta,.advisor-club-log-text-block-copy{color:var(--text-secondary);font-size:var(--text-sm)}.advisor-club-log-filter{width:auto;min-width:200px}.advisor-club-log-card-title{font-size:var(--text-lg);font-weight:800}.advisor-club-log-details{gap:.75rem;display:grid}.advisor-club-log-section-title{margin-bottom:.5rem;font-weight:800}.advisor-club-log-section-title-compact{margin-bottom:.25rem}.advisor-club-log-copy,.advisor-club-log-text-block-copy{white-space:pre-wrap}.advisor-club-log-copy{color:var(--text-secondary)}.advisor-club-log-text-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem;display:grid}.advisor-club-log-photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:.75rem;display:grid}.advisor-club-log-actions{justify-content:flex-end;display:flex}.advisor-club-log-text-block{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:.875rem}.advisor-club-log-text-block-title{font-size:var(--text-sm);margin-bottom:.375rem;font-weight:800}.advisor-review-club-switcher{margin-bottom:1rem}.advisor-review-single-club{color:var(--primary-700);background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-lg);font-size:var(--text-sm);align-items:center;gap:.4rem;padding:.375rem .875rem;font-weight:600;display:inline-flex}.advisor-review-club-list{flex-wrap:wrap;gap:.5rem;display:flex}.advisor-review-club-button-muted{color:var(--text-secondary)}.advisor-review-club-count{font-size:var(--text-xs);border-radius:9999px;margin-left:.25rem;padding:.05rem .4rem;font-weight:700}.advisor-review-club-count-active{color:#fff;background:#ffffff4d}.advisor-review-club-count-inactive{color:var(--primary-700);background:var(--primary-100)}.advisor-review-empty-copy{color:var(--text-muted);font-size:var(--text-sm);margin-top:.5rem}.advisor-review-card,.advisor-review-card-header{margin-bottom:1rem}.advisor-review-card-title{font-size:var(--text-base);font-weight:700}.advisor-review-card-meta,.advisor-review-student-id,.advisor-review-time{font-size:var(--text-sm)}.advisor-review-card-meta{color:var(--text-secondary)}.advisor-review-student-id{font-family:monospace}.advisor-review-time-recorded{color:var(--success-600)}.advisor-review-time-missing,.advisor-review-modification{color:var(--text-muted)}.advisor-review-modification{font-size:var(--text-xs)}.advisor-review-note-field,.advisor-review-actions{margin-top:1rem}.advisor-review-bulk{justify-content:flex-end;margin-bottom:1rem;display:flex}.advisor-review-note{resize:vertical;min-height:64px}.advisor-review-actions{justify-content:flex-end;gap:.75rem;display:flex}.advisor-review-return{color:var(--error-600);background:var(--error-50)}.semester-admin-header-action{color:var(--button-text);background:var(--button-primary-start)}.semester-admin-header-action:hover:not(:disabled){background:var(--button-primary-end)}.semester-admin-rule-card,.semester-admin-load-error{margin-bottom:1rem;padding:1rem}.semester-admin-rule-copy{margin-top:.25rem}.semester-admin-overflow{color:var(--error-600)}.semester-admin-issues-summary{cursor:pointer;font-weight:600}.semester-admin-issues-table,.semester-admin-issues-truncated{margin-top:.5rem}.semester-admin-load-error{border-color:var(--error-200)}.semester-admin-retry{margin-top:.5rem}.semester-admin-empty{text-align:center;padding:2rem}.semester-admin-empty-title{font-size:var(--text-base);font-weight:700}.semester-admin-empty-copy{margin:.5rem 0 1rem}.semester-admin-actions{flex-wrap:wrap;gap:.35rem;display:flex}.semester-admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.semester-admin-checkbox{align-items:center;gap:.5rem;display:flex}.semester-admin-checkbox-bottom{margin-bottom:.75rem}.semester-admin-checkbox-top{margin-top:.75rem}.semester-admin-modal-copy{margin:.5rem 0 .75rem}.semester-admin-command-id{overflow-wrap:anywhere}.semester-admin-closing-blockers{overflow-wrap:anywhere;margin:.75rem 0}.semester-admin-closing-blockers p{margin:.5rem 0}.semester-admin-closing-blockers a{text-underline-offset:.2em;text-decoration:underline}.semester-admin-closing-blockers ul{max-height:12rem;padding-left:1.5rem;overflow-y:auto}@media (max-width:640px){.binding-appeal-header,.attendance-finalization-header{flex-wrap:wrap}.binding-appeal-actions,.attendance-finalization-actions{flex-direction:column-reverse}.binding-appeal-actions .btn,.attendance-finalization-actions .btn,.p6-report-command-actions .btn{width:100%}.president-qr-candidate{flex-direction:column;align-items:flex-start}.inspector-report-actions{flex-direction:column}.inspector-report-actions .btn{width:100%}.president-review-card-header,.advisor-activity-list-item{flex-direction:column;align-items:flex-start}.president-review-card-header .btn,.advisor-activity-club-filter,.advisor-activity-editor-actions .btn,.equipment-form-actions .btn,.equipment-request-actions .btn{width:100%}.president-review-card-actions{flex-direction:column;width:100%}.advisor-activity-editor-actions{flex-direction:column-reverse}.president-review-reason{width:min(100%,180px)}.advisor-club-log-filter,.advisor-club-log-actions .btn,.advisor-review-actions .btn,.semester-admin-header-action{width:100%}.advisor-review-actions{flex-direction:column-reverse}.semester-admin-form-grid,.equipment-catalog-facts{grid-template-columns:1fr}}.profile-load-error-card{text-align:center;width:min(420px,100% - 2rem);padding:2rem}.profile-load-error-title{font-size:var(--text-xl);margin-bottom:.75rem}.profile-load-error-copy{color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.6}.profile-load-error-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.profile-page{background:var(--bg-main);min-height:100vh;padding-bottom:3rem}.profile-simple-header,.profile-header{padding:1.25rem 1.5rem}.profile-simple-header h1,.profile-header-copy h1{font-size:var(--text-xl);margin:0;font-weight:700}.profile-simple-header p,.profile-header-copy p{font-size:var(--text-sm);color:var(--text-muted);opacity:1;margin:0}.profile-container{max-width:900px;margin:0 auto}.profile-alert-copy{margin:.25rem 0 0}.profile-edit-help{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:1rem}.profile-student-id,.profile-hero-student-id,.profile-table-time{font-family:monospace}.profile-edit-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.875rem;display:grid}.profile-field-help{color:var(--text-muted);font-size:var(--text-xs)}.profile-readonly-value{color:var(--text-primary);padding:.5rem 0}.profile-edit-full-width{grid-column:1/-1}.profile-save-spinner{border-width:2px;width:1rem;height:1rem}.profile-header{align-items:center;gap:1rem;display:flex}.profile-header-button{color:var(--primary-700);background:var(--primary-50);border-color:var(--primary-200)}.profile-header-button:hover:not(:disabled){background:var(--primary-100)}.profile-header-copy{flex:1}.profile-edit-button{color:var(--button-text);background:var(--button-primary-start);border:1px solid var(--button-primary-start)}.profile-edit-button:hover:not(:disabled){background:var(--button-primary-end)}.profile-content{flex-direction:column;gap:2rem;display:flex}.profile-tabs{border-bottom:1px solid var(--gray-200);gap:.25rem;display:flex;overflow-x:auto}.profile-tabs [role=tab]{min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1 0 auto;padding:.75rem 1rem;font-weight:600}.profile-tabs [role=tab][aria-selected=true]{color:var(--primary-700);border-bottom-color:var(--primary-600)}.profile-tabs [role=tab]:focus-visible{outline:2px solid var(--primary-600);outline-offset:-2px}.profile-history-pagination{flex-wrap:wrap}.profile-history-pagination .btn{min-height:44px}.profile-event-name{overflow-wrap:anywhere;min-width:10rem}.profile-hero{color:#fff;background:linear-gradient(135deg, var(--button-primary-start) 0%, var(--button-primary-end) 100%);border:0;flex-wrap:wrap;align-items:center;gap:2rem;padding:2.5rem 2rem;display:flex}.profile-avatar{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100px;height:100px;font-size:var(--text-display-lg);background:#fff3;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex;box-shadow:0 8px 32px #0000001a}.profile-hero-copy{flex:1}.profile-name-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.profile-name-row h1{font-size:var(--text-display-md);letter-spacing:-.02em;margin:0;font-weight:800}.profile-role-badge{color:#fff;font-size:var(--text-sm);background:#00000026;padding:.4rem 1rem}.profile-hero-student-id{font-size:var(--text-lg);letter-spacing:.05em;opacity:.9}.profile-delay-one{animation-delay:.1s}.profile-delay-two{animation-delay:.15s}.profile-delay-three{animation-delay:.2s}.profile-section-title{font-size:var(--text-lg);align-items:center;gap:.5rem;margin-bottom:1rem;font-weight:700;display:flex}.profile-academic-title{color:var(--text-main);margin-bottom:1.25rem}.profile-academic-list,.profile-side-column{flex-direction:column;display:flex}.profile-academic-list{gap:1rem}.profile-side-column{gap:1.5rem}.profile-academic-row{border-bottom:1px dashed var(--gray-200);justify-content:space-between;gap:1rem;padding-bottom:.5rem;display:flex}.profile-academic-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.profile-academic-value{color:var(--text-primary);text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:600}.profile-section-icon{font-size:var(--text-xl)}.profile-empty-state{color:var(--text-muted);background:var(--gray-50);border-radius:var(--radius-md);text-align:center}.profile-empty-clubs{padding:1.5rem}.profile-empty-attendance{padding:2rem}.profile-club-list{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.profile-club-chip{color:var(--primary-800);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-lg);font-size:var(--text-base);align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.profile-club-name{font-weight:600}.profile-president-badge{font-size:var(--text-xs)}.profile-attendance-card{overflow:hidden}.profile-attendance-table{border:0;border-top:1px solid var(--gray-200);border-radius:0;margin:0 -1.5rem 1rem}.profile-attendance-head{background:var(--gray-50)}.profile-table-first-column,.profile-table-date{padding-left:1.5rem}.profile-table-last-column,.profile-table-status{padding-right:1.5rem}.profile-table-date,.profile-table-club,.profile-table-time,.profile-table-status{white-space:nowrap}.profile-table-date{font-weight:500}.profile-table-club{color:var(--primary-600);font-weight:600}.profile-table-time{font-size:var(--text-sm)}.profile-time-in{color:var(--success-600)}.profile-time-out{color:var(--gray-500)}@media (max-width:640px){.profile-hero{text-align:center;justify-content:center;padding:2rem 1.25rem}.profile-name-row{justify-content:center}.profile-header{gap:.75rem}}
.login-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));justify-content:center;align-items:center;display:flex}.login-page.bg-gradient-primary{background:var(--bg-main);color:var(--text-primary)}.login-card{border:1px solid var(--border-color);border-top:4px solid var(--primary-600);border-radius:var(--radius-xl);background:var(--bg-card);width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;padding:2.5rem 2rem}.login-brand-mark{place-items:center;width:76px;height:76px;margin:0 auto 1rem;display:grid}.login-brand-mark img{object-fit:contain;width:76px;height:76px;display:block}.login-brand-fallback{border-radius:var(--radius-lg);background:var(--button-primary-start);width:64px;height:64px;box-shadow:var(--shadow-sm);color:#fff;font-size:var(--text-2xl);place-items:center;font-weight:900;display:grid}.login-school-name{min-height:1.5rem;color:var(--text-secondary);font-size:var(--text-base);margin-bottom:.25rem;font-weight:700;line-height:1.5rem}.login-title{color:var(--gray-900);font-size:var(--text-display-sm);margin-bottom:1.75rem;font-weight:800}.login-submit{width:100%;font-size:var(--text-base);padding:.875rem 1.5rem}.login-error{border:1px solid var(--error-400);border-radius:var(--radius-md);background:var(--error-50);color:var(--error-700);font-size:var(--text-sm);margin-top:1rem;padding:.5rem .75rem}.login-helper{color:var(--text-muted);font-size:var(--text-xs);margin-top:1.5rem;line-height:1.6}.identity-choice-page{gap:var(--space-4);min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));background:var(--bg-main);flex-direction:column;justify-content:center;align-items:center;display:flex}.identity-choice-card{text-align:center;width:100%;max-width:480px;padding:2.5rem}.identity-choice-title{font-size:var(--text-display-sm);margin-bottom:.5rem;font-weight:700}.identity-choice-intro{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:.5rem}.identity-choice-account{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:1.5rem}.identity-choice-list{text-align:left;gap:.75rem;margin-bottom:1.25rem;display:grid}.identity-choice-option{--identity-color:var(--primary-700);--identity-description:var(--primary-600);--identity-border:var(--primary-200);--identity-border-active:var(--primary-500);--identity-background:var(--primary-50);--identity-icon-background:var(--primary-100);--identity-arrow:var(--primary-300);border:2px solid var(--identity-border);border-radius:var(--radius-xl);background:var(--identity-background);color:var(--identity-color);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;display:flex}.identity-choice-option:hover,.identity-choice-option:focus-visible{border-color:var(--identity-border-active);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.identity-choice-option-advisor{--identity-color:var(--primary-700);--identity-description:var(--primary-600);--identity-border:var(--primary-200);--identity-border-active:var(--primary-500);--identity-background:var(--primary-50);--identity-icon-background:var(--primary-100);--identity-arrow:var(--primary-300)}.identity-choice-icon{border-radius:var(--radius-xl);background:var(--identity-icon-background);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.identity-choice-copy{flex:1;min-width:0}.identity-choice-name{color:var(--identity-color);font-size:var(--text-base);margin-bottom:.2rem;font-weight:700}.identity-choice-description{color:var(--identity-description);font-size:var(--text-sm);line-height:1.5}.identity-choice-arrow{color:var(--identity-arrow);flex:none}.identity-choice-note{border-radius:var(--radius-md);background:var(--gray-50);color:var(--text-muted);font-size:var(--text-xs);margin-bottom:1rem;padding:.5rem;line-height:1.6}.identity-choice-signout{color:var(--text-muted)}.identity-choice-history{width:100%;max-width:480px;color:var(--text-muted);font-size:var(--text-sm)}.identity-choice-history summary{min-height:2.75rem;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);cursor:pointer;line-height:1.5}.identity-choice-history summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.identity-choice-history-content{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-secondary);line-height:1.6;display:grid}.identity-choice-history-content .btn{justify-self:start}.page-hero{background:var(--header-gradient);color:#fff;padding:2rem 1.5rem 3rem;position:relative;overflow:hidden}.page-hero:before,.page-hero:after{display:none}.stat-card{background:var(--bg-card);background:color-mix(in srgb, var(--stat-color,var(--primary-500)) 6%, var(--bg-card));border-radius:var(--radius-xl);text-align:left;box-shadow:var(--shadow-card);border:1px solid var(--border-soft);transition:transform var(--transition-base), box-shadow var(--transition-base);padding:1rem 1.125rem;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-color,var(--primary-500));opacity:.7;border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.875rem;right:.875rem}.stat-card[data-empty=true]{background:var(--bg-card)}.stat-card[data-empty=true]:before{background:var(--gray-300)}.stat-card[data-empty=true] .admin-dashboard-stat-value{color:var(--text-muted)}.menu-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);cursor:pointer;color:inherit;transition:transform .2s var(--ease-spring), box-shadow .2s ease, background-color .15s ease;align-items:center;gap:1rem;padding:1rem 1.125rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.menu-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-300);background:var(--bg-elevated);transform:translateY(-1px)}.menu-card:active{transform:scale(.985)}.menu-card-icon{border-radius:var(--radius-lg);width:48px;height:48px;font-size:var(--text-2xl);z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.dashboard-section-stack{gap:1rem;display:grid}.dashboard-section{gap:.75rem;display:grid}.dashboard-section-heading{align-items:center;gap:.75rem;display:flex}.dashboard-section-heading:after{content:"";background:var(--gray-200);flex:1;height:1px}.dashboard-section-heading h2,.dashboard-section-heading h3{color:var(--text-primary);font-size:var(--text-lg);letter-spacing:0;white-space:normal;overflow-wrap:anywhere;min-width:0;font-weight:700}.dashboard-section-heading span{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;flex-shrink:0;order:3;font-weight:700}.dashboard-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.dashboard-page{background:var(--bg-main);min-height:100vh}.dashboard-hero{padding:2rem 1.5rem 3rem}.dashboard-hero-inner{padding:0}.dashboard-hero-meta{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dashboard-role-badge{color:#fff;font-size:var(--text-sm);background:#fff3}.dashboard-title{font-size:var(--text-2xl);margin-bottom:.25rem;font-weight:700}.dashboard-subtitle{font-size:var(--text-base);opacity:.85}.dashboard-content{margin-top:-1.5rem}.dashboard-menu-icon{background:var(--primary-50);color:var(--primary-500)}.dashboard-menu-copy{flex:1;min-width:0}.dashboard-menu-title{color:var(--text-primary);font-size:var(--text-base);margin-bottom:.2rem;font-weight:700}.dashboard-menu-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.dashboard-menu-arrow{color:var(--gray-300);flex:none}.club-info-panel{border:1px solid var(--gray-200);border-radius:var(--radius-xl);background:var(--bg-card);margin-bottom:1rem;padding:1rem 1.25rem;box-shadow:0 1px 4px #0000000d}.club-info-label{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.625rem;font-weight:700}.club-info-loading{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:.5rem;display:flex}.club-info-spinner{border-width:2px;width:.875rem;height:.875rem}.club-info-error{border:1px solid var(--error-200);border-radius:var(--radius-lg);background:var(--error-50);color:var(--error-700);font-size:var(--text-sm);padding:.75rem}.club-info-retry{border:1px solid var(--error-300);border-radius:var(--radius-md);background:var(--bg-card);color:var(--error-700);cursor:pointer;font-size:var(--text-xs);margin-top:.625rem;padding:.375rem .75rem;font-weight:600}.club-info-retry:hover,.club-info-retry:focus-visible{border-color:var(--error-500);background:var(--error-50)}.club-info-empty{color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.club-info-list{flex-wrap:wrap;gap:.5rem;display:flex}.club-info-item{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-card);padding:.375rem .875rem;box-shadow:0 1px 2px #0000000d}.club-info-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.club-info-location{color:var(--text-muted);font-size:var(--text-xs);margin-top:.1rem}.club-info-qr{margin-top:.375rem}.role-switcher{margin-bottom:1rem;padding:1rem}.role-switcher-layout{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.role-switcher-title{margin-bottom:.25rem;font-weight:800}.role-switcher-description{color:var(--text-secondary);font-size:var(--text-sm)}.role-switcher-actions{flex-wrap:wrap;gap:.5rem;display:flex}.dashboard-logout{color:#fff;background:#ffffff26;border-color:#fff3}.dashboard-logout:hover:not(:disabled){background:#ffffff3d;border-color:#fff6}.helper-panel{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-lg);color:var(--primary-700);font-size:var(--text-sm);padding:.875rem 1rem;line-height:1.65}.flow-steps{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.25rem 0;display:grid}.flow-step{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-card);text-align:center;color:var(--text-secondary);font-size:var(--text-xs);padding:.75rem .5rem;font-weight:700}.flow-step strong{background:var(--gray-100);width:1.625rem;height:1.625rem;color:var(--text-muted);border-radius:999px;place-items:center;margin:0 auto .375rem;display:grid}.flow-step.active{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-700)}.flow-step.active strong{background:var(--button-primary-start);color:var(--button-text)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.summary-tile{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-card);min-width:0;padding:.875rem}.summary-tile strong{color:var(--text-main);font-size:var(--text-display-sm);line-height:1.1;display:block}.summary-tile span{color:var(--text-secondary);font-size:var(--text-xs);margin-top:.25rem;display:block}.form-section{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--gray-50);margin-top:1rem;padding:1rem}.form-section-title{color:var(--text-main);font-size:var(--text-sm);margin:0 0 .75rem;font-weight:800}.activity-form-root{gap:1rem;min-width:0;display:grid;container-type:inline-size}.activity-field-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:.75rem;min-width:0;display:grid}.activity-check-grid{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:.5rem;min-width:0;display:grid}.activity-schedule-row{grid-template-columns:80px repeat(5,minmax(110px,1fr)) auto;align-items:end;gap:.5rem;min-width:0;display:grid}.activity-budget-row{grid-template-columns:72px minmax(180px,1.4fr) repeat(3,minmax(110px,.8fr)) minmax(150px,1fr) auto;align-items:end;gap:.5rem;min-width:0;display:grid}.activity-budget-money-input{align-items:center;gap:.375rem;min-width:0;display:flex}.activity-budget-quantity-inputs{grid-template-columns:minmax(0,1fr) minmax(4.25rem,.8fr);gap:.375rem;min-width:0;display:grid}.activity-form-field{min-width:0;max-width:100%;overflow:hidden}.activity-field-grid>*,.activity-check-grid>*,.activity-schedule-row>*,.activity-budget-row>*{min-width:0}.activity-form-root .input,.activity-form-root select.input,.activity-form-root textarea.input{inline-size:100%;min-inline-size:0;max-inline-size:100%}.activity-form-root input[type=date].input,.activity-form-root input[type=time].input,.activity-form-root input[type=number].input{appearance:none}.scan-lens{aspect-ratio:1;border-radius:var(--radius-xl);border:3px solid #ffffffeb;width:min(58vw,220px);position:relative;box-shadow:0 0 0 9999px #0206177a}.scan-page{background:var(--bg-main);min-height:100vh}.scan-header-copy h1{font-size:var(--text-lg)}.scan-error-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.scan-header{align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.scan-header-copy h1,.scan-header-copy p,.scan-state-title,.scan-manual-title{margin:0}.scan-header-copy h1{font-weight:700}.scan-header-copy p{font-size:var(--text-sm);opacity:.85}.scan-container{max-width:480px}.scan-state-card{text-align:center}.scan-idle-card,.scan-error-card{padding:2.5rem 1.5rem}.scan-state-title{font-size:var(--text-xl);margin-bottom:.5rem;font-weight:700}.scan-idle-copy{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:2rem}.scan-helper-panel{text-align:left}.scan-helper-spacious{margin-bottom:1.25rem}.scan-helper-compact{margin-bottom:1rem}.scan-primary-action,.scan-full-width,.scan-secondary-action{width:100%}.scan-primary-action{font-size:var(--text-base);padding:1rem}.scan-secondary-action{margin-top:.75rem}.scan-camera-card{padding:0;overflow:hidden}.scan-video-frame{border-radius:var(--radius-xl);position:relative;overflow:hidden}.scan-video{width:100%;display:block}.scan-video-overlay{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-camera-status{text-align:center;padding:1rem}.scan-camera-message{color:var(--text-secondary);font-size:var(--text-sm)}.scan-camera-help{color:var(--text-muted);font-size:var(--text-xs);margin-top:.375rem}.scan-cancel-button{margin-top:.5rem}.scan-result-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.scan-result-icon-error{background:var(--button-danger-bg);width:72px;height:72px;font-size:var(--text-display-md)}.scan-error-message{color:var(--error-600);background:var(--error-50);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:1.5rem;padding:.75rem 1rem}.scan-error-action{flex:1}.scan-manual-card{margin-top:1rem;padding:1.5rem}.scan-manual-title{font-size:var(--text-base);margin-bottom:.75rem;font-weight:700}.scan-manual-input{resize:vertical;min-height:96px;margin-bottom:.75rem;line-height:1.5}.attendance-feedback-progress{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.attendance-feedback-progress p{max-width:32ch;color:var(--text-secondary);margin:0;line-height:1.7}.attendance-feedback-result{text-align:center}.attendance-feedback-icon{width:72px;height:72px;font-size:var(--text-display-md);border-radius:50%;place-items:center;margin:0 auto 1rem;font-weight:700;display:grid}.attendance-feedback-icon-success{background:var(--success-100);color:var(--success-700)}.attendance-feedback-icon-info{background:var(--primary-100);color:var(--primary-700)}.attendance-feedback-lead{color:var(--text-primary);font-size:var(--text-xl);margin:0 0 1.25rem;font-weight:600}.attendance-feedback-details{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-main);text-align:left;gap:0;margin:0;padding:.25rem 1rem;display:grid}.attendance-feedback-details>div{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:1rem;padding:.75rem 0;display:grid}.attendance-feedback-details>div+div{border-top:1px solid var(--gray-200)}.attendance-feedback-details dt{color:var(--text-secondary);overflow-wrap:anywhere}.attendance-feedback-details dd{overflow-wrap:anywhere;margin:0;font-weight:600}.attendance-feedback-help{color:var(--text-secondary);font-size:var(--text-sm);margin:1rem 0 0;line-height:1.6}.attendance-feedback-summary{gap:1rem;padding:.25rem;display:grid}.attendance-feedback-summary h2{font-size:var(--text-2xl);margin:0 0 .375rem}.attendance-feedback-summary p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0}.attendance-feedback-summary-actions{flex-wrap:wrap;gap:.75rem;display:flex}.attendance-feedback-summary-actions .btn{min-height:44px}.mobile-scroll-hint{display:none}.scan-lens:after{content:"";background:var(--focus-ring);height:2px;box-shadow:0 0 16px var(--control-focus-shadow);position:absolute;top:50%;left:12%;right:12%}.external-browser-page{min-height:100dvh;padding:1rem;padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px));background:var(--bg-main);color:var(--text-primary);place-items:center;display:grid}.external-browser-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);width:min(100%,460px);box-shadow:var(--shadow-lg);text-align:left;padding:2rem}.external-browser-icon{border-radius:var(--radius-lg);background:var(--button-primary-start);width:52px;height:52px;color:var(--button-text);font-size:var(--text-2xl);place-items:center;margin-bottom:1rem;font-weight:900;display:grid}.external-browser-kicker{color:var(--primary-600);font-size:var(--text-xs);margin-bottom:.375rem;font-weight:800}.external-browser-card h1{color:var(--text-main);font-size:var(--text-2xl);margin-bottom:.75rem;font-weight:900}.external-browser-card p{color:var(--text-secondary);font-size:var(--text-base);line-height:1.65}.external-browser-steps{gap:.625rem;margin:1.25rem 0;display:grid}.external-browser-steps li{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--gray-50);padding:.75rem .875rem}.external-browser-steps strong,.external-browser-steps span{display:block}.external-browser-steps strong{color:var(--text-main);font-size:var(--text-sm);margin-bottom:.25rem}.external-browser-steps span,.external-browser-url{color:var(--text-muted);font-size:var(--text-sm)}.external-browser-actions{gap:var(--space-3);display:grid}.external-browser-actions .btn{white-space:normal;height:auto}.external-browser-steps{text-align:left;padding-left:1.25rem}.camera-access-help{margin-bottom:var(--space-4)}.camera-access-help ol{padding-left:1.25rem;line-height:1.7}.camera-access-help summary{cursor:pointer;padding:.75rem 0}.scan-camera-card[hidden]{display:none}.btn-block{width:100%}.external-browser-url{font-size:var(--text-base);overflow-wrap:anywhere;margin-top:1rem}@container (max-width:1024px){.activity-schedule-row,.activity-budget-row{grid-template-columns:minmax(0,1fr)}.activity-schedule-row .btn,.activity-budget-row .btn{width:100%}}@media (max-width:1024px){.p2-activity-layout{grid-template-columns:minmax(0,1fr)}.activity-form-root .form-section{min-width:0;overflow:hidden}.activity-field-grid,.activity-check-grid,.activity-schedule-row,.activity-budget-row{grid-template-columns:1fr}.activity-schedule-row>strong,.activity-budget-row>strong{padding-bottom:0}.activity-schedule-row .btn,.activity-budget-row .btn{width:100%}}@media (hover:none) and (pointer:coarse){.btn{min-width:2.75rem;min-height:2.75rem}.page-container{max-width:100%}.activity-form-root,.activity-form-root .form-section,.activity-form-root .card{width:100%;min-width:0;max-width:100%;overflow:hidden}.activity-field-grid,.activity-check-grid,.activity-schedule-row,.activity-budget-row{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}.activity-field-grid>*,.activity-check-grid>*,.activity-schedule-row>*,.activity-budget-row>*,.activity-form-field,.activity-form-field .input{width:100%;min-width:0;max-width:100%}.activity-schedule-row,.activity-budget-row{align-items:stretch}.activity-schedule-row>strong,.activity-budget-row>strong{padding-bottom:0}.activity-schedule-row .btn,.activity-budget-row .btn{width:100%}}@media (max-width:640px){body{background:var(--bg-main)}.page-container{max-width:100%;padding:.875rem}.page-header{align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.page-header>div{min-width:0}.page-header h1{font-size:var(--text-xl);overflow-wrap:anywhere;line-height:1.35}.page-header p{font-size:var(--text-xs);line-height:1.45}.page-title{font-size:var(--text-xl)}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:8rem}.table-container{border-radius:var(--radius-md);position:relative}.table-container:after{content:"可左右滑動查看更多";background:var(--bg-card);color:var(--text-muted);font-size:var(--text-xs);border-top:1px solid var(--gray-200);padding:.45rem .75rem;display:block;position:sticky;bottom:0;left:0}html[lang=vi-VN] .table-container:after{content:"Vuốt ngang để xem thêm"}.dashboard-card-grid{border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow-card);gap:0;overflow:hidden}.dashboard-card-grid>.menu-card{min-height:0;box-shadow:none;border:0;border-radius:0;gap:.875rem;padding:.875rem 1rem}.dashboard-card-grid>.menu-card+.menu-card{border-top:1px solid var(--border-soft)}.dashboard-card-grid>.menu-card:hover{box-shadow:none;transform:none}.dashboard-card-grid>.menu-card:active{background:var(--gray-50);transform:none}.menu-card-icon{border-radius:var(--radius-lg);width:40px;height:40px}.dashboard-section-heading:after{display:none}.dashboard-section-heading h2,.dashboard-section-heading h3{color:var(--text-secondary);font-size:var(--text-sm)}.dashboard-section-heading span{margin-left:auto}.stat-card{padding:.75rem .875rem}.toast{max-width:calc(100vw - 1rem);inset:auto .5rem .75rem}.btn{font-size:var(--text-sm);white-space:normal;min-height:2.75rem;padding:.5625rem .875rem}.btn-sm{font-size:var(--text-sm);min-height:2.75rem;padding:.5625rem .625rem}.btn-lg{font-size:var(--text-base);min-height:3rem;padding:.75rem 1rem}.badge{font-size:var(--text-xs);padding:.1875rem .5rem}.flow-steps{grid-template-columns:1fr;margin:1rem 0}.helper-panel{font-size:var(--text-sm)}.qr-mode-tabs{grid-template-columns:1fr 1fr}.qr-image-frame{width:min(260px,100%)}.student-status-header{padding:1rem 1rem 2rem;display:block}.student-status-top{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;margin-bottom:1rem;display:grid}.student-status-title h1,.student-status-title p{overflow-wrap:anywhere}.student-status-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.student-status-actions .btn{width:100%}.student-status-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem}.student-status-stat-card{padding:.625rem .25rem}.student-status-stat-card>div{font-size:var(--text-2xl)}.hide-mobile{display:none!important}.summary-grid{grid-template-columns:1fr}.page-header{flex-wrap:wrap}.page-header .btn-icon{flex:none}.page-header>.shared-page-header-copy{flex-basis:calc(100% - 4rem)}.page-header>.btn:not(.btn-icon),.page-header>button:not(.btn-icon){flex:auto}.student-status-header>.btn:not(.btn-icon),.student-status-header>button:not(.btn-icon){width:auto}.card select.input,.card input.input{width:100%;min-width:0}.empty-state{padding:2.25rem 1rem}.page-container{padding:.75rem}.card{border-radius:var(--radius-lg);padding:.875rem}.table th,.table td{font-size:var(--text-sm);padding:.625rem .75rem}.modal-content{border-radius:var(--radius-lg)}.modal-header,.modal-body{padding:1rem 1.125rem}.modal-footer{padding:.75rem 1.125rem}.btn-icon{min-width:2.75rem;min-height:2.75rem}.stat-card div:first-child{font-size:var(--text-2xl)}.menu-card{border-radius:var(--radius-md)}.menu-card h3{font-size:var(--text-base)}.menu-card p{font-size:var(--text-sm)}.shared-page-header{flex-wrap:wrap;align-items:center;padding:1rem .875rem}.shared-page-header-copy h1{font-size:var(--text-2xl)}.shared-page-header-copy p{font-size:var(--text-sm)}.external-browser-card,.login-card,.identity-choice-card,.card-roomy{padding:1.25rem}.settings-admin-tabs,.equipment-tabs,.profile-tabs,.reading-admin-tabs,.role-admin-filters{flex-wrap:wrap;overflow-x:visible}.settings-admin-tabs [role=tab],.equipment-tabs [role=tab],.profile-tabs [role=tab],.reading-admin-tabs [role=tab]{flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}::selection{background:var(--primary-200);color:var(--primary-800)}
.auth-flow-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));background:var(--bg-main);justify-content:center;align-items:center;display:flex}.auth-flow-page-top{align-items:flex-start;padding-block:2rem}.auth-flow-card{width:100%;min-width:0;padding:2.5rem}.auth-flow-card-wide{max-width:520px}.auth-flow-card-center{text-align:center}.auth-flow-title{font-size:var(--text-xl);margin-bottom:.5rem;font-weight:700}.auth-flow-description{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:1.5rem;line-height:1.7}.auth-flow-error{color:var(--error-600);margin-bottom:1rem}.btn-block{width:100%}.loading-spinner-compact{border-width:2px;width:1.25rem;height:1.25rem}.bind-result-card,.bind-form-card{max-width:420px}.bind-result-card{text-align:center}.bind-result-title{font-size:var(--text-display-sm);margin-bottom:.5rem;font-weight:700}.bind-result-copy{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:1.5rem;line-height:1.7}.bind-result-copy-compact{margin-bottom:0}.bind-success-icon{color:#fff;width:72px;height:72px;font-size:var(--text-display-md);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.bind-appeal-warning{border:1px solid var(--warning-200);border-radius:var(--radius-md);background:var(--warning-50);color:var(--warning-700);font-size:var(--text-sm);margin-bottom:1rem;padding:.75rem}.form-textarea-short{resize:vertical;min-height:80px}.visually-hidden-file-input{display:none}.bind-photo-button{border:1px dashed var(--gray-300);width:100%}.bind-choice-card{max-width:480px}.bind-choice-header{text-align:center;margin-bottom:2rem}.bind-choice-title{font-size:var(--text-2xl);font-weight:800}.bind-choice-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-top:.375rem}.bind-choice-account{overflow-wrap:anywhere;color:var(--text-muted);font-size:var(--text-sm);margin-top:.25rem}.bind-choice-list{gap:1rem;margin-bottom:1.5rem;display:grid}.bind-choice-option{border-radius:var(--radius-xl);cursor:pointer;width:100%;font:inherit;text-align:left;border:2px solid;align-items:flex-start;gap:1rem;padding:1.25rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.bind-choice-option:hover{transform:translateY(-1px)}.bind-choice-option-student{border-color:var(--primary-200);background:var(--primary-50)}.bind-choice-option-student:hover,.bind-choice-option-student:focus-visible{border-color:var(--primary-500)}.bind-choice-option-student .bind-choice-name{color:var(--primary-700)}.bind-choice-option-student .bind-choice-description{color:var(--primary-600)}.bind-choice-option-advisor{border-color:var(--primary-200);background:var(--primary-50)}.bind-choice-option-advisor:hover,.bind-choice-option-advisor:focus-visible{border-color:var(--primary-500)}.bind-choice-option-advisor .bind-choice-name{color:var(--primary-700)}.bind-choice-option-advisor .bind-choice-description{color:var(--primary-600)}.bind-choice-option-inspector{border-color:var(--success-200);background:var(--success-50)}.bind-choice-option-inspector:hover,.bind-choice-option-inspector:focus-visible{border-color:var(--success-500)}.bind-choice-option-inspector .bind-choice-name,.bind-choice-option-inspector .bind-choice-description{color:var(--success-700)}.bind-choice-name{font-size:var(--text-base);margin-bottom:.25rem;font-weight:700}.bind-choice-description{font-size:var(--text-sm);line-height:1.5}.bind-admin-note{color:var(--text-muted);font-size:var(--text-xs);text-align:center;line-height:1.6}.bind-form-header{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.bind-form-back{flex-shrink:0}.bind-form-title{font-size:var(--text-display-sm);font-weight:800}.bind-form-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-top:.125rem}.bind-account-summary{overflow-wrap:anywhere;border-radius:var(--radius-md);background:var(--gray-50);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:1.25rem;padding:.75rem}.bind-registration-help{margin-bottom:var(--space-5);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--gray-50);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.bind-form-error{border-radius:var(--radius-md);background:var(--error-50);color:var(--error-600);font-size:var(--text-sm);margin-bottom:1.25rem;padding:.75rem 1rem}.bind-form-note{text-align:center;margin-top:1.25rem}.loading-spinner-on-solid{border-top-color:#fff}@media (max-width:640px){.auth-flow-page-top{padding-top:max(1rem, env(safe-area-inset-top,0px));padding-bottom:max(1rem, env(safe-area-inset-bottom,0px))}.auth-flow-card{padding:1.25rem}.bind-form-header{margin-bottom:1.25rem}}
.accounting-deadline-notice{z-index:30;border-bottom:1px solid var(--primary-200);background:var(--primary-50);color:var(--primary-800);position:relative}.accounting-deadline-notice[data-tone=warning]{border-bottom-color:var(--warning-300);background:var(--warning-50);color:var(--warning-800)}.accounting-deadline-notice[data-tone=danger]{border-bottom-color:var(--error-400);background:var(--error-50);color:var(--error-700)}.accounting-deadline-notice__inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1280px;margin:0 auto;padding:.75rem 1.5rem;display:flex}.accounting-deadline-notice__inner>p,.accounting-deadline-notice__content>p{margin:0}.accounting-deadline-notice__content{gap:.35rem;min-width:0;display:grid}.accounting-deadline-notice__content ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding-left:1.25rem;display:flex}.accounting-deadline-notice__content li{padding-left:.1rem}.accounting-deadline-notice__content time{font-size:var(--text-sm);margin-left:.4rem;font-weight:700}@media (max-width:640px){.accounting-deadline-notice__inner{flex-direction:column;align-items:stretch;padding:.75rem}.accounting-deadline-notice__content ul{display:grid}.accounting-deadline-notice__inner>.btn{width:100%}}.p6-print-page{background:var(--gray-100);min-height:100vh;padding:1.5rem}.p6-print-actions{justify-content:space-between;gap:.75rem;max-width:960px;margin:0 auto 1rem;display:flex}.p6-print-sheet{color:#111827;max-width:960px;box-shadow:var(--shadow-md);background:#fff;margin:0 auto;padding:2rem}.p6-print-sheet header{border-bottom:2px solid #111827;margin-bottom:1rem}.p6-print-kicker{font-size:var(--text-sm);letter-spacing:.08em}.p6-print-meta{grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;margin:1rem 0 1.5rem;display:grid}.p6-print-meta div{min-width:0}.p6-print-meta dt{color:#4b5563;font-size:.75rem;font-weight:700}.p6-print-meta dd{overflow-wrap:anywhere;margin:.2rem 0 0}.p6-print-meta-wide{grid-column:1/-1}.p6-print-section{break-inside:avoid;margin-top:1.5rem}.p6-print-section table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.p6-print-section th,.p6-print-section td{text-align:left;vertical-align:top;border:1px solid #d1d5db;padding:.5rem}.p6-print-section th{background:#f3f4f6}.p6-print-sheet footer{color:#4b5563;border-top:1px solid #9ca3af;margin-top:1.5rem;font-size:.75rem}@media print{@page{size:A4;margin:12mm}.p6-print-page{background:#fff;padding:0}.p6-print-actions{display:none!important}.p6-print-sheet{max-width:none;box-shadow:none;padding:0}.p6-print-section{break-inside:avoid}}
.advisor-admin-page,.settings-admin-page,.admin-dashboard-page{background:var(--bg-main);min-height:100vh}.advisor-admin-header-action{border-color:var(--border-color);background:var(--bg-card);color:var(--text-primary)}.advisor-admin-header-action:hover:not(:disabled){background:var(--bg-subtle)}.advisor-admin-muted-copy{color:var(--text-muted);font-size:var(--text-sm)}.advisor-admin-list-section{margin-bottom:1rem}.advisor-admin-list-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.advisor-admin-section-title{font-size:var(--text-base);font-weight:700}.advisor-admin-section-copy{color:var(--text-secondary);font-size:var(--text-sm)}.advisor-admin-section-copy-spaced{margin-top:.25rem}.advisor-admin-search{flex-wrap:wrap;flex:340px;gap:.5rem;max-width:520px;display:flex}.advisor-admin-search-input{flex:220px}.advisor-admin-empty-action{margin-top:1rem}.advisor-admin-list{gap:.75rem;display:grid}.advisor-admin-card-layout{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.advisor-admin-card-title{margin-bottom:.25rem;font-weight:700}.advisor-admin-card-email{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:.5rem}.advisor-admin-badges,.advisor-admin-actions{flex-wrap:wrap;gap:.375rem;display:flex}.advisor-admin-actions{gap:.5rem}.advisor-admin-uid{color:var(--text-muted);font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:.375rem}.advisor-admin-warning-action{color:var(--warning-600)}.advisor-admin-danger-action{color:var(--error-500)}.advisor-admin-pagination{border-top:1px solid var(--gray-100);text-align:center;margin-top:.75rem;padding:.875rem}.advisor-admin-pagination-error,.advisor-admin-pagination-copy{font-size:var(--text-sm);margin:0 0 .5rem}.advisor-admin-pagination-error{color:var(--error-700)}.advisor-admin-pagination-copy{color:var(--text-secondary)}.advisor-admin-account-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.advisor-admin-account-id{font-size:var(--text-sm);overflow-wrap:anywhere}.settings-admin-content{max-width:600px}.settings-admin-tabs{border-bottom:1px solid var(--gray-200);gap:.25rem;margin-bottom:.75rem;display:flex;overflow-x:auto}.settings-admin-tab{min-height:44px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .875rem;font-weight:600;display:inline-flex}.settings-admin-tab:hover{color:var(--text-primary)}.settings-admin-tab[aria-selected=true]{border-bottom-color:var(--primary-600);color:var(--primary-600)}.settings-admin-tab:focus-visible{outline:2px solid var(--primary-600);outline-offset:-2px}.settings-admin-tab-panel[hidden]{display:none}.settings-admin-save-hint{margin:0 0 1rem}.settings-admin-branding-card{margin-bottom:1rem}.settings-admin-section-title{font-size:var(--text-base);margin-bottom:1.5rem;font-weight:700}.settings-admin-section-title-compact{margin-bottom:.5rem}.settings-admin-section-copy{margin-top:0;margin-bottom:1.25rem}.settings-admin-logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.settings-admin-logo-preview{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--bg-card);object-fit:contain;width:56px;height:56px;padding:.25rem}.settings-admin-logo-empty{color:var(--text-muted);font-size:var(--text-sm)}.settings-admin-file-input{display:none}.settings-admin-danger-action{color:var(--error-600)}.settings-admin-number-row{align-items:center;gap:.75rem;display:flex}.settings-admin-number-input{flex:0 0 120px;max-width:120px}.settings-admin-number-unit{color:var(--text-secondary);font-size:var(--text-sm)}.settings-admin-toggle{cursor:pointer;align-items:center;gap:.75rem;display:flex}.settings-admin-toggle-input{flex-shrink:0;width:18px;height:18px}.settings-admin-toggle-title{font-size:var(--text-sm);font-weight:600}.settings-admin-toggle-copy{margin:0}.settings-admin-actions{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.settings-admin-preset-list{margin:0 0 1rem;padding:0;list-style:none}.settings-admin-preset-item{border-top:1px solid var(--gray-200);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 0;display:flex}.settings-admin-preset-item .help-text{overflow-wrap:anywhere;margin:.25rem 0 0}.settings-admin-preset-actions{flex-wrap:wrap;gap:.5rem;display:flex}.settings-admin-preset-editor{border-top:1px solid var(--gray-200);padding-top:1rem}.settings-admin-preset-editor h3{font-size:var(--text-base);margin:0 0 1rem}.settings-admin-preset-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.settings-admin-people-picker{margin-bottom:1rem}.settings-admin-people-picker .reading-person-results{margin:.75rem 0}.admin-dashboard-header{background:var(--bg-card);color:var(--text-primary);border-bottom:1px solid var(--border-color);padding:0}.admin-dashboard-header:before{display:none}.admin-dashboard-header-content{z-index:1;padding-top:1.25rem;padding-bottom:1.25rem;position:relative}.admin-dashboard-header-layout{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-dashboard-header-layout>div{flex:auto;min-width:0}.admin-dashboard-role-badge{border:1px solid var(--primary-200);border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-700);font-size:var(--text-xs);align-items:center;margin-bottom:.5rem;padding:.25rem .625rem;font-weight:700;display:inline-flex}.admin-dashboard-title{font-size:var(--text-display-sm);letter-spacing:-.02em;overflow-wrap:anywhere;margin-bottom:.25rem;font-weight:700}.admin-dashboard-date{color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.admin-dashboard-signout{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);margin-top:.25rem}.admin-dashboard-signout:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.admin-dashboard-load-error{margin-top:1.25rem}.admin-dashboard-alerts{border:1px solid var(--warning-300);border-radius:var(--radius-xl);background:var(--warning-50);flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:1.25rem;padding:.75rem 1rem;display:flex}.admin-dashboard-alerts-title{color:var(--warning-800);font-size:var(--text-sm);flex-shrink:0;font-weight:700}.admin-dashboard-alert-link{border-radius:var(--radius-md);min-height:2.75rem;font-size:var(--text-sm);border:1px solid;align-items:center;gap:.3rem;padding:.5rem .75rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.admin-dashboard-alert-link-warning{border-color:var(--warning-300);background:var(--warning-100);color:var(--warning-800)}.admin-dashboard-alert-link-warning:hover{background:var(--warning-200)}.admin-dashboard-alert-link-critical{border-color:var(--error-300);background:var(--error-50);color:var(--error-700)}.admin-dashboard-alert-link-critical:hover{background:var(--error-100)}.admin-dashboard-alert-count{background:var(--warning-100);min-width:18px;height:18px;color:var(--warning-800);font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;padding:0 .2rem;font-weight:800;display:inline-flex}.admin-dashboard-alert-link-critical .admin-dashboard-alert-count,.admin-dashboard-alert-count-red{background:var(--error-100);color:var(--error-700)}.admin-dashboard-alert-count-purple{background:var(--purple-soft);color:var(--purple-text)}.admin-dashboard-alert-count-sky{background:var(--primary-100);color:var(--primary-700)}.admin-dashboard-alert-count-amber{background:var(--warning-100);color:var(--warning-800)}.admin-dashboard-stats{grid-template-columns:2fr 3fr 4fr;gap:1rem;margin-top:1.5rem;margin-bottom:2rem;display:grid}.admin-dashboard-stat-group{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);min-width:0;padding:1rem}.admin-dashboard-stat-heading{color:var(--text-primary);font-size:var(--text-sm);margin:0 0 .875rem;font-weight:700;line-height:1.5}.admin-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;margin:0;display:grid}.admin-dashboard-stat-group-today .admin-dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard-stat-group-pending .admin-dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-dashboard-stat{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.admin-dashboard-stat:before{display:none}.admin-dashboard-stat[data-empty=true]{background:0 0}.admin-dashboard-stat-value{color:var(--text-primary);font-size:var(--text-display-sm);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;margin:.375rem 0 0;font-weight:700;line-height:1.15}.admin-dashboard-stat-group-today .admin-dashboard-stat-value{font-size:var(--text-display-md)}.admin-dashboard-stat[data-attention=true] .admin-dashboard-stat-value{color:var(--warning-700)}.admin-dashboard-stat-label{color:var(--text-secondary);font-size:var(--text-xs);overflow-wrap:anywhere;font-weight:500;line-height:1.5}.admin-dashboard-divider{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.admin-dashboard-divider-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:700}.admin-dashboard-divider-line{background:var(--gray-200);flex:1;height:1px}.admin-dashboard-sections{padding-bottom:2rem}.admin-dashboard-search{grid-template-columns:auto minmax(0,560px) auto;justify-content:start;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:grid}.admin-dashboard-search-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.admin-dashboard-search-controls{gap:.5rem;min-width:0;max-width:560px;display:flex}.admin-dashboard-search-input{flex:1;min-width:0}.admin-dashboard-search-controls .btn{flex-shrink:0}.admin-dashboard-search-count{color:var(--text-muted);font-size:var(--text-xs)}.admin-dashboard-search-empty{border:1px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-base);text-align:center;margin:0 0 2rem;padding:1.25rem;line-height:1.5}.admin-dashboard-menu-card{min-width:0;position:relative}.admin-dashboard-menu-badge{background:var(--button-danger-bg);color:var(--button-text);font-size:var(--text-xs);border-radius:9999px;padding:.1rem .5rem;font-weight:800;position:absolute;top:.75rem;right:2.5rem}.admin-dashboard-menu-icon{color:var(--primary-700);background:var(--primary-50)}.admin-dashboard-section-attendance .admin-dashboard-menu-icon{color:var(--success-700);background:var(--success-50)}.admin-dashboard-section-review .admin-dashboard-menu-icon{color:var(--warning-800);background:var(--warning-50)}.admin-dashboard-section-system .admin-dashboard-menu-icon{color:var(--text-secondary);background:var(--bg-subtle)}.admin-dashboard-menu-copy{z-index:1;flex:1;min-width:0;position:relative}.admin-dashboard-menu-title{color:var(--text-primary);font-size:var(--text-base);margin-bottom:.2rem;font-weight:700}.admin-dashboard-menu-description{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.5}.admin-dashboard-menu-arrow{z-index:1;color:var(--text-muted);flex-shrink:0;position:relative}.role-dashboard-page{background:var(--bg-main)}.role-dashboard-header .admin-dashboard-header-layout{flex-wrap:wrap}.role-dashboard-content{padding-top:1.25rem}.role-dashboard-divider{margin-top:1.25rem}.role-dashboard-menu-card{min-height:86px}.role-dashboard-section-attendance .role-dashboard-menu-icon{color:var(--success-700);background:var(--success-50)}.role-dashboard-section-review .role-dashboard-menu-icon{color:var(--warning-800);background:var(--warning-50)}.role-dashboard-section-system .role-dashboard-menu-icon{color:var(--text-secondary);background:var(--bg-subtle)}@media (max-width:1024px){.admin-dashboard-stats{grid-template-columns:2fr 3fr}.admin-dashboard-stat-group-pending{grid-column:1/-1}}@media (max-width:640px){.advisor-admin-search{max-width:none}.advisor-admin-search .btn,.advisor-admin-actions .btn{flex:auto}.advisor-admin-card-layout{display:grid}.settings-admin-number-row{flex-wrap:wrap;align-items:flex-start}.settings-admin-number-unit{padding-top:.625rem}.settings-admin-actions .btn{width:100%}.settings-admin-preset-fields{grid-template-columns:1fr}.settings-admin-preset-item{flex-direction:column}.admin-dashboard-header-layout{align-items:center}.role-dashboard-header .admin-dashboard-header-layout>div{flex-basis:100%}.role-dashboard-content{padding-top:1rem}.admin-dashboard-alerts{align-items:stretch}.admin-dashboard-alerts-title{flex-basis:100%}.admin-dashboard-alert-link{width:100%}.admin-dashboard-search{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-bottom:1.25rem}.admin-dashboard-search-count{grid-area:1/2}.admin-dashboard-search-controls{grid-column:1/-1;max-width:none}.admin-dashboard-stats{grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:1rem;margin-bottom:1.5rem}.admin-dashboard-stat-group{padding:.875rem 1rem}.admin-dashboard-stat-group-pending{grid-column:auto}.admin-dashboard-stat-group-pending .admin-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-stat-heading{margin-bottom:.625rem}.admin-dashboard-stat-value,.admin-dashboard-stat-group-today .admin-dashboard-stat-value{font-size:var(--text-display-sm)}}.advisor-pending-reminder{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.advisor-pending-reminder-content{gap:var(--space-2);display:grid}.advisor-pending-reminder-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.advisor-pending-reminder-content{min-width:0}.advisor-pending-reminder .btn{white-space:normal;max-width:100%}.activity-settlement-pending-preview{gap:var(--space-2);min-width:0;margin:0;padding-inline-start:1.25rem;display:grid}.activity-settlement-pending-preview li,.activity-settlement-pending-preview a{overflow-wrap:anywhere;min-width:0}
