*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}:focus-visible{outline:2px solid var(--ws-focus-ring, #1a1a1a);outline-offset:2px;border-radius:2px}:root{--primary: #7b68ee;--primary-dark: #6858d8;--primary-light: #9b8ef8;--secondary: #8b5cf6;--success: #49ccf9;--warning: #ffc800;--danger: #f06565;--info: #4194ff;--bg-primary: var(--ws-bg-page);--bg-secondary: var(--ws-bg-surface);--bg-tertiary: var(--ws-bg-hover);--bg-hover: var(--ws-bg-hover);--text-primary: var(--ws-text-primary);--text-secondary: var(--ws-text-muted);--text-muted: var(--ws-text-muted);--border-color: var(--ws-border);--border-light: #4e5258;--sidebar-width: 240px;--header-height: 56px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 2px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .2);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-full: 9999px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--ws-bg-page, #fafaf7);color:var(--ws-text-primary, #1a1a1a);line-height:1.5;font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.design-notice-banner{position:sticky;top:0;z-index:100;display:flex;align-items:flex-start;gap:14px;padding:12px 24px 12px 21px;background:#fff;color:#4b5563;border-bottom:1px solid #ece9e1;border-left:3px solid #f4a8c0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";font-size:13.5px;line-height:1.55;-webkit-font-smoothing:antialiased;box-shadow:0 1px #00000005}.design-notice-emoji{font-size:16px;line-height:1;flex-shrink:0;padding-top:2px}.design-notice-body{flex:1;min-width:0}.design-notice-body strong{font-weight:600;color:#1a1a1a}.design-notice-body em{font-family:Fraunces,serif;font-style:italic;font-weight:500;color:#1a1a1a}.design-notice-body a{color:#f4a8c0;font-weight:600;text-decoration:none}.design-notice-body a:hover{text-decoration:underline;text-underline-offset:2px}.design-notice-x{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;font-size:20px;line-height:1;border-radius:6px;color:#9ca3af;background:none;border:none;cursor:pointer;font-family:inherit;transition:color .12s,background .12s}.design-notice-x:hover{color:#1a1a1a;background:#0000000d}@media (max-width: 720px){.design-notice-banner{padding:10px 14px 10px 11px;font-size:12.5px;gap:10px}.design-notice-emoji{font-size:15px}}.app-layout{display:flex;height:100%;min-width:0}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;transition:margin-left .2s ease;position:relative;z-index:1;overflow:hidden;min-width:0;height:100%}.sidebar-collapsed .main-content,.sidebar-auto-collapsed .main-content{margin-left:60px}.page-content{flex:1;padding:16px 20px;overflow-y:auto;overflow-x:hidden;height:100%;min-width:0}.page-content::-webkit-scrollbar{width:8px}.page-content::-webkit-scrollbar-track{background:transparent}.page-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.page-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-content.no-header{padding-top:0}.page-content:has(>.loading:only-child){background:#fafaf7;overflow:hidden}[data-theme=dark] .page-content:has(>.loading:only-child){background:var(--ws-bg-page)}@media (max-width: 1200px) and (min-width: 768px){.main-content{min-width:700px}.page-content{padding:14px 16px}}@media (max-width: 1200px){.sidebar-collapsed .main-content,.sidebar-auto-collapsed .main-content{min-width:680px}}@media (max-width: 768px){html,body{overflow-x:hidden}.app-layout{min-width:0}.app-layout .main-content{margin-left:0!important;min-width:0;width:100%}.page-content{padding:12px 14px}}.mobile-topbar{display:none}@media (max-width: 768px){.mobile-topbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;background:#fafaf7;border-bottom:1px solid #ece9e1;position:sticky;top:0;z-index:90}.mobile-topbar-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#fff;border:1px solid #ece9e1;color:#1a1a1a;cursor:pointer;flex-shrink:0}.mobile-topbar-btn:hover{background:#f3f1ea}.mobile-topbar-brand{font-family:Fraunces,serif;font-size:18px;font-weight:500;letter-spacing:-.015em;color:#1a1a1a}}.mobile-nav-backdrop{display:none}@media (max-width: 768px){.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a5c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1099;animation:mobileNavFadeIn .18s ease-out}}@keyframes mobileNavFadeIn{0%{opacity:0}to{opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:6px;border:none;transition:all .2s;cursor:pointer;position:relative;overflow:hidden}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #0000000d}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 8px #6366f14d;transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 1px 2px #0000000d}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 1px 2px #0000000d}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 8px #ef44444d;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:10px 20px;font-size:14px}.btn-icon{padding:8px;border-radius:var(--radius-md)}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=tel],.form-group input[type=url],.form-group input[type=search],.form-group textarea,.modal-form input[type=text],.modal-form input[type=email],.modal-form input[type=password],.modal-form input[type=number],.modal-form input[type=tel],.modal-form input[type=url],.modal-form input[type=search],.modal-form textarea{width:100%;padding:10px 12px;font-size:13px;background:var(--ws-bg-surface, var(--bg-tertiary));border:1px solid var(--ws-border, var(--border-light));border-radius:var(--radius-md);color:var(--ws-text-primary, var(--text-primary));transition:all .2s;box-sizing:border-box}.form-group input:hover:not(:disabled):not(:focus),.modal-form input:hover:not(:disabled):not(:focus),.form-group textarea:hover:not(:disabled):not(:focus),.modal-form textarea:hover:not(:disabled):not(:focus){border-color:var(--ws-text-muted, var(--text-muted));background:var(--ws-bg-hover, var(--bg-hover))}.form-group input:focus,.modal-form input:focus,.form-group textarea:focus,.modal-form textarea:focus{outline:none;border-color:var(--primary);background:var(--ws-bg-surface, var(--bg-secondary));box-shadow:0 0 0 3px #6366f126}.form-group input::placeholder,.modal-form input::placeholder,.form-group textarea::placeholder,.modal-form textarea::placeholder{color:var(--text-muted);opacity:.7}.form-label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;padding:10px 12px;font-size:13px;background:var(--ws-bg-surface, var(--bg-tertiary));border:1px solid var(--ws-border, var(--border-light));border-radius:var(--radius-md);color:var(--ws-text-primary, var(--text-primary));transition:all .2s;text-indent:0;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:hover:not(:disabled):not(:focus){border-color:var(--ws-text-muted, var(--text-muted));background:var(--ws-bg-hover, var(--bg-hover))}.form-input:focus{outline:none;border-color:var(--primary);background:var(--ws-bg-surface, var(--bg-secondary));box-shadow:0 0 0 3px #6366f126,0 1px 3px #0000001a;transform:translateY(-1px)}.form-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary)}.form-input::placeholder{color:var(--text-muted);opacity:.7}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.5);cursor:pointer;opacity:1;transition:all .2s;background:#ffffff1a;border-radius:4px;padding:2px}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{background:#fff3;transform:scale(1.1)}.form-select{width:100%;padding:8px 10px;font-size:13px;background:var(--ws-bg-surface, var(--bg-tertiary));border:1px solid var(--ws-border, var(--border-color));border-radius:var(--radius-md);color:var(--ws-text-primary, var(--text-primary));cursor:pointer;transition:all .2s}.form-select:hover:not(:disabled){border-color:var(--ws-text-muted, var(--text-muted));background:var(--ws-bg-hover, var(--bg-hover))}.form-select:focus{outline:none;border-color:var(--primary);background:var(--ws-bg-surface, var(--bg-secondary));box-shadow:0 0 0 3px #6366f126,0 1px 3px #0000001a}.form-select:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary)}.form-textarea{width:100%;padding:8px 10px;font-size:13px;background:var(--ws-bg-surface, var(--bg-tertiary));border:1px solid var(--ws-border, var(--border-color));border-radius:var(--radius-md);color:var(--ws-text-primary, var(--text-primary));min-height:80px;resize:vertical;transition:all .2s;line-height:1.5;text-indent:0;box-sizing:border-box}.form-textarea:hover:not(:disabled):not(:focus){border-color:var(--ws-text-muted, var(--text-muted));background:var(--ws-bg-hover, var(--bg-hover))}.form-textarea:focus{outline:none;border-color:var(--primary);background:var(--ws-bg-surface, var(--bg-secondary));box-shadow:0 0 0 3px #6366f126,0 1px 3px #0000001a}.form-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary);resize:none}.form-textarea::placeholder{color:var(--text-muted);opacity:.7}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.card-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:14px;font-weight:600}.card-body{padding:16px}.badge{display:inline-flex;align-items:center;padding:3px 8px;font-size:11px;font-weight:500;border-radius:var(--radius-full)}.badge-primary{background:#6366f133;color:var(--primary-light)}.badge-success{background:#22c55e33;color:#4ade80}.badge-warning{background:#f59e0b33;color:#fbbf24}.badge-danger{background:#ef444433;color:#f87171}.badge-info{background:#3b82f633;color:#60a5fa}.status-pending{background:#6b728033;color:#9ca3af}.status-in_progress{background:#3b82f633;color:#60a5fa}.status-review{background:#a855f733;color:#c084fc}.status-completed{background:#22c55e33;color:#4ade80}.priority-low{background:#6b728033;color:#9ca3af}.priority-medium{background:#3b82f633;color:#60a5fa}.priority-high{background:#f59e0b33;color:#fbbf24}.priority-critical{background:#ef444433;color:#f87171}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary) 0%,#8b5cf6 100%);color:#fff!important;font-weight:600;text-transform:uppercase;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;cursor:pointer;position:relative;line-height:1}.avatar:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.avatar-xs{width:24px;height:24px;font-size:10px}.avatar-sm{width:28px;height:28px;font-size:11px;font-weight:600}.avatar-md{width:44px;height:44px;font-size:16px;font-weight:600}.avatar-lg{width:52px;height:52px;font-size:20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .12s ease-out;overflow-y:auto;will-change:opacity}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal{background:var(--ws-bg-surface);color:var(--ws-text-primary);border-radius:var(--radius-lg);border:1px solid var(--ws-border);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;box-shadow:0 20px 50px #0000004d}.modal.modal-large{max-width:750px;max-height:95vh}.modal.modal-small{max-width:400px}.modal-header{padding:12px 16px;border-bottom:1px solid var(--ws-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:15px;font-weight:600}.modal-close{background:none;border:none;color:var(--ws-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--ws-text-primary)}.modal-body{padding:16px}.modal-footer{padding:12px 16px;border-top:1px solid var(--ws-border);display:flex;justify-content:flex-end;gap:10px}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:6px;min-width:180px;max-height:300px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;z-index:2000;animation:dropdownFadeIn .2s ease-out;padding:4px}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s;border-radius:6px}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.dropdown-item:active{transform:scale(.98)}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--text-muted)}.empty-state-title{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-description{color:var(--text-secondary);margin-bottom:24px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 24px;background:#fafaf7;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.spinner-small{width:16px;height:16px;border:2px solid #ece9e1;border-top-color:#f4a8c0;border-radius:50%;animation:spin .9s linear infinite}.toast-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px}.toast{padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;min-width:300px;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--info)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.text-sm{font-size:13px}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.w-full{width:100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:1000px 100%;animation:shimmer 2s infinite linear;border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton-text{height:14px;margin-bottom:8px;border-radius:4px}.skeleton-text.skeleton-title{height:20px;width:60%}.skeleton-text.skeleton-subtitle{height:16px;width:80%}.skeleton-text.skeleton-line{height:12px;width:100%}.skeleton-text.skeleton-line-short{height:12px;width:70%}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-avatar.skeleton-avatar-sm{width:28px;height:28px}.skeleton-avatar.skeleton-avatar-xs{width:24px;height:24px}.skeleton-button{height:36px;width:80px;border-radius:var(--radius-md)}.skeleton-card{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:12px}.skeleton-table-row{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #ece9e1;border-top-color:#f4a8c0;border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:14px;height:14px;border-width:2px}.spinner-lg{width:36px;height:36px;border-width:3px}.editorial-dots{display:inline-flex;gap:6px}.editorial-dots span{width:8px;height:8px;border-radius:50%;background:#f4a8c0;animation:editorialDot 1s ease-in-out infinite}.editorial-dots span:nth-child(2){animation-delay:.15s}.editorial-dots span:nth-child(3){animation-delay:.3s}@keyframes editorialDot{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .2s ease-out}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000004d}.loading-overlay-text{font-size:14px;color:var(--text-secondary);font-weight:500}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-kanban-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:8px}.skeleton-kanban-card .skeleton-text:first-child{height:18px;width:80%;margin-bottom:10px}.skeleton-kanban-card-footer{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.progress-bar{width:100%;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .3s ease}.progress-bar-indeterminate{position:absolute;top:0;left:0;height:100%;width:30%;background:var(--primary);border-radius:var(--radius-full);animation:progressIndeterminate 1.5s ease-in-out infinite}@keyframes progressIndeterminate{0%{left:-30%}to{left:100%}}.loading-dots{display:inline-flex;align-items:center;gap:4px}.loading-dot{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:loadingDotBounce 1.4s infinite ease-in-out both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingDotBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.global-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);max-width:min(90vw,460px);padding:10px 18px;border-radius:999px;font-size:13.5px;font-weight:500;color:#fff;background:#1a1a1a;z-index:99999;animation:global-toast-slide-in .2s ease;box-shadow:0 8px 24px -6px #00000059;display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-toast-close{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:.7;padding:0;line-height:1;transition:opacity .2s}.global-toast-close:hover{opacity:1}.global-toast-error,.global-toast-success,.global-toast-info{background:#1a1a1a}@keyframes global-toast-slide-in{0%{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%);opacity:1}}.server-status-banner{display:flex;align-items:center;gap:10px;padding:10px 20px;background:linear-gradient(90deg,#dc2626,#b91c1c);color:#fff;font-size:13px;font-weight:500;animation:server-banner-slide-down .3s ease;z-index:100;flex-shrink:0}.server-status-banner svg{flex-shrink:0;animation:server-banner-pulse 2s ease-in-out infinite}@keyframes server-banner-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.server-banner-close{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;margin-left:auto;padding:0 4px;opacity:.7;line-height:1}.server-banner-close:hover{opacity:1}.server-restarting-banner{background:linear-gradient(90deg,#2563eb,#1d4ed8)}.server-slow-banner{background:linear-gradient(90deg,#d97706,#b45309)}@keyframes server-banner-pulse{0%,to{opacity:1}50%{opacity:.5}}:root{--ws-bg-page: #fafaf7;--ws-bg-surface: #ffffff;--ws-bg-hover: #f5f5f0;--ws-text-primary: #1a1a1a;--ws-text-muted: #6b7280;--ws-border: #ece9e1;--ws-accent-pink: #f4a8c0;--ws-accent-purple: #7b68ee;--ws-text: var(--ws-text-primary);--ws-bg: var(--ws-bg-page);--ws-surface: var(--ws-bg-surface);--ws-accent: var(--ws-accent-pink);--ws-text-faint: #a1a1aa;--ws-focus-ring: #1a1a1a;--ws-text-secondary: #4b5563;--ws-bg-elev: #f3f4f6;--ws-danger: #dc2626;--ws-danger-soft: rgba(239, 68, 68, .12);--ws-font-display: Georgia, "Times New Roman", serif;color-scheme:only light}[data-theme=light]{color-scheme:only light}[data-theme=dark]{--ws-text-secondary: #c9c9cf;--ws-bg-elev: #2e2e36;--ws-danger: #f87171;--ws-danger-soft: rgba(248, 113, 113, .16);--ws-bg-page: #1a1a1f;--ws-bg-surface: #25252b;--ws-bg-hover: #2e2e36;--ws-text-primary: #f0f0ee;--ws-text-muted: #9ca3af;--ws-border: #3a3a42;--ws-accent-pink: #c4788a;--ws-accent-purple: #9d8fff;--ws-focus-ring: #f0f0ee;--ws-text-faint: #7e7e8a;color-scheme:only dark}[data-theme=dark] .loading{background:var(--ws-bg-page);color:var(--ws-text-primary)}[data-theme=dark] .spinner,[data-theme=dark] .spinner-lg,[data-theme=dark] .spinner-small{border-color:var(--ws-border);border-top-color:var(--ws-accent-pink)}.app-boot{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--ws-bg-page, #fafaf7);color:var(--ws-text-primary, #1a1a1a);z-index:9999}.app-boot-spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid rgba(244,168,192,.25);border-top-color:#f4a8c0;animation:appBootSpin .75s linear infinite}@keyframes appBootSpin{to{transform:rotate(360deg)}}[data-theme=dark] .app-boot{background:var(--ws-bg-page);color:var(--ws-text-primary)}@media (prefers-reduced-motion: reduce){.app-boot-spinner{animation:none}}
