@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--primary: #dc2626;--primary-hover: #b91c1c;--primary-light: #fef2f2;--primary-border: #fecaca;--primary-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 55%, #b91c1c 100%);--primary-ring: rgba(220, 38, 38, .16);--bg-app: #f7f7f9;--bg-surface: #ffffff;--bg-card: #ffffff;--bg-subtle: #f4f4f5;--bg-hover: #fafafa;--text-main: #18181b;--text-body: #27272a;--text-muted: #71717a;--text-light: #a1a1aa;--border-color: #ececef;--border-light: #f4f4f5;--border-hover: #fca5a5;--status-todo-bg: #f4f4f5;--status-todo-text: #71717a;--status-todo-border: #e4e4e7;--status-inprogress-bg: #fef2f2;--status-inprogress-text: #dc2626;--status-inprogress-border: #fecaca;--status-inreview-bg: #fff7ed;--status-inreview-text: #ea580c;--status-inreview-border: #ffedd5;--status-done-bg: #f0fdf4;--status-done-text: #16a34a;--status-done-border: #bbf7d0;--priority-highest: #dc2626;--priority-high: #ea580c;--priority-medium: #d97706;--priority-low: #2563eb;--priority-lowest: #16a34a;--shadow-sm: 0 1px 2px rgba(24, 24, 27, .04), 0 1px 3px rgba(24, 24, 27, .03);--shadow-md: 0 2px 4px rgba(24, 24, 27, .04), 0 8px 20px -4px rgba(24, 24, 27, .08);--shadow-lg: 0 4px 8px rgba(24, 24, 27, .04), 0 16px 32px -8px rgba(24, 24, 27, .12);--shadow-xl: 0 8px 16px rgba(24, 24, 27, .06), 0 28px 56px -12px rgba(24, 24, 27, .22);--shadow-primary: 0 1px 2px rgba(185, 28, 28, .3), 0 6px 16px -4px rgba(220, 38, 38, .45);--radius-sm: 7px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .16s;--dur-med: .28s;--font-display: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.dark{--bg-app: #0b0f19;--bg-surface: #111827;--bg-card: #111827;--bg-subtle: #1f2937;--bg-hover: #1f2937;--text-main: #f8fafc;--text-body: #cbd5e1;--text-muted: #94a3b8;--text-light: #64748b;--border-color: #1f2937;--border-light: #111827;--border-hover: #475569}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}::selection{background:#dc26262e;color:inherit}a{transition:color var(--dur-fast) ease,opacity var(--dur-fast) ease}:focus-visible{outline:2px solid rgba(220,38,38,.55);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#71717a40;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#dc26268c;background-clip:padding-box}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:.875rem;font-weight:700;padding:8px 16px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-med) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) ease;outline:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:focus-visible{box-shadow:0 0 0 3px var(--primary-ring)}.btn-primary{background:var(--primary-gradient);background-color:var(--primary);color:#fff;box-shadow:var(--shadow-primary),inset 0 1px #ffffff2e;overflow:hidden;isolation:isolate}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s var(--ease-out);pointer-events:none}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 2px 4px #b91c1c4d,0 10px 24px -6px #dc26268c,inset 0 1px #ffffff2e;transform:translateY(-1px)}.btn-primary:hover:after{transform:translate(120%)}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-body);border-color:var(--border-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:#d4d4d8;color:var(--text-main);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--primary);border-color:var(--primary-border)}.btn-outline:hover{background-color:var(--primary-light);border-color:var(--primary)}.btn-ghost{background-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background-color:var(--primary-light);color:var(--primary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626 60%,#b91c1c);background-color:#dc2626;color:#fff;box-shadow:var(--shadow-primary)}.btn-danger:hover{background-color:#b91c1c;box-shadow:0 2px 4px #b91c1c4d,0 10px 24px -6px #dc26268c}.btn-sm{padding:5px 10px;font-size:.775rem;border-radius:var(--radius-sm)}.btn-lg{padding:12px 24px;font-size:1rem;border-radius:var(--radius-md)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite;flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8125rem;font-weight:700;color:var(--text-body)}.form-input,.form-select,.form-textarea{width:100%;font-family:inherit;font-size:.875rem;padding:9px 12px;color:var(--text-main);background-color:var(--bg-surface);border:1px solid #e4e4e7;border-radius:var(--radius-md);box-shadow:0 1px 2px #18181b08;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-med) var(--ease-out),background-color var(--dur-fast) ease;outline:none}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#d4d4d8}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.input-icon-wrap>svg{transition:color var(--dur-fast) ease,transform var(--dur-med) var(--ease-spring)}.input-icon-wrap:focus-within>svg:first-child{color:var(--primary)!important}.date-input-empty::-webkit-datetime-edit,.date-input-empty::-webkit-datetime-edit-fields-wrapper,.date-input-empty::-webkit-datetime-edit-text,.date-input-empty::-webkit-datetime-edit-month-field,.date-input-empty::-webkit-datetime-edit-day-field,.date-input-empty::-webkit-datetime-edit-year-field{color:transparent!important;background:transparent!important;background-color:transparent!important}.date-input-empty::-webkit-datetime-edit-month-field:focus,.date-input-empty::-webkit-datetime-edit-day-field:focus,.date-input-empty::-webkit-datetime-edit-year-field:focus{background:transparent!important;background-color:transparent!important;color:transparent!important}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out),border-color var(--dur-fast) ease,background-color var(--dur-fast) ease}.card-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--border-hover);transform:translateY(-2px)}.app-container .card{animation:cardIn .45s var(--ease-out) backwards}.app-container .card:nth-child(2){animation-delay:.04s}.app-container .card:nth-child(3){animation-delay:.08s}.app-container .card:nth-child(4){animation-delay:.12s}.app-container .card:nth-child(5){animation-delay:.16s}.app-container .card:nth-child(n+6){animation-delay:.2s}.app-container .kanban-column-cards .card{animation:fadeIn .3s ease backwards;animation-delay:0s}.app-container table tbody tr{transition:background-color var(--dur-fast) ease}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:700;border-radius:var(--radius-sm);line-height:1.2;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.badge-todo{background-color:var(--status-todo-bg);color:var(--status-todo-text);border:1px solid var(--status-todo-border)}.badge-in_progress{background-color:var(--status-inprogress-bg);color:var(--status-inprogress-text);border:1px solid var(--status-inprogress-border)}.badge-in_review{background-color:var(--status-inreview-bg);color:var(--status-inreview-text);border:1px solid var(--status-inreview-border)}.badge-done{background-color:var(--status-done-bg);color:var(--status-done-text);border:1px solid var(--status-done-border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background-color:#09090b73;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);display:flex;align-items:center;justify-content:center;padding:16px}.modal-container{background-color:var(--bg-surface);border-radius:20px;border:1px solid var(--border-color);box-shadow:var(--shadow-xl),0 0 0 1px #fff9 inset;width:100%;max-width:580px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,#fff,#fcfcfd)}.modal-title{font-family:var(--font-display);font-size:1.125rem;font-weight:800;color:var(--text-main)}.modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-light);background-color:#fbfbfc}.popover-surface{transform-origin:top right;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 0%,#fafafa 50%,var(--bg-subtle) 100%);background-size:800px 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-sm)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:linear-gradient(135deg,#f87171,#dc2626 60%,#991b1b);background-color:var(--primary);color:#fff;font-weight:700;-webkit-user-select:none;user-select:none;flex-shrink:0;box-shadow:0 0 0 2px var(--bg-surface),0 1px 3px #18181b26;transition:transform var(--dur-med) var(--ease-spring),box-shadow var(--dur-med) var(--ease-out)}button:hover>.avatar{transform:scale(1.06);box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--primary-ring),0 4px 10px #dc262640}.app-shell-main{background:radial-gradient(1200px 400px at 100% -10%,rgba(220,38,38,.045),transparent 60%),radial-gradient(900px 400px at -10% 110%,rgba(99,102,241,.035),transparent 60%),var(--bg-app)}.topbar-glass{background-color:#ffffffc7!important;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.icon-btn:hover{background-color:var(--bg-subtle)!important}.icon-btn:active{transform:scale(.94)}.nav-item{position:relative;isolation:isolate;overflow:visible}.nav-item:not(.nav-item-active):hover{background-color:var(--bg-subtle)!important;color:var(--text-main)!important}.nav-item:not(.nav-item-active):hover svg{color:var(--primary)!important;transform:translate(1px) scale(1.08)}.nav-item svg{transition:color var(--dur-fast) ease,transform var(--dur-med) var(--ease-spring);position:relative;z-index:1}.nav-item span{position:relative;z-index:1}.nav-item.nav-item-active{background:var(--primary-gradient)!important;background-color:var(--primary)!important;color:#fff!important;box-shadow:0 1px 2px #b91c1c40,0 6px 14px -4px #dc262680,inset 0 1px #fff3;animation:navActiveIn .35s var(--ease-out)}.nav-item.nav-item-active svg{color:#fff!important}@keyframes navActiveIn{0%{opacity:.6;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(hover:none){.nav-item:not(.nav-item-active):hover{background-color:transparent!important;color:var(--text-body)!important}.nav-item:not(.nav-item-active):active{background-color:var(--bg-subtle)!important}}.sidebar-section-label{font-size:.68rem!important;letter-spacing:.08em;color:var(--text-light)!important;text-transform:uppercase}.auth-shell{min-height:100vh;width:100%;display:flex;background-color:#07090f;color:#f8fafc;overflow:hidden}.auth-form-panel{background:radial-gradient(600px 300px at 100% 0%,rgba(220,38,38,.06),transparent 70%),radial-gradient(500px 300px at 0% 100%,rgba(99,102,241,.05),transparent 70%),var(--bg-surface)!important}.auth-form-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(24,24,27,.07) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse at center,transparent 35%,#000 100%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 35%,#000 100%);pointer-events:none}.auth-form-panel>*{position:relative}.auth-form-panel .form-input{background-color:#ffffffe6}.auth-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 30%,transparent 100%);pointer-events:none}.auth-hero-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.glass-dark{background:linear-gradient(160deg,#1e2434b8,#0f131eb8);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 48px -12px #0009,inset 0 1px #ffffff0f}.text-gradient-brand{background:linear-gradient(100deg,#fca5a5,#ef4444 45%,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}@media(max-width:960px){.login-hero-panel{display:none!important}}@keyframes spinGlobe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinGlobeReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes floatReverse{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.08);opacity:.85}}@keyframes dashFlow{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}.animate-spin-globe{animation:spinGlobe 35s linear infinite;transform-origin:250px 250px}.animate-spin-globe-rev{animation:spinGlobeReverse 50s linear infinite;transform-origin:250px 250px}.animate-float-slow{animation:floatSlow 5s ease-in-out infinite}.animate-float-rev{animation:floatReverse 6s ease-in-out infinite}.animate-pulse-glow{animation:pulseGlow 4s ease-in-out infinite}.animate-dash-flow{animation:dashFlow 2.5s linear infinite}@media(max-width:768px){.app-container{padding:12px!important}.kanban-board-scroll{gap:12px!important;padding-bottom:16px!important}.kanban-column{min-width:82vw!important;max-width:85vw!important;flex-shrink:0!important}.grid-responsive-2col{grid-template-columns:1fr!important}.mobile-hide{display:none!important}.mobile-show{display:flex!important}.modal-responsive{width:96vw!important;max-width:100vw!important;padding:16px!important;margin:8px!important}aside.sidebar-container{position:fixed!important;top:0!important;bottom:0!important;left:-280px!important;z-index:150!important;transition:left .35s var(--ease-out)!important;box-shadow:0 20px 25px -5px #0003!important}.mobile-drawer-open aside.sidebar-container{left:0!important}}@media(min-width:769px){.mobile-show{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.auth-logo-tile{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#fff,#fef2f2);border:1px solid var(--primary-border);box-shadow:0 6px 16px -6px #dc262673}.dashboard-hero{background:radial-gradient(400px 200px at 100% 0%,rgba(220,38,38,.08),transparent 70%),linear-gradient(135deg,#fff,#fef2f2)!important}@media(max-width:1024px){.m-stack-lg{grid-template-columns:minmax(0,1fr)!important}}@media(max-width:768px){.app-container{padding:14px 14px 28px!important}.page-header{flex-wrap:wrap!important;align-items:flex-start!important;gap:12px!important}.page-header>*{min-width:0}.page-header>div:last-child:not(:first-child){flex-wrap:wrap}.app-container h1,.app-container [style*="font-size: 1.75rem"]{font-size:1.35rem!important}.app-container h2,.app-container [style*="font-size: 1.6rem"],.app-container [style*="font-size: 1.5rem"]{font-size:1.2rem!important}.app-container .card[style*="padding: 32px"],.app-container .card[style*="padding: 28px"],.app-container .card[style*="padding: 24px"],.app-container .card[style*="padding: 22px"]{padding:16px!important}.dashboard-hero{padding:18px!important}.app-container .card:has(>table),.app-container div:has(>table){overflow-x:auto!important;-webkit-overflow-scrolling:touch}.app-container table{min-width:640px}.kanban-board-scroll{scroll-snap-type:x proximity}.kanban-column{scroll-snap-align:start}.agenda-calendar-grid>div{min-height:72px!important;padding:4px 3px!important}header.topbar-glass{height:56px!important;min-height:56px!important;padding:0 12px!important}.modal-overlay{align-items:flex-end;padding:0}.modal-container.modal-responsive{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;max-height:92vh;border-radius:22px 22px 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom)!important}.modal-container.modal-responsive:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:#d4d4d8;margin:8px auto 0;flex-shrink:0}.modal-header{padding:12px 18px 14px}.modal-body{padding:18px;gap:16px}.modal-footer{padding:12px 18px;flex-wrap:wrap}.modal-footer .btn{flex:1}.btn{min-height:38px}.btn-sm{min-height:32px}}@media(max-width:640px){.m-stack{grid-template-columns:minmax(0,1fr)!important}.form-input,.form-select,.form-textarea{font-size:16px!important}.auth-form-panel{padding:28px 20px!important;align-items:flex-start!important}}
