*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1e1f22;--bg-secondary: #2b2d31;--bg-tertiary: #313338;--bg-hover: #383a40;--bg-active: #404249;--bg-floating: #232428;--accent-primary: #5865f2;--accent-primary-hover: #4752c4;--accent-primary-active: #3c45a5;--accent-success: #23a559;--accent-success-hover: #1a7f42;--accent-warning: #f0b232;--accent-warning-hover: #cc9529;--accent-danger: #da373c;--accent-danger-hover: #a12828;--accent-info: #00a8fc;--text-normal: #dbdee1;--text-muted: #949ba4;--text-faint: #6d6f78;--text-link: #00a8fc;--text-link-hover: #00d4ff;--text-positive: #23a559;--text-warning: #f0b232;--text-danger: #f23f43;--text-brand: #5865f2;--border-subtle: rgba(255, 255, 255, .06);--border-default: #3f4147;--border-strong: #4e5058;--border-brand: #5865f2;--shadow-low: 0 1px 2px rgba(0, 0, 0, .2);--shadow-medium: 0 4px 8px rgba(0, 0, 0, .24);--shadow-high: 0 8px 16px rgba(0, 0, 0, .24);--shadow-elevation: 0 0 0 1px rgba(255, 255, 255, .05), 0 8px 24px rgba(0, 0, 0, .4);--glass-bg: rgba(49, 51, 56, .85);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--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;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-popover: 1100;--z-tooltip: 1200;--sidebar-width-collapsed: 72px;--sidebar-width-expanded: 260px;--sidebar-transition: .25s cubic-bezier(.4, 0, .2, 1)}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-normal);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--text-normal);font-weight:600;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:var(--text-muted);line-height:1.6}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-link-hover);text-decoration:underline}.app{height:100vh;max-height:100vh;display:flex;flex-direction:row;overflow:hidden}.app-content{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;margin-left:var(--sidebar-width-collapsed);transition:margin-left var(--sidebar-transition);width:calc(100% - var(--sidebar-width-collapsed));min-width:0;overflow:hidden}.app.sidebar-expanded .app-content{margin-left:var(--sidebar-width-expanded);width:calc(100% - var(--sidebar-width-expanded))}.container{max-width:1440px;margin:0 auto;padding:0 var(--space-6);width:100%;height:100%}.main-content{flex:1;min-height:0;padding:var(--space-8) 0;overflow-y:auto;overflow-x:hidden}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:var(--space-4) 0;position:sticky;top:0;z-index:var(--z-sticky);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);width:100%}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.header-content .form-select{min-width:200px;max-width:320px;flex:1}.logo{font-size:1.5rem;font-weight:700;color:var(--text-normal);display:flex;align-items:center;gap:var(--space-2);transition:opacity var(--transition-fast)}.logo:hover{opacity:.9}.nav{display:flex;align-items:center;gap:var(--space-1)}.nav a{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9375rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav a:hover{color:var(--text-normal);background:var(--bg-hover);text-decoration:none}.nav a.active{color:var(--text-normal);background:var(--bg-active)}.user-info{display:flex;align-items:center;gap:var(--space-3);padding-left:var(--space-4);border-left:1px solid var(--border-subtle)}.user-email{font-size:.875rem;color:var(--text-muted)}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border-subtle);transition:all var(--transition-normal)}.card:hover{border-color:var(--border-default)}.card-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-normal);margin:0}.card-subtitle{font-size:.875rem;color:var(--text-muted);margin-top:var(--space-1)}.card-elevated{background:var(--bg-floating);box-shadow:var(--shadow-elevation)}.card:has(table),.card:has(.table-container){overflow:hidden}.card .table-container{margin:0;border-radius:0;border:none;border-top:1px solid var(--border-subtle)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}}@media (max-width: 900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border-subtle);border-left:4px solid var(--accent-primary);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(88,101,242,.05) 0%,transparent 60%);pointer-events:none}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-default);box-shadow:var(--shadow-medium)}.stat-label{font-size:.8125rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:var(--space-2)}.stat-value{font-size:2rem;font-weight:700;color:var(--text-normal);margin-bottom:var(--space-1);line-height:1.2}.stat-subtext{font-size:.875rem;color:var(--text-muted)}.stat-card.success{border-left-color:var(--accent-success)}.stat-card.success:before{background:linear-gradient(135deg,rgba(35,165,89,.05) 0%,transparent 60%)}.stat-card.warning{border-left-color:var(--accent-warning)}.stat-card.warning:before{background:linear-gradient(135deg,rgba(240,178,50,.05) 0%,transparent 60%)}.stat-card.danger{border-left-color:var(--accent-danger)}.stat-card.danger:before{background:linear-gradient(135deg,rgba(218,55,60,.05) 0%,transparent 60%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;line-height:1.5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-primary:active:not(:disabled){background:var(--accent-primary-active)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-normal)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-outline{background:transparent;border:1px solid var(--border-default);color:var(--text-normal)}.btn-outline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-normal)}.btn-success{background:var(--accent-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--accent-success-hover)}.btn-danger{background:var(--accent-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--accent-danger-hover)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8125rem}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1rem}.btn-icon{padding:var(--space-2);width:36px;height:36px}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:600;font-size:.8125rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:1rem;color:var(--text-normal);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-faint)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #5865f226}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23949ba4' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-textarea{resize:vertical;min-height:100px}.input-with-icon{position:relative}.input-with-icon .form-input{padding-left:44px}.input-with-icon .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background:var(--bg-tertiary)}th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;border-bottom:1px solid var(--border-default)}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-normal)}tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--bg-hover)}tbody tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--bg-hover)}.text-right{text-align:right;white-space:nowrap!important}.text-center{text-align:center}td{white-space:nowrap}td.text-right{white-space:nowrap!important;font-variant-numeric:tabular-nums}td:nth-child(3),td.wrap-text{white-space:normal;min-width:120px}tfoot td{white-space:nowrap!important}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);margin:0 -4px;padding:0 4px}.table-container table{min-width:900px}.amount,.currency,[data-currency]{white-space:nowrap!important;font-variant-numeric:tabular-nums}tr.total-row td,tfoot td{font-weight:700;background:var(--bg-tertiary);border-top:2px solid var(--border-default)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap;transition:all var(--transition-fast)}.badge-primary{background:#5865f233;color:#a5b4fc}.badge-success{background:#23a55933;color:#6ee7b7}.badge-warning{background:#f0b23233;color:#fcd34d}.badge-danger{background:#da373c33;color:#fca5a5}.badge-info{background:#00a8fc33;color:#7dd3fc}.badge-neutral{background:var(--bg-hover);color:var(--text-muted)}.progress{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-2)}.progress-bar{height:100%;background:var(--accent-primary);border-radius:var(--radius-full);transition:width .5s ease}.progress-bar.success{background:var(--accent-success)}.progress-bar.warning{background:var(--accent-warning)}.progress-bar.danger{background:var(--accent-danger)}.progress-bar.animated{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn .2s ease}.modal{background:var(--bg-floating);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-elevation);animation:slideUp .25s ease;position:relative}.modal-lg{max-width:640px}.modal-xl{max-width:800px}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-size:1.25rem}.modal-close:hover{background:var(--bg-hover);color:var(--text-normal)}.modal-header{margin-bottom:var(--space-6);text-align:center}.modal-title{font-size:1.5rem;font-weight:700;color:var(--text-normal);margin-bottom:var(--space-2)}.modal-subtitle{color:var(--text-muted);font-size:.9375rem}.modal-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--space-3)}.glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-strong{background:#2b2d31e6;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.15)}.glass-subtle{background:#31333899;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn .25s ease}.animate-slideUp{animation:slideUp .25s ease}.animate-slideDown{animation:slideDown .25s ease}.animate-scaleIn{animation:scaleIn .25s ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted);gap:var(--space-4)}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-hover);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-title{height:1.5em;width:60%;margin-bottom:var(--space-3)}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-muted)}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.4}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-normal);margin-bottom:var(--space-2)}.empty-state-description{color:var(--text-muted);max-width:400px;margin:0 auto var(--space-6)}.alert{padding:var(--space-4);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--space-3);animation:slideDown .25s ease}.alert-icon{font-size:1.25rem;flex-shrink:0}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:var(--space-1)}.alert-info{background:#00a8fc1a;border:1px solid rgba(0,168,252,.3);color:var(--accent-info)}.alert-success{background:#23a5591a;border:1px solid rgba(35,165,89,.3);color:var(--accent-success)}.alert-warning{background:#f0b2321a;border:1px solid rgba(240,178,50,.3);color:var(--accent-warning)}.alert-danger{background:#da373c1a;border:1px solid rgba(218,55,60,.3);color:var(--accent-danger)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);background:var(--bg-floating);color:var(--text-normal);font-size:.8125rem;border-radius:var(--radius-md);white-space:nowrap;box-shadow:var(--shadow-high);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip)}.tooltip:hover:after{opacity:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-1{flex:1}.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-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-muted{color:var(--text-muted)}.text-normal{color:var(--text-normal)}.text-success{color:var(--text-positive)}.text-warning{color:var(--text-warning)}.text-danger{color:var(--text-danger)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.w-full{width:100%}.w-auto{width:auto}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}@media (max-width: 768px){.container{padding:0 var(--space-4)}.header-content{flex-wrap:wrap;gap:var(--space-3)}.header-content .form-select{min-width:150px;max-width:250px}.nav{order:3;width:100%;overflow-x:auto;padding-bottom:var(--space-2)}.stats-grid{grid-template-columns:1fr}.modal{margin:var(--space-4);max-height:calc(100vh - 32px)}.hide-mobile{display:none!important}.sidebar{width:var(--sidebar-width-collapsed)!important}.sidebar.expanded{width:var(--sidebar-width-expanded)!important;position:fixed;z-index:var(--z-overlay);box-shadow:var(--shadow-elevation)}.app-content{margin-left:var(--sidebar-width-collapsed)!important;width:calc(100% - var(--sidebar-width-collapsed))!important}.app.sidebar-expanded:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:calc(var(--z-overlay) - 1)}}@media (max-width: 1024px){.container{padding:0 var(--space-4)}.header-content .form-select{min-width:180px;max-width:280px}}@media (min-width: 769px){.hide-desktop{display:none!important}}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;color:var(--text-muted)}.theme-toggle-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.theme-toggle-icons{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.theme-icon{position:absolute;font-size:18px;transition:all .3s ease;line-height:1}.btn-header-logout{padding:6px 12px;font-size:13px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;color:#fffc;transition:all .15s ease}.btn-header-logout:hover{background:#fff3}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--bg-active: #cbd5e1;--bg-floating: #ffffff;--text-normal: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--accent-primary: #5865f2;--accent-success: #16a34a;--accent-warning: #d97706;--accent-danger: #dc2626}:root[data-theme=light] body{background:#f1f5f9}:root[data-theme=light] .app{background:#f1f5f9}:root[data-theme=light] .header{background:linear-gradient(135deg,#5865f2,#7c3aed)!important;border-bottom:none}:root[data-theme=light] .header .logo{color:#fff!important}:root[data-theme=light] .header .form-select{background:#ffffff26;border-color:#ffffff4d;color:#fff}:root[data-theme=light] .header .form-select option{background:var(--bg-secondary);color:var(--text-normal)}:root[data-theme=light] .header .btn-outline{background:#ffffff26;border-color:#ffffff4d;color:#fff}:root[data-theme=light] .header .btn-outline:hover{background:#ffffff40}:root[data-theme=light] .header .theme-toggle-btn{background:#ffffff26;border-color:#ffffff4d;color:#fff}:root[data-theme=light] .header .theme-toggle-btn:hover{background:#ffffff40}:root[data-theme=light] .nav a{color:#ffffffd9!important}:root[data-theme=light] .nav a:hover{background:#ffffff26!important;color:#fff!important}:root[data-theme=light] .nav a.active{background:#ffffff40!important;color:#fff!important}:root[data-theme=light] .card{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}:root[data-theme=light] .card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0}:root[data-theme=light] .card-title{color:#1e293b}:root[data-theme=light] .kanban-toolbar{background:#fffffff2;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}:root[data-theme=light] .kanban-toolbar h2{color:#1e293b}:root[data-theme=light] .view-toggle{background:#f1f5f9}:root[data-theme=light] .view-toggle button{color:#64748b}:root[data-theme=light] .view-toggle button.active{background:#fff;color:#1e293b}:root[data-theme=light] .search-box{background:#f1f5f9;border-color:#e2e8f0}:root[data-theme=light] .search-box input{color:#1e293b}:root[data-theme=light] .kanban-stats{background:#fffffff2;border:1px solid #e2e8f0}:root[data-theme=light] table th{background:#f8fafc;color:#64748b;border-bottom:2px solid #e2e8f0}:root[data-theme=light] table td{color:#334155;border-bottom:1px solid #f1f5f9}:root[data-theme=light] table tr:hover{background:#f8fafc}:root[data-theme=light] .form-input,:root[data-theme=light] .form-select{background:#fff;border-color:#d1d5db;color:#1e293b}:root[data-theme=light] .form-input:focus,:root[data-theme=light] .form-select:focus{border-color:#5865f2;box-shadow:0 0 0 3px #5865f226}:root[data-theme=light] .form-input::placeholder{color:#9ca3af}:root[data-theme=light] .form-label{color:#64748b}:root[data-theme=light] .btn-outline{background:transparent;border:1px solid #d1d5db;color:#374151}:root[data-theme=light] .btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}:root[data-theme=light] .badge-success{background:#dcfce7;color:#166534}:root[data-theme=light] .badge-warning{background:#fef3c7;color:#92400e}:root[data-theme=light] .badge-danger{background:#fee2e2;color:#991b1b}:root[data-theme=light] .badge-info{background:#dbeafe;color:#1e40af}:root[data-theme=light] .badge-primary{background:#e0e7ff;color:#3730a3}:root[data-theme=light] .stat-value{color:#1e293b}:root[data-theme=light] .stat-label{color:#64748b}:root[data-theme=light] .empty-state{background:#f8fafc;border:2px dashed #cbd5e1}:root[data-theme=light] .empty-state-title{color:#1e293b}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#cbd5e1}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#94a3b8}:root[data-theme=light] ::-webkit-scrollbar-track{background:#f1f5f9}:root[data-theme=light] .modal-overlay{background:#00000080}:root[data-theme=light] .task-row:hover{background:#f8fafc}:root[data-theme=light] .expand-btn{color:#64748b}:root[data-theme=light] .expand-btn:hover{background:#e2e8f0}:root[data-theme=light] .tab-btn{color:#64748b;border-color:#e2e8f0}:root[data-theme=light] .tab-btn:hover{background:#f1f5f9}:root[data-theme=light] .tab-btn.active{background:#5865f2;color:#fff;border-color:#5865f2}.star-particle{position:absolute;background:#fff;border-radius:50%;opacity:0;animation:twinkle 3s ease-in-out infinite;box-shadow:0 0 6px 2px #ffffff4d}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.8;transform:scale(1)}}.floating-shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;animation:float 20s ease-in-out infinite;pointer-events:none}.shape-1{width:400px;height:400px;background:linear-gradient(135deg,#5865f2,#7c3aed);top:-100px;right:-100px;animation-delay:0s}.shape-2{width:300px;height:300px;background:linear-gradient(135deg,#ec4899,#f97316);bottom:-50px;left:-50px;animation-delay:-7s}.shape-3{width:250px;height:250px;background:linear-gradient(135deg,#06b6d4,#3b82f6);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(30px,-30px) rotate(5deg)}50%{transform:translate(-20px,20px) rotate(-5deg)}75%{transform:translate(20px,10px) rotate(3deg)}}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-input:focus,input[type=email]:focus,input[type=password]:focus{border-color:#5865f2!important;box-shadow:0 0 0 3px #5865f240!important}button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5865f280}button[type=submit]:active:not(:disabled){transform:translateY(0)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.floating-shape{display:none}.star-particle{opacity:.5}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width-collapsed);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:var(--z-sticky);transition:width var(--sidebar-transition);overflow:visible}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar-nav,.sidebar-actions{overflow-x:hidden;overflow-y:auto}.sidebar-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);height:64px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:center}.sidebar.expanded .sidebar-header{justify-content:flex-start;padding:var(--space-4)}.sidebar-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#5865f2,#7c3aed);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.sidebar.expanded .sidebar-logo-icon{width:40px;height:40px;border-radius:var(--radius-lg)}.sidebar-logo-text{font-size:1.125rem;font-weight:700;color:var(--text-normal);white-space:nowrap;overflow:hidden;opacity:1;transition:opacity var(--transition-fast)}.sidebar:not(.expanded) .sidebar-logo-text{opacity:0;width:0}.sidebar-logo-full{height:42px;width:auto}.sidebar-toggle{position:absolute;top:72px;right:-14px;width:28px;height:28px;background:var(--accent-primary);border:3px solid var(--bg-primary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all var(--transition-fast);box-shadow:var(--shadow-medium);color:#fff}.sidebar-toggle:hover{background:var(--accent-primary-hover);transform:scale(1.1)}.sidebar-toggle svg{transition:transform var(--sidebar-transition)}.sidebar-toggle.expanded svg{transform:rotate(180deg)}.sidebar-nav{flex:0 0 auto;padding:var(--space-2)}.sidebar.expanded .sidebar-nav{padding:var(--space-3)}.sidebar-section-title{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1)}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:8px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;margin-bottom:2px;color:var(--text-muted);justify-content:center}.sidebar.expanded .sidebar-item{justify-content:flex-start;padding:10px 12px}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-normal)}.sidebar-item.active{background:var(--bg-active);color:var(--text-normal)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:var(--accent-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.sidebar-item.disabled{opacity:.5;cursor:not-allowed}.sidebar-item.disabled:hover{background:transparent;color:var(--text-muted)}.sidebar-item.action{color:var(--text-muted)}.sidebar-item.action:hover{color:var(--text-normal)}.sidebar-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar.expanded .sidebar-item-icon{width:24px;height:24px}.sidebar-item-label{font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-badge{margin-left:auto;padding:3px 8px;background:var(--accent-success);color:#fff;font-size:.625rem;font-weight:700;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.sidebar-separator{height:1px;background:var(--border-subtle);margin:var(--space-2) var(--space-3)}.sidebar-actions{padding:var(--space-2);border-top:1px solid var(--border-subtle)}.sidebar.expanded .sidebar-actions{padding:var(--space-3)}.sidebar-spacer{flex:1}.sidebar-user{padding:var(--space-2);border-top:1px solid var(--border-subtle);flex-shrink:0}.sidebar.expanded .sidebar-user{padding:var(--space-3)}.sidebar-user-content{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);position:relative;transition:background var(--transition-fast);justify-content:center}.sidebar.expanded .sidebar-user-content{justify-content:flex-start}.sidebar-user-content:hover{background:var(--bg-hover)}.sidebar-avatar{width:36px;height:36px;background:linear-gradient(135deg,#f97316,#ec4899);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0;overflow:hidden}.sidebar-user-name{font-size:.875rem;font-weight:600;color:var(--text-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;margin-top:var(--space-1)}.sidebar-badge.badge-danger{background:#da373c33;color:#fca5a5}.sidebar-badge.badge-info{background:#00a8fc33;color:#7dd3fc}.sidebar-badge.badge-success{background:#23a55933;color:#6ee7b7}.sidebar-logout-btn{width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;color:var(--text-muted)}.sidebar-logout-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.sidebar-tooltip{position:absolute;left:calc(100% + 16px);top:50%;transform:translateY(-50%);background:var(--bg-floating);color:var(--text-normal);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-elevation);z-index:var(--z-tooltip);pointer-events:none;animation:tooltipFadeIn .15s ease;display:flex;align-items:center;gap:var(--space-2)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.sidebar-tooltip:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--bg-floating)}.tooltip-badge{padding:3px 6px;background:var(--accent-success);color:#fff;font-size:.5625rem;font-weight:700;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.sidebar-tooltip.user-tooltip{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);pointer-events:auto}.tooltip-logout-btn{width:100%;padding:var(--space-2);background:var(--bg-hover);border:none;border-radius:var(--radius-md);color:var(--text-normal);font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-2);display:flex;align-items:center;justify-content:center}.tooltip-logout-btn:hover{background:var(--bg-active)}:root[data-theme=light] .sidebar{background:#fff;border-right:1px solid #e2e8f0}:root[data-theme=light] .sidebar-header{border-bottom:1px solid #e2e8f0}:root[data-theme=light] .sidebar-logo-text{color:#1e293b}:root[data-theme=light] .sidebar-toggle{border-color:#f1f5f9}:root[data-theme=light] .sidebar-item{color:#64748b}:root[data-theme=light] .sidebar-item:hover{background:#f1f5f9;color:#1e293b}:root[data-theme=light] .sidebar-item.active{background:#e2e8f0;color:#1e293b}:root[data-theme=light] .sidebar-item-label{color:inherit}:root[data-theme=light] .sidebar-separator{background:#e2e8f0}:root[data-theme=light] .sidebar-actions{border-top:1px solid #e2e8f0}:root[data-theme=light] .sidebar-user{border-top:1px solid #e2e8f0}:root[data-theme=light] .sidebar-user-name{color:#1e293b}:root[data-theme=light] .sidebar-badge.badge-danger{background:#fee2e2;color:#991b1b}:root[data-theme=light] .sidebar-badge.badge-info{background:#dbeafe;color:#1e40af}:root[data-theme=light] .sidebar-badge.badge-success{background:#dcfce7;color:#166534}:root[data-theme=light] .sidebar-tooltip{background:#fff;box-shadow:0 4px 12px #00000026;color:#1e293b}:root[data-theme=light] .sidebar-tooltip:before{border-right-color:#fff}:root[data-theme=light] .tooltip-logout-btn{background:#f1f5f9;color:#1e293b}:root[data-theme=light] .tooltip-logout-btn:hover{background:#e2e8f0}:root[data-theme=light] .sidebar-logout-btn{color:#64748b}:root[data-theme=light] .sidebar-logout-btn:hover{background:#f1f5f9;color:#1e293b}:root[data-theme=light] .sidebar-section-title{color:#64748b}:root[data-theme=light] .sidebar-user-content:hover{background:#f1f5f9}.kanban-container{display:flex;flex-direction:column;height:calc(100vh - 80px);padding:var(--space-4);gap:var(--space-4);overflow:hidden}.kanban-toolbar{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.kanban-toolbar h2{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:600;color:var(--text-normal)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-3)}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:3px}.view-toggle button{padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text-muted);font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.view-toggle button.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #5865f266}.view-toggle button:hover:not(.active){background:var(--bg-hover);color:var(--text-normal)}.search-box{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.search-box:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #5865f233}.search-box svg{color:var(--text-muted)}.search-box input{border:none;background:transparent;color:var(--text-normal);font-size:.875rem;width:180px;outline:none}.search-box input::placeholder{color:var(--text-faint)}.filter-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.filter-badge{background:#fff;color:var(--accent-primary);font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-full)}.filters-panel{display:flex;flex-shrink:0;align-items:flex-end;gap:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.filter-group label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-group select{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-normal);font-size:.875rem;cursor:pointer;min-width:200px}.clear-filters{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.clear-filters:hover{background:var(--bg-hover);color:var(--text-normal)}.kanban-stats{display:flex;flex-shrink:0;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.stat-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-tertiary)}.stat-item.total{margin-left:auto;background:linear-gradient(135deg,var(--accent-primary) 0%,#7c3aed 100%);color:#fff}.stat-value{font-size:1rem;font-weight:700;color:var(--text-normal)}.stat-item.total .stat-value{color:#fff}.stat-label{font-size:.75rem;color:var(--text-muted)}.stat-item.total .stat-label{color:#fffc}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);flex:1;overflow-x:auto;padding-bottom:var(--space-4)}.kanban-column{display:flex;flex-direction:column;min-width:280px;max-height:100%;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:all var(--transition-normal)}.kanban-column.drag-over{border-color:var(--accent-primary);box-shadow:0 0 0 3px #5865f233,var(--shadow-high);transform:scale(1.01)}.column-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid var(--border-subtle)}.column-title{display:flex;align-items:center;gap:var(--space-2)}.column-title h3{font-size:.9375rem;font-weight:600;color:var(--text-normal)}.task-count{background:var(--bg-tertiary);color:var(--text-muted);font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.column-budget{display:flex;align-items:center;gap:var(--space-1);font-size:.8125rem;color:var(--text-muted);font-weight:500}.column-content{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);overflow-y:auto;min-height:100px}.empty-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-faint);font-size:.875rem;border:2px dashed var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast)}.kanban-column.drag-over .empty-column{border-color:var(--accent-primary);color:var(--accent-primary);background:#5865f21a}.wip-warning{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);background:linear-gradient(135deg,#f0b23226,#f0b2320d);border-top:1px solid rgba(240,178,50,.3);color:var(--accent-warning);font-size:.75rem;font-weight:500}.kanban-card{position:relative;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);cursor:grab;transition:all var(--transition-fast);animation:cardAppear .3s ease}@keyframes cardAppear{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.kanban-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.kanban-card.dragging{opacity:.3;cursor:grabbing}.kanban-card.just-moved{animation:justMoved .5s ease}@keyframes justMoved{0%{background:#5865f24d;transform:scale(1.05)}to{background:var(--bg-tertiary);transform:scale(1)}}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.task-code{font-size:.75rem;font-weight:600;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace}.wp-badge{font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.task-title{font-size:.875rem;font-weight:500;color:var(--text-normal);line-height:1.4;margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-description-section{margin-bottom:var(--space-2)}.description-display{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;cursor:pointer;transition:all .15s ease;min-height:24px}.description-display:hover{background:var(--bg-hover)}.description-display:hover .edit-icon{opacity:1}.description-text{font-size:.75rem;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.description-placeholder{font-size:.7rem;color:var(--text-muted);font-style:italic;flex:1}.description-display .edit-icon{color:var(--text-muted);opacity:0;transition:opacity .15s ease;flex-shrink:0}.description-edit{display:flex;gap:4px;align-items:center}.description-input{flex:1;padding:4px 8px;font-size:.75rem;background:var(--bg-primary);border:1px solid var(--accent-primary);border-radius:4px;color:var(--text-normal);outline:none}.description-input::placeholder{color:var(--text-muted);font-style:italic}.description-actions{display:flex;gap:2px}.desc-btn{padding:4px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.desc-btn.save{background:var(--accent-success);color:#fff}.desc-btn.save:hover{background:#1a9e5c}.desc-btn.cancel{background:var(--bg-tertiary);color:var(--text-muted)}.desc-btn.cancel:hover{background:var(--bg-hover);color:var(--text-secondary)}.task-agencies{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-muted);margin-bottom:var(--space-2);padding:4px 8px;background:var(--bg-tertiary);border-radius:4px}.task-agencies svg{color:var(--accent-primary);flex-shrink:0}.task-agencies span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-section{margin-bottom:var(--space-2)}.budget-bar-container{height:4px;background:var(--bg-primary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-1)}.budget-bar{height:100%;background:linear-gradient(90deg,var(--accent-success) 0%,var(--accent-info) 100%);border-radius:var(--radius-full);transition:width var(--transition-normal)}.budget-bar.over-budget{background:linear-gradient(90deg,var(--accent-warning) 0%,var(--accent-danger) 100%)}.budget-info{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--text-muted)}.budget-percent{margin-left:auto;font-weight:600;color:var(--accent-success)}.budget-percent.danger{color:var(--accent-danger)}.card-footer{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.gantt-toggle{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;cursor:pointer;font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);border:1px solid transparent;transition:all .15s ease;margin-left:auto}.gantt-toggle:hover{background:var(--bg-hover);color:var(--text-secondary)}.gantt-toggle.active{background:#5865f226;color:var(--accent-primary);border-color:#5865f24d}.gantt-toggle input[type=checkbox]{display:none}.gantt-toggle .gantt-label{font-weight:500}.meta-badge{display:flex;align-items:center;gap:2px;font-size:.6875rem;padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-muted)}.drag-handle{position:absolute;top:50%;right:var(--space-2);transform:translateY(-50%);color:var(--text-faint);opacity:0;transition:opacity var(--transition-fast)}.kanban-card:hover .drag-handle{opacity:1}.kanban-swimlanes{flex:1 1 0px;min-height:0;height:0;display:flex;flex-direction:column;gap:var(--space-2);overflow:auto;padding-bottom:var(--space-4)}.swimlanes-header{display:grid;flex-shrink:0;grid-template-columns:200px repeat(4,minmax(220px,1fr));min-width:fit-content;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);position:sticky;top:0;z-index:10}.swimlane-wp-header{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2)}.swimlane-col-header{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:.8125rem;font-weight:500;color:var(--text-muted);padding:var(--space-2)}.swimlane{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:visible;min-width:fit-content}.swimlane-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast)}.swimlane-header:hover{background:var(--bg-hover)}.swimlane-header h3{flex:1;font-size:.9375rem;font-weight:500;color:var(--text-normal)}.wp-indicator{font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm)}.swimlane-content{display:grid;grid-template-columns:200px repeat(4,minmax(220px,1fr));min-width:fit-content;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-top:1px solid var(--border-subtle)}.swimlane.collapsed .swimlane-content{display:none}.swimlane-column{display:flex;flex-direction:column;gap:var(--space-2);min-height:60px;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast)}.swimlane-column.drag-over{background:#5865f21a;outline:2px dashed var(--accent-primary)}.empty-swimlane-cell{min-height:40px;border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.kanban-loading,.kanban-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:var(--space-4);color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kanban-error{color:var(--accent-danger)}.kanban-error button{padding:var(--space-2) var(--space-4);background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.kanban-error button:hover{background:var(--accent-primary-hover)}.update-indicator{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:var(--radius-lg);color:var(--text-normal);font-size:.875rem;box-shadow:var(--shadow-high);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.update-indicator .spin{animation:spin 1s linear infinite;color:var(--accent-primary)}
