@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap";html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root{color:#20332f;font-synthesis:none;background:#f4f7f6;font-family:Be Vietnam Pro,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:10;background:#083f3a;flex-direction:column;width:248px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{color:#123f3b;background:#f6bf46;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.brand b{letter-spacing:.5px;font-family:Manrope;font-size:14px}.brand span,.sidebar-note span{color:#b7d0cc;margin-top:3px;font-size:10px;display:block}.sidebar nav{gap:7px;margin-top:27px;display:grid}.sidebar nav button{color:#bcd3d0;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:13px 14px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff16}.sidebar-note{color:#f6bf46;background:#ffffff10;border:1px solid #ffffff14;border-radius:13px;align-items:center;gap:11px;margin-top:auto;padding:14px;display:flex}.sidebar-note b{color:#fff;font-size:12px}main{grid-column:2;min-width:0}header{z-index:5;background:#fff;border-bottom:1px solid #e5ecea;align-items:center;height:82px;padding:0 34px;display:flex;position:sticky;top:0}header h1{color:#163c37;margin:0;font:800 20px Manrope}header p{color:#82938f;margin:4px 0 0;font-size:11px}.user{align-items:center;gap:10px;margin-left:auto;font-size:12px;font-weight:600;display:flex}.user>span{color:#0b6158;background:#e6f2ef;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.user small{color:#8c9a97;margin-top:2px;font-weight:400;display:block}.menu-btn{background:0 0;border:0;margin-right:10px;display:none}.content{max-width:1500px;margin:auto;padding:28px 32px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.summary,.kpis>div{background:#fff;border:1px solid #e2eae8;border-radius:14px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 4px 20px #133f3608}.summary-icon{color:#0a6c60;background:#e4f3ef;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.summary-icon.c1{color:#526ba4;background:#edf1fb}.summary-icon.c2{color:#b56e16;background:#fff2df}.summary-icon.c3{color:#8859a1;background:#f4eafa}.summary small,.kpis small{color:#788b86;font-size:11px;display:block}.summary strong{margin-right:5px;font:800 24px Manrope}.summary em{color:#879892;font-size:10px;font-style:normal}.panel{background:#fff;border:1px solid #e1eae7;border-radius:15px;overflow:hidden;box-shadow:0 4px 24px #153f3708}.panel-head,.stats-head{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.panel-head{border-bottom:1px solid #edf1f0}.panel h2,.stats-head h2{color:#173e38;margin:0;font:800 17px Manrope}.panel-head p,.stats-head p{color:#84938f;margin:5px 0 0;font-size:11px}.primary,.secondary{border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-size:12px;font-weight:600;display:inline-flex}.primary{color:#fff;background:#0b6258;box-shadow:0 4px 12px #0b62582b}.secondary{color:#46625d;background:#eef2f1}.toolbar{border-bottom:1px solid #edf1f0;align-items:center;gap:11px;padding:16px 24px;display:flex}.search{color:#78918c;border:1px solid #dce6e3;border-radius:9px;align-items:center;gap:8px;min-width:270px;height:39px;padding:0 11px;display:flex}.search input{border:0;outline:0;width:100%;font-size:12px}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap select{appearance:none;color:#3b5d57;background:#fff;border:1px solid #dce6e3;border-radius:9px;outline:0;min-width:150px;height:39px;padding:0 34px 0 12px;font-size:12px}.select-wrap svg{pointer-events:none;color:#78908b;position:absolute;right:10px}.count{color:#84938f;margin-left:auto;font-size:11px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{color:#728681;text-transform:uppercase;letter-spacing:.3px;text-align:left;background:#f7f9f8;padding:12px 18px;font-size:9px}td{color:#4e6762;border-top:1px solid #edf1f0;padding:14px 18px}td b{color:#253e39}.badge{color:#0a6a5e;background:#e8f3f1;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600}.actions{text-align:right}.actions button,.modal-head button{color:#63807a;background:0 0;border:0;border-radius:7px;padding:6px}.actions button:hover{background:#edf3f1}.actions button.danger{color:#b65d5d}.actions button.danger:hover{background:#fff0f0}.score-info{color:#0b675c;background:#edf7f4;border-radius:11px;align-items:center;gap:12px;margin:18px 24px;padding:14px 16px;display:flex}.score-info div{flex-direction:column;display:flex}.score-info span{color:#5e8079;margin-top:4px;font-size:10px}.score-info strong{margin-left:auto;font-size:11px}.score-table td:nth-child(2) small{color:#8b9a97;margin-top:4px;display:block}.score-table input{text-align:center;border:1px solid #d9e5e2;border-radius:7px;outline:0;width:72px;padding:7px}.avg{color:#0a665b;background:#e6f3f0;border-radius:7px;padding:6px 9px;font-weight:700}.status{border-radius:15px;padding:5px 9px;font-size:10px;font-weight:600}.status.pass{color:#298447;background:#e5f5ea}.status.fail{color:#b24d4d;background:#ffebeb}.status.wait{color:#72827f;background:#eef1f0}.stats-head{padding:0 0 18px}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.kpis>div{grid-template-rows:auto auto;grid-template-columns:auto 1fr;display:grid}.kpis span{color:#0a6a5f;background:#e5f3f0;border-radius:12px;grid-row:1/3;place-items:center;width:42px;height:42px;display:grid}.kpis b{font:800 22px Manrope}.rank{background:#eef2f1;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.rank.r1{color:#a86d00;background:#fff0c4}.rank.r2{color:#657277;background:#e9eeef}.rank.r3{color:#9d653d;background:#f4e7dc}.award{color:#956a0a;align-items:center;gap:5px;font-weight:600;display:inline-flex}.empty{text-align:center;color:#8b9996;padding:35px}.settings-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.setting-row{border-bottom:1px solid #edf1f0;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:0 24px;padding:20px 0;display:grid}.setting-icon{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.setting-icon.gold{color:#a9780b;background:#fff1c9}.setting-icon.silver{color:#64747a;background:#ebeff1}.setting-row b{font-size:13px}.setting-row p{color:#84938f;margin:5px 0 0;font-size:10px}.setting-row input{text-align:center;border:1px solid #d8e3e0;border-radius:8px;width:84px;padding:9px}.settings-actions{text-align:right;padding:20px 24px}.rules{padding:24px}.rules h3{margin:0 0 20px;font:800 15px Manrope}.rules>div{gap:12px;margin:16px 0;display:flex}.rules>div span{color:#fff;background:#0b6258;border-radius:50%;flex:0 0 26px;place-items:center;height:26px;font-size:11px;font-weight:700;display:grid}.rules p{color:#637873;margin:3px 0;font-size:11px;line-height:1.6}.modal-backdrop{z-index:30;background:#0b2420a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(520px,100%);padding:24px;box-shadow:0 24px 70px #001f1a5c}.modal-head{justify-content:space-between;margin-bottom:22px;display:flex}.modal h2{margin:0;font:800 18px Manrope}.modal-head p{color:#859590;margin:5px 0;font-size:11px}.modal>label,.form-grid label{color:#506963;gap:7px;margin-bottom:16px;font-size:11px;font-weight:600;display:grid}.modal input,.modal select{background:#fff;border:1px solid #d9e4e1;border-radius:9px;outline:0;padding:11px}.modal input:focus,.modal select:focus{border-color:#0b6b5f;box-shadow:0 0 0 3px #0b6b5f14}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-actions{border-top:1px solid #edf1f0;justify-content:flex-end;gap:9px;margin:5px -24px -24px;padding:18px 24px;display:flex}@media (width<=1050px){.summary-grid,.kpis{grid-template-columns:repeat(2,1fr)}.settings-layout{grid-template-columns:1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}main{width:100%}.menu-btn{display:block}header{padding:0 17px}.user div{display:none}.content{padding:18px 14px}.summary-grid,.kpis{grid-template-columns:1fr 1fr;gap:10px}.summary{padding:13px}.summary-icon{width:38px;height:38px}.panel-head{align-items:flex-start}.panel-head .primary{font-size:0}.panel-head .primary svg{margin:0}.toolbar{flex-wrap:wrap;padding:14px}.search{min-width:100%}.count{display:none}.settings-layout{display:block}.rules{margin-top:16px}.form-grid{grid-template-columns:1fr}}@media (width<=430px){.summary-grid,.kpis{grid-template-columns:1fr}.panel-head{padding:18px}.content{padding:14px 10px}}.score-info strong{align-items:center;gap:6px;display:flex}.autosave-dot{background:#23a36e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #23a36e18}.score-cell{position:relative}.score-table input{transition:all .18s}.saved-label{color:#fff;z-index:2;background:#177b57;border-radius:5px;padding:3px 6px;font-size:8px;position:absolute;top:4px;left:50%;transform:translate(-50%,-100%)}.head-actions{gap:9px;display:flex}.import-button{cursor:pointer}.import-button input{display:none}.import-message{color:#176c5c;background:#eaf6f2;border-radius:9px;align-items:center;gap:8px;margin:14px 24px 0;padding:11px 13px;font-size:11px;display:flex}.import-message button{color:inherit;background:0 0;border:0;margin-left:auto}.sparring-off{color:#94621c;background:#fff4e5;border-radius:8px;align-items:center;gap:8px;margin:0 24px 16px;padding:10px 13px;font-size:11px;display:flex}.setting-icon.red{color:#b64b4b;background:#ffebeb}.sparring-settings{border-bottom:1px solid #edf1f0;padding:20px 24px}.sparring-title{align-items:center;gap:14px;margin-bottom:15px;display:flex}.sparring-title b{font-size:13px}.sparring-title p{color:#84938f;margin:5px 0 0;font-size:10px}.level-toggles{grid-template-columns:1fr 1fr;gap:9px;display:grid}.level-toggle{cursor:pointer;border:1px solid #dfe8e5;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;display:flex}.level-toggle span b,.level-toggle span small{display:block}.level-toggle span b{font-size:11px}.level-toggle span small{color:#83928f;margin-top:3px;font-size:9px}.level-toggle input{display:none}.level-toggle i{background:#cdd7d4;border-radius:20px;width:34px;height:19px;transition:all .2s;position:relative}.level-toggle i:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0002}.level-toggle.active i:after{transform:translate(15px)}@media (width<=760px){.head-actions{flex-wrap:wrap;justify-content:flex-end}.level-toggles{grid-template-columns:1fr}}.content-settings{border-bottom:1px solid #edf1f0;padding:20px 24px}.content-settings-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;display:flex}.content-settings-head b{font-size:13px}.content-settings-head p{color:#84938f;margin:5px 0 0;font-size:10px}.content-list{gap:8px;display:grid}.content-item{grid-template-columns:26px 1fr 34px;align-items:center;gap:8px;display:grid}.content-item>span{color:#0b6b5f;background:#eaf4f1;border-radius:7px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:700;display:grid}.content-item input{border:1px solid #dbe5e2;border-radius:8px;outline:0;width:100%;padding:9px 10px;font-size:11px}.content-item input:focus{border-color:#0b6b5f;box-shadow:0 0 0 3px #0b6b5f12}.content-item button{color:#b65353;background:#fff0f0;border:0;border-radius:8px;height:34px}.content-buttons{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.text-button{color:#0b6b5f;background:0 0;border:0;font-size:10px;font-weight:600}@media (width<=600px){.content-settings-head{flex-direction:column;align-items:flex-start}.content-buttons{flex-direction:column;align-items:flex-start;gap:10px}}body{background:radial-gradient(circle at 80% -10%,#e5f3ef 0,transparent 30%),var(--canvas);color:var(--ink)}button,input,select{transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #08665b33}.primary:active,.secondary:active{transform:translateY(1px)}.sidebar{box-shadow:8px 0 30px #042f2a14}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb}.content{padding:32px;animation:.22s ease-out page-in}@keyframes page-in{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}.panel,.summary,.kpis>div{border-color:var(--line);box-shadow:var(--shadow)}.panel{border-radius:18px}.summary,.kpis>div{border-radius:16px}.summary:hover,.kpis>div:hover{transform:translateY(-2px);box-shadow:0 12px 34px #123a321a}.panel-head{min-height:78px}.panel-head h2,.stats-head h2{letter-spacing:-.2px}.primary{background:linear-gradient(135deg,var(--brand),#0d776a);min-height:40px}.secondary{background:#fff;border:1px solid #dbe6e3;min-height:40px}.secondary:hover{background:#f7fbfa;border-color:#9bbdb5}.text-button:hover{text-decoration:underline}.toolbar{background:#fbfcfc}.search{background:#fff}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #08665b1a}.table-wrap{scrollbar-color:#b6cac5 transparent;scrollbar-width:thin;max-width:100%}.table-wrap::-webkit-scrollbar{width:9px;height:9px}.table-wrap::-webkit-scrollbar-thumb{background:#b6cac5;border:2px solid #fff;border-radius:10px}.table-wrap table{min-width:760px}thead{z-index:2;position:sticky;top:0}th{color:#647d77;background:#f4f8f7;height:42px;font-weight:700}tbody tr{transition:background .15s}tbody tr:hover{background:#f8fbfa}td{height:53px}.score-table{table-layout:auto;min-width:1050px}.score-table th{white-space:normal;text-align:center;min-width:112px;max-width:170px;line-height:1.35}.score-table th:first-child{min-width:55px}.score-table th:nth-child(2){text-align:left;min-width:200px}.score-table td{text-align:center}.score-table td:nth-child(2){text-align:left}.score-table th:first-child,.score-table td:first-child{z-index:1;background:#fff;position:sticky;left:0}.score-table th:nth-child(2),.score-table td:nth-child(2){z-index:1;background:#fff;position:sticky;left:55px;box-shadow:8px 0 10px -11px #173c36}.score-table thead th:first-child,.score-table thead th:nth-child(2){z-index:3;background:#f4f8f7}.score-table tbody tr:hover td:first-child,.score-table tbody tr:hover td:nth-child(2){background:#f8fbfa}.score-table input{width:76px;height:38px;color:var(--ink);background:#fbfdfc;font-weight:700}.score-table input:hover{border-color:#9dbeb7}.saved-label{white-space:nowrap;top:2px}.score-info{border:1px solid #d9eee8}.sparring-off{border:1px solid #f1dfbf}.settings-layout{grid-template-columns:minmax(600px,2fr) minmax(260px,1fr);gap:24px}.settings-card{max-width:none}.setting-row{min-height:82px}.setting-row input{height:40px;color:var(--ink);font-weight:700}.content-settings,.sparring-settings{padding-block:24px}.content-settings{background:#fcfdfd}.content-list{gap:9px}.content-item>span{width:28px;height:28px}.content-item input{background:#fff;height:40px}.content-item button{height:38px}.content-item button:hover{background:#ffe4e4}.level-toggle{min-height:62px}.level-toggle:hover{border-color:#a8c9c1}.rules{position:sticky;top:106px}.rules>div span{margin-top:1px}.modal{border:1px solid #ffffff80;animation:.18s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:none}}@media (width<=1050px){.settings-layout{grid-template-columns:1fr}.rules{position:static}.content{padding:24px}.summary-grid,.kpis{gap:12px}}@media (width<=760px){header{height:70px}.content{padding:16px 12px}.panel{border-radius:14px}.panel-head{min-height:auto;padding:17px}.summary-grid,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.summary,.kpis>div{padding:13px}.summary strong,.kpis b{font-size:20px}.toolbar{padding:12px}.select-wrap,.select-wrap select{width:100%}.panel-head .select-wrap,.panel-head .select-wrap select,.stats-head .select-wrap,.stats-head .select-wrap select{width:auto}.score-info{align-items:flex-start;margin:12px}.score-info strong{white-space:nowrap;margin-left:auto}.score-table th:nth-child(2){min-width:160px}.settings-layout{display:grid}.setting-row,.content-settings,.sparring-settings{margin-inline:0;padding-inline:17px}.level-toggles{grid-template-columns:1fr}.head-actions .secondary,.head-actions .primary{width:40px;padding:0;font-size:0}.head-actions svg{margin:0}}@media (width<=480px){.summary-grid,.kpis{grid-template-columns:1fr}.summary{min-height:72px}.user{display:none}.panel-head{gap:12px}.score-info>div span{display:none}.score-info strong{font-size:0}.score-info strong:after{content:"Tự lưu";font-size:10px}.content-item{grid-template-columns:26px 1fr 36px}.content-item>span{width:25px;height:25px}.modal{padding:19px}.modal-actions{margin-inline:-19px;padding-inline:19px}.form-grid{grid-template-columns:1fr}}.delete-all{color:#b54848;background:#fff7f7;border:1px solid #f0caca;border-radius:9px;align-items:center;gap:7px;min-height:40px;padding:9px 13px;font-size:11px;font-weight:600;display:inline-flex}.delete-all:hover:not(:disabled){background:#ffeded;border-color:#e9aaaa}.delete-all:disabled{opacity:.45;cursor:not-allowed}@media (width<=760px){.head-actions .delete-all{justify-content:center;width:40px;padding:0;font-size:0}}.brand-mark{background:#fff;border:2px solid #ffffffe6;border-radius:50%;flex:0 0 48px;width:48px;height:48px;padding:3px;overflow:hidden;box-shadow:0 4px 14px #0000002e}.brand-mark img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.brand{gap:11px;padding-inline:4px}.brand b{font-size:13px}.stats-actions{align-items:center;gap:10px;display:flex}.stats-actions .primary:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.stats-head{flex-direction:column;align-items:flex-start}.stats-actions{width:100%}.stats-actions .select-wrap{flex:1}.stats-actions .select-wrap select{width:100%}.stats-actions .primary{white-space:nowrap}}.exam-name-setting{background:#f8fbfa;border:1px solid #dce8e5;border-radius:12px;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);align-items:center;gap:18px;margin:20px 24px 0;padding:16px;display:grid}.exam-name-setting label b,.exam-name-setting label span{display:block}.exam-name-setting label b{font-size:13px}.exam-name-setting label span{color:#81928e;margin-top:5px;font-size:10px;line-height:1.45}.exam-name-setting input{width:100%;height:42px;color:var(--ink);background:#fff;border:1px solid #d5e2df;border-radius:9px;outline:0;padding:0 12px}.exam-name-setting input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #08665b1a}.sidebar-note b{overflow-wrap:anywhere;line-height:1.35;display:block}.sidebar-note>svg{flex:none}@media (width<=600px){.exam-name-setting{grid-template-columns:1fr;gap:10px;margin:15px 17px 0}}.sidebar-close,.sidebar-backdrop{display:none}@media (width<=760px){.sidebar{z-index:22;box-shadow:18px 0 50px #00191547}.sidebar-backdrop{z-index:21;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#051e1a85;border:0;display:block;position:fixed;inset:0}.sidebar-close{color:#fff;background:#ffffff1a;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px}.sidebar-close:hover{background:#fff3}}:root{--brand:#0056b3;--brand-dark:#003f85;--ink:#173653;--muted:#70869a;--line:#dfe8f1;--surface:#fff;--canvas:#f3f7fb;--shadow:0 8px 30px #00418212}body{background:radial-gradient(circle at 80% -10%,#dcecff 0,transparent 31%),var(--canvas)}.sidebar{background:linear-gradient(#0056b3 0%,#003f85 100%);box-shadow:8px 0 30px #00306426}.sidebar nav button.active{box-shadow:inset 3px 0 #ffd15c}.sidebar-note{color:#ffd15c}.brand-mark{border-color:#fffffff2}.secondary{color:#315d86}.search:focus-within,.modal input:focus,.modal select:focus,.content-item input:focus,.exam-name-setting input:focus{border-color:#0056b3;box-shadow:0 0 0 3px #0056b31c}.summary-icon,.kpis span{color:#0056b3;background:#e4f0ff}.badge,.avg{color:#0056b3;background:#e7f1ff}.score-info{color:#0056b3;background:#edf5ff;border-color:#d5e8ff}.score-info div span{color:#5f7f9e}.autosave-dot{background:#1688df;box-shadow:0 0 0 4px #1688df1f}.score-table input:focus{border-color:#0056b3;box-shadow:0 0 0 3px #0056b31a}.score-table input.just-saved{background:#eef7ff;border-color:#1688df}.saved-label{background:#0056b3}.setting-icon.green{color:#0056b3;background:#e4f0ff}.content-item>span{color:#0056b3;background:#e6f1ff}.text-button{color:#0056b3}.level-toggle.active{background:#eef6ff;border-color:#8bb9eb}.level-toggle.active i,.rules>div span{background:#0056b3}.import-message{color:#075ba8;background:#eaf4ff}.award{color:#9a6700}@media (width<=760px){.sidebar{box-shadow:18px 0 50px #002a584d}.sidebar-backdrop{background:#00234985}}:root{--brand:#004fa5;--brand-dark:#002f68;--ink:#102f4d}.sidebar{background:linear-gradient(#004d9f 0%,#002f68 100%)}.primary{background:linear-gradient(135deg,#004a99,#0068c9);box-shadow:0 5px 15px #003f854d}.primary:hover{background:#003f85}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff24}.badge,.avg,.score-info{color:#004a99}.level-toggle.active i,.rules>div span{background:#004a99}@media (width<=950px) and (orientation:landscape),(orientation:landscape) and (height<=500px){.app-shell{display:block}.sidebar{z-index:22;transition:transform .22s;transform:translate(-100%);box-shadow:18px 0 50px #00234957}.sidebar.open{transform:translate(0)}main{width:100%}.menu-btn{display:block}.sidebar-backdrop{z-index:21;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#001d3d8f;border:0;display:block;position:fixed;inset:0}.sidebar-close{color:#fff;background:#ffffff1a;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px}.content{padding:18px 20px}header{height:68px;padding:0 20px}.sidebar nav{gap:4px;margin-top:18px}.sidebar nav button{padding-block:10px}.sidebar-note{padding:10px}.brand{padding-bottom:18px}}@media (width<=950px),(orientation:landscape) and (height<=500px){.scoring-panel .table-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;max-height:calc(100dvh - 84px);overflow:auto}.scoring-panel .score-table thead{position:relative}.scoring-panel .score-table thead th{z-index:6;background:#eaf2fa;position:sticky;top:0;box-shadow:0 1px #ccdbe9,0 5px 12px #003a7614}.scoring-panel .score-table thead th:first-child,.scoring-panel .score-table thead th:nth-child(2){z-index:8;background:#eaf2fa}.scoring-panel .score-table tbody td:first-child,.scoring-panel .score-table tbody td:nth-child(2){z-index:4}}@media (width<=950px) and (orientation:landscape),(orientation:landscape) and (height<=500px){.scoring-panel .table-wrap{max-height:calc(100dvh - 68px)}.scoring-panel .score-table thead th{height:55px;padding-block:8px}}.db-state{color:#73879a;align-items:center;gap:6px;margin-left:auto;margin-right:18px;font-size:9px;display:flex}.db-state i{background:#d1a334;border-radius:50%;width:7px;height:7px}.db-state i.online{background:#31a96b;box-shadow:0 0 0 4px #31a96b1a}.db-state i.offline{background:#dc6a61}@media (width<=760px){.db-state{margin-right:10px;font-size:0}.db-state i{width:8px;height:8px}}.content-item.dragging{z-index:20;opacity:.94;background:#eef6ff;border-radius:10px;box-shadow:0 10px 25px #003c7833}.content-item .drag-handle{color:#004a99;cursor:grab;touch-action:none;background:#e6f1ff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:1px;height:38px;display:flex}.content-item .drag-handle:active{cursor:grabbing}.content-item .drag-handle span{font-size:9px;font-weight:700}.content-item .drag-handle:hover{background:#d8eaff}.content-item .content-delete{color:#b65353;background:#fff0f0;border:0;border-radius:8px}.content-item .content-delete:hover{background:#ffe4e4}.confirm-modal{text-align:center;background:#fff;border-radius:17px;width:min(430px,100%);padding:28px;animation:.18s ease-out modal-in;box-shadow:0 25px 75px #001e3c4d}.confirm-icon{border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 15px;display:grid}.confirm-icon.delete{color:#b54848;background:#ffebeb}.confirm-icon.reset{color:#a56c13;background:#fff3d8}.confirm-modal h2{color:var(--ink);margin:0;font:800 19px Manrope}.confirm-modal>p{color:#647b8f;max-width:340px;margin:10px auto;font-size:11px;line-height:1.65}.confirm-warning{color:#718293;background:#f5f7f9;border-radius:8px;margin:17px 0;padding:9px;font-size:10px;font-weight:600}.confirm-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.confirm-actions button{border:0;border-radius:9px;min-height:42px;font-size:11px;font-weight:700}.confirm-danger{color:#fff;background:#c94747}.confirm-danger:hover{background:#af3737}.confirm-reset{color:#fff;background:#b97a16}.confirm-reset:hover{background:#9f6510}@media (width<=480px){.confirm-modal{padding:22px}.confirm-actions{grid-template-columns:1fr}.confirm-actions .secondary{order:2}}@media (width<=950px) and (orientation:landscape),(orientation:landscape) and (height<=500px){main:has(.scoring-panel){height:100dvh;overflow:hidden}main:has(.scoring-panel)>header{height:64px;position:relative;top:auto}main:has(.scoring-panel)>.content{height:calc(100dvh - 64px);padding:0;overflow:hidden}.scoring-panel{height:100%;box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex}.scoring-panel>.panel-head,.scoring-panel>.score-info,.scoring-panel>.sparring-off{display:none}.scoring-panel>.table-wrap{flex:auto;height:100%;min-height:0;max-height:none;overflow:auto}.scoring-panel .score-table{min-height:100%;margin:0}.scoring-panel .score-table thead th{top:0}.scoring-panel .score-table tbody tr:last-child td{border-bottom:1px solid var(--line);padding-bottom:18px}}@media (width<=760px){.sidebar{box-shadow:none}.sidebar.open{box-shadow:18px 0 50px #00234957}}@media (width<=950px) and (orientation:landscape),(orientation:landscape) and (height<=500px){.sidebar{box-shadow:none}.sidebar.open{box-shadow:18px 0 50px #00234957}}.settings-side{align-content:start;gap:20px;display:grid}.settings-side .rules{position:static}.danger-zone{padding:22px}.danger-zone h3{margin:0;font:800 15px Manrope}.danger-zone>p{color:#7b8d89;margin:6px 0 15px;font-size:10px;line-height:1.5}.danger-zone>button{text-align:left;justify-content:flex-start;width:100%;min-height:58px;margin-top:9px;padding:10px 12px}.danger-zone button span b,.danger-zone button span small{display:block}.danger-zone button span small{margin-top:3px;font-size:9px;font-weight:400}.reset-scores{color:#986619;background:#fffaf0;border:1px solid #e9d3a9;border-radius:9px;align-items:center;gap:10px;font-size:11px;font-weight:600;display:flex}.reset-scores:hover:not(:disabled){background:#fff2d8}.reset-scores:disabled{opacity:.45;cursor:not-allowed}.danger-zone .delete-all{font-size:11px}.maintenance-message{color:#075ba8;background:#eaf4ff;border-radius:8px;padding:9px 10px;font-size:10px;line-height:1.45}.content-sparring{cursor:pointer;background:#fff;border:1px solid #e1e8e7;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:16px;padding:12px;display:grid}.content-sparring.active{background:#eef6ff;border-color:#8bb9eb}.content-sparring span b,.content-sparring span small{display:block}.content-sparring span b{font-size:11px}.content-sparring span small{color:#7d8f8b;margin-top:4px;font-size:9px}.content-sparring input{display:none}.content-sparring>i{background:#cdd7d4;border-radius:20px;width:38px;height:21px;transition:all .2s;position:relative}.content-sparring>i:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0002}.content-sparring.active>i{background:#004a99}.content-sparring.active>i:after{transform:translate(17px)}.content-item{grid-template-columns:38px 22px 1fr 36px}.content-check{cursor:pointer;place-items:center;height:38px;display:grid}.content-item .content-check input{accent-color:#0056b3;cursor:pointer;width:18px;height:18px;margin:0;padding:0}.content-item.off>input{color:#9aa9b6;background:#f4f6f8;text-decoration:line-through}.auth-page{background:radial-gradient(circle at 20% 10%,#1d74d1 0,#0000 45%),linear-gradient(160deg,#004d9f 0%,#002f68 100%);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-loading{color:#fff;opacity:.85;font-size:13px}.auth-card{background:#fff;border-radius:20px;gap:4px;width:min(400px,100%);padding:30px 28px;display:grid;box-shadow:0 30px 80px #00193c59}.auth-card h1{color:var(--ink);margin:18px 0 0;font:800 22px Manrope}.auth-card>p{color:var(--muted);margin:4px 0 16px;font-size:11px}.auth-card label{color:#506963;gap:7px;margin-bottom:12px;font-size:11px;font-weight:600;display:grid}.auth-card input{border:1px solid #d9e4e1;border-radius:9px;outline:0;padding:12px;font-size:14px}.auth-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0056b31c}.auth-card .primary{background:var(--brand);min-height:46px;margin-top:6px;font-size:13px}.auth-card .primary:disabled{opacity:.6}.auth-brand,.picker-brand{align-items:center;gap:12px;display:flex}.auth-brand b,.picker-brand b{letter-spacing:.5px;color:var(--ink);font-family:Manrope;font-size:14px}.auth-brand span,.picker-brand span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.auth-brand .brand-mark,.picker-brand .brand-mark{border:1px solid var(--line);background:#fff;overflow:hidden}.auth-brand .brand-mark img,.picker-brand .brand-mark img{object-fit:contain;width:100%;height:100%}.form-error{color:#b24d4d;background:#fff0f0;border-radius:8px;margin-bottom:10px;padding:9px 11px;font-size:11px;line-height:1.45}.user-box{align-items:center;gap:6px;margin-left:auto;display:flex}.db-state+.user-box{margin-left:0}.user-box .user{margin-left:0;margin-right:4px}.icon-button{border:1px solid var(--line);color:#4d6880;cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{color:var(--brand);background:#eef5fc}.sidebar-actions{gap:4px;margin-top:10px;display:grid}.sidebar-actions button{color:#bcd3e8;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.sidebar-actions button:hover{color:#fff;background:#ffffff16}.picker-page{background:var(--canvas);min-height:100vh}.picker-page header{gap:12px}.picker-content{max-width:880px;margin:0 auto}.picker-tabs{gap:8px;margin-bottom:16px;display:flex}.picker-tabs button{border:1px solid var(--line);color:#4d6880;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:600;display:inline-flex}.picker-tabs button.active{background:var(--brand);border-color:var(--brand);color:#fff}.exam-create{border-bottom:1px solid var(--line);gap:10px;padding:16px 24px;display:flex}.exam-create input{border:1px solid #d9e4e1;border-radius:9px;outline:0;flex:1;min-width:0;padding:10px 12px;font-size:12px}.exam-create input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0056b31c}.exam-create .primary{white-space:nowrap;font-size:12px}.picker-error{margin:12px 24px 0}.exam-list{gap:10px;padding:16px 24px 24px;display:grid}.exam-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:6px;padding-right:10px;transition:border-color .15s,box-shadow .15s;display:flex}.exam-card:hover{border-color:#a9c8ea;box-shadow:0 6px 18px #00418214}.exam-open{text-align:left;cursor:pointer;min-width:0;color:var(--ink);background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:14px 8px 14px 14px;display:flex}.exam-open>span:nth-child(2){flex:1;min-width:0}.exam-open b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.exam-open small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.exam-open>svg{color:#9db3c8}.exam-icon{width:42px;height:42px;color:var(--brand);background:#e7f1ff;border-radius:12px;flex:none;place-items:center;display:grid}.exam-card .actions{gap:2px;display:flex}.role-badge{white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600}.role-badge.admin{color:#a3551a;background:#fdeee0}.role-badge.judge{color:#004a99;background:#e7f1ff}.role-badge.club{color:#298447;background:#e5f5ea}.modal select:disabled,.modal input:disabled{color:#7d8f9c;background:#f4f6f8}@media (width<=600px){.exam-create{flex-direction:column;padding:14px 16px}.exam-list{padding:14px 16px 18px}.picker-error{margin:12px 16px 0}.picker-brand span{display:none}}@media (width<=480px){.user-box .user{display:none}}.role-badge.theory{color:#6b3fb5;background:#f1eafd}.exam-edit{gap:10px;padding:10px 12px}.exam-edit input{min-width:0;color:var(--ink);border:1px solid #d9e4e1;border-radius:9px;outline:0;flex:1;padding:10px 12px;font-size:14px;font-weight:600}.exam-edit input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0056b31c}.exam-edit .primary,.exam-edit .secondary{white-space:nowrap;font-size:12px}.write-error{align-items:center;gap:9px;margin-bottom:16px;display:flex}.write-error span{flex:1}.write-error button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}@media (width<=600px){.exam-edit{flex-wrap:wrap}.exam-edit .exam-icon{display:none}.exam-edit input{flex-basis:100%}.exam-edit .primary,.exam-edit .secondary{flex:1}}.level-field{border:0;min-width:0;margin:0 0 16px;padding:0}.level-field legend{color:#506963;margin-bottom:7px;padding:0;font-size:11px;font-weight:600}.level-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.level-option{color:#3b5d57;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d9e4e1;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.level-option input{opacity:0;pointer-events:none;position:absolute}.level-option:hover{border-color:#a9c8ea}.level-option.active{border-color:var(--brand);color:var(--brand);background:#eef5fd}.level-option:focus-within{box-shadow:0 0 0 3px #0056b326}.level-tick{color:#fff;background:#fff;border:1.5px solid #b9c9d6;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;display:grid}.level-option.active .level-tick{border-color:var(--brand);background:var(--brand)}@media (width<=480px){.level-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.avatar{color:#0056b3;background:#e7f1ff;border:1px solid #dfe8f1;border-radius:6px;flex:none;place-items:center;padding:0;font-size:11px;font-weight:700;display:inline-grid;overflow:hidden}button.avatar{cursor:zoom-in}button.avatar:hover{border-color:var(--brand)}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.student-cell{align-items:center;gap:10px;min-width:0;display:flex}.photo-field{background:#f8fbfd;border:1px solid #e1e8ef;border-radius:12px;align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:flex}.photo-preview{color:#7fa3c9;background:#e7f1ff;border:1px solid #dfe8f1;border-radius:10px;flex:none;place-items:center;width:72px;height:96px;padding:0;display:grid;overflow:hidden}button.photo-preview{cursor:zoom-in}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-field b{color:var(--ink);font-size:12px;display:block}.photo-field small{color:#7d8f9c;margin-top:3px;font-size:10px;display:block}.photo-actions{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.photo-actions .secondary{cursor:pointer;min-height:34px;padding:7px 12px;font-size:11px}.photo-actions input{display:none}.photo-field .form-error{margin:8px 0 0}.club-permissions{padding:22px}.club-permissions h3{margin:0;font:800 15px Manrope}.club-permissions>p{color:#7b8d89;margin:6px 0 12px;font-size:10px;line-height:1.5}.permission-list{gap:8px;display:grid}.permission-list .empty{padding:18px 8px;font-size:12px}.permission-row{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.permission-row b{color:var(--ink);font-size:12px;display:block}.permission-row small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.permission-checks{gap:6px;display:flex}.permission-checks label{color:#506963;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #d9e4e1;border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:600;display:inline-flex}.permission-checks label.active{border-color:var(--brand);color:var(--brand);background:#eef5fd}.permission-checks input{width:14px;height:14px;accent-color:var(--brand);margin:0;padding:0}.modal .permission-list{margin-bottom:18px}.photo-viewer figure{justify-items:center;gap:10px;margin:0;display:grid;position:relative}.photo-viewer img{aspect-ratio:3/4;object-fit:contain;background:#0b2420;border-radius:12px;width:min(360px,80vw);max-height:78vh;box-shadow:0 24px 70px #001f1a5c}.photo-viewer figcaption{color:#fff;text-align:center;font-size:14px;font-weight:700}.photo-viewer figure>button{color:#173653;background:#fff;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:-14px;right:-14px;box-shadow:0 4px 14px #0004}.student-table .check-col{width:44px;padding-right:0}.student-table .check-col input{vertical-align:middle;width:17px;height:17px;accent-color:var(--brand);cursor:pointer;margin:0}.student-table tr.selected td{background:#f1f7ff}.selection-bar{color:#29507a;background:#eef5fd;border-bottom:1px solid #d5e5f7;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 24px;font-size:12px;display:flex}.selection-bar>span{margin-right:auto}.selection-bar b{color:var(--brand)}.selection-bar .primary,.selection-bar .secondary{padding:8px 13px;font-size:11px}.head-actions button:disabled,.selection-bar button:disabled{opacity:.55;cursor:not-allowed}@media (width<=760px){.selection-bar{padding:10px 14px}.selection-bar>span{flex-basis:100%}}.modal-actions .primary:disabled{opacity:.5;cursor:not-allowed}.permission-search{color:#78918c;background:#fff;border:1px solid #dce6e3;border-radius:9px;align-items:center;gap:8px;height:38px;padding:0 11px;display:flex}.permission-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #0056b31f}.permission-list .permission-search input{min-width:0;box-shadow:none;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:12px}.permission-search span{color:var(--muted);white-space:nowrap;font-size:10px}.modal .permission-list{max-height:min(60vh,520px);padding:2px;overflow:auto}.modal .permission-search{z-index:1;position:sticky;top:0}.permission-group{color:var(--ink);text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;margin:8px 0 0;font-size:11px;font-weight:700;display:flex}.permission-group span{color:var(--muted);text-transform:none;font-weight:600}.accounts-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1050px){.accounts-layout{grid-template-columns:minmax(0,1fr)}}.accounts-layout th,.accounts-layout td{padding-left:12px;padding-right:12px}.accounts-layout .panel-head .primary{white-space:nowrap}.accounts-layout .table-wrap table{min-width:0}
