@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.0h2amv7e1wlhq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_7af210d2-module__mKzL6q__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_7af210d2-module__mKzL6q__variable{--font-bebas:"Bebas Neue", "Bebas Neue Fallback"}
@font-face{font-family:Rajdhani;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2eb68ca3218a02cb-s.0.pr~y15nbo5c.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b42ec850a5800c72-s.0g37a-ht2qjy5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a10c617c9026098c-s.p.0nz5b083iggxh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:400;font-display:swap;src:url(../media/906d1c14d86e79d2-s.0-i1s-24qk5t1.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc822924a6b60314-s.03-5x1y2wcd2m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-weight:400;font-display:swap;src:url(../media/278cbb97e75e04e2-s.p.0.yvvm36aa76d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e9924293c1dc5ea7-s.0z0a7anmcprth.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(../media/10bd139a632d728f-s.05k2ert78.0_h.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a079e02bba5bf7ab-s.p.0.s85e2kacc1m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(../media/65c1f6eb17b9caea-s.0c8m9.w4oy~1r.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(../media/124b7a75a76bd55c-s.0h_k275rw8img.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d23f31b94ad01e54-s.p.091biwio0g5wn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(../media/63e49db46351d020-s.0ta1d1gw2mpw9.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(../media/35f9213b86bccda4-s.0-a587c3ipsmj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3206eb66b875a5b3-s.p.0newl065t398d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani Fallback;src:local(Arial);ascent-override:102.12%;descent-override:37.99%;line-gap-override:0.0%;size-adjust:91.07%}.rajdhani_188cef8e-module__Y4IqDG__className{font-family:Rajdhani,Rajdhani Fallback;font-style:normal}.rajdhani_188cef8e-module__Y4IqDG__variable{--font-rajdhani:"Rajdhani", "Rajdhani Fallback"}
:root{--primary:#d32f2f;--primary-dark:#9a0007;--primary-light:#ff6659;--secondary:#1a1a1a;--accent:gold;--bg-main:#0a0a0a;--bg-card:#1a1a1a;--bg-hover:#252525;--text-primary:#fff;--text-secondary:#b0b0b0;--border:#333;--success:#4caf50;--warning:#ff9800;--danger:#f44336}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-main);color:var(--text-primary);background-image:radial-gradient(circle at 20%,#d32f2f1a 0%,#0000 50%),radial-gradient(circle at 80% 80%,#ffd7000d 0%,#0000 50%);min-height:100vh;font-family:Rajdhani,sans-serif}.app-container{flex-direction:column;min-height:100vh;display:flex}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"戦";color:#d32f2f08;pointer-events:none;z-index:0;font-family:Bebas Neue,cursive;font-size:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-15deg)}.login-box{background:var(--bg-card);box-shadow:0 0 0 1px var(--border), 0 20px 60px #00000080, inset 0 1px 0 #ffffff0d;z-index:1;border-radius:4px;width:100%;max-width:440px;padding:50px 40px;animation:.6s ease-out slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.logo{color:var(--primary);letter-spacing:4px;text-shadow:2px 2px 0 var(--primary-dark);margin-bottom:8px;font-family:Bebas Neue,cursive;font-size:56px}.logo-subtitle{color:var(--text-secondary);letter-spacing:3px;text-transform:uppercase;font-size:14px;font-weight:300}.form-group{margin-bottom:24px}label{letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.feature-card-hover:hover{transform:translateY(-10px);border-color:var(--primary)!important;background:#e639460d!important}@media (max-width:768px){.hero-section{text-align:center;padding-top:120px}}input{background:var(--bg-main);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:2px;padding:14px 16px;font-family:Rajdhani,sans-serif;font-size:16px;transition:all .3s}input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #d32f2f1a}.btn{background:var(--primary);color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;width:100%;padding:16px;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.btn:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:hover:before{width:300px;height:300px}.btn:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:0 8px 20px #d32f2f66}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{border-left:3px solid var(--danger);color:var(--danger);background:#f443361a;border-radius:2px;margin-bottom:20px;padding:12px 16px;font-size:14px}.success-message{border-left:3px solid var(--success);color:var(--success);background:#4caf501a;border-radius:2px;margin-bottom:20px;padding:12px 16px;font-size:14px}.header{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:70px;padding:0 30px;display:flex;box-shadow:0 2px 10px #0000004d}.header-logo{color:var(--primary);letter-spacing:3px;text-shadow:1px 1px 0 var(--primary-dark);font-family:Bebas Neue,cursive;font-size:32px}.header-user{align-items:center;gap:20px;display:flex}.user-info{text-align:right}.user-email{color:var(--text-secondary);font-size:14px}.btn-logout{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:2px;padding:10px 20px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:600;transition:all .3s}.btn-logout:hover{background:var(--primary);border-color:var(--primary)}.main-layout{flex:1;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;width:280px;padding:30px 0;display:flex}.nav-menu{list-style:none}.nav-item{margin-bottom:2px}.nav-link{color:var(--text-secondary);letter-spacing:.5px;cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:12px;width:100%;padding:10px 30px;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--bg-hover);color:var(--primary);border-left-color:var(--primary)}.nav-icon{font-size:20px}.content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:40px;overflow-y:auto}.page-header{margin-bottom:40px}.page-title{color:var(--text-primary);letter-spacing:2px;margin-bottom:8px;font-family:Bebas Neue,cursive;font-size:42px}.page-subtitle{color:var(--text-secondary);font-size:15px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:40px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:24px;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:3px;position:absolute;top:0;left:0;right:0}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0006}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:13px}.stat-value{color:var(--primary);letter-spacing:1px;font-family:Bebas Neue,cursive;font-size:48px}.action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.search-box{flex:1;max-width:400px}.search-box input{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:2px;padding:12px 16px}.btn-primary{background:var(--primary);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:2px;padding:12px 24px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-primary:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:0 6px 16px #d32f2f66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;overflow:hidden}table{border-collapse:collapse;width:100%}thead{background:var(--bg-main)}th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);padding:16px 20px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);padding:16px 20px;font-size:15px}tr:last-child td{border-bottom:none}tbody tr{transition:background .2s}tbody tr:hover{background:var(--bg-hover)}.badge{letter-spacing:.5px;text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.badge-success{color:var(--success);background:#4caf5033}.badge-warning{color:var(--warning);background:#ff980033}.badge-danger{color:var(--danger);background:#f4433633}.badge-info{color:#2196f3;background:#2196f333}.badge-secondary{color:var(--text-secondary);background:#96969633}.modal-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;width:100%;max-width:800px;max-height:90vh;animation:.3s slideUp;overflow-y:auto;box-shadow:0 20px 60px #0009}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:30px;display:flex}.modal-title{color:var(--primary);letter-spacing:2px;font-family:Bebas Neue,cursive;font-size:32px}.btn-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;transition:color .3s;display:flex}.btn-close:hover{color:var(--text-primary)}.modal-body{padding:30px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.form-group-full{grid-column:1/-1}select,textarea{background:var(--bg-main);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:2px;padding:14px 16px;font-family:Rajdhani,sans-serif;font-size:16px;transition:all .3s}select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #d32f2f1a}textarea{resize:vertical;min-height:100px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:20px 30px;display:flex}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:12px 24px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-secondary:hover{background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;padding:12px 24px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-danger:hover{background:#c62828;transform:translateY(-2px);box-shadow:0 6px 16px #f4433666}.action-buttons{gap:8px;display:flex}.btn-icon{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:8px 12px;font-size:14px;transition:all .3s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.checkbox-list{border:1px solid var(--border);background:var(--bg-main);border-radius:2px;max-height:200px;padding:12px;overflow-y:auto}.checkbox-item{border-radius:2px;align-items:center;gap:10px;margin-bottom:8px;padding:8px;transition:background .2s;display:flex}.checkbox-item:hover{background:var(--bg-hover)}.checkbox-item input[type=checkbox]{cursor:pointer;width:auto}.checkbox-item label{cursor:pointer;text-transform:none;color:var(--text-primary);margin:0;font-weight:400}.turma-badges{flex-wrap:wrap;gap:6px;display:flex}.turma-badge{border:1px solid var(--primary);color:var(--primary);background:#d32f2f33;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.empty-state-icon{opacity:.3;margin-bottom:20px;font-size:64px}.empty-state-text{margin-bottom:24px;font-size:18px}.loading{text-align:center;color:var(--text-secondary);padding:40px}@media (max-width:768px){.sidebar{z-index:100;transition:left .3s;position:fixed;top:70px;bottom:0;left:-280px}.sidebar.open{left:0}.content{padding:20px}.header{padding:0 20px}.stats-grid{grid-template-columns:1fr}.action-bar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.table-container{overflow-x:auto}table{min-width:600px}.modal{margin:20px}.form-grid{grid-template-columns:1fr}}.progress-container{background:#ffffff1a;border-radius:4px;width:100%;height:8px;margin:10px 0;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--primary), var(--accent));height:100%;transition:width .5s ease-out}.version-display{color:var(--text-secondary);opacity:.5;border-top:1px solid #ffffff0d;margin-top:auto;padding:20px 30px;font-size:11px}.profile-section{border-bottom:1px solid var(--border);padding:15px 0}.profile-section:last-child{border-bottom:none}.profile-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:8px;font-size:12px}.profile-value{font-size:16px;font-weight:600}.changelog-box{white-space:pre-wrap;max-height:300px;color:var(--text-secondary);background:#0003;border-radius:4px;padding:15px;font-size:14px;line-height:1.6;overflow-y:auto}
