@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#faf8f5;--bg-white:#fff;--text-primary:#111827;--text-secondary:#6b7280;--border:#e5e7eb;--border-light:#d1d5db;--indigo:#6366f1;--indigo-hover:#4f46e5;--indigo-light:#eef2ff;--green:#22c55e;--green-light:#f0fdf4;--green-bg:#dcfce7;--red:#ef4444;--red-light:#fef2f2;--amber:#f59e0b;--amber-light:#fffbeb;--blue:#3b82f6;--blue-light:#eff6ff;--purple:#8b5cf6;--purple-light:#f3e8ff;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--border-width:1.5px}html{font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);color:var(--text-primary);background:#f3f4f6;min-height:100vh}a{color:var(--indigo);text-decoration:none}a:hover{color:var(--indigo-hover)}button{font-family:var(--font);cursor:pointer;background:0 0;border:none}input,textarea{font-family:var(--font);outline:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#d4cfc4}@keyframes pulseFade{0%,to{opacity:.45}50%{opacity:1}}@keyframes sheetSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.app-shell{background-color:var(--bg-primary);background-image:radial-gradient(#e3ddd0 1px,#0000 1px);background-size:15px 15px;border:1.5px solid #0000;flex-direction:column;width:100%;min-width:320px;max-width:430px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}[data-rough]{box-shadow:none!important;border:1.5px solid #0000!important}@media (min-width:768px){.app-shell{border-radius:30px;height:844px;margin-top:20px;margin-bottom:20px;transform:rotate(-.15deg)}body{justify-content:center;align-items:flex-start;min-height:100vh;padding:0 10px;display:flex}}.login-page{background:var(--bg-primary);background-image:radial-gradient(#e3ddd0 1px,#0000 1px);background-size:15px 15px;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-white);border-radius:var(--radius-lg);border:1.5px solid #0000;width:100%;max-width:380px;padding:32px 24px}.login-title{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:700}.login-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:13px}.form-group{margin-bottom:16px}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input{border-radius:var(--radius-md);width:100%;color:var(--text-primary);z-index:12;background:0 0;border:1.5px solid #0000;padding:10px 14px;font-size:14px;transition:border-color .2s;position:relative}.form-input::placeholder{color:var(--border-light)}.form-error{color:var(--red);background:var(--red-light);border-radius:var(--radius-sm);border:1.5px solid #0000;margin-top:12px;padding:8px 12px;font-size:12px}.btn-primary{background:var(--indigo);color:#fff;border-radius:var(--radius-md);cursor:pointer;z-index:12;border:1.5px solid #0000;width:100%;padding:11px 0;font-size:14px;font-weight:600;transition:background .2s;position:relative}.btn-primary:hover{background:var(--indigo-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.page-header{justify-content:space-between;align-items:center;padding:18px 16px 10px;display:flex}.page-title{color:var(--text-primary);font-size:18px;font-weight:600}.avatar{color:#fff;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:flex;position:relative}.avatar-sm{width:20px;height:20px;font-size:10px}.avatar-xs{width:16px;height:16px;font-size:9px}.quick-add-wrapper{padding:0 16px 6px}.quick-add-row{align-items:center;gap:8px;display:flex}.quick-add-input-wrap{flex:1;min-width:0}.quick-add-input{border-radius:var(--radius-pill);width:100%;color:var(--text-primary);z-index:12;background:0 0;border:1.5px solid #0000;outline:none;padding:11px 16px;font-size:16px;position:relative}.quick-add-input::placeholder{color:var(--border-light)}.quick-add-btn{background:var(--green);color:#fff;cursor:pointer;z-index:12;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:600;line-height:0;transition:background .2s;display:flex;position:relative}.quick-add-btn:hover{background:#16a34a}.chips-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{border-radius:var(--radius-pill);cursor:pointer;background:var(--bg-white);z-index:12;border:1.5px solid #0000;padding:5px 10px;font-size:11px;transition:background .2s}.chip-assign{background:var(--indigo-light);color:var(--indigo)}.chip-project{background:var(--purple-light);color:var(--purple)}.chip-priority{color:var(--text-secondary);background:#f3f4f6}.task-list{flex:1;padding:8px 16px 16px;overflow-y:auto}.task-section{border-radius:var(--radius-md);border:1.5px solid #0000;margin-bottom:12px;padding:10px 12px}.task-section-blocked{background:var(--red-light);border-left:3px solid var(--red)!important}.task-section-inprogress{background:var(--amber-light);border-left:3px solid var(--amber)!important}.task-section-todo{background:var(--blue-light);border-left:3px solid var(--blue)!important}.task-section-done{background:var(--green-light);border-left:3px solid var(--green)!important}.section-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.section-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.section-title{color:var(--text-primary);font-size:13px;font-weight:600}.section-meta{color:var(--text-secondary);font-size:11px}.show-more{color:var(--text-secondary);text-align:center;cursor:pointer;background:0 0;border:none;width:100%;padding:4px 0 2px;font-size:11px}.show-more:hover{color:var(--text-primary)}.task-card{background:var(--bg-white);cursor:pointer;border:1.5px solid #0000;align-items:flex-start;gap:8px;margin-bottom:8px;padding:9px 11px;transition:transform .22s ease-out,background .22s ease-out;display:flex}.task-card:hover{background:#f9fafb}.task-card:nth-child(2n){border-radius:9px 7px 9px 8px;transform:rotate(-.3deg)}.task-card:nth-child(odd){border-radius:7px 9px 8px;transform:rotate(.3deg)}.task-card-body{z-index:12;flex:1;min-width:0}.task-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.task-card-name.done{color:var(--text-secondary);text-decoration:line-through}.task-card-meta{align-items:center;gap:6px;margin-top:3px;display:flex}.task-card-tag{color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:1px 6px;font-size:11px}.task-card-time{color:var(--text-secondary);font-size:11px}.task-card-blocker{color:var(--red);margin-top:2px;font-size:11px}.task-card-collab-badge{color:var(--text-secondary);border-radius:var(--radius-pill);background:#f3f4f6;flex-shrink:0;padding:3px 6px;font-size:10px;font-weight:600}.done-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.done-header-left{align-items:center;gap:6px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state-title{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.empty-state-btn{background:var(--indigo);color:#fff;border-radius:var(--radius-pill);cursor:pointer;z-index:12;border:1.5px solid #0000;margin-top:10px;padding:9px 18px;font-size:13px;transition:background .2s;position:relative}.empty-state-btn:hover{background:var(--indigo-hover)}.bottom-nav{background:0 0;border-top:1.5px solid #0000;flex-shrink:0;display:flex}.nav-tab{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 0 8px;transition:color .2s;display:flex}.nav-tab-label{font-size:11px}.nav-tab-indicator{border-radius:2px;width:20px;height:2px;transition:background .2s}.sheet-overlay{z-index:20;background:#11182726;position:absolute;inset:0}.sheet-overlay-picker{z-index:30}.bottom-sheet{background:var(--bg-white);border-top:1.5px solid var(--text-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:88%;padding:10px 16px 16px;animation:.15s ease-out sheetSlideUp;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet-handle{background:var(--border-light);border-radius:var(--radius-pill);width:36px;height:4px;margin:0 auto 14px}.detail-close-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;z-index:13;background:0 0;border:none;font-size:20px;line-height:1;position:absolute;top:12px;right:14px}.detail-title{color:var(--text-primary);cursor:text;margin-bottom:12px;font-size:18px;font-weight:700}.detail-title-input{color:var(--text-primary);border-radius:var(--radius-sm);z-index:12;background:0 0;border:none;width:100%;margin-bottom:12px;padding:4px 8px;font-size:18px;font-weight:700;position:relative}.detail-pills{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.status-pill{border-radius:var(--radius-pill);cursor:pointer;border:1.5px solid #0000;padding:5px 12px;font-size:11px;font-weight:600;transition:opacity .2s}.status-pill:hover{opacity:.8}.detail-pill{border-radius:var(--radius-pill);color:var(--text-secondary);border:1.5px solid #0000;padding:5px 12px;font-size:11px}.detail-assignee{align-items:center;gap:8px;margin-bottom:10px;display:flex}.detail-assignee-name{color:var(--text-primary);font-size:13px}.detail-change-link{z-index:12;font-size:11px}.detail-assigned-by{color:var(--text-secondary);margin-bottom:10px;font-size:11px}.detail-collaborators{align-items:center;gap:6px;margin-bottom:12px;display:flex}.detail-collaborators-add{color:var(--indigo);cursor:pointer;z-index:12;background:0 0;border:none;padding:4px 0;font-size:11px}.detail-project-tag{background:var(--purple-light);color:var(--purple);border-radius:var(--radius-pill);border:1.5px solid #0000;margin-bottom:12px;padding:4px 12px;font-size:11px;display:inline-block}.detail-section-title{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:600}.subtask-row{cursor:pointer;align-items:center;gap:8px;padding:5px 0;display:flex}.subtask-check{border-radius:var(--radius-xs);flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;display:flex}.subtask-check-done{background:var(--green);color:#fff;border:1.5px solid #0000}.subtask-check-pending{background:var(--bg-white);border:1.5px solid #0000}.subtask-name{color:var(--text-primary);font-size:13px}.subtask-name.done{color:var(--text-secondary);text-decoration:line-through}.time-tracker{border-radius:var(--radius-md);border:1.5px solid #0000;align-items:center;gap:14px;margin-bottom:14px;padding:10px 12px;display:flex}.time-tracker-btn{background:var(--indigo-light);width:32px;height:32px;color:var(--indigo);cursor:pointer;z-index:12;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s;display:flex}.time-tracker-btn:hover{background:#ddd6fe}.time-tracker-label{color:var(--text-primary);font-size:13px}.attachments-row{gap:6px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.attachment-pill{color:var(--text-primary);border-radius:var(--radius-pill);white-space:nowrap;border:1.5px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:6px 8px 6px 12px;font-size:11px;display:flex}.attachment-pill-link{color:var(--text-primary);text-overflow:ellipsis;max-width:140px;text-decoration:none;overflow:hidden}.attachment-pill-link:hover{text-decoration:underline}.attachment-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;line-height:1}.attachment-add{color:var(--indigo);border-radius:var(--radius-pill);white-space:nowrap;background:var(--bg-white);cursor:pointer;z-index:12;border:1.5px solid #0000;flex-shrink:0;padding:6px 12px;font-size:11px}.attachment-add:disabled{opacity:.6;cursor:not-allowed}.attachment-error{color:var(--red);margin-top:-8px;margin-bottom:14px;font-size:11px}.blocker-box{background:var(--red-light);border-radius:var(--radius-md);border:1.5px solid #0000;margin-bottom:14px;padding:10px}.blocker-textarea{resize:none;width:100%;min-height:50px;color:var(--red);background:0 0;border:none;outline:none;font-size:13px}.comment-item{gap:8px;margin-bottom:10px;display:flex}.comment-meta{color:var(--text-secondary);font-size:11px}.comment-body{color:var(--text-primary);font-size:13px}.comment-input-row{gap:8px;margin-bottom:14px;display:flex}.comment-input-wrap{flex:1;min-width:0}.comment-input{border-radius:var(--radius-pill);z-index:12;background:0 0;border:1.5px solid #0000;width:100%;padding:8px 14px;font-size:13px;position:relative}.comment-send-btn{background:var(--indigo);color:#fff;border-radius:var(--radius-pill);cursor:pointer;z-index:12;border:1.5px solid #0000;padding:8px 14px;font-size:13px;transition:background .2s;position:relative}.comment-send-btn:hover{background:var(--indigo-hover)}.activity-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.activity-item{color:var(--text-secondary);margin-bottom:4px;font-size:11px}.detail-actions{gap:8px;margin-top:16px;display:flex}.detail-delete-row{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.detail-delete-btn{color:var(--red);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.detail-delete-confirm-text{color:var(--text-primary);font-size:12px;font-weight:600}.detail-delete-confirm-btn{color:#fff;background:var(--red);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 10px;font-size:12px;font-weight:600}.detail-delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.detail-delete-cancel-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.detail-action-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;z-index:12;border:1.5px solid #0000;flex:1;padding:11px 0;font-size:13px;font-weight:600;transition:opacity .2s}.detail-action-btn:hover{opacity:.9}.detail-action-btn:disabled{opacity:.6;cursor:not-allowed}.detail-action-done{background:var(--green)}.detail-action-blocked{background:var(--red)}.detail-action-handoff{background:var(--indigo)}.picker-title{color:var(--text-primary);margin-bottom:10px;font-size:16px;font-weight:600}.picker-option{border-top:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:12px 4px;transition:background .2s;display:flex}.picker-option:hover{background:#f9fafb}.picker-option-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.picker-option-label{color:var(--text-primary);font-size:16px}.picker-option-check{color:var(--indigo);margin-left:auto;font-weight:700}.picker-done-btn{background:var(--indigo);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;margin-top:14px;padding:11px 0;font-size:14px;font-weight:600}.task-create-sheet{padding-bottom:20px}.task-create-subtitle{color:var(--text-secondary);margin-bottom:14px;font-size:12px}.task-create-rows{flex-direction:column;gap:10px;max-height:46vh;display:flex;overflow-y:auto}.task-create-row{border:1.5px solid var(--border);border-radius:var(--radius-md);padding:10px}.task-create-row-top{align-items:center;gap:8px;display:flex}.task-create-index{background:var(--bg-primary);width:20px;height:20px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.task-create-input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:14px}.task-create-input::placeholder{color:var(--border-light)}.task-create-remove{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:16px;line-height:1}.task-create-options{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.task-create-chip{border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:11px;transition:background .15s,border-color .15s,color .15s}.task-create-chip-active{background:var(--indigo-light);border-color:var(--indigo);color:var(--indigo);font-weight:600}.task-create-divider{background:var(--border);width:1px;height:14px;margin:0 2px}.task-create-add-row{border:1.5px dashed var(--border-light);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-top:12px;padding:9px 0;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.task-create-add-row:hover{border-color:var(--indigo);color:var(--indigo)}.calendar-header{justify-content:space-between;align-items:center;padding:18px 16px 12px;display:flex}.calendar-today-btn{background:var(--indigo);color:#fff;border-radius:var(--radius-pill);cursor:pointer;z-index:12;border:1.5px solid #0000;padding:6px 14px;font-size:11px;transition:background .2s}.calendar-today-btn:hover{background:var(--indigo-hover)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;padding:0 16px;display:grid}.calendar-weekday{color:var(--text-secondary);text-align:center;font-size:11px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px;padding:0 16px;display:grid}.calendar-cell{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;background:var(--bg-white);border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;transition:border-color .2s;display:flex}.calendar-cell:hover{border-color:var(--indigo)}.calendar-cell-today{background:var(--indigo);color:#fff;border-color:var(--indigo)}.calendar-cell-selected{border-color:var(--indigo);border-width:2px}.calendar-cell-empty{cursor:default;background:0 0;border:none}.calendar-cell-empty:hover{border-color:#0000}.calendar-day-num{font-size:13px}.calendar-day-num-bold{font-weight:600}.calendar-dots{gap:2px;height:4px;margin-top:2px;display:flex}.calendar-dot{border-radius:50%;width:4px;height:4px}.selected-date-header{color:var(--text-primary);margin-bottom:8px;padding:0 16px;font-size:13px;font-weight:600}.selected-date-list{flex:1;padding:0 16px 16px;overflow-y:auto}.calendar-task-card{background:var(--bg-white);cursor:pointer;border:1.5px solid #0000;align-items:flex-start;gap:8px;margin-bottom:8px;padding:9px 11px;transition:background .2s;display:flex}.calendar-task-card:hover{background:#f9fafb}.calendar-task-card:nth-child(2n){border-radius:9px 7px 9px 8px;transform:rotate(-.3deg)}.calendar-task-card:nth-child(odd){border-radius:7px 9px 8px;transform:rotate(.3deg)}.calendar-task-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.calendar-task-meta{color:var(--text-secondary);margin-top:2px;font-size:11px}.calendar-empty{color:var(--text-secondary);text-align:center;padding:30px 10px;font-size:13px}.team-blockers{background:var(--red-light);border-radius:var(--radius-md);border:1.5px solid #0000;margin-bottom:14px;padding:12px}.team-blockers-title{color:var(--red);margin-bottom:8px;font-size:13px;font-weight:600}.team-blocker-card{background:var(--bg-white);cursor:pointer;border:1.5px solid #0000;margin-bottom:8px;padding:9px 11px;transition:background .2s}.team-blocker-card:hover{background:#f9fafb}.team-blocker-card:nth-child(2n){border-radius:9px 7px 9px 8px;transform:rotate(-.3deg)}.team-blocker-card:nth-child(odd){border-radius:7px 9px 8px;transform:rotate(.3deg)}.team-blocker-who{color:var(--red);margin-top:2px;font-size:11px}.workload-title{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:600}.workload-card{border-radius:var(--radius-md);background:var(--bg-white);border:1.5px solid #0000;margin-bottom:8px;padding:10px 12px}.workload-row{align-items:center;gap:8px;display:flex}.workload-info{flex:1;min-width:0}.workload-name{color:var(--text-primary);font-size:13px;font-weight:600}.workload-assigned,.workload-capacity{color:var(--text-secondary);font-size:11px}.workload-bar-bg{background:var(--border);border-radius:var(--radius-pill);height:6px;margin-top:8px;overflow:hidden}.workload-bar{background:var(--indigo);border-radius:var(--radius-pill);height:100%;transition:width .3s}.overdue-title{color:var(--text-primary);margin:14px 0 8px;font-size:13px;font-weight:600}.overdue-card{background:var(--bg-white);cursor:pointer;border:1.5px solid #0000;margin-bottom:8px;padding:9px 11px;transition:background .2s}.overdue-card:hover{background:var(--red-light)}.overdue-card:nth-child(2n){border-radius:9px 7px 9px 8px;transform:rotate(-.3deg)}.overdue-card:nth-child(odd){border-radius:7px 9px 8px;transform:rotate(.3deg)}.overdue-label{color:var(--red);margin-top:2px;font-size:11px}.flowing-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}.flowing-title{color:var(--text-primary);font-size:16px;font-weight:600}.skeleton{flex-direction:column;flex:1;padding:20px 16px;display:flex}.skeleton-bar{border-radius:var(--radius-sm);background:#f3f1ec;animation:1s ease-in-out infinite pulseFade}.skeleton-header{width:160px;height:18px;margin-bottom:20px}.skeleton-search{border-radius:var(--radius-pill);border:1.5px solid #0000;height:44px;margin-bottom:20px}.skeleton-card{border-radius:var(--radius-lg);border:1.5px solid #0000;height:70px;margin-bottom:12px}.skeleton-card:nth-child(2){animation-delay:.15s}.skeleton-card:nth-child(3){animation-delay:.3s}.offline-banner{background:var(--amber-light);border-bottom:1px solid var(--amber);color:#92400e;text-align:center;flex-shrink:0;padding:6px 16px;font-size:11px}.desktop-nav{display:none}@media (min-width:768px){.desktop-nav{background:var(--bg-white);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:fixed;top:0;left:0;right:0}.desktop-nav-brand{color:var(--text-primary);font-size:16px;font-weight:700}.desktop-nav-links{align-items:center;gap:20px;display:flex}.desktop-nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.desktop-nav-link:hover{color:var(--text-primary);background:#f3f4f6}.desktop-nav-link.active{color:var(--indigo);background:var(--indigo-light)}.desktop-nav-user{align-items:center;gap:8px;display:flex}.desktop-nav-username{color:var(--text-primary);font-size:13px}body.has-desktop-nav{padding-top:52px}}.dashboard-page{max-width:1200px;margin:0 auto;padding:24px;animation:.2s ease-out contentFadeIn}.dashboard-title{color:var(--text-primary);margin-bottom:24px;font-size:24px;font-weight:700}.dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:32px;display:grid}.dashboard-card{background:var(--bg-white);border-radius:var(--radius-md);border:1.5px solid #0000;padding:20px}.dashboard-card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:500}.dashboard-card-value{color:var(--text-primary);font-size:32px;font-weight:700}.dashboard-card-value.red{color:var(--red)}.dashboard-card-value.green{color:var(--green)}.dashboard-card-value.amber{color:var(--amber)}.dashboard-section{background:var(--bg-white);border-radius:var(--radius-md);border:1.5px solid #0000;margin-bottom:24px;padding:20px}.dashboard-section-title{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.dashboard-grid-2{grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:24px;margin-bottom:24px;display:grid}@media (max-width:1024px){.dashboard-grid-2{grid-template-columns:1fr}}.admin-layout{min-height:calc(100vh - 52px);display:flex}.admin-sidebar{background:var(--bg-white);border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:20px 0}.admin-sidebar-link{color:var(--text-secondary);padding:10px 20px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:block}.admin-sidebar-link:hover{color:var(--text-primary);background:#f3f4f6}.admin-sidebar-link.active{color:var(--indigo);background:var(--indigo-light)}.admin-content{flex:1;padding:24px;overflow-y:auto}.admin-title{color:var(--text-primary);margin-bottom:24px;font-size:24px;font-weight:700}.admin-table{border-collapse:collapse;background:var(--bg-white);border-radius:var(--radius-md);border:1.5px solid #0000;width:100%;overflow:hidden}.admin-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:#f9fafb;padding:12px 16px;font-size:11px;font-weight:600}.admin-table td{color:var(--text-primary);border-bottom:1px solid var(--border);padding:12px 16px;font-size:13px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f9fafb}.role-badge{border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:600}.role-badge-admin{background:var(--indigo-light);color:var(--indigo)}.role-badge-member{color:var(--text-secondary);background:#f3f4f6}.admin-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 12px;font-size:12px;transition:opacity .2s}.admin-btn:hover{opacity:.8}.admin-btn-edit{background:var(--indigo-light);color:var(--indigo)}.admin-btn-delete{background:var(--red-light);color:var(--red)}.admin-btn-add{background:var(--indigo);color:#fff;border-radius:var(--radius-md);margin-bottom:20px;padding:10px 20px;font-size:13px;font-weight:600}.modal-overlay{z-index:100;background:#11182766;justify-content:center;align-items:center;animation:.15s ease-out contentFadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;max-height:90vh;padding:24px;animation:.15s ease-out sheetSlideUp;overflow-y:auto}.modal-title{color:var(--text-primary);margin-bottom:20px;font-size:18px;font-weight:700}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-btn-cancel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-white);color:var(--text-primary);cursor:pointer;padding:10px 20px;font-size:13px}.modal-btn-submit{border-radius:var(--radius-md);background:var(--indigo);color:#fff;cursor:pointer;border:none;padding:10px 20px;font-size:13px;font-weight:600}.modal-btn-submit:hover{background:var(--indigo-hover)}.modal-btn-danger{background:var(--red)}.modal-btn-danger:hover{background:#dc2626}.chart-container{width:100%;position:relative}.chart-legend{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.chart-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.chart-legend-dot{border-radius:50%;width:8px;height:8px}.activity-feed-item{border-bottom:1px solid var(--border);gap:8px;padding:8px 0;display:flex}.activity-feed-item:last-child{border-bottom:none}.activity-feed-text{color:var(--text-primary);flex:1;font-size:13px}.activity-feed-time{color:var(--text-secondary);flex-shrink:0;font-size:11px}.color-swatch{border-radius:var(--radius-xs);border:1px solid var(--border);flex-shrink:0;width:16px;height:16px}.form-select{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--bg-white);font-size:14px;font-family:var(--font);cursor:pointer;padding:10px 14px}.form-select:focus{border-color:var(--indigo);outline:none}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex-1{flex:1;min-width:0}.flex-shrink-0{flex-shrink:0}.mb-0{margin-bottom:0}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mt-8{margin-top:8px}
