:root{--bg: #0f111a;--panel: #171923;--panel-alt: #1f2434;--surface: #111827;--text: #f5f3ff;--muted: #94a3b8;--border: #2e3a57;--purple: #6d28d9;--gold: #d6aa3a;--success: #22c55e;--danger: #f97316;--shadow: 0 24px 60px rgba(0, 0, 0, .35)}:root[data-theme=light]{--bg: #f8fafc;--panel: #ffffff;--panel-alt: #f1f5f9;--surface: #ffffff;--text: #0f172a;--muted: #475569;--border: #cbd5e1;--shadow: 0 16px 40px rgba(15, 23, 42, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--panel);padding:24px 18px;border-right:1px solid rgba(255,255,255,.05)}.brand{font-size:1.1rem;font-weight:700;letter-spacing:.04em;margin-bottom:24px}.member-card{display:flex;gap:12px;align-items:center;margin-bottom:28px}.member-avatar{width:44px;height:44px;border-radius:14px;background:var(--purple);display:grid;place-items:center;font-weight:700;color:#fff}.member-name{font-weight:600}.member-position{color:var(--muted);font-size:.9rem}.sidebar nav ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.sidebar nav a{display:block;padding:12px 14px;border-radius:12px;color:var(--text);background:transparent;transition:background .2s ease}.sidebar nav a.active,.sidebar nav a:hover{background:#6e29d926}.main-content{flex:1;min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:72px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--panel)}.topbar-left{display:flex;flex-direction:column;gap:4px}.topbar-title{font-weight:700}.topbar-subtitle{color:var(--muted);font-size:.95rem}.topbar-right{display:flex;align-items:center;gap:12px}.theme-toggle,.sign-out,.login-button{border:none;border-radius:8px;padding:10px 16px;cursor:pointer;color:var(--text);background:#ffffff14;transition:all .2s ease;font-weight:500;font-size:.95rem}.theme-toggle:hover,.sign-out:hover{background:#ffffff24;box-shadow:0 2px 8px #0000001a}.login-button{background:var(--purple);color:#fff;padding:10px 20px}.login-button:hover{background:#5b21b6;box-shadow:0 4px 12px #6d28d94d}.content-area{flex:1;padding:24px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-panel{width:min(100%,420px);background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.login-brand{display:flex;gap:16px;align-items:center;margin-bottom:24px}.login-logo{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:700;font-size:1.25rem}.login-panel h1{margin:0}.login-panel p{margin:8px 0 0;color:var(--muted)}.login-button.google{width:100%;margin-bottom:16px;background:#4f46e5}.login-divider{text-align:center;margin:12px 0;color:var(--muted)}.login-form label{display:grid;gap:8px;margin-bottom:16px;color:var(--text)}.login-form input{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--panel-alt);color:var(--text)}.login-message{margin-top:14px;color:var(--muted)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid rgba(255,255,255,.05)}.page-header>div{flex:1}.page-header>button,.page-header>div>button{align-self:flex-start;margin-top:0}.page-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;margin:0}.page-description{color:var(--muted);margin:0;font-size:1rem;line-height:1.5;max-width:600px}.dashboard-section{margin-top:32px}.dashboard-section h2{font-size:1.3rem;margin:0 0 20px;font-weight:600}.task-list-compact{display:grid;gap:12px}.task-item-compact{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:14px;transition:all .2s ease}.task-item-compact:hover{background:var(--panel-alt);border-color:var(--purple);transform:translateY(-1px)}.task-item-main{flex:1;min-width:0}.task-item-title{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text);word-break:break-word}.task-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.status-badge,.priority-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;font-size:.85rem;font-weight:500;text-transform:capitalize;white-space:nowrap}.status-badge{background:var(--surface);color:var(--muted)}.status-backlog,.status-todo{background:#64748b26;color:#94a3b8}.status-in_progress{background:#3b82f626;color:#3b82f6}.status-review_approval{background:#fb923c26;color:#fb923c}.status-done{background:#22c55e26;color:#22c55e}.status-archived{background:#94a3b81a;color:#64748b}.priority-badge{background:var(--surface);color:var(--muted)}.priority-low{background:#64748b26;color:#64748b}.priority-medium{background:#3b82f626;color:#3b82f6}.priority-high{background:#fb923c26;color:#fb923c}.priority-urgent{background:#ef444426;color:#ef4444}.committee-name{font-size:.9rem;color:var(--muted);padding:4px 8px;border-radius:6px;background:var(--surface)}.due-date{font-size:.9rem;color:var(--text);padding:4px 8px;border-radius:6px;background:var(--surface)}.due-date.overdue{color:var(--danger);background:#f973161a;font-weight:600}.task-item-actions{display:flex;align-items:center;gap:12px;margin-left:16px}.task-key{font-size:.85rem;font-weight:600;color:var(--purple);white-space:nowrap}.loading-text{color:var(--muted);text-align:center;padding:20px}.empty-state,.empty-column,.shell-loading{background:linear-gradient(135deg,var(--panel) 0%,var(--panel-alt) 100%);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:48px 32px;text-align:center;color:var(--muted)}.empty-state p{margin:0;font-size:1.05rem;line-height:1.6}.backlog-list{display:grid;gap:16px}.create-task-form{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px;display:grid;gap:12px;margin-bottom:14px}.create-task-form label{display:grid;gap:8px}.create-task-form input,.create-task-form textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--panel-alt);color:var(--text);resize:vertical}.task-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:10px}.task-toolbar input,.task-toolbar select{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--panel);color:var(--text);transition:all .2s ease;font-size:.95rem}.task-toolbar input:focus,.task-toolbar select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #6d28d91a}.task-toolbar input{min-width:240px}.approval-queue{display:grid;gap:14px;margin-bottom:20px}.approval-card{background:var(--panel);border:2px solid var(--gold);border-radius:18px;padding:16px;display:grid;gap:12px}.approval-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.approval-card header strong{color:var(--muted);font-size:.9rem}.approval-card header h4{margin:4px 0}.approval-status{padding:6px 12px;border-radius:999px;font-size:.82rem;text-transform:capitalize;white-space:nowrap}.approval-status.requested{background:#d6aa3a33;color:var(--gold)}.approval-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.approval-meta div{display:grid;gap:4px}.approval-meta strong{color:var(--muted);font-size:.82rem}.approval-actions{display:flex;gap:8px;flex-wrap:wrap}.approval-actions button{border:none;border-radius:999px;padding:8px 14px;cursor:pointer;background:#ffffff0f;color:inherit;font-weight:500;transition:background .2s ease}.approval-actions button:hover:not(:disabled){background:#ffffff1f}.approval-actions button:disabled{opacity:.5}.approval-history{background:var(--panel);border:1px solid var(--border);border-radius:18px;overflow:hidden}.approval-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:12px;padding:12px 16px;align-items:center;border-bottom:1px solid var(--border)}.approval-row:last-child{border-bottom:none}.approval-key{color:var(--muted);font-size:.9rem}.approval-title{font-weight:500}.approval-status-badge{text-transform:capitalize;font-size:.84rem;padding:4px 8px;border-radius:999px;background:#ffffff0f}.approval-row.approval-approved .approval-status-badge{background:#22c55e33;color:var(--success)}.approval-row.approval-rejected .approval-status-badge{background:#f9731633;color:var(--danger)}.approval-row.approval-changes_requested .approval-status-badge{background:#d6aa3a33;color:var(--gold)}.approval-date{color:var(--muted);font-size:.9rem}.comments-section{display:grid;gap:16px}.comments-list{display:grid;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#ffffff05}.comment{border-left:3px solid var(--purple);padding-left:12px;display:grid;gap:6px}.comment-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.comment-header strong{color:var(--text)}.comment-date{color:var(--muted);font-size:.82rem}.comment-text{color:var(--text);margin:0;word-wrap:break-word}.add-comment-form{display:grid;gap:8px}.add-comment-form textarea{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-family:inherit;resize:vertical}.add-comment-form textarea:focus{outline:none;border-color:var(--purple)}.add-comment-form button{align-self:flex-start;padding:8px 16px;background:var(--purple);color:#fff;border:none;border-radius:999px;cursor:pointer;font-weight:500}.add-comment-form button:hover:not(:disabled){opacity:.9}.add-comment-form button:disabled{opacity:.5}.activity-list{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#ffffff05}.activity-entry{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px;border-radius:8px;background:#ffffff08}.activity-action{color:var(--text);font-size:.95rem}.activity-date{color:var(--muted);font-size:.82rem;text-align:right}.activity-details{color:var(--muted);font-size:.85rem;opacity:.8}.board-page{display:flex;flex-direction:column;gap:18px}.board-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.board-column-list{display:grid;gap:12px;margin-top:12px}.board-card{padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--border)}.task-card{display:flex;flex-direction:column;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;transition:all .2s ease}.task-card:hover{border-color:var(--purple);background:var(--panel-alt);transform:translateY(-2px);box-shadow:0 8px 24px #6d28d926}.task-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.task-card-badges{display:flex;gap:8px}.task-key-small{color:var(--purple);font-size:.8rem;font-weight:700;white-space:nowrap;opacity:.7}.task-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.4;word-break:break-word}.task-card-details{display:flex;flex-direction:column;gap:8px;font-size:.9rem}.detail-item{display:flex;align-items:center;gap:8px}.detail-label{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;min-width:70px}.detail-value{color:var(--text);font-weight:500}.detail-value.overdue{color:var(--danger);font-weight:700}.task-badge{font-size:.78rem;padding:4px 10px;border-radius:999px;text-transform:capitalize;background:#ffffff0f}.task-status{color:var(--text)}.task-details-page{display:grid;gap:18px}.task-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.task-properties{display:grid;gap:12px;margin-top:18px}.task-properties div{display:grid;gap:6px}.task-properties strong{color:var(--muted);font-size:.9rem}.task-properties span{color:var(--text)}.directory-table{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.directory-head,.directory-row{display:grid;grid-template-columns:1.3fr 1.5fr 1.3fr 1fr .8fr;gap:12px;padding:14px 16px;align-items:center}.directory-head{background:var(--panel-alt);color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.directory-row{border-top:1px solid var(--border);transition:all .2s ease;cursor:pointer}.directory-row:hover{background:#6d28d90a}.member-status{text-transform:capitalize;font-size:.86rem}.member-status.active{color:var(--success)}.member-status.inactive,.member-status.alumni,.member-status.pending{color:var(--danger)}.committee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.committee-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:grid;gap:14px;cursor:pointer;transition:all .2s ease}.committee-card:hover{border-color:var(--purple);box-shadow:0 8px 24px #6d28d926;transform:translateY(-2px)}.committee-card header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.committee-card h3{margin:0}.committee-card p{margin:0;color:var(--muted)}.committee-meta{display:grid;gap:10px}.committee-meta div{display:grid;gap:4px}.committee-meta strong{color:var(--muted);font-size:.84rem}@media (max-width: 900px){.directory-head,.directory-row{grid-template-columns:1fr;gap:6px}}.task-actions{display:flex;gap:10px}.task-details-card select{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:.95rem;cursor:pointer;transition:all .2s ease}.task-details-card select:hover{border-color:var(--purple)}.task-details-card select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #6d28d933}.task-details-card select:disabled{opacity:.6;cursor:not-allowed}.status-select,.member-select{min-width:150px}.priority-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.priority-badge.priority-low{background:#22c55e26;color:var(--success)}.priority-badge.priority-medium{background:#d6aa3a26;color:var(--gold)}.priority-badge.priority-high{background:#f9731626;color:var(--danger)}.priority-badge.priority-urgent{background:#ef444426;color:#ef4444}.edit-section{border:2px solid var(--purple);background:#6d28d90d}.form-group{display:grid;gap:8px;margin-bottom:16px}.form-group label{font-weight:600;font-size:.95rem;color:var(--text)}.form-group input,.form-group textarea{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:.95rem;font-family:inherit;transition:all .2s ease}.form-group select,.form-control{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:.95rem;font-family:inherit;transition:all .2s ease;cursor:pointer}.form-group input:hover,.form-group textarea:hover,.form-group select:hover,.form-control:hover{border-color:var(--muted)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-control:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #6d28d933}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled,.form-control:disabled{opacity:.6;cursor:not-allowed}.form-actions{display:flex;gap:12px;padding-top:12px}.primary-button,.secondary-button,.danger-button{padding:10px 16px;border-radius:8px;border:none;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.primary-button{background:var(--purple);color:#fff}.primary-button:hover:not(:disabled){background:#5b21b6;box-shadow:0 0 20px #6d28d94d}.secondary-button{background:var(--panel-alt);color:var(--text);border:1px solid var(--border)}.secondary-button:hover:not(:disabled){border-color:var(--purple);background:#6d28d91a}.danger-button{background:#f9731633;color:var(--danger);border:1px solid rgba(249,115,22,.4)}.danger-button:hover:not(:disabled){background:#f973164d;border-color:var(--danger)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.6;cursor:not-allowed}.message-alert{margin-bottom:16px;padding:12px 16px;border-radius:8px;font-size:.95rem;font-weight:500;animation:slideDown .3s ease}.message-alert.success{background:#22c55e26;border:1px solid var(--success);color:var(--success)}.message-alert.error{background:#f9731626;border:1px solid var(--danger);color:var(--danger)}.board-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}.board-column{background:var(--panel);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:16px;min-height:500px;display:flex;flex-direction:column;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.board-column.dragging-over{background:#6d28d914;border-color:var(--purple);box-shadow:inset 0 0 20px #6d28d91a,0 2px 8px #6d28d91a}.board-column h3{margin-top:0;margin-bottom:16px;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.board-column-list{flex:1;display:grid;gap:10px;auto-rows:fit-content}.board-card{background:var(--panel-alt);border:1px solid var(--border);border-radius:12px;padding:12px;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none}.board-card:hover:not(.dragging){border-color:var(--purple);box-shadow:0 4px 12px #6d28d926}.board-card.dragging{opacity:.5;cursor:grabbing;box-shadow:0 8px 24px #00000040}.board-card-key{font-size:.8rem;font-weight:700;color:var(--purple);letter-spacing:.04em;margin-bottom:6px}.board-card-title{font-size:.92rem;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.3}.board-card-meta{font-size:.8rem;color:var(--muted);text-transform:capitalize}.board-card-wrapper{cursor:grab;transition:all .2s ease}.board-card-wrapper.dragging{opacity:.5;cursor:grabbing}.board-task-card{background:var(--panel-alt);border:1px solid var(--border);border-radius:12px;padding:12px;transition:all .2s ease}.board-card-wrapper:hover .board-task-card{border-color:var(--purple);box-shadow:0 4px 12px #6d28d926}.board-card-wrapper.dragging .board-task-card{box-shadow:0 8px 24px #00000040}.board-task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px}.board-task-badges{display:flex;gap:6px;flex-wrap:wrap}.board-priority-badge,.board-status-badge{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:capitalize;letter-spacing:.02em}.board-priority-badge{background:#6d28d933;color:var(--purple)}.board-priority-badge.priority-urgent{background:#ef444433;color:#ef4444}.board-priority-badge.priority-high{background:#f9731633;color:#f97316}.board-priority-badge.priority-medium{background:#d9770633;color:#d97706}.board-priority-badge.priority-low{background:#22c55e33;color:#22c55e}.board-status-badge{background:#3b82f633;color:#3b82f6}.board-status-badge.status-backlog{background:#6b728033;color:#6b7280}.board-status-badge.status-todo{background:#a855f733;color:#a855f7}.board-status-badge.status-in_progress{background:#3b82f633;color:#3b82f6}.board-status-badge.status-review_approval{background:#eab30833;color:#eab308}.board-status-badge.status-done{background:#22c55e33;color:#22c55e}.board-task-key{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.board-task-title{font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 8px;line-height:1.3;word-break:break-word}.board-task-details{display:grid;gap:4px;margin-bottom:8px;font-size:.8rem}.board-detail-item{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:18px}.board-detail-label{color:var(--muted);font-weight:500;min-width:60px;flex-shrink:0;font-size:.75rem}.board-detail-value{color:var(--text);font-weight:500;text-align:right;flex-grow:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.board-detail-value.muted{color:var(--muted);font-weight:400}.board-detail-value.overdue{color:#ef4444;font-weight:600}.board-task-description{font-size:.8rem;color:var(--muted);padding-top:6px;border-top:1px solid rgba(255,255,255,.05);line-height:1.35;max-height:2.7em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.officer-modal-wide{width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column}.officer-modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin:16px 0;padding:12px;background:#ffffff05;border-radius:8px}.stat-box{text-align:center;padding:12px;background:var(--panel-alt);border:1px solid var(--border);border-radius:8px;transition:all .2s ease}.stat-box:hover{border-color:var(--purple);background:#6d28d90d}.stat-number{font-size:1.8rem;font-weight:700;color:var(--purple);margin-bottom:4px}.stat-number.open{color:#3b82f6}.stat-number.pending{color:#eab308}.stat-number.done{color:#22c55e}.stat-label{font-size:.85rem;color:var(--muted);font-weight:500}.officer-modal-tasks{margin:16px 0;flex:1;overflow-y:auto;padding-right:8px}.officer-modal-tasks::-webkit-scrollbar{width:8px}.officer-modal-tasks::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.officer-modal-tasks::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.officer-modal-tasks::-webkit-scrollbar-thumb:hover{background:#ffffff40}.officer-task-cards{display:grid;gap:12px}.officer-task-card{background:var(--panel-alt);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease}.officer-task-card:hover{border-color:var(--purple);box-shadow:0 4px 12px #6d28d926;background:#6d28d905}.officer-task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px}.officer-task-badges{display:flex;gap:6px;flex-wrap:wrap}.officer-task-title{font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 8px;line-height:1.4;word-break:break-word;white-space:normal}.officer-task-key{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.officer-task-metadata{display:grid;gap:4px;margin-bottom:8px;font-size:.8rem}.meta-item{display:flex;gap:6px;align-items:baseline}.meta-label{color:var(--muted);font-weight:500;min-width:65px;flex-shrink:0;font-size:.75rem}.meta-value{color:var(--text);font-weight:500;flex:1;word-break:break-word}.meta-value.overdue{color:#ef4444;font-weight:600}.officer-task-description{font-size:.8rem;color:var(--muted);padding-top:6px;border-top:1px solid rgba(255,255,255,.05);line-height:1.35;max-height:2.7em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}@media (max-width: 768px){.officer-modal-wide{width:95%;max-width:100%;max-height:85vh}.officer-modal-stats{grid-template-columns:repeat(2,1fr);gap:8px}.officer-task-title{font-size:.9rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes skeletonLoading{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-line{background:linear-gradient(90deg,var(--panel-alt) 0%,rgba(255,255,255,.1) 50%,var(--panel-alt) 100%);background-size:1000px 100%;animation:skeletonLoading 2s infinite;border-radius:6px;height:12px}.skeleton-card{background:var(--panel-alt);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:10px}.skeleton-list{display:grid;gap:8px}.skeleton-column{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px;min-height:400px}.skeleton-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}.officers-page{padding:20px 0}.officers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:20px}.officer-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow);transition:all .2s ease}.officer-card:hover{border-color:var(--purple);box-shadow:0 8px 24px #6d28d926;transform:translateY(-2px)}.officer-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.officer-rank{background:var(--purple);color:var(--text);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.officer-info{flex:1}.officer-position{margin:0 0 4px;color:var(--text);font-size:1rem}.officer-name{margin:0;color:var(--muted);font-size:.9rem}.officer-email{margin:4px 0 0;color:var(--muted);font-size:.85rem}.officer-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.officer-stats{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.stat-item{flex:1;text-align:center}.stat-label{display:block;color:var(--muted);font-size:.8rem;margin-bottom:4px}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text)}.stat-value.pending{color:var(--gold)}.stat-value.success{color:var(--success)}.officer-responsibilities{font-size:.9rem}.officer-responsibilities strong{display:block;margin-bottom:8px;color:var(--text)}.officer-responsibilities ul{margin:0;padding-left:20px;list-style:disc}.officer-responsibilities li{color:var(--muted);margin-bottom:4px}.calendar-page{padding:20px 0}.dashboard-page .page-header{border-bottom:2px solid rgba(255,255,255,.05)}.calendar-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}@media (max-width: 1200px){.calendar-container{grid-template-columns:1fr}}.calendar-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header button{background:var(--purple);color:var(--text);border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.calendar-header button:hover{box-shadow:0 4px 12px #6d28d94d;transform:translateY(-1px)}.calendar-header h2{margin:0;color:var(--text);font-size:1.3rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.weekday-label{text-align:center;color:var(--muted);font-weight:600;font-size:.85rem;padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{background:var(--panel-alt);border:1px solid var(--border);border-radius:8px;padding:12px;min-height:80px;position:relative;text-align:center}.calendar-day.empty{background:transparent;border:none}.calendar-day.has-tasks{border-color:var(--purple);background:#6d28d90d}.day-number{font-weight:600;color:var(--text);margin-bottom:4px}.day-task-count{display:inline-block;background:var(--purple);color:var(--text);width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.upcoming-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.upcoming-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.upcoming-header h3{margin:0;color:var(--text)}.upcoming-header select{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);padding:6px 10px;border-radius:6px;font-size:.9rem}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{background:var(--panel-alt);border-left:4px solid var(--purple);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease}.upcoming-item.priority-low{border-left-color:#3b82f6}.upcoming-item.priority-medium{border-left-color:var(--gold)}.upcoming-item.priority-high{border-left-color:var(--danger)}.upcoming-item.priority-urgent{border-left-color:#ff1744}.upcoming-item:hover{background:#6d28d91a}.upcoming-date{color:var(--muted);font-size:.8rem;margin-bottom:4px}.upcoming-title{color:var(--text);font-weight:600;margin-bottom:8px}.upcoming-meta{display:flex;gap:8px;align-items:center}.task-status{background:var(--border);color:var(--muted);padding:2px 8px;border-radius:4px;font-size:.75rem;text-transform:capitalize}.settings-page,.dashboard-page{padding:20px 0}.settings-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px}.settings-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.settings-section:hover{box-shadow:0 4px 16px #0000001f}.settings-section h2{margin-top:0;color:var(--text);font-size:1.1rem}.setting-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.setting-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.setting-item label{display:block;color:var(--muted);font-size:.9rem;margin-bottom:8px;font-weight:600}.setting-value{margin:0;color:var(--text);font-size:1rem}.theme-options{display:flex;gap:12px}.theme-button{flex:1;background:var(--panel-alt);border:2px solid var(--border);color:var(--text);padding:10px;border-radius:8px;cursor:pointer;transition:all .2s ease}.theme-button.active{border-color:var(--purple);background:#6d28d91a}.theme-button:hover{border-color:var(--purple)}.status-list-settings,.priority-list-settings{margin:0;padding-left:20px;list-style:disc}.status-list-settings li,.priority-list-settings li{color:var(--text);margin-bottom:4px}.permission-table{display:flex;flex-direction:column;gap:8px}.permission-row{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:12px;padding:12px;background:var(--panel-alt);border-radius:6px;align-items:center}.permission-row.header{background:var(--border);font-weight:600;color:var(--muted);font-size:.85rem}.permission-row span{color:var(--text)}.committees-page{padding:20px 0}.committees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.committee-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.committee-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.committee-header h3{margin:0 0 4px;color:var(--text)}.committee-description{margin:0;color:var(--muted);font-size:.9rem}.committee-status{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.committee-status.active{background:#22c55e33;color:var(--success)}.committee-status.inactive{background:#94a3b833;color:var(--muted)}.committee-stats{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.committee-meta{display:flex;flex-direction:column;gap:12px}.meta-item{font-size:.9rem}.meta-item strong{display:block;color:var(--muted);margin-bottom:2px;font-size:.8rem}.meta-item span{color:var(--text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--panel);border:1px solid var(--border);border-radius:24px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #0006;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.modal-close{background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:var(--surface);color:var(--text)}.create-task-form-modal{display:flex;flex-direction:column;gap:24px;padding:24px;flex:1}.form-error{background:#f9731626;border:1px solid rgba(249,115,22,.3);color:var(--danger);padding:12px 16px;border-radius:12px;font-weight:500;margin-bottom:8px}.form-note{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:var(--text);padding:12px 16px;border-radius:12px;font-size:.9rem;margin-bottom:16px}.form-section{display:flex;flex-direction:column;gap:16px}.form-section-title{margin:0;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.form-label{display:flex;flex-direction:column;gap:6px}.label-text{font-weight:500;font-size:.95rem;color:var(--text)}.required{color:var(--danger)}.form-label input,.form-label textarea,.form-label select{padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;transition:all .2s ease}.form-label input:focus,.form-label textarea:focus,.form-label select:focus{outline:none;border-color:var(--purple);background:var(--panel);box-shadow:0 0 0 3px #6d28d91a}.form-label textarea{resize:vertical;min-height:80px;font-family:inherit}.char-count{font-size:.8rem;color:var(--muted);margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row .form-label{margin:0}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.btn{padding:10px 18px;border-radius:8px;border:none;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;text-transform:capitalize}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover:not(:disabled){background:#5b21b6;transform:translateY(-1px);box-shadow:0 8px 16px #6d28d94d}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--panel-alt);border-color:var(--muted)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:24px;border-top:1px solid var(--border);flex-shrink:0}.modal-actions .btn{min-width:100px}@media (max-width: 768px){.modal-overlay{padding:12px}.modal-content{border-radius:16px;max-width:100%}.create-task-form-modal{padding:16px;gap:16px}.modal-header{padding:16px}.modal-actions{padding:16px;flex-direction:column}.modal-actions .btn{width:100%;min-width:unset}}.backlog-page,.board-page,.dashboard-page,.committees-page,.officers-page,.calendar-page,.approvals-page,.members-page{padding:24px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.dashboard-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.dashboard-card:hover{border-color:#6d28d94d;box-shadow:0 8px 24px #6d28d91a;transform:translateY(-2px)}.dashboard-card h3{margin-top:0;margin-bottom:12px;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.metric-value{font-size:2.4rem;font-weight:700;margin:0;color:var(--text);line-height:1}.backlog-list,.task-list-compact{display:grid;gap:12px;margin-bottom:20px}.task-item-compact{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:10px;transition:all .2s ease}.task-item-compact:hover{border-color:var(--purple);background:#6d28d905;box-shadow:0 4px 12px #6d28d91a;transform:translateY(-1px)}.modal-content{border-radius:16px;box-shadow:0 20px 60px #0000004d}.modal-header{padding:24px;background:linear-gradient(135deg,var(--panel) 0%,var(--panel-alt) 100%)}.modal-header h2{margin:0 0 4px;font-size:1.4rem;font-weight:700;color:var(--text)}.modal-subtitle{margin:0;color:var(--muted);font-size:.95rem}.form-label input:focus,.form-label textarea:focus,.form-label select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #6d28d926}.primary-button,.btn-primary{background:var(--purple);color:#fff;padding:11px 22px;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.primary-button:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:#5b21b6;box-shadow:0 8px 16px #6d28d940;transform:translateY(-1px)}.secondary-button,.btn-secondary{background:var(--panel-alt);color:var(--text);border:1px solid var(--border);padding:10px 20px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.secondary-button:hover:not(:disabled),.btn-secondary:hover:not(:disabled){border-color:var(--purple);background:#6d28d90d;box-shadow:0 4px 12px #6d28d91a}.committee-card,.officer-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.committee-card:hover,.officer-card:hover{border-color:var(--purple);box-shadow:0 12px 32px #6d28d926;transform:translateY(-4px)}.page-header{padding-bottom:24px;margin-bottom:32px}.page-header h1{margin:12px 0 8px;font-size:2.2rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.page-header h2{margin:12px 0 8px;font-size:1.8rem;font-weight:700;color:var(--text);letter-spacing:-.01em}h1,h2,h3{color:var(--text)}p{line-height:1.6}.backlog-page .page-header,.board-page .page-header,.committees-page .page-header,.officers-page .page-header,.calendar-page .page-header,.approvals-page .page-header{margin-bottom:32px}*{transition-property:background-color,border-color,box-shadow,transform,color;transition-duration:.2s;transition-timing-function:ease}button,a{transition:all .2s ease}.status-badge,.priority-badge{font-size:.8rem;padding:5px 10px;border-radius:6px;font-weight:600;text-transform:capitalize;letter-spacing:.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}
