:root{--g-black:#0a0a0a;--g-surface:#111;--g-surface-raised:#1a1a1a;--g-surface-hover:#1f1f1f;--g-border:#2563eb26;--g-border-hover:#2563eb4d;--g-border-active:#2563eb80;--g-blue:#2563eb;--g-blue-light:#3b82f6;--g-blue-dark:#1d4ed8;--g-blue-glow:#2563eb33;--g-blue-bg:#2563eb1a;--g-blue-bg-strong:#2563eb26;--g-text-primary:#fff;--g-text-secondary:#9ca3af;--g-text-muted:#6b7280;--g-text-accent:#2563eb;--g-green:#22c55e;--g-green-bg:#22c55e1a;--g-amber:#f59e0b;--g-amber-bg:#f59e0b1a;--g-red:#ef4444;--g-red-bg:#ef44441a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-glow:0 0 20px #2563eb1a;--shadow-glow-strong:0 0 40px #2563eb26;--sidebar-width:260px;--header-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--g-black);color:var(--g-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}:focus-visible{outline:2px solid var(--g-blue);outline-offset:2px}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.text-4xl{font-size:36px}.text-5xl{font-size:48px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.text-muted{color:var(--g-text-secondary)}.text-dim{color:var(--g-text-muted)}.text-accent{color:var(--g-text-accent)}.mono{font-family:var(--font-mono)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.w-full{width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade{animation:.3s fadeIn}.animate-slide{animation:.3s slideInLeft}.animate-pulse{animation:2s ease-in-out infinite pulse}.sidebar-overlay{z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}.mobile-menu-btn{background:var(--g-surface-raised);border:1px solid var(--g-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--g-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:none}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.grid-stats-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.grid-2col{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3col{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.grid-form-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-rank-row{grid-template-columns:50px 1fr 120px 100px;align-items:center;display:grid}.grid-rhythm-row{grid-template-columns:180px 1fr 80px 80px;align-items:center;gap:12px;display:grid}.grid-scoring{grid-template-columns:1fr 1fr;gap:12px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;display:flex}.filter-bar{-webkit-overflow-scrolling:touch;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.tender-meta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tender-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.notif-dropdown{background:var(--g-surface);border:1px solid var(--g-border);border-radius:var(--radius-lg);z-index:100;width:320px;max-height:400px;position:absolute;top:48px;right:0;overflow:auto;box-shadow:0 8px 32px #0006}.clock-area{text-align:right}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (width<=1024px){:root{--sidebar-width:220px}.grid-stats-4{grid-template-columns:repeat(2,1fr)}.grid-2col{grid-template-columns:1fr}.grid-3col{grid-template-columns:1fr 1fr 1fr}.grid-scoring{grid-template-columns:1fr}.grid-rank-row{grid-template-columns:40px 1fr 80px 70px}.grid-rhythm-row{grid-template-columns:140px 1fr 60px 60px}}@media (width<=768px){:root{--sidebar-width:280px}.sidebar{z-index:999;box-shadow:none;transition:transform .3s cubic-bezier(.4,0,.2,1);top:0;left:0;transform:translate(-100%);position:fixed!important}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #00000080}.mobile-menu-btn{display:flex}.mobile-header-bar{align-items:center;gap:12px;display:flex!important}.main-content{padding:16px!important}.page-header{flex-direction:column;gap:12px}.page-header>:last-child{align-self:flex-start}.grid-stats,.grid-stats-4{grid-template-columns:repeat(2,1fr);gap:10px}.grid-2col{grid-template-columns:1fr;gap:14px}.grid-3col{grid-template-columns:1fr;gap:12px}.grid-form-2col,.grid-scoring{grid-template-columns:1fr}.grid-rank-row{grid-template-columns:36px 1fr 60px}.grid-rank-row .rank-progress{display:none}.grid-rhythm-row{grid-template-columns:1fr 80px;gap:8px}.grid-rhythm-row .rhythm-bar,.grid-rhythm-row .rhythm-fraction{display:none}.notif-dropdown{width:auto;position:fixed;top:60px;left:8px;right:8px}.tender-actions{flex-wrap:wrap;gap:6px}.clock-area{display:none}.filter-bar{flex-wrap:nowrap;width:100%}}@media (width<=480px){.main-content{padding:12px!important}.grid-stats,.grid-stats-4{grid-template-columns:1fr 1fr;gap:8px}.grid-3col{grid-template-columns:1fr}h1{font-size:22px!important}.tender-header{flex-direction:column;gap:10px}.tender-actions{justify-content:flex-start}}
