:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#60a5fa;--color-secondary:#f43f5e;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-elevated:#fff;--bg-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--border-primary:#e2e8f0;--border-secondary:#cbd5e1;--border-focus:var(--color-primary);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.25);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--z-dropdown:1000;--z-modal:1050;--z-toast:1100;--z-tooltip:1200;--bottom-tab-height:60px}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-elevated:#1e293b;--bg-hover:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-inverse:#0f172a;--border-primary:#334155;--border-secondary:#475569;--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-light:#818cf8;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -2px rgba(0,0,0,.4);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.5)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}#root{height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--border-secondary)}.btn-danger{background-color:var(--color-danger);color:var(--text-inverse)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--radius-full)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:500;margin-bottom:var(--spacing-xs)}.form-input,.form-label,.form-select,.form-textarea{font-size:var(--font-size-sm);color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.form-textarea{resize:vertical;min-height:80px}select option{background-color:var(--bg-primary);color:var(--text-primary)}.card{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md);animation:fadeIn var(--transition-base)}.modal{background-color:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp var(--transition-base)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1 1}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-primary);display:flex;gap:var(--spacing-md);justify-content:flex-end}.modal-container{background-color:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp var(--transition-base)}.modal-tabs{display:flex;gap:0;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);overflow-x:auto}.modal-tab{flex:1 1;min-width:-moz-fit-content;min-width:fit-content;padding:var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap}.modal-tab:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.modal-content,.modal-tab.active{background-color:var(--bg-primary)}.modal-content{padding:var(--spacing-lg);overflow-y:auto;flex:1 1}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--spacing-md);gap:var(--spacing-md)}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-tab-height);background-color:var(--bg-elevated);border-top:1px solid var(--border-primary);justify-content:space-around;z-index:100;box-shadow:0 -2px 10px rgba(0,0,0,.05)}.bottom-tabs,.tab-item{display:flex;align-items:center}.tab-item{flex:1 1;flex-direction:column;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm);color:var(--text-tertiary);text-decoration:none;font-size:var(--font-size-xs);font-weight:500;transition:all var(--transition-fast);cursor:pointer;border:none;background:none;position:relative}.tab-item:hover{color:var(--text-secondary)}.tab-item.active{color:var(--color-primary)}.tab-icon{width:24px;height:24px}.main-content{flex:1 1;overflow-y:auto;padding-bottom:calc(var(--bottom-tab-height) + var(--spacing-md))}.kanban-container{padding:var(--spacing-md);height:100%;overflow-x:auto}.kanban-board{display:flex;gap:var(--spacing-md);min-height:100%;padding-bottom:var(--spacing-md)}.kanban-column{flex:0 0 300px;background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;max-height:calc(100vh - var(--bottom-tab-height) - 180px)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-primary)}.kanban-column-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.kanban-column-count{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full)}.kanban-cards{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.job-card{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.job-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.job-card-thumbnail{width:100%;height:120px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);background-color:var(--bg-tertiary)}.job-card-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card-info{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.job-card-info-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.job-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-sm);border-top:1px solid var(--border-primary)}.job-card-assignee{gap:var(--spacing-xs);color:var(--text-secondary)}.assignee-avatar,.job-card-assignee{display:flex;align-items:center;font-size:var(--font-size-xs)}.assignee-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));justify-content:center;color:var(--text-inverse);font-weight:600}.job-card-badge{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:500}.badge-warning{background-color:rgba(245,158,11,.1);color:var(--color-warning)}.badge-success{background-color:rgba(16,185,129,.1);color:var(--color-success)}.fab{position:fixed;bottom:calc(var(--bottom-tab-height) + var(--spacing-lg));right:var(--spacing-lg);width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:var(--text-inverse);border:none;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);z-index:50}.fab:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}.fab:active{transform:scale(.95)}.filter-bar{background-color:var(--bg-elevated);border-bottom:1px solid var(--border-primary);padding:var(--spacing-md);flex-direction:column}.filter-bar,.filter-row{display:flex;gap:var(--spacing-sm)}.filter-row{align-items:center;flex-wrap:wrap}.filter-search{flex:1 1;min-width:200px}.filter-select{min-width:150px}.tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);background-color:var(--bg-tertiary);color:var(--text-secondary)}.tag-vip{background-color:rgba(236,72,153,.1);color:var(--color-secondary)}.tag-aged{background-color:rgba(245,158,11,.1);color:var(--color-warning)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width:768px){.kanban-column{flex:0 0 280px}.modal{max-width:100%;max-height:100vh;border-radius:0}.filter-row{flex-direction:column}.filter-search,.filter-select{width:100%}.form-input,.form-select,.form-textarea,input,select,textarea{font-size:16px!important}.bottom-tabs{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--bottom-tab-height) + env(safe-area-inset-bottom, 0px))}}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}