@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.top-1\/4{top:25%}.left-1\/2{left:50%}.z-10{z-index:10}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-\[2px\]{height:2px}.h-\[500px\]{height:500px}.h-\[520px\]{height:520px}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-\[520px\]{width:520px}.w-full{width:100%}.max-w-\[160px\]{max-width:160px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--accent-blue\)\]{border-color:var(--accent-blue)}.border-\[var\(--border\)\],.border-\[var\(--border\)\]\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--border\)\]\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-\[var\(--border-bright\)\]\/60{border-color:var(--border-bright)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--border-bright\)\]\/60{border-color:color-mix(in oklab, var(--border-bright) 60%, transparent)}}.border-transparent{border-color:#0000}.bg-\[var\(--bg-base\)\]{background-color:var(--bg-base)}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--accent-blue\)\]{--tw-gradient-from:var(--accent-blue);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[var\(--accent-blue\)\]{--tw-gradient-via:var(--accent-blue);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[var\(--accent-purple\)\]{--tw-gradient-to:var(--accent-purple);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-60{opacity:.6}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-\[var\(--border-bright\)\]:hover{border-color:var(--border-bright)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:scale-105:focus{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.focus\:border-\[var\(--accent-blue\)\]:focus{border-color:var(--accent-blue)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\[var\(--accent-blue\)\]\/30:focus{--tw-ring-color:var(--accent-blue)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-\[var\(--accent-blue\)\]\/30:focus{--tw-ring-color:color-mix(in oklab, var(--accent-blue) 30%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:root{--bg-base:#06080e;--bg-card:#0b0f19;--bg-card-hover:#111726;--bg-elevated:#151d30;--border:#18233c;--border-bright:#253860;--sidebar-width:256px;--header-height:60px;--accent-blue:#3b82f6;--accent-blue-dim:#3b82f61a;--accent-green:#10b981;--accent-green-dim:#10b98118;--accent-amber:#f59e0b;--accent-amber-dim:#f59e0b18;--accent-red:#ef4444;--accent-red-dim:#ef444418;--accent-purple:#8b5cf6;--accent-purple-dim:#8b5cf618;--accent-cyan:#06b6d4;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#475569}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a4f70}code,pre,.mono{font-family:JetBrains Mono,Fira Code,monospace}.mobile-header{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-menu-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.mobile-menu-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.mobile-logo{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}@media (min-width:768px){.mobile-header{display:none}}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#0009;display:block;position:fixed;inset:0}@media (min-width:768px){.sidebar-overlay{display:none}}.sidebar{height:100%;width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);z-index:70;transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}@media (min-width:768px){.sidebar{flex-shrink:0;height:100vh;position:sticky;top:0;overflow-y:auto;transform:translate(0)}}.sidebar-inner{flex-direction:column;height:100%;padding:16px;display:flex}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding:8px 8px 20px;display:flex}.logo-icon{background:linear-gradient(135deg, var(--accent-blue), #7c3aed);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.logo-text{letter-spacing:-.3px;flex:1;font-size:15px;font-weight:800}.sidebar-close-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.sidebar-close-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}@media (min-width:768px){.sidebar-close-btn{display:none}}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.sidebar-footer-info{align-items:center;gap:8px;padding:4px 8px;display:flex}.footer-dot{background:var(--accent-green);width:7px;height:7px;box-shadow:0 0 6px var(--accent-green);border-radius:50%;animation:2s ease-in-out infinite pulse-glow}.main-content{flex:1;overflow:hidden auto}@media (min-width:768px){body{flex-direction:row;height:100vh;overflow:hidden}.main-content{height:100vh;overflow-y:auto}}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px -2px #00000080}.glass-card:hover{border-color:var(--border-bright);background:var(--bg-card-hover);box-shadow:0 8px 30px -4px #000000b3}.badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}.badge-blue{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid #3b7fff30}.badge-green{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #22c55e30}.badge-amber{background:var(--accent-amber-dim);color:var(--accent-amber);border:1px solid #f59e0b30}.badge-red{background:var(--accent-red-dim);color:var(--accent-red);border:1px solid #ef444430}.badge-purple{background:var(--accent-purple-dim);color:var(--accent-purple);border:1px solid #a855f730}.badge-gray{color:var(--text-secondary);border:1px solid var(--border);background:#1a22368a}.badge-cyan{color:var(--accent-cyan);background:#06b6d415;border:1px solid #06b6d430}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:9px;outline:none;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover:not(:disabled){background:#5c96ff;transform:translateY(-1px);box-shadow:0 4px 20px #3b7fff44}.btn-success{color:#fff;background:#16a34a}.btn-success:hover:not(:disabled){background:#15803d;transform:translateY(-1px)}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-bright)}.btn-sm{border-radius:7px;gap:4px;padding:5px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}.kanban-col{border:1px solid var(--border);background:#090c12;border-radius:14px;flex:1;min-width:220px;padding:16px}.kanban-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:8px;padding:12px 14px;transition:all .15s}.kanban-card:hover{border-color:var(--accent-blue);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 4px 16px #3b7fff22}.score-ring{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:13px;font-weight:700;display:flex}.nav-item{color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.nav-item.active{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid #3b7fff28}.glow-blue{box-shadow:0 0 24px #3b7fff2a}.glow-green{box-shadow:0 0 24px #22c55e2a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #22c55e66}50%{box-shadow:0 0 18px #22c55eaa}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadein{animation:.3s forwards fadeIn}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-elevated) 50%, var(--bg-card) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s infinite shimmer}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.show-mobile-only{display:none!important}}.page-content{max-width:100%;padding:24px 16px}@media (min-width:768px){.page-content{padding:32px}}@media (min-width:1280px){.page-content{padding:40px 48px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
