@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";
:root{--primary:#7c6fe0;--primary-dark:#5b4fd4;--primary-light:#9b8fef;--primary-tint:#eae8fd;--teal:#3db88b;--navy:#2d2d5e;--bg-app:#f5f4fd;--bg-card:#fff;--text-base:#1a1a3e;--text-muted:#8b8bae;--shadow-card:0 8px 32px #7c6fe01a;--shadow-btn:0 8px 24px #5b4fd459;--radius-card:20px;--radius-pill:100px;--sidebar-width:260px}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;font-family:Nunito,sans-serif}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-app);color:var(--text-base);overscroll-behavior:none;min-height:100dvh;margin:0;padding:0;overflow-x:hidden}@media (min-width:768px){body{background:#e8e6f5}}input,select,textarea{font-family:Nunito,sans-serif;font-size:16px!important}.app-wrapper{background:var(--bg-app);min-height:100dvh;position:relative;overflow-x:hidden}@media (min-width:768px){.app-wrapper{box-shadow:0 0 60px #0000001a}}.page-header{color:#fff;background:linear-gradient(135deg,#9b8fef 0%,#5b4fd4 100%);border-radius:0 0 32px 32px;padding:48px 24px 72px;position:relative;overflow:hidden}@media (min-width:768px){.page-header{padding:52px 32px 72px}}@media (min-width:1024px){.page-header{border-radius:0 0 36px 36px;padding:48px 40px 72px}}.page-header:before{content:"";background:#ffffff1a;border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;right:-30px}.page-header:after{content:"";background:#ffffff12;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-40px;left:-20px}.page-header .label{opacity:.7;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.page-header h1{margin:4px 0 0;font-size:26px;font-weight:800}.page-header p{opacity:.75;margin:6px 0 0;font-size:14px}.card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:none;margin-bottom:12px;padding:20px;animation:.35s both slideUp}.card:first-child{animation-delay:0s}.card:nth-child(2){animation-delay:60ms}.card:nth-child(3){animation-delay:.12s}.card:nth-child(4){animation-delay:.18s}.card:nth-child(5){animation-delay:.24s}.card:nth-child(6){animation-delay:.3s}.card:nth-child(7){animation-delay:.36s}.card:nth-child(8){animation-delay:.42s}.card-dark{color:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#2d2d5e 0%,#1a2459 100%);border:none;margin-bottom:12px;padding:20px;animation:.35s both slideUp}.card-purple{color:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#9b8fef 0%,#5b4fd4 100%);border:none;margin-bottom:12px;padding:20px;animation:.35s both slideUp}.btn-primary{color:#fff;border-radius:var(--radius-pill);width:100%;height:52px;box-shadow:var(--shadow-btn);cursor:pointer;background:linear-gradient(135deg,#9b8fef 0%,#5b4fd4 100%);border:none;justify-content:center;align-items:center;gap:8px;padding:0 32px;font-size:15px;font-weight:700;transition:transform .1s,box-shadow .1s;display:inline-flex}.btn-primary:active{box-shadow:none;transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (min-width:768px){.btn-primary--inline{width:auto}}.btn-ghost{background:var(--primary-tint);color:var(--primary);border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 24px;font-size:14px;font-weight:700;transition:transform .1s;display:inline-flex}.btn-ghost:active{transform:scale(.97)}.btn-danger-ghost{color:#ff6b6b;border-radius:var(--radius-pill);cursor:pointer;background:#ffeaea;border:none;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 16px;font-size:13px;font-weight:700;transition:transform .1s;display:inline-flex}.btn-danger-ghost:active{transform:scale(.97)}.btn-icon{cursor:pointer;background:var(--primary-tint);width:40px;height:40px;color:var(--primary);border:none;border-radius:12px;justify-content:center;align-items:center;transition:transform .1s,background .15s;display:flex}.btn-icon:hover{background:#ddd8fc}.btn-icon:active{transform:scale(.93)}.input-field{width:100%;color:var(--text-base);background:#fff;border:2px solid #eeeef5;border-radius:14px;outline:none;min-height:48px;padding:14px 16px;font-size:15px;font-weight:600;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-tint)}.input-field::placeholder{color:var(--text-muted);font-weight:400}.input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.bottom-nav{z-index:100;background:#fff;border-top:1px solid #eeeef5;justify-content:space-around;align-items:center;width:100%;max-width:640px;padding:10px 0 24px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #7c6fe014}@media (min-width:768px){.bottom-nav{border-radius:24px 24px 0 0}}.nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:56px;min-height:44px;padding:4px 12px;font-size:10px;font-weight:700;transition:color .15s;display:flex;position:relative}.nav-item:hover{color:var(--primary-light)}.nav-item.active{color:var(--primary)}.nav-item.active:after{content:"";background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:0}.nav-fab{color:#fff;border:4px solid var(--bg-app);cursor:pointer;background:linear-gradient(135deg,#9b8fef,#5b4fd4);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-top:-28px;transition:transform .15s;display:flex;box-shadow:0 6px 20px #5b4fd466}.nav-fab:active{transform:scale(.92)}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.badge-gray{color:#8b8bae;background:#f0f0f7}.badge-amber{color:#f0a500;background:#fff4e0}.badge-green{color:#3db88b;background:#e0f7f0}.badge-red{color:#ff6b6b;background:#ffeaea}.badge-purple{background:var(--primary-tint);color:var(--primary)}.company-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;text-align:left;background:#fff;border:none;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:16px 20px;transition:transform .2s,box-shadow .2s;animation:.35s both slideUp;display:flex}.company-card:hover{box-shadow:0 12px 40px #7c6fe029}.company-card:active{transform:scale(.98)}.company-card:first-child{animation-delay:0s}.company-card:nth-child(2){animation-delay:60ms}.company-card:nth-child(3){animation-delay:.12s}.company-card:nth-child(4){animation-delay:.18s}.company-card:nth-child(5){animation-delay:.24s}.company-icon{background:var(--primary-tint);width:48px;height:48px;color:var(--primary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.score-display{color:var(--primary);text-align:center;letter-spacing:-2px;margin-bottom:8px;font-size:48px;font-weight:800;line-height:1}.score-display span{color:var(--text-muted);letter-spacing:0;font-size:20px;font-weight:600}input[type=range]{-webkit-appearance:none;border-radius:var(--radius-pill);background:var(--primary-tint);outline:none;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--primary);cursor:pointer;background:#fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #7c6fe04d}input[type=range]::-moz-range-thumb{border:3px solid var(--primary);cursor:pointer;background:#fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #7c6fe04d}.sheet-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#1d1d3e73;animation:.2s fadeIn;position:fixed;inset:0}.bottom-sheet{z-index:210;background:#fff;border-radius:28px 28px 0 0;width:100%;max-width:430px;max-height:85vh;padding:12px 24px 32px;animation:.3s slideUp;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}@media (min-width:768px){.bottom-sheet{border-radius:24px;max-width:480px;max-height:80vh;animation:.25s modalIn;top:50%;bottom:auto;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0003}}.sheet-handle{background:#e0e0f0;border-radius:100px;width:40px;height:4px;margin:0 auto 20px}@media (min-width:768px){.sheet-handle{display:none}}.admin-sidebar{z-index:300;background:#fff;width:280px;height:100dvh;padding:24px 0;animation:.25s sidebarIn;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:8px 0 40px #0000001f}.sidebar-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:290;background:#1d1d3e73;animation:.2s fadeIn;position:fixed;inset:0}.admin-desktop-sidebar{display:none}@media (min-width:1024px){.admin-desktop-sidebar{width:var(--sidebar-width);z-index:50;height:100dvh;transform:translateX(-50%) translateX(calc(-50vw + var(--sidebar-width) / 2));background:#fff;border-right:1px solid #eeeef5;flex-direction:column;padding:24px 0;display:flex;position:fixed;top:0;left:50%;overflow-y:auto}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sidebarIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.progress-bar-bg{border-radius:var(--radius-pill);background:#fff3;width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-pill);background:#fff;height:100%;transition:width .7s}.progress-bar-bg-muted{background:var(--primary-tint);border-radius:var(--radius-pill);width:100%;height:8px;overflow:hidden}.progress-bar-fill-purple{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--primary-light), var(--primary-dark));height:100%;transition:width .7s}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d0d0e8;border-radius:100px}.skeleton{background:linear-gradient(90deg,#eeeef5 25%,#f5f4fd 50%,#eeeef5 75%) 0 0/200% 100%;border-radius:12px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rank-number{color:var(--primary);text-align:center;min-width:44px;font-size:32px;font-weight:800;line-height:1}.score-chip{border-radius:var(--radius-pill);cursor:pointer;border:none;min-height:34px;padding:6px 14px;font-size:13px;font-weight:700;transition:transform .1s}.score-chip:active{transform:scale(.93)}.score-chip-active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #7c6fe04d}.score-chip-inactive{color:var(--text-muted);background:#f0f0f7}.stat-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.locked-banner{background:#e0f7f0;border:1px solid #b8e8d8;border-radius:16px;align-items:center;gap:14px;margin-bottom:16px;padding:16px 20px;animation:.35s both slideUp;display:flex}.criterion-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff;margin-bottom:14px;padding:24px 20px;animation:.35s both slideUp}.toggle-item{cursor:pointer;text-align:left;background:#fff;border:2px solid #eeeef5;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;transition:all .15s;display:flex}.toggle-item:hover{border-color:#d0d0e8}.toggle-item.selected{border-color:var(--primary);background:var(--primary-tint)}.toggle-check{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.toggle-check-off{background:#eeeef5}.toggle-check-on{background:var(--primary);color:#fff}.judge-container{max-width:100%;margin:0 auto;padding-left:20px;padding-right:20px}@media (min-width:768px){.judge-container{max-width:640px;padding-left:24px;padding-right:24px}}@media (min-width:1200px){.judge-container{max-width:720px}}.admin-content{padding:0;transition:margin-left .3s}@media (min-width:1024px){.admin-content{margin-left:var(--sidebar-width)}}.admin-inner{margin-top:-20px;padding:0 20px}@media (min-width:768px){.admin-inner{padding:0 28px}}@media (min-width:1024px){.admin-inner{max-width:960px;padding:0 36px}}@media (min-width:1400px){.admin-inner{max-width:1100px}}.grid-responsive{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:768px){.grid-responsive{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media (min-width:1200px){.grid-responsive{gap:16px}}.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:768px){.grid-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}.grid-companies{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:768px){.grid-companies{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.grid-criteria{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (min-width:1024px){.grid-criteria{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.login-wrapper{background:var(--bg-app);flex-direction:column;min-height:100dvh;display:flex}@media (min-width:768px){.login-wrapper{justify-content:center;align-items:center;padding:40px 20px}}.login-card-container{flex:1;margin-top:-48px;padding:0 24px}@media (min-width:768px){.login-card-container{flex:none;width:100%;max-width:440px;margin-top:0}}.login-header{text-align:center;width:100%}@media (min-width:768px){.login-header{max-width:440px;border-radius:24px 24px 0 0!important;padding-bottom:60px!important}}.admin-topbar{z-index:50;background:#fff;border-bottom:1px solid #eeeef5;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}@media (min-width:1024px){.admin-topbar{display:none}}.desktop-sidebar{display:none}@media (min-width:1024px){.desktop-sidebar{width:var(--sidebar-width);z-index:50;background:#fff;border-right:1px solid #eeeef5;flex-direction:column;height:100dvh;padding:24px 0;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.admin-page-header{border-radius:0 0 36px 36px}}
