@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.z-10{z-index:10}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.w-fit{width:fit-content}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.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}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.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-\[\#ef4444\]{border-color:#ef4444}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-\[\#ef4444\]{background-color:#ef4444}.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))}.from-\[\#ef4444\]{--tw-gradient-from:#ef4444;--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))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.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}.break-all{word-break:break-all}.text-\[\#ef4444\]{color:#ef4444}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-40{opacity:.4}.shadow-\[\#ef4444\]\/10{--tw-shadow-color:#ef44441a}@supports (color:color-mix(in lab, red, red)){.shadow-\[\#ef4444\]\/10{--tw-shadow-color:color-mix(in oklab,lab(55.7853% 65.6165 40.7976/.1) var(--tw-shadow-alpha),transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\!filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;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)}@media (hover:hover){.hover\:bg-\[\#d93a3a\]:hover{background-color:#d93a3a}.hover\:underline:hover{text-decoration-line:underline}}:root{--bg-base:#f3f4f6;--bg-gradient:linear-gradient(135deg,#e1e8f4 0%,#fbf9f9 100%);--bg-panel:#ffffffd9;--bg-panel-deep:#ffffffe6;--bg-sidebar:#f8f9fca6;--bg-input:#ffffffb3;--border-subtle:#00000012;--border-medium:#0000001f;--text-primary:#181d25;--text-secondary:#5a6272;--text-placeholder:#9da3af;--text-inverse:#fff;--accent-red:#da1b1b;--accent-red-hover:#bf1818;--accent-red-active:#ac1515;--accent-red-subtle:#da1b1b1a;--accent-red-border:#da1b1b4d;--success:#279b6b;--success-subtle:#279b6b1a;--warning:#eb980a;--warning-subtle:#eb980a1a;--info:#1a80e6;--info-subtle:#1a80e61a;--danger:#da1b1b;--danger-subtle:#da1b1b1a;--shadow-glass:0 2px 16px #00000012,0 0 0 1px var(--border-subtle);--shadow-elevated:0 8px 40px #0000001f,0 0 0 1px var(--border-medium);--shadow-sm:0 1px 4px #0000000f;--font-ui:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--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-16:64px;--sidebar-width:240px;--sidebar-collapsed:64px;--topbar-height:56px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--ease-snap:cubic-bezier(.22,1,.36,1);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s}[data-theme=dark]{--bg-base:#15181e;--bg-gradient:linear-gradient(135deg,#2a3246 0%,#0c111d 100%);--bg-panel:#1a1d23d9;--bg-panel-deep:#22262fe6;--bg-sidebar:#15181e99;--bg-input:#22262fb3;--border-subtle:#ffffff14;--border-medium:#ffffff24;--text-primary:#f0f1f5;--text-secondary:#8d95a5;--text-placeholder:#5c6370;--accent-red:#ea3e3e;--accent-red-hover:#e72323;--accent-red-active:#d31717;--accent-red-subtle:#ea3e3e1f;--accent-red-border:#ea3e3e59;--success:#37be86;--success-subtle:#37be861f;--warning:#f4ae34;--warning-subtle:#f4ae341f;--info:#4799eb;--info-subtle:#4799eb1f;--shadow-glass:0 2px 20px #00000059,0 0 0 1px var(--border-subtle);--shadow-elevated:0 8px 48px #00000080,0 0 0 1px var(--border-medium);--shadow-sm:0 1px 4px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--duration-slow)var(--ease-snap),color var(--duration-slow)var(--ease-snap)}[data-theme=light] .dark-mode-only,[data-theme=dark] .light-mode-only{display:none!important}@media (min-width:851px){.mobile-only{display:none!important}}@media (max-width:850px){.desktop-only{display:none!important}.responsive-grid{gap:var(--space-5)!important;flex-direction:column!important;display:flex!important}[class*=dashboard-grid]{flex-direction:column!important;display:flex!important}:root{--sidebar-width:280px}.sidebar-mobile{z-index:10000;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 50px #0000004d;transition:transform .3s var(--ease-snap)!important;position:fixed!important}.sidebar-mobile.open{transform:translate(0)}.mobile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0006;position:fixed;inset:0}}@media (max-width:1200px){.hide-search{display:none!important}}.ai-container{flex:1;min-height:0;display:flex;overflow:visible}.ai-sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;width:300px;min-height:0;display:flex}.ai-chat-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow:visible}@media (max-width:850px){.ai-container{flex-direction:column;min-height:0;overflow:visible}.ai-sidebar{width:100%;padding:var(--space-4);background:0 0;border-right:none;flex-shrink:0;height:auto}.ai-sidebar-island{margin-bottom:var(--space-2);box-shadow:none!important;padding:var(--space-2)0!important;background:0 0!important;border:none!important;border-radius:0!important}.ai-chat-area{flex:1;min-height:0;overflow:visible!important}}.dashboard-grid-3{gap:var(--space-5);align-items:flex-start;display:grid}@media (min-width:851px){.dashboard-grid-3[data-columns="3"]{grid-template-columns:1.2fr 1.1fr 340px}.dashboard-grid-3[data-columns="2"]{grid-template-columns:1fr 1.5fr!important}@media (max-width:1400px){.dashboard-grid-3[data-columns="3"]{grid-template-columns:1fr 340px!important}.dashboard-grid-3[data-columns="3"] .col-ops{order:3;grid-column:span 2}}}.team-status-tile{aspect-ratio:1!important;flex-direction:column!important;justify-content:space-between!important;min-height:0!important;display:flex!important;overflow:hidden!important}@media (max-width:1400px){.tile-status-msg{display:none!important}}.dashboard-grid-3>div{width:100%}body{background-color:var(--bg-base);background-image:var(--bg-gradient);background-attachment:fixed;min-height:100vh}.panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);padding:var(--space-6)}.panel--elevated{background:var(--bg-panel-deep);box-shadow:var(--shadow-elevated);border-radius:var(--radius-xl)}.panel--compact{padding:var(--space-4)}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-6);font-family:var(--font-ui);font-size:var(--text-md);border-radius:var(--radius-md);cursor:pointer;isolation:isolate;transition:background var(--duration-fast)var(--ease-snap),transform 80ms var(--ease-snap),box-shadow var(--duration-fast)var(--ease-snap);white-space:nowrap;border:none;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{animation:btn-squish .25s var(--ease-snap)forwards}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn:before{content:"";background:radial-gradient(circle at var(--mouse-x,50%)var(--mouse-y,50%),#ffffff26 0%,transparent 80%);opacity:0;transition:opacity var(--duration-base)var(--ease-snap);pointer-events:none;z-index:1;position:absolute;inset:0}.btn:hover:before{opacity:1}.btn:after{content:"";background:radial-gradient(circle at var(--mouse-x,50%)var(--mouse-y,50%),#ffffffd9 0%,#ffffff4d 15%,transparent 25%);border-radius:inherit;opacity:0;transition:opacity var(--duration-base)var(--ease-snap);pointer-events:none;z-index:2;-webkit-mask-composite:destination-out;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:2px;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.btn:hover:after{opacity:1}.btn-attention:after{opacity:.6;box-shadow:0 0 15px var(--accent-red-border);animation:1.5s ease-in-out infinite border-pulse}@keyframes border-pulse{0%,to{opacity:.5;filter:brightness()}50%{opacity:1;filter:brightness(1.5)}}.btn-primary{background:var(--accent-red);color:var(--text-inverse);box-shadow:0 2px 8px var(--accent-red-border)}.btn-primary:hover:not(:disabled){background:var(--accent-red-hover);box-shadow:0 8px 24px var(--accent-red-border);z-index:10;transform:translateY(-2px)}.btn-secondary{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover:not(:disabled){background:var(--bg-panel-deep);border-color:var(--border-medium)}.btn-ghost{color:var(--text-secondary);padding:0 var(--space-3);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--accent-red-subtle)}.btn-icon{background:var(--bg-panel);width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0}.btn-icon:hover:not(:disabled){color:var(--text-primary);background:var(--bg-panel-deep)}.btn-destructive{background:var(--danger-subtle);color:var(--danger);border:1px solid var(--accent-red-border)}.btn-destructive:hover:not(:disabled){background:var(--accent-red);color:var(--text-inverse)}.btn-clockin{border-radius:var(--radius-full);width:100%;height:72px;font-size:var(--text-xl);background:var(--accent-red);color:var(--text-inverse);cursor:pointer;transition:background var(--duration-fast)var(--ease-snap),box-shadow var(--duration-base)var(--ease-snap),transform 80ms var(--ease-snap);box-shadow:0 4px 24px var(--accent-red-border);border:none;font-weight:700}.btn-clockin:hover{background:var(--accent-red-hover);box-shadow:0 16px 48px var(--accent-red-border);transform:translateY(-4px)}.btn-clockin:active{animation:btn-squish .25s var(--ease-snap)forwards}.btn-clockin.clocked-in{background:var(--success);animation:2s ease-out infinite clockin-pulse;box-shadow:0 0 #279b6b80}.btn-clockin .btn-glimmer-overlay{z-index:3;pointer-events:none;background:linear-gradient(115deg,#0000 20%,#fff0 40%,#ffffff73 50%,#fff0 60%,#0000 80%);animation:8s cubic-bezier(.4,0,.2,1) infinite btn-sweep-choreography;position:absolute;inset:0;transform:translate(-150%)skew(-25deg)}.btn-clockin .btn-sparkle{-webkit-mask-composite:source-over;opacity:0;z-index:4;pointer-events:none;filter:drop-shadow(0 0 6px #fff);-webkit-mask-composite:source-over;-webkit-mask-source-type:auto,auto,auto;-webkit-mask-composite:source-over;-webkit-mask-source-type:auto,auto,auto;background:radial-gradient(circle,#fff 0%,#0000 70%);width:24px;height:24px;position:absolute;-webkit-mask-image:radial-gradient(circle,#fff 5%,#0000 10%),linear-gradient(90deg,#0000 45%,#fff 50%,#0000 55%),linear-gradient(#0000 45%,#fff 50%,#0000 55%);mask-image:radial-gradient(circle,#fff 5%,#0000 10%),linear-gradient(90deg,#0000 45%,#fff 50%,#0000 55%),linear-gradient(#0000 45%,#fff 50%,#0000 55%);-webkit-mask-position:0 0,0 0,0 0;mask-position:0 0,0 0,0 0;-webkit-mask-size:auto,auto,auto;mask-size:auto,auto,auto;-webkit-mask-repeat:repeat,repeat,repeat;mask-repeat:repeat,repeat,repeat;-webkit-mask-clip:border-box,border-box,border-box;mask-clip:border-box,border-box,border-box;-webkit-mask-origin:border-box,border-box,border-box;mask-origin:border-box,border-box,border-box;-webkit-mask-composite:source-over;mask-composite:add;-webkit-mask-source-type:auto,auto,auto;mask-mode:match-source,match-source,match-source}.btn-clockin .btn-sparkle.sparkle-tr{animation:8s ease-in-out infinite btn-sparkle-tr-choreography;top:4px;right:4px}.btn-clockin .btn-sparkle.sparkle-bl{animation:8s ease-in-out infinite btn-sparkle-bl-choreography;bottom:4px;left:4px}@keyframes btn-sweep-choreography{0%{opacity:0;transform:translate(-150%)skew(-25deg)}2%{opacity:1}25%{opacity:1;transform:translate(150%)skew(-25deg)}27%{opacity:0}48%{opacity:0;transform:translate(-150%)skew(-25deg)}50%{opacity:0;transform:translate(-150%)skew(-25deg)}52%{opacity:1}75%{opacity:1;transform:translate(150%)skew(-25deg)}77%{opacity:0}to{opacity:0;transform:translate(150%)skew(-25deg)}}@keyframes btn-sparkle-tr-choreography{0%,25%{opacity:0;transform:scale(0)rotate(-45deg)}28%{opacity:1;transform:scale(1.8)rotate(0)}32%{opacity:0;transform:scale(0)rotate(45deg)}to{opacity:0}}@keyframes btn-sparkle-bl-choreography{0%,75%{opacity:0;transform:scale(0)rotate(-45deg)}78%{opacity:1;transform:scale(1.8)rotate(0)}82%{opacity:0;transform:scale(0)rotate(45deg)}to{opacity:0}}@keyframes clockin-pulse{0%{box-shadow:0 0 #279b6b80}70%{box-shadow:0 0 0 16px #279b6b00}to{box-shadow:0 0 #279b6b00}}@keyframes btn-breathe{0%,to{transform:scale(1);box-shadow:0 4px 16px #279b6b59,0 0 #279b6b00}50%{transform:scale(1.008);box-shadow:0 6px 28px #279b6b99,0 0 0 6px #279b6b14}}@keyframes btn-switch-shimmer{0%,to{box-shadow:0 4px 16px #eb980a66}50%{box-shadow:0 4px 30px #eb980abf}}.input,.select{width:100%;height:40px;padding:0 var(--space-3);background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color var(--duration-fast)var(--ease-snap),box-shadow var(--duration-fast)var(--ease-snap);outline:none}.input::placeholder{color:var(--text-placeholder)}.input:focus,.select:focus{border-color:var(--accent-red);box-shadow:0 0 0 3px var(--accent-red-subtle)}textarea.input{height:auto;min-height:40px;padding:var(--space-3);resize:vertical}.label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--text-xs);padding:2px 10px;font-weight:500;line-height:1.4;display:inline-flex}.badge-approved{background:var(--success-subtle);color:var(--success)}.badge-pending{background:var(--warning-subtle);color:var(--warning)}.badge-draft{color:var(--text-secondary);background:#0000000f}.badge-alert{background:var(--accent-red-subtle);color:var(--accent-red)}.badge-info{background:var(--info-subtle);color:var(--info)}.badge-clocked{background:var(--success-subtle);color:var(--success);border:1px solid var(--success)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-muted{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-accent{color:var(--accent-red)}.font-mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-placeholder)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp var(--duration-base)var(--ease-snap)both}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--border-subtle)25%,var(--border-medium)50%,var(--border-subtle)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s infinite shimmer}@keyframes btn-squish{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(.92)translateY(2px)}}.drag-overlay-swing{transform-origin:top}.task-card--done{position:relative}.task-card__done-badge{z-index:3;background:var(--success);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;display:inline-flex;position:absolute;top:10px;right:10px}@supports (color:color-mix(in lab, red, red)){.task-card__done-badge{background:color-mix(in srgb,var(--success)18%,var(--bg-panel-deep))}}.task-card__done-badge{border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.task-card__done-badge{border:1px solid color-mix(in srgb,var(--success)42%,transparent)}}.task-card__done-badge{color:var(--success);letter-spacing:.03em;text-transform:uppercase;pointer-events:none;font-size:10px;font-weight:800}.task-card__done-check{background:var(--success);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}@keyframes task-check-pop{0%{opacity:0;transform:translateY(4px)scale(.72)}60%{opacity:1;transform:translateY(0)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}.task-card--celebrating .task-card__done-badge{animation:task-check-pop .4s var(--ease-snap)both}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page-content{width:100%;padding:var(--space-8)var(--space-8);max-width:1800px;animation:fadeInUp var(--duration-base)var(--ease-snap)both;margin:0 auto}@media (max-width:768px){.page-content{padding:var(--space-4)var(--space-4)}}.grid-2{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-5);grid-template-columns:1fr 1fr 1fr;display:grid}.grid-4{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:850px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}}.grid-kpi{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:1200px){.grid-kpi{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid-kpi{gap:var(--space-3)}.grid-kpi .panel{padding:var(--space-3)!important}.grid-kpi .panel p:first-of-type{font-size:var(--text-xl)!important}}.section-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-placeholder);margin-bottom:var(--space-3);font-weight:500}.divider{background:var(--border-subtle);height:1px;margin:var(--space-5)0}.notification-popup{top:calc(var(--topbar-height) - 8px);right:var(--space-6);background:var(--bg-panel);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--border-medium);border-radius:var(--radius-xl);z-index:100;width:380px;max-height:500px;animation:popup-enter .3s var(--ease-snap);transform-origin:100% 0;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 40px #0000001f}@keyframes popup-enter{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.notification-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.notification-header h3{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.notification-list{padding:var(--space-2)0;flex:1;overflow-y:auto}.notification-item{padding:var(--space-4)var(--space-5);gap:var(--space-3);transition:background var(--duration-fast)ease;display:flex;position:relative}.notification-item:hover{background:#00000005}.notification-content{flex:1}.notification-title{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:2px;font-weight:500}.notification-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.notification-time{color:var(--text-placeholder);margin-top:var(--space-2);font-size:10px}.notification-dismiss{opacity:0;transition:opacity var(--duration-fast)ease;top:var(--space-4);right:var(--space-4);position:absolute}.notification-item:hover .notification-dismiss{opacity:1}.notification-empty{padding:var(--space-10)var(--space-6);text-align:center;color:var(--text-placeholder);font-size:var(--text-sm)}.mastery-layout{gap:var(--space-6);flex-wrap:wrap;width:100%;display:flex!important}.mastery-col-left{flex-shrink:0;width:280px}.mastery-col-main{flex:1;min-width:0}.mastery-col-right{flex-shrink:0;width:300px}@media (max-width:1400px){.mastery-col-right{gap:var(--space-6);order:3;width:100%;display:flex}.mastery-col-right>div{flex:1}}@media (max-width:1100px){.mastery-col-left{order:1;width:100%}.mastery-col-main{order:2;min-width:100%}}@media (max-width:768px){.mastery-col-right{flex-direction:column}}.skill-row{transition:all .3s var(--ease-snap);position:relative;overflow:hidden}.skill-row-fill{background:linear-gradient(90deg,#0006 0%,transparent 80%),var(--fill-color);opacity:.3;z-index:0;clip-path:polygon(0 0,100% 0,calc(100% - 20px) 100%,0 100%);transition:width 1s cubic-bezier(.34,1.56,.64,1);position:absolute;top:0;bottom:0;left:0}.skill-row-fill-full{opacity:.45;clip-path:none!important}.skill-row-grid{z-index:1;gap:var(--space-6);grid-template-columns:auto 1fr auto;align-items:center;min-width:0;position:relative;display:grid!important}.skill-row-ready .skill-row-fill{opacity:.3;background:var(--accent-red)}.skill-row-grid>div{min-width:0;overflow:hidden}@media (max-width:1200px){.skill-row-grid{grid-template-columns:1fr 140px}.skill-row-grid>div:first-child{grid-column:span 2}}@media (max-width:600px){.skill-row-grid{text-align:left;grid-template-columns:1fr}.skill-row-grid>div{grid-column:span 1!important}.skill-row-grid>div:last-child{align-items:flex-start}}@keyframes challenge-breathe{0%,to{box-shadow:0 0 15px #dc262626,inset 0 0 0 1px var(--accent-red);transform:translateZ(0)scale(1)}50%{box-shadow:0 0 35px #dc262659,inset 0 0 0 1px var(--accent-red);transform:translateZ(0)scale(1.005)}}.skill-row-ready{z-index:1;will-change:transform,box-shadow;backface-visibility:hidden;animation:3s ease-in-out infinite challenge-breathe;position:relative;border-color:var(--accent-red)!important}.btn-challenge{text-transform:uppercase;letter-spacing:.1rem;box-shadow:0 4px 15px var(--accent-red-border);animation:2s infinite btn-glow-pulse;background:var(--accent-red)!important;color:#fff!important;font-weight:800!important}@keyframes btn-glow-pulse{0%,to{box-shadow:0 4px 15px var(--accent-red-border)}50%{box-shadow:0 8px 25px var(--accent-red-border);filter:brightness(1.1)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes shimmer-fast{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gm-sparkle-rotate{0%,10%,25%,45%,60%,80%,95%,to{opacity:0;transform:scale(0)}18%{opacity:1;top:-2px;left:10%;transform:scale(1)}52%{opacity:1;top:80%;left:70%;transform:scale(1)}87%{opacity:1;top:40%;left:95%;transform:scale(1)}}.sparkle-particle{pointer-events:none;z-index:10;width:4px;height:4px;box-shadow:0 0 4px #fff,0 0 8px var(--warning);background:#fff;border-radius:50%;position:absolute}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;padding:var(--space-6);background:#00000080;justify-content:center;align-items:center;animation:.3s ease-out modal-backdrop-in;display:flex;position:fixed;inset:0}.modal-content{animation:modal-slide-in .3s var(--ease-snap)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-shell{background:0 0;min-height:100vh;position:relative;overflow:hidden}.login-layout{z-index:1;grid-template-columns:minmax(0,1.1fr) minmax(340px,480px);align-items:center;gap:clamp(32px,6vw,88px);max-width:1380px;min-height:100vh;margin:0 auto;padding:clamp(28px,4vw,52px);display:grid;position:relative}.login-network{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-network__glow{filter:blur(10px);background:radial-gradient(circle at 24% 30%,#2dd4bf2e,#0000 22%),radial-gradient(circle at 74% 42%,#60a5fa2e,#0000 18%),radial-gradient(circle at 60% 76%,#f8717124,#0000 16%);animation:12s ease-in-out infinite alternate login-glow-drift;position:absolute;inset:10% 8%}.login-network__grid{opacity:.45;background-image:linear-gradient(#94a3b814 1px,#0000 1px),linear-gradient(90deg,#94a3b814 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 42%,#0000 92%);mask-image:radial-gradient(circle,#000 42%,#0000 92%)}.login-network__svg{opacity:.85;width:84%;height:84%;position:absolute;inset:8%;transform:translateY(4px)}.login-network__line{stroke:#7dd3fc5c;stroke-width:.35px;stroke-dasharray:2.5 2.5;animation:8s linear infinite login-line-flow}.login-network__node{background:radial-gradient(circle at 35% 35%,#f8fafc 0%,#67e8f9 35%,#67e8f933 100%);border-radius:50%;animation:4.8s ease-in-out infinite login-node-pulse;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #22d3ee0f,0 0 24px #22d3ee59}.login-hero{color:#e2e8f0;gap:var(--space-6);flex-direction:column;max-width:720px;display:flex}.login-hero__badge{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#09122185;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:12px;width:fit-content;padding:10px 16px 10px 10px;display:inline-flex;box-shadow:0 12px 40px #03071247}.login-hero__mark{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#fb7185 100%);border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:inline-flex;box-shadow:0 12px 28px #ef44444d}.login-hero__copy{gap:var(--space-4);flex-direction:column;display:flex}.login-hero__eyebrow{color:#67e8f9;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700}.login-hero__copy h1{letter-spacing:-.05em;color:#f8fafc;max-width:11ch;font-size:clamp(40px,7vw,72px);line-height:.96}.login-hero__text{color:#e2e8f0d1;max-width:56ch;font-size:clamp(16px,2vw,19px);line-height:1.65}.login-hero__signals{flex-wrap:wrap;gap:12px;display:flex}.login-hero__signal{color:#cbd5e1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#09122166;border:1px solid #94a3b829;border-radius:999px;align-items:center;gap:10px;padding:12px 16px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.login-hero__signal svg{color:#67e8f9}.login-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.login-hero__stat{background:#09122175;border-color:#94a3b824;min-height:122px;padding:22px;box-shadow:0 18px 60px #0206172e}.login-hero__stat p{color:#f8fafc;margin-bottom:10px;font-size:22px;font-weight:700}.login-hero__stat span{color:#cbd5e1c7;font-size:13px;line-height:1.5;display:block}.login-card{background:#f8fafce6;border:1px solid #ffffff73;width:100%;padding:clamp(24px,3vw,34px);box-shadow:0 24px 70px #0f172a4d}.login-card__header{margin-bottom:var(--space-6);align-items:flex-start;gap:16px;display:flex}.login-card__icon{width:44px;height:44px;color:var(--accent-red);background:linear-gradient(135deg,#ef44441f,#0ea5e929);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.login-card__header h2{color:#151c28;margin-bottom:6px;font-size:28px;line-height:1.05}.login-card__header p{color:var(--text-secondary);line-height:1.55}.login-microsoft-btn{color:#0f172a;cursor:pointer;width:100%;height:52px;transition:transform .16s var(--ease-snap),box-shadow .16s var(--ease-snap),border-color .16s var(--ease-snap);margin-bottom:var(--space-5);background:#ffffffe0;border:1px solid #94a3b84d;border-radius:14px;justify-content:center;align-items:center;gap:12px;font-size:14px;font-weight:700;display:inline-flex}.login-microsoft-btn:hover:not(:disabled){border-color:#60a5fa73;transform:translateY(-2px);box-shadow:0 14px 28px #0f172a1a}.login-microsoft-btn:disabled{opacity:.7;cursor:not-allowed}.login-divider{margin:var(--space-6)0;align-items:center;gap:12px;display:flex}.login-divider div{background:#94a3b842;flex:1;height:1px}.login-divider span{text-transform:uppercase;letter-spacing:.16em;color:var(--text-placeholder);font-size:11px}.login-form{gap:var(--space-5);flex-direction:column;display:flex}.login-password-row{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.login-hint{margin-top:var(--space-2);color:var(--info);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.login-error{color:var(--accent-red);font-size:var(--text-xs);font-weight:600}.login-card__footer{margin-top:var(--space-6);flex-wrap:wrap;gap:10px;display:flex}.login-card__footer span{color:var(--text-secondary);letter-spacing:.04em;background:#0f172a0d;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}@keyframes login-node-pulse{0%,to{opacity:.65;transform:translate(-50%,-50%)scale(.94)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}}@keyframes login-line-flow{0%{stroke-dashoffset:12px}to{stroke-dashoffset:0}}@keyframes login-glow-drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.04)}}@media (max-width:1100px){.login-layout{grid-template-columns:1fr;justify-items:stretch;padding-top:88px;padding-bottom:56px}.login-hero{max-width:none}.login-hero__copy h1{max-width:12ch}.login-card{max-width:520px}}@media (max-width:720px){.login-layout{gap:28px;padding:18px}.login-network__svg{opacity:.55;width:100%;height:100%;inset:0}.login-hero{gap:var(--space-5)}.login-hero__copy h1{max-width:none;font-size:clamp(34px,13vw,52px)}.login-hero__stats{grid-template-columns:1fr}.login-card{max-width:none}}.leaflet-popup.custom-popup .leaflet-popup-content-wrapper{background-color:var(--bg-panel-deep)!important;color:var(--text-primary)!important;border:1px solid var(--border-medium)!important;box-shadow:var(--shadow-elevated)!important;border-radius:var(--radius-lg)!important}.leaflet-popup.custom-popup .leaflet-popup-tip{background-color:var(--bg-panel-deep)!important;border:1px solid var(--border-medium)!important}.leaflet-popup.custom-popup .leaflet-popup-content{line-height:inherit!important;margin:12px 16px!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
