:root{--blue:#183a68;--blue-light:#1f4d8a;--accent:#e8a020;--text:#1a1a2e;--text-muted:#5a6375;--bg:#f4f6f9;--border:#dde2ea;--sans:"Segoe UI", system-ui, sans-serif;font:15px/150% var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.app-footer{text-align:right;color:var(--text-muted);margin-top:auto;padding:12px 24px;font-size:.75rem}.app-header{background:var(--blue);color:#fff;z-index:100;padding:0 1.5rem;position:sticky;top:0;box-shadow:0 2px 6px #0000004d}.header-inner{flex-direction:column;gap:0;max-width:960px;margin:0 auto;padding:0;display:flex}.header-row-top{align-items:stretch;gap:0;display:flex}.logo-text{letter-spacing:.05em;color:#ffffffd9;align-items:center;margin-right:1.5rem;padding:1rem 0;font-size:1.1rem;display:flex}.logo-text strong{color:#fff;margin-left:.25rem}.discipline-tabs{align-items:stretch;gap:.25rem;display:flex}.discipline-tab{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:0 1.25rem;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.discipline-tab:hover{color:#fff}.discipline-tab--active{color:#fff;border-bottom-color:var(--accent)}.class-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.35rem;padding:6px 0;display:flex;overflow-x:auto}.class-tabs::-webkit-scrollbar{display:none}.class-tab{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:999px;padding:3px 14px;font-size:.82rem;transition:background .15s,border-color .15s,color .15s}.class-tab:hover{color:#fff;background:#ffffff1a;border-color:#ffffffb3}.class-tab--active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.reset-btn{color:#ffffffd9;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff80;border-radius:6px;align-self:center;margin-left:auto;padding:.4rem .9rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s}.reset-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffffd9}.live-score{text-align:center;border-radius:6px;margin-bottom:6px;padding:5px 12px 7px;font-size:.88rem;font-weight:700;transition:background .3s,color .3s}.live-score-class{opacity:.8;font-weight:400}.live-score--fail{color:#ffd0d0;background:#d2323259}.live-score--pass{color:#ffe8a0;background:#c88c0073}.live-score--best{color:#b6ffcf;background:#1eaa5066}.live-score-sep{opacity:.7}.app-main{flex-direction:column;gap:1.5rem;max-width:960px;margin:0 auto;padding:1.5rem;display:flex}.moment-group{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.group-title{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--blue);margin:0;padding:9px 14px;font-size:.85rem;font-weight:700}.moment-table{border-collapse:collapse;width:100%;font-size:.9rem}.moment-table th{color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);background:#eef3f9;padding:8px 12px;font-size:.78rem;font-weight:600}.moment-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}.moment-row:last-child td{border-bottom:none}.moment-row:nth-child(2n){background:#fafafa}.moment-name{min-width:160px;font-weight:500}.moment-input{width:110px}.moment-calc,.moment-koeff{text-align:center;color:#666;width:80px}.moment-poang{text-align:right;color:var(--blue);width:70px;font-weight:700}.group-total-row{background:#eef3f9}.group-total-label{text-align:right;color:var(--text-muted);font-size:.85rem;font-weight:600}.group-total-value{color:var(--blue);text-align:right;font-size:.95rem;font-weight:700}.score-select{width:100%;color:var(--text);cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:5px 8px;font-size:max(16px,.875rem);transition:border-color .2s}.score-select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.result-summary{border:1px solid var(--border);background:#fff;border-radius:10px;padding:24px;box-shadow:0 1px 4px #0000000f}.summary-title{color:var(--blue);margin:0 0 20px;font-size:1.1rem;font-weight:700}.summary-rows{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.summary-row{grid-template-columns:180px 1fr auto;align-items:center;gap:12px;display:grid}.summary-total-row .summary-label{font-weight:700}.summary-total-row .summary-value{font-size:1rem;font-weight:700}.summary-label{color:#444;font-size:.9rem}.summary-value{white-space:nowrap;color:#222;text-align:right;font-size:.9rem}.threshold-hint{color:#888;font-size:.78rem}.progress-track{background:#e5e8ee;border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:#003f87;border-radius:4px;height:100%;transition:width .3s}.status-badges{flex-wrap:wrap;gap:12px;display:flex}.status-badge{border-radius:8px;flex:200px;align-items:center;gap:8px;padding:10px 20px;font-size:1rem;font-weight:700;display:flex}.status-ok{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.status-fail{color:#b71c1c;background:#fdecea;border:1px solid #ef9a9a}.status-icon{font-size:1.2rem}.incomplete-notice{color:#888;margin:0;font-size:.9rem;font-style:italic}@media (width<=640px){.app-header{padding:0 1rem}.logo-text{padding:.75rem 0;font-size:1rem}.reset-btn{margin-left:0;padding:.35rem .7rem}.app-main{gap:16px;padding:12px}.group-title{padding:8px 12px;font-size:.85rem}.moment-table thead{display:none}.moment-table,.moment-table tbody{width:100%;display:block}.moment-row{border-bottom:1px solid var(--border);background:#fff;grid-template-rows:auto auto;grid-template-columns:1fr 1fr auto;gap:8px;padding:10px 12px;display:grid}.moment-row:nth-child(2n){background:#fafafa}.moment-row td:first-child{min-width:unset;border:none;grid-area:1/1/auto/-1;padding:0;font-size:.9rem}.moment-row td:nth-child(2){border:none;grid-area:2/1;width:auto;padding:0}.moment-row td:nth-child(3){border:none;grid-area:2/2;width:auto;padding:0}.moment-row td:nth-child(4),.moment-row td:nth-child(5){display:none}.moment-row td:nth-child(6){text-align:right;border:none;grid-area:2/3;align-self:center;width:auto;min-width:44px;padding:0;font-size:1rem}.score-select{min-height:44px;padding:9px 6px}.moment-table tfoot{display:block}.group-total-row{background:#eef2f7;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.group-total-row td{border:none;padding:0;display:block}.group-total-label{font-size:.8rem}.result-summary{padding:16px}.summary-row{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:4px}.summary-label{font-weight:600}.summary-value{text-align:left}.threshold-hint{margin-top:2px;display:block}.status-badge{padding:10px 14px;font-size:.95rem}}
