:root{--text:#374151;--text-h:#111827;--bg:#f3f5f8;--border:#d1d5db;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/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:#aaa;margin-top:auto;padding:12px 24px;font-size:.75rem}.app-header{color:#fff;z-index:100;background:#003f87;padding:0;position:sticky;top:0}.header-inner{flex-direction:column;gap:8px;max-width:900px;margin:0 auto;padding:10px 16px;display:flex}.header-row-top{align-items:center;gap:8px;display:flex}.discipline-tabs{gap:4px;display:flex}.discipline-tab{color:#fffc;cursor:pointer;background:#ffffff14;border:2px solid #ffffff80;border-radius:6px;padding:5px 18px;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.discipline-tab:hover{color:#fff;background:#ffffff26;border-color:#fffc}.discipline-tab--active{color:#fff;background:#ffffff40;border-color:#fff}.class-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.class-tabs::-webkit-scrollbar{display:none}.class-tab{color:#fffc;cursor:pointer;background:0 0;border:2px solid #fff6;border-radius:20px;padding:4px 14px;font-size:.85rem;transition:background .2s,border-color .2s,color .2s}.class-tab:hover{color:#fff;background:#ffffff1a;border-color:#ffffffb3}.class-tab--active{color:#fff;background:#fff3;border-color:#fff;font-weight:600}.reset-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff80;border-radius:6px;margin-left:auto;padding:5px 12px;font-size:.8rem;transition:background .2s,border-color .2s}.reset-btn:hover{background:#ffffff26;border-color:#fff}.live-score{text-align:center;border-radius:6px;padding:6px 12px;font-size:.9rem;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:32px;max-width:900px;margin:0 auto;padding:24px;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:.03em;text-transform:uppercase;color:#fff;background:#003f87;margin:0;padding:10px 16px;font-size:1rem;font-weight:700}.moment-table{border-collapse:collapse;width:100%;font-size:.9rem}.moment-table th{color:#444;text-align:left;border-bottom:1px solid var(--border);background:#eef2f7;padding:8px 12px;font-size:.8rem;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:#003f87;width:70px;font-weight:700}.group-total-row{background:#eef2f7}.group-total-label{text-align:right;color:#555;font-size:.85rem;font-weight:600}.group-total-value{color:#003f87;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-offset:1px;border-color:#003f87;outline:2px solid #003f87}.result-summary{border:1px solid var(--border);background:#fff;border-radius:10px;padding:24px;box-shadow:0 1px 4px #0000000f}.summary-title{color:#003f87;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){.header-inner{gap:4px;padding:14px 16px}.app-title{width:100%;font-size:1.2rem}.app-subtitle{flex:none;width:100%;font-size:.8rem}.reset-btn{text-align:center;width:100%;margin-top:8px;margin-left:0;padding:10px}.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}}
