:root{--paper:#eef1ef;--surface:#fff;--surface-2:#f5f7f6;--ink:#1b2730;--ink-2:#55636b;--ink-3:#7c8990;--line:#d3dad7;--line-strong:#b5c0bb;--primary:#1f5c57;--primary-strong:#164541;--primary-tint:#e2edea;--ok:#2f6e45;--ok-tint:#e4efe7;--warn:#8a5a0e;--warn-tint:#f6eedf;--danger:#a63a3a;--danger-tint:#fbf1f0;--info:#2d5b8c;--info-tint:#e6ecf4;--r-sm:4px;--r-md:6px;--r-lg:10px;--font:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;--focus:0 0 0 3px #1f5c5747}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum";background:#eef1ef;background:var(--paper);color:#1b2730;color:var(--ink);font-family:Atkinson Hyperlegible Next,Atkinson Hyperlegible,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font);font-size:16px;font-variant-numeric:tabular-nums;line-height:1.5}button,input,select,textarea{font-family:inherit}:focus-visible{box-shadow:0 0 0 3px #1f5c5747;box-shadow:var(--focus);outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.header-logo{border-right:1px solid #d3dad7;border-right:1px solid var(--line);color:#1f5c57;color:var(--primary);font-size:1.125rem;font-weight:800;letter-spacing:.02em;line-height:1;padding-right:1rem;white-space:nowrap}.login-container{background:#eef1ef;background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30rem);min-height:100vh}.login-values{background:#164541;background:var(--primary-strong);color:#f1f5f3;display:flex;flex-direction:column;gap:3rem;justify-content:flex-start;padding:3.5rem clamp(2rem,6vw,5.5rem)}.login-values-school{color:#b9cec9;font-size:.9375rem;max-width:28rem}.login-values-school strong{color:#fff;display:block;font-size:1.0625rem;margin-bottom:.125rem}.value-list{grid-gap:.25rem;display:grid;gap:.25rem;list-style:none;margin:auto 0}.value-row{grid-column-gap:1rem;align-items:center;column-gap:1rem;display:grid;grid-template-columns:4.5rem 1fr}.value-letter{color:#fff;font-size:clamp(3rem,6.5vw,5rem);font-weight:800;line-height:1}.value-name{color:#fff;font-size:1.0625rem;font-weight:700}.value-name span{color:#b9cec9;display:block;font-size:.9375rem;font-weight:400}.login-card{background:#fff;background:var(--surface);border-left:1px solid #d3dad7;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:3.5rem 2.75rem}.logo-container{margin-bottom:2rem}.login-title{color:#1b2730;color:var(--ink);font-size:1.75rem;font-weight:800;line-height:1.2;margin-bottom:.375rem}.login-subtitle{color:#55636b;color:var(--ink-2);font-size:1rem}.login-divider{align-items:center;color:#7c8990;color:var(--ink-3);display:flex;font-size:.875rem;gap:.75rem;margin:1.5rem 0}.login-divider:after,.login-divider:before{background:#d3dad7;background:var(--line);content:"";flex:1 1;height:1px}.login-note{color:#7c8990;color:var(--ink-3);font-size:.8125rem;margin-top:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{color:#1b2730;color:var(--ink);display:block;font-size:.9375rem;font-weight:700;margin-bottom:.375rem}.input-wrapper{position:relative}.input-icon{color:#7c8990;color:var(--ink-3);left:.875rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-input,.input-student,.period-input{background:#fff;background:var(--surface);border:1px solid #b5c0bb;border:1px solid var(--line-strong);border-radius:6px;border-radius:var(--r-md);color:#1b2730;color:var(--ink);font-size:1rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-input{padding:.75rem .875rem .75rem 2.75rem}.input-student,.period-input{padding:.625rem .75rem}.form-input:focus,.input-student:focus,.period-input:focus{border-color:#1f5c57;border-color:var(--primary);box-shadow:0 0 0 3px #1f5c5747;box-shadow:var(--focus)}.form-input::placeholder{color:#7c8990;color:var(--ink-3)}.error-message{background:#fbf1f0;background:var(--danger-tint);border:1px solid #e6c4c1;color:#a63a3a;color:var(--danger);font-size:.9375rem;margin-bottom:1.25rem;padding:.75rem 1rem}.btn-login,.error-message{border-radius:6px;border-radius:var(--r-md)}.btn-login{background:#1f5c57;background:var(--primary);border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.8125rem 1rem;transition:background .15s ease;width:100%}.btn-login:hover{background:#164541;background:var(--primary-strong)}.btn-login:disabled{cursor:progress;opacity:.6}.admin-nav,.app-header{background:#fff;background:var(--surface);border-bottom:1px solid #d3dad7;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}.admin-nav{margin-bottom:1.5rem}.admin-nav-content,.header-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:80rem;padding:.875rem 1.5rem}.admin-nav-content{max-width:90rem;padding-bottom:0;row-gap:.75rem}.header-left{align-items:center;display:flex;gap:1rem}.header-title{color:#1b2730;color:var(--ink);font-size:1.125rem;font-weight:700;line-height:1.25;margin:0}.header-subtitle{color:#55636b;color:var(--ink-2);font-size:.875rem;margin:0}.user-role{color:#1f5c57;color:var(--primary)}.btn-logout{align-items:center;background:#0000;border:1px solid #d3dad7;border:1px solid var(--line);border-radius:6px;border-radius:var(--r-md);color:#55636b;color:var(--ink-2);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.375rem;padding:.5rem .875rem}.btn-logout:hover{background:#fbf1f0;background:var(--danger-tint);border-color:#e6c4c1;color:#a63a3a;color:var(--danger)}.admin-container,.main-content{background:#eef1ef;background:var(--paper);min-height:100vh;padding-bottom:3rem}.content-container{margin:0 auto;max-width:80rem;padding:2rem 1.5rem}.admin-container .content-container{max-width:90rem;padding-top:0}.card{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);margin-bottom:1rem;padding:1.25rem 1.5rem}.card-border-left{border-left:3px solid #1f5c57;border-left:3px solid var(--primary)}.card-title{align-items:center;color:#1b2730;color:var(--ink);display:flex;font-size:1.0625rem;font-weight:700;gap:.5rem;margin-bottom:1rem}.form-panel{background:#f5f7f6;background:var(--surface-2);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);margin-bottom:1.25rem;padding:1.25rem}.form-type-title{display:block;font-size:1rem;font-weight:700;margin-bottom:.75rem}.form-type-buttons{border:1px solid #b5c0bb;border:1px solid var(--line-strong);border-radius:6px;border-radius:var(--r-md);display:inline-grid;grid-auto-columns:minmax(8rem,1fr);grid-auto-flow:column;overflow:hidden}.btn-form-type{border:none;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.625rem 1.25rem}.btn-form-type+.btn-form-type{border-left:1px solid #b5c0bb;border-left:1px solid var(--line-strong)}.btn-form-type.active{background:#1f5c57;background:var(--primary);color:#fff}.btn-form-type.inactive{background:#fff;background:var(--surface);color:#55636b;color:var(--ink-2)}.btn-form-type.inactive:hover{background:#f5f7f6;background:var(--surface-2);color:#1b2730;color:var(--ink)}.student-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.status-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.status-item{align-items:flex-start;border:1px solid #d3dad7;border:1px solid var(--line);border-radius:6px;border-radius:var(--r-md);display:flex;font-weight:600;gap:.75rem;padding:.875rem 1rem}.status-item svg{flex-shrink:0;margin-top:.125rem}.status-item.completed{background:#e4efe7;background:var(--ok-tint);border-color:#bfd8c6;color:#2f6e45;color:var(--ok)}.status-item.pending{background:#f5f7f6;background:var(--surface-2);color:#55636b;color:var(--ink-2)}.status-label{color:#1b2730;color:var(--ink);font-weight:700}.status-text{font-size:.875rem;margin-top:.25rem}.status-text.completed{color:#2f6e45;color:var(--ok)}.status-text.pending{color:#55636b;color:var(--ink-2)}.message-box{align-items:flex-start;border-radius:10px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:2rem}.message-box h3{font-size:1.25rem;font-weight:700}.message-box p{font-size:1rem}.message-box.success{background:#e4efe7;background:var(--ok-tint);border:1px solid #bfd8c6;color:#2f6e45;color:var(--ok)}.message-box.success h3{color:#24563a}.message-box.warning{background:#f6eedf;background:var(--warn-tint);border:1px solid #e5d3ae;color:#8a5a0e;color:var(--warn)}.message-icon,.message-title{margin-bottom:.5rem}.message-title{font-size:1.5rem;font-weight:700}.message-title.success{color:#24563a}.message-title.warning{color:#8a5a0e;color:var(--warn)}.message-text{font-size:1rem}.message-text.success{color:#2f6e45;color:var(--ok)}.message-text.warning{color:#8a5a0e;color:var(--warn)}.section-card{border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);margin-bottom:.75rem;overflow:hidden}.section-card,.section-header{background:#fff;background:var(--surface)}.section-header{align-items:center;border:none;color:#55636b;color:var(--ink-2);cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;width:100%}.section-header:hover{background:#f5f7f6;background:var(--surface-2)}.section-header-left{align-items:center;display:flex;flex:1 1;gap:1rem;text-align:left}.section-letter{align-items:center;border-radius:6px;border-radius:var(--r-md);color:#fff;display:flex;flex-shrink:0;font-size:1.625rem;font-weight:800;height:2.75rem;justify-content:center;line-height:1;width:2.75rem}.section-icon{font-size:2rem}.section-title-text{color:#1b2730;color:var(--ink);font-size:1.125rem;font-weight:700;margin:0}.section-subtitle{color:#55636b;color:var(--ink-2);font-size:.9375rem;margin:0}.section-info{color:#7c8990;color:var(--ink-3);font-size:.8125rem;margin:0}.section-body{background:#fff;background:var(--surface);padding:0 1.25rem 1.25rem}.items-container{display:flex;flex-direction:column;gap:.75rem}.assessment-item{border-top:1px solid #d3dad7;border-top:1px solid var(--line);padding:1rem 0}.item-header{align-items:baseline;display:flex;gap:.75rem;margin-bottom:.75rem}.item-number{color:#7c8990;color:var(--ink-3);flex-shrink:0;font-size:.9375rem;font-weight:800;min-width:1.75rem;text-align:right}.item-text{color:#1b2730;color:var(--ink);flex:1 1;font-size:1rem;line-height:1.55;margin:0;max-width:62ch}.radio-options{border:1px solid #b5c0bb;border:1px solid var(--line-strong);border-radius:6px;border-radius:var(--r-md);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-left:2.5rem;max-width:34rem;overflow:hidden}.radio-label{background:#fff;background:var(--surface);color:#55636b;color:var(--ink-2);cursor:pointer;padding:.5rem .25rem;position:relative;text-align:center;transition:background .12s ease,color .12s ease}.radio-label+.radio-label{border-left:1px solid #b5c0bb;border-left:1px solid var(--line-strong)}.radio-label:hover{background:#e2edea;background:var(--primary-tint);color:#1b2730;color:var(--ink)}.radio-label.active{background:#1f5c57;background:var(--primary);color:#fff}.radio-label:focus-within{box-shadow:inset 0 0 0 3px #1f5c5747;box-shadow:inset var(--focus)}.radio-input{height:1px;opacity:0;position:absolute;width:1px}.radio-emoji{display:none}.radio-value{font-size:1.125rem;font-weight:800;line-height:1.2}.radio-text{font-size:.8125rem}.section-total{border-top:1px solid #d3dad7;border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.section-total-content{align-items:baseline;display:flex;justify-content:space-between}.section-total-label{font-weight:700}.section-total-score{font-size:1.5rem;font-weight:800}.section-total-percentage{color:#55636b;color:var(--ink-2);font-size:1rem;margin-left:.5rem}.summary-box{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);margin-bottom:1.5rem;padding:1.75rem}.summary-title{align-items:center;display:flex;font-size:1.375rem;font-weight:700;gap:.5rem;margin:0 0 1.25rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.level-card,.summary-card{border-top:2px solid #1f5c57;border-top:2px solid var(--primary);padding:.875rem 0 0}.summary-card-label{color:#55636b;color:var(--ink-2);font-size:.875rem}.summary-card-value{font-size:2.25rem;font-weight:800}.level-content{align-items:baseline;display:flex;justify-content:space-between}.level-title{font-size:1.75rem;font-weight:800}.level-desc{color:#55636b;color:var(--ink-2);font-size:1rem}.level-emoji{display:none}.submit-container{border-top:1px solid #d3dad7;border-top:1px solid var(--line);display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.btn-submit{align-items:center;background:#1f5c57;background:var(--primary);border:none;border-radius:6px;border-radius:var(--r-md);color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:700;gap:.5rem;padding:.875rem 2rem;transition:background .15s ease}.btn-submit:hover{background:#164541;background:var(--primary-strong)}.admin-nav-tabs{display:flex;flex-wrap:wrap;gap:.25rem;order:3;width:100%}.admin-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#55636b;color:var(--ink-2);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.375rem;margin-bottom:-1px;padding:.625rem .875rem}.admin-tab:hover{color:#1b2730;color:var(--ink)}.admin-tab.active{border-bottom-color:#1f5c57;border-bottom-color:var(--primary);color:#1f5c57;color:var(--primary)}.admin-stats-grid{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1.5rem;overflow:hidden}.stat-card{border-right:1px solid #d3dad7;border-right:1px solid var(--line);margin-right:-1px;padding:1.25rem 1.5rem}.stat-header{align-items:center;gap:.5rem;margin-bottom:.25rem}.stat-header,.stat-icon{color:#7c8990;color:var(--ink-3);display:flex}.stat-title{color:#55636b;color:var(--ink-2);font-size:.9375rem;font-weight:600}.stat-value{color:#1b2730;color:var(--ink);font-size:2.25rem;font-weight:800;line-height:1.15}.stat-subtitle{color:#55636b;color:var(--ink-2);font-size:.875rem}.period-form{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);margin-bottom:1.5rem;padding:1.5rem}.period-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.25rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.btn-danger,.btn-primary,.btn-secondary,.btn-success{align-items:center;border-radius:6px;border-radius:var(--r-md);cursor:pointer;display:inline-flex;font-weight:600;gap:.375rem;transition:background .15s ease,border-color .15s ease}.btn-primary{background:#1f5c57;background:var(--primary);border:1px solid #1f5c57;border:1px solid var(--primary);color:#fff;font-size:.9375rem;padding:.5625rem 1rem}.btn-primary:hover{background:#164541;background:var(--primary-strong);border-color:#164541;border-color:var(--primary-strong)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.55}.btn-secondary{background:#fff;background:var(--surface);border:1px solid #b5c0bb;border:1px solid var(--line-strong);color:#1b2730;color:var(--ink);font-size:.875rem;padding:.5rem .875rem}.btn-secondary:hover{background:#f5f7f6;background:var(--surface-2);border-color:#7c8990;border-color:var(--ink-3)}.btn-danger{background:#fff;background:var(--surface);border:1px solid #e6c4c1;color:#a63a3a;color:var(--danger);font-size:.875rem;padding:.5rem .875rem}.btn-danger:hover{background:#fbf1f0;background:var(--danger-tint)}.btn-success{background:#fff;background:var(--surface);border:1px solid #bfd8c6;color:#2f6e45;color:var(--ok);font-size:.875rem;padding:.5rem .875rem}.btn-success:hover{background:#e4efe7;background:var(--ok-tint)}.table-container{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{background:#f5f7f6;background:var(--surface-2);border-bottom:1px solid #d3dad7;border-bottom:1px solid var(--line);color:#55636b;color:var(--ink-2);font-size:.875rem;font-weight:700;padding:.75rem 1rem;text-align:left;white-space:nowrap}.data-table td{border-bottom:1px solid #e6eae8;color:#1b2730;color:var(--ink);font-size:.9375rem;padding:.75rem 1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f7f9f8}.table-empty{color:#55636b;color:var(--ink-2);padding:2.5rem 1rem;text-align:center}.badge{border-radius:4px;border-radius:var(--r-sm);display:inline-block;font-size:.8125rem;font-weight:600;padding:.125rem .5rem}.badge-success{background:#e4efe7;background:var(--ok-tint);color:#2f6e45;color:var(--ok)}.badge-warning{background:#f6eedf;background:var(--warn-tint);color:#8a5a0e;color:var(--warn)}.badge-danger{background:#fbf1f0;background:var(--danger-tint);color:#a63a3a;color:var(--danger)}.badge-info{background:#e6ecf4;background:var(--info-tint);color:#2d5b8c;color:var(--info)}.badge-gray{background:#e9edeb;color:#55636b;color:var(--ink-2)}.progress-container{align-items:center;display:flex;gap:.75rem}.progress-bar-wrapper{background:#e1e6e4;border-radius:2px;flex:1 1;height:.375rem;overflow:hidden}.progress-bar{border-radius:2px;height:100%;transition:width .3s ease}.progress-text{color:#55636b;color:var(--ink-2);font-size:.8125rem;font-weight:700;min-width:3rem;text-align:right}.modal-overlay{align-items:center;background:#14201e80;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.modal-content{border-radius:10px;border-radius:var(--r-lg);box-shadow:0 24px 48px -16px #14201e59;max-height:90vh;max-width:60rem;overflow-y:auto;width:100%}.modal-content,.modal-header{background:#fff;background:var(--surface)}.modal-header{align-items:center;border-bottom:1px solid #d3dad7;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:1.125rem 1.5rem;position:sticky;top:0;z-index:10}.modal-title{color:#1b2730;color:var(--ink);font-size:1.25rem;font-weight:700;margin:0}.modal-close{align-items:center;background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:6px;border-radius:var(--r-md);color:#55636b;color:var(--ink-2);cursor:pointer;display:flex;height:2.25rem;justify-content:center;width:2.25rem}.modal-close:hover{background:#f5f7f6;background:var(--surface-2)}.modal-body{padding:1.5rem}.score-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.score-item{border-top:2px solid #1f5c57;border-top:2px solid var(--primary);padding:.75rem 0 0}.score-label{color:#55636b;color:var(--ink-2);font-size:.875rem;margin-bottom:.125rem}.score-value{color:#1b2730;color:var(--ink);font-size:1.5rem;font-weight:800}.detail-section{margin-bottom:1.75rem}.detail-section-title{border-bottom:1px solid #d3dad7;border-bottom:1px solid var(--line);color:#1b2730;color:var(--ink);font-size:1.0625rem;font-weight:700;margin-bottom:.5rem;padding-bottom:.5rem}.detail-item{align-items:baseline;border-bottom:1px solid #e6eae8;display:flex;justify-content:space-between;padding:.5rem 0}.detail-item-text{color:#1b2730;color:var(--ink);flex:1 1;font-size:.9375rem}.detail-item-score{color:#1b2730;color:var(--ink);font-size:1rem;font-weight:800;margin-left:1rem}.assessor-section{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.25rem}.assessor-card{border:1px solid #d3dad7;border:1px solid var(--line);border-radius:6px;border-radius:var(--r-md);padding:.875rem 1rem}.assessor-name{color:#55636b;color:var(--ink-2);font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.assessor-score{color:#1f5c57;color:var(--primary);font-size:1.25rem;font-weight:800}.alert{border:1px solid;border-radius:6px;border-radius:var(--r-md);font-size:.9375rem;margin-bottom:1rem;padding:.75rem 1rem}.alert-info{background:#e6ecf4;background:var(--info-tint);border-color:#c5d3e6;color:#2d5b8c;color:var(--info)}.alert-success{background:#e4efe7;background:var(--ok-tint);border-color:#bfd8c6;color:#2f6e45;color:var(--ok)}.alert-warning{background:#f6eedf;background:var(--warn-tint);border-color:#e5d3ae;color:#8a5a0e;color:var(--warn)}.period-card{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);margin-bottom:.75rem;padding:1.25rem}.period-card:hover{border-color:#b5c0bb;border-color:var(--line-strong)}.period-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:.75rem}.period-info{flex:1 1}.period-name{color:#1b2730;color:var(--ink);font-size:1.0625rem;font-weight:700;margin-bottom:.25rem}.period-dates{color:#55636b;color:var(--ink-2);font-size:.875rem}.period-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:.75rem}.period-stat{border-top:1px solid #d3dad7;border-top:1px solid var(--line);padding:.5rem 0}.period-stat-value{color:#1b2730;color:var(--ink);font-size:1.375rem;font-weight:800}.period-stat-label{color:#55636b;color:var(--ink-2);font-size:.8125rem}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.action-buttons button{min-width:2.25rem;padding:.4375rem}.action-buttons button,.loading-screen{align-items:center;display:flex;justify-content:center}.loading-screen{background:#eef1ef;background:var(--paper);min-height:100vh}.spinner{animation:spin .9s linear infinite;border:3px solid #d3dad7;border-top-color:#1f5c57;border:3px solid var(--line);border-radius:50%;border-top-color:var(--primary);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{display:flex;flex-direction:column;gap:.5rem;max-width:380px;pointer-events:none;position:fixed;right:1rem;top:1rem;z-index:99999}.toast{align-items:flex-start;animation:toastIn .2s ease;background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-left-width:4px;border-radius:6px;border-radius:var(--r-md);box-shadow:0 8px 24px -12px #14201e59;display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;line-height:1.4;padding:.75rem 1rem}.toast svg{flex-shrink:0;margin-top:.125rem}.toast-success{border-left-color:#2f6e45;border-left-color:var(--ok);color:#2f6e45;color:var(--ok)}.toast-error{border-left-color:#a63a3a;border-left-color:var(--danger);color:#a63a3a;color:var(--danger)}.toast-warning{border-left-color:#b7801f;color:#8a5a0e;color:var(--warn)}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.analytics-dashboard{display:flex;flex-direction:column;gap:1rem}.analytics-subtabs{display:flex;flex-wrap:wrap;gap:.5rem}.analytics-panel{background:#fff;background:var(--surface);border:1px solid #d3dad7;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-lg);padding:1.25rem}.analytics-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.period-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.tab-label{display:inline}@media (max-width:900px){.login-container{grid-template-columns:1fr}.login-values{gap:1.5rem;padding:2rem 1.25rem}.value-list{column-gap:1.25rem;grid-template-columns:repeat(5,auto);justify-content:start}.value-row{display:block}.value-letter{font-size:2.5rem}.value-name{display:none}.login-card{border-left:none;padding:2rem 1.25rem 3rem}}@media (max-width:768px){.header-container{padding:.75rem 1rem}.header-container>div:last-child{flex-wrap:wrap}.admin-nav-content{padding:.75rem 1rem 0}.admin-nav-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.admin-nav-tabs::-webkit-scrollbar{display:none}.admin-tab{flex-shrink:0;white-space:nowrap}.card,.content-container{padding:1rem}.radio-options{margin-left:0;max-width:none}.section-header{padding:.875rem 1rem}.section-body{padding:0 1rem 1rem}.submit-container{justify-content:stretch}.btn-submit{justify-content:center;width:100%}.modal-header{padding:.875rem 1rem}.modal-body{padding:1rem}.modal-content{max-height:95vh}.data-table td,.data-table th{padding:.625rem}.assessor-section,.period-form-grid,.score-grid{grid-template-columns:1fr}.action-buttons{width:100%}.btn-logout span{display:none}}@media (max-width:480px){.status-grid,.student-info-grid{grid-template-columns:1fr}.form-type-buttons{display:grid}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{border-bottom:1px solid #d3dad7;border-bottom:1px solid var(--line);padding:1rem}.stat-value{font-size:1.75rem}.period-header{flex-direction:column}.period-stats{grid-template-columns:repeat(2,1fr)}.section-letter{font-size:1.25rem;height:2.25rem;width:2.25rem}.section-title-text{font-size:1rem}.radio-text{font-size:.75rem}}@media (max-width:360px){.tab-label{display:none}}@media (hover:none) and (pointer:coarse){.radio-label{min-height:3.25rem}.admin-tab,.btn-danger,.btn-primary,.btn-secondary,.btn-success{min-height:2.75rem}.form-input,.input-student,.period-input{font-size:1rem;min-height:2.875rem}}
/*# sourceMappingURL=main.828e0245.css.map*/