*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format("woff2")}:root{--accent:#284f2f;--lime:#d2e63c;--sbi-green:#6cbe45;--pin-star:#ffd400;--rail-w:232px;--ease:cubic-bezier(0.2,0,0,1);--body-bg:#f4f6f4;--body-text:#1a1a1a;--border:#e6e9e6;--muted:#8b908b}*{box-sizing:border-box}body{margin:0;background:var(--body-bg);color:var(--body-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.column-heading,.dashboard-header h1,h1,h2,h3{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600}.mtg-section{font-family:Georgia,Times New Roman,serif}.primary-btn{align-self:flex-start;padding:10px 20px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.95em}.primary-btn,.secondary-btn{font-weight:600;cursor:pointer}.secondary-btn{display:inline-block;padding:10px 16px;border:1px solid #c7cfd8;border-radius:6px;background:#fff;color:#2c3e50;text-decoration:none;font-size:.92em;line-height:1.2}.secondary-btn:hover{background:#f2f5f8;border-color:#aeb9c4}.secondary-btn:active{background:#e8edf2}.secondary-btn:disabled{opacity:.55;cursor:default}.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:.9em}.data-table td,.data-table th{padding:10px 14px;text-align:left;border-bottom:1px solid #eee;white-space:nowrap}.data-table th{background:#f7f9f7;color:#8b908b;font-weight:700;text-transform:uppercase;font-size:.78em;letter-spacing:.06em}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#fafafa}.data-table a{color:var(--accent)}.card{background:#fff;border:1px solid var(--border);box-shadow:none;border-radius:10px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-columns{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}.column-heading{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:1em;text-transform:uppercase;letter-spacing:.03em;color:#555;margin:0 0 8px}.timeline{gap:4px;min-width:320px}.timeline,.timeline-item{display:flex;flex-direction:column}.timeline-item{gap:8px;background:#fff;border-left:5px solid #999;border-radius:8px;padding:12px 16px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.timeline-item:hover{box-shadow:0 2px 10px rgba(0,0,0,.12)}.timeline-item.done{opacity:.6}.timeline-item.done .timeline-item-title{text-decoration:line-through}.timeline-item.is-meeting{background:#f6f5fd}.timeline-item.is-meeting .timeline-item-title{color:#3a3f8f;font-weight:800}.meeting-item-badge{color:#5c6bc0;font-weight:700;text-transform:uppercase;font-size:.72em;letter-spacing:.08em}.timeline-item-link{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;text-decoration:none;color:inherit}.timeline-item-main{display:flex;flex-direction:column;gap:2px}.timeline-item-title{font-weight:600}.timeline-item-project{font-size:.8em;color:#777}.timeline-item-meta{display:flex;gap:10px;align-items:center;font-size:.85em;color:#555;flex-wrap:wrap}.priority-pill{color:#fff;text-transform:capitalize}.due-badge,.priority-pill{padding:2px 8px;border-radius:12px;font-size:.8em}.due-badge{background:#eee;color:#444}.hint{color:#666;font-size:.85em}.due-badge.soon{background:#fdebd0;color:#b9770e}.due-badge.overdue{background:#fadbd8;color:#c0392b;font-weight:600}.due-badge.done-badge{background:#d6f5df;color:#1e824c;font-weight:600}.room-today{margin-bottom:18px}.room-today-list{display:flex;flex-direction:column;gap:6px}.room-today-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3e3e8;border-left:3px solid #d2e63c;border-radius:8px;padding:9px 14px}.room-today-item:hover{box-shadow:0 2px 10px rgba(0,0,0,.08)}.room-today-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;text-decoration:none;color:inherit;flex:1 1 auto;min-width:0}.room-today-item .secondary-btn{margin-left:auto;flex:0 0 auto}.edit-task-btn{display:inline-block;border-radius:8px;border:1.5px solid #cdd7cd;color:var(--accent);background:#fff;padding:7px 15px;font-size:.85em;font-weight:600;cursor:pointer;width:fit-content}.edit-task-btn:hover{background:#f2f2f2}.notif-test-row{display:flex;justify-content:flex-end;margin-bottom:10px}.gantt{background:#fff;border:1px solid #dde4ee;border-radius:8px;padding:14px 16px;margin-bottom:22px}.gantt-window{display:flex;justify-content:space-between;font-size:.78em;color:#888;margin:0 0 6px 236px}.gantt-body{position:relative}.gantt-today{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed #e6a23c;z-index:1;pointer-events:none}.gantt-row{display:flex;align-items:center;gap:12px;padding:3px 0}.gantt-label{flex:0 0 224px;font-size:.85em;color:#333;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-label:hover{color:#4a6fa5}.gantt-track{position:relative;flex:1;height:18px;background:#f0f3f8;border-radius:4px}.gantt-bar{position:absolute;top:2px;bottom:2px;border-radius:4px;min-width:8px}.gantt-bar:hover{filter:brightness(1.12)}.gantt-bar.gantt-overdue{outline:2px dashed #c0392b;outline-offset:1px}.legend{display:flex;gap:18px;margin-top:12px;font-size:.85em;flex-wrap:wrap}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.prio-seg{display:inline-flex;gap:0;border:1px solid #dde2dd;border-radius:8px;overflow:hidden}.prio-seg-btn{background:#fff;cursor:pointer;font:inherit;font-size:.78em;font-weight:600;color:#5d6377;padding:6px 13px;border:none;border-right:1px solid #eef1ee}.prio-seg-btn:last-of-type{border-right:none}.prio-seg-btn:hover{color:var(--accent);background:#f0f3f0}.prio-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.prio-c-high .prio-dot{background:#e74c3c}.prio-c-medium .prio-dot{background:#f1c40f}.prio-c-low .prio-dot{background:#2ecc71}.prio-seg-colored .prio-seg-btn.is-on{color:#fff}.prio-seg-colored .prio-c-high.is-on{background:#e74c3c}.prio-seg-colored .prio-c-medium.is-on{background:#f1c40f;color:#4a3b00}.prio-seg-colored .prio-c-low.is-on{background:#2ecc71;color:#0e3d22}.prio-seg-colored .is-on .prio-dot{background:#fff}.project-parked{opacity:.82}.workload-bar-track{background:#eef1ee;border-radius:5px;height:10px;overflow:hidden}.workload-bar-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--lime))}.field-label{font-size:.9em}.dep-chain{margin-top:20px}.dep-chain-box{border:1px solid var(--border);border-radius:10px;background:#fff;padding:12px;overflow-x:auto}.dep-node{cursor:pointer}.dep-node:hover rect{filter:brightness(.97)}.dep-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:.8em;color:#555}.dep-legend span{display:inline-flex;align-items:center;gap:6px}.dep-swatch{display:inline-block;width:14px;height:14px;border-radius:4px}.dep-swatch.dashed{background:#fff;border:2px dashed #c0392b}.dep-swatch.hollow{background:#fff;border:1.6px solid #b8c0b8}.add-member-form{display:flex;flex-direction:column;gap:10px;margin-top:10px;max-width:560px}.add-member-form .form-row{display:flex;gap:12px;flex-wrap:wrap}.add-member-form label{flex:1;min-width:160px;display:flex;flex-direction:column;gap:3px;font-size:.85em;color:#555}.add-member-form input,.add-member-form select{padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:1em}.project-add-task .add-member-form label{display:flex;flex-direction:column;gap:3px;font-size:.9em}.project-add-task .add-member-form input,.project-add-task .add-member-form select,.project-add-task .add-member-form textarea{padding:7px 9px;border:1px solid #cfd3e6;border-radius:6px;font:inherit}.similar-project-panel{background:#fdf6e3;border:1px solid #e8d9a0;border-radius:8px;padding:12px 16px;margin:10px 0}.similar-project-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.project-progress-label{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.95em}.project-progress-fill{background:#27ae60}.project-status-badge{display:inline-block;font-size:.5em;vertical-align:middle;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px}.project-status-badge.archived{background:#ececf5;color:#6a6f8c}.project-manage-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.project-meta-actions{display:flex;gap:10px;margin-top:10px;align-items:center}.add-member,.project-actions,.rename-project{margin-bottom:16px}.project-actions{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.project-actions .add-member{margin-bottom:0}.project-actions>.add-member>summary,.project-actions>form>button{display:inline-flex;align-items:center;height:34px;box-sizing:border-box;line-height:1;margin:0}.rename-project-form{display:flex;gap:8px;margin-top:8px;max-width:480px}.rename-project-form input{flex:1;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:1em}.proj-head{align-items:flex-start}.proj-head-main{display:flex;flex-direction:column;gap:7px;min-width:0}.proj-title{cursor:pointer}.proj-title:hover{text-decoration:underline dotted 2px;text-underline-offset:5px}.proj-rename{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.proj-rename input[type=text]{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.3em;font-weight:600;padding:5px 10px;border:1px solid #cdd7cd;border-radius:8px;min-width:280px}.proj-subline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.proj-sub-item{border:none;background:transparent;cursor:pointer;font:inherit;font-size:.85em;color:#5d6377;padding:2px 4px;border-radius:6px}.proj-sub-item:hover{background:#f0f3f0;color:var(--accent)}.proj-sub-fact{font-size:.85em;color:#5d6377}.project-progress-list{display:flex;flex-direction:column;gap:8px}.archived-projects{margin-top:18px}.archived-projects .archived-row{opacity:.8}.archived-projects .project-progress-label a{font-weight:600}.project-tag{color:#8a90b3;font-weight:500;font-size:.9em}.project-tag-due{color:#b06a2c}.prio-pill{display:inline-block;font-size:.68em;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:2px 7px;vertical-align:1px}.prio-high{background:var(--accent);color:var(--lime)}.prio-low{background:#f0f0f0;color:#8b908b}.error{color:#c0392b;font-size:.9em}.ttp-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,20,30,.42);animation:fade-in .18s ease-out}.ttp-modal-card{background:#fff;border-radius:12px;padding:22px 26px;max-width:460px;box-shadow:0 18px 46px rgba(0,0,0,.28);animation:modal-pop .22s cubic-bezier(.2,.7,.3,1.05) backwards}.ttp-modal-card h2{margin:0 0 8px;font-size:1.15em}.ttp-modal-card p{margin:0 0 16px;color:#555}.ttp-modal-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.person-picker{align-items:flex-start}.person-picker,.person-rows{display:flex;flex-direction:column;gap:6px}.person-row{display:flex;align-items:center;gap:6px}.person-select{font:inherit;padding:7px 10px;border:1px solid #ccc;border-radius:6px;background:#fff;min-width:240px;max-width:100%}.person-remove{border:1px solid #e0c3c3;background:#fff;color:#a93226;cursor:pointer;border-radius:50%;width:26px;height:26px;line-height:1;font-size:1.05em;padding:0}.person-remove:hover{background:#fdecea}.person-add{border:1px dashed #b7bfe0;background:#fff;color:#3a3f66;cursor:pointer;font:inherit;font-size:.85em;padding:5px 12px;border-radius:999px}.person-add:hover{background:#f2f3fb;border-style:solid}.timeline-item.needs-confirm{background:#fffaf3}.needs-confirm-badge{background:#fdebd0;color:#b9770e;font-weight:600}.confirm-inline-form{margin:0;align-self:flex-start;width:fit-content}.confirm-btn{padding:6px 14px;border:none;border-radius:6px;background:#27ae60;color:#fff;font-weight:600;cursor:pointer;font-size:.85em}.confirm-btn:hover{background:#219150}.off-track-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.off-track-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;background:#fdf2f0;border-left:4px solid #c0392b;border-radius:8px;padding:10px 16px;text-decoration:none;color:inherit;box-shadow:0 1px 4px rgba(0,0,0,.06)}.off-track-row:hover{box-shadow:0 2px 10px rgba(0,0,0,.12)}.off-track-main{display:flex;flex-direction:column;gap:2px}.off-track-title{font-weight:600}.off-track-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.blocking-badge{background:#f5d0c5;color:#8a2f0f;font-weight:600}.quick-done{position:absolute;top:-9px;right:-9px;width:26px;height:26px;border-radius:50%;border:2px solid #27ae60;background:#fff;color:#27ae60;font-size:14px;line-height:1;cursor:pointer;padding:0;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.15);opacity:0;transition:opacity .12s ease}.quick-done.is-undo,.quick-done:focus-visible,.timeline-item:hover .quick-done{opacity:1}.quick-done:hover{background:#27ae60;color:#fff}.quick-done.is-undo{border-color:#999;color:#666}.quick-done.is-undo:hover{background:#666;color:#fff}.quick-done:disabled{cursor:default;opacity:.5}@media (hover:none){.quick-done{opacity:1}}.pin-btn{border:none;background:transparent;cursor:pointer;font-size:1.05em;color:#b5b9c6;padding:0 4px 0 0;line-height:1;vertical-align:-1px}.pin-btn.pinned{color:var(--pin-star)}.pin-btn:hover{color:var(--accent)}.pin-task-form{position:absolute;top:-9px;left:-9px;z-index:2}.pin-task-form .pin-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px solid #7d92c4;background:#fff;color:#7d92c4;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.15);opacity:0;transition:opacity .12s ease}.pin-task-form .pin-btn.is-pinned,.pin-task-form .pin-btn:focus-visible,.timeline-item:hover .pin-task-form .pin-btn{opacity:1}.pin-task-form .pin-btn.is-pinned{background:#e8eefc;border-color:#3f5c9a;color:#3f5c9a}.pin-task-form .pin-btn:hover{background:#dce6fa;color:#3f5c9a}@media (hover:none){.pin-task-form .pin-btn{opacity:1}}.timeline-item{position:relative}.focus-section{margin-bottom:28px}.stacked-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#eee;margin-top:8px}.stacked-bar-segment{height:100%}.stacked-bar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:.85em;color:#444}.stacked-bar-legend-item{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.stacked-bar-segment{transition:width .65s cubic-bezier(.22,1,.36,1)}.filter-toggle a{padding:6px 14px;text-decoration:none;margin-left:8px;font-size:.9em;border-radius:8px;border:1px solid #dde2dd;color:#4c534c;cursor:pointer}.filter-toggle a:hover{border-color:var(--accent);color:var(--accent)}.filter-toggle a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.daily-briefing{background:#fff;border-radius:10px;border-left:5px solid var(--accent);box-shadow:0 1px 5px rgba(0,0,0,.06);margin:0 0 22px;padding:14px 16px}.daily-briefing-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px}.daily-briefing-heading h2{margin:0;font-size:1em}.daily-briefing-list{display:flex;flex-direction:column;gap:5px;max-height:250px;overflow-y:auto}.daily-briefing-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;color:inherit;text-decoration:none;background:#fafafa;border-radius:6px;padding:8px 10px;font-size:.9em}.daily-briefing-item:hover{background:#f0f0f5}.briefing-reason{border-radius:10px;font-size:.77em;font-weight:700;padding:3px 7px;white-space:nowrap;background:#eaeaf5;color:#4a4a7a}.briefing-reason.confirm,.briefing-reason.soon{background:#fdebd0;color:#a66800}.briefing-reason.overdue{background:#fadbd8;color:#a93226}.briefing-reason.today{background:#e8f7ee;color:#1e824c}.daily-briefing-item.is-meeting{background:#f6f5fd}.daily-briefing-item.is-meeting .briefing-title{color:#3a3f8f;font-weight:700}.briefing-reason.meeting{background:#e8e6fa;color:#3a3f8f}.briefing-title{font-weight:600}.daily-briefing-clear{margin:0;color:#1e824c;font-size:.9em}.board-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-bottom:20px;font-size:.9em;color:#444}.hide-completed-toggle{color:#555;gap:5px;cursor:pointer;white-space:nowrap}.hide-completed-toggle,.ios-toggle{font-size:.85em;display:inline-flex;align-items:center}.ios-toggle{gap:8px;cursor:not-allowed;color:#888}.ios-toggle-switch{width:36px;height:20px;border-radius:999px;background:#dfe3df;position:relative;flex:none}.ios-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}.dashboard-col{flex:1 1 360px;min-width:0}.dashboard-col .column-heading{font-size:1em;margin-bottom:8px}.dashboard-col .column-heading,.timeline-date{text-transform:uppercase;letter-spacing:.03em;color:#555}.timeline-date{margin-top:18px;margin-bottom:4px;font-weight:700;font-size:.9em}.timeline-date.is-priority{color:#3f5c9a}.timeline-item[data-draggable]{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.timeline-item.dragging{opacity:.45;cursor:grabbing;pointer-events:none}.board-drag-ghost{position:fixed;z-index:1000;margin:0;pointer-events:none;opacity:.96;box-shadow:0 12px 28px rgba(0,0,0,.22);transform:scale(1.02);transform-origin:center;cursor:grabbing;will-change:left,top}.board-drag-ghost .pin-task-form,.board-drag-ghost .quick-done{display:none}.timeline-item.drop-saving{opacity:.45;pointer-events:none}.drag-active .timeline-date[data-date]{border:2px dashed #b8b8b8;border-radius:10px;background:#fafafa;padding:22px 14px;margin-top:12px;font-size:1.05em;text-align:center}.drag-active .timeline-date[data-date]:after{content:" — " attr(data-weekday);font-weight:600;text-transform:none;letter-spacing:normal;color:#888}.drag-active .timeline-date[data-date].drop-ok:after{color:var(--accent)}.drag-active .timeline[data-board-col=general]{min-height:max(45vh,160px)}.drag-active .timeline[data-board-col=general]:after{content:"Drop Here — General (No Due Date)";display:flex;align-items:center;justify-content:center;flex:1 1 auto;border:2px dashed #b8b8b8;border-radius:8px;background:#fafafa;padding:22px 12px;margin-top:10px;color:#777;font-size:.9em;font-weight:600;min-height:90px}.drag-active .drop-ok{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff);color:var(--accent)}.drag-active .timeline[data-board-col=general].drop-ok{background:transparent}.drag-active .timeline[data-board-col=general].drop-ok:after{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}.day-targets{display:none;flex-wrap:wrap;gap:10px;margin-bottom:14px}.day-chip,.drag-active .day-targets{display:flex}.day-chip{flex:1 1 140px;flex-direction:column;align-items:center;gap:3px;text-align:center;color:#555;background:#fafafa;border:2px dashed #b8b8b8;border-radius:10px;padding:22px 12px}.day-chip-label{font-size:1.05em;font-weight:700}.day-chip-sub{font-size:.85em;color:#888;font-weight:600}.day-chip.drop-ok{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff)}.day-chip.drop-ok,.day-chip.drop-ok .day-chip-sub{color:var(--accent)}.board-datepick,.board-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,12px);display:flex;align-items:center;gap:14px;background:var(--accent);color:#fff;padding:10px 16px;border-radius:8px;font-size:.9em;box-shadow:0 4px 16px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:1000;max-width:90vw}.board-datepick{gap:12px;z-index:1001;max-width:92vw;flex-wrap:wrap}.board-datepick.show,.board-toast.show{opacity:1;transform:translate(-50%);pointer-events:auto}.board-datepick-set,.board-toast-undo{border:1px solid hsla(0,0%,100%,.7);background:transparent;color:#fff;border-radius:6px;padding:4px 12px;font-weight:700;cursor:pointer}.board-datepick-set:hover,.board-toast-undo:hover{background:hsla(0,0%,100%,.15)}a.board-toast-undo{text-decoration:none}.board-datepick-input{border:none;border-radius:6px;padding:5px 8px;font:inherit;color:#222}.board-datepick-cancel{border:none;background:transparent;color:hsla(0,0%,100%,.85);font-size:1.05em;cursor:pointer;padding:2px 6px}.board-datepick-cancel:hover{color:#fff}.task-two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;align-items:start}.task-two-col .task-col{min-width:0}.task-two-col .task-col>h2:first-child{margin-top:12px}.task-two-col .task-col>h2:first-child+*{margin-top:0}@media (max-width:900px){.task-two-col{grid-template-columns:1fr}}.source-link{font-size:.85em;color:var(--accent)}.source-text{white-space:pre-wrap;word-break:break-word;background:#f4f4f8;border:1px solid #e0e0e8;border-radius:8px;padding:18px 20px;line-height:1.5;font-family:inherit}.attachment-list{display:flex;flex-direction:column;gap:8px;margin:8px 0}.attachment-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3e3e8;border-radius:8px;padding:8px 12px}.attachment-thumb{width:72px;height:54px;object-fit:cover;border-radius:6px;display:block;border:1px solid #ddd}.attachment-file{font-size:1.8em;text-decoration:none}.attachment-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.attachment-meta a{font-weight:600;color:inherit;word-break:break-all}.attachment-remove{margin-left:0;border:1px solid #e0d3d3;background:#fff;color:#b04a3a;font-size:.95em;cursor:pointer;padding:4px 10px;border-radius:6px;line-height:1;white-space:nowrap}.attachment-remove:hover{color:#fff;background:#c0392b;border-color:#c0392b}.attachment-card form{margin-left:auto}.attachment-form{margin-top:10px}.attach-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;cursor:pointer;padding:12px 14px;min-height:100px;border:2px dashed #c3c9d4;border-radius:10px;background:#fafbfc;color:#555;transition:border-color .15s,background .15s}.attach-drop:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,#fff)}.attach-drop.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff)}.attach-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attach-drop-icon{font-size:1.5em}.attach-drop-text strong{color:#333}.attach-drop-text .attach-drop-link{color:var(--accent);font-weight:600}.attach-drop-sub{font-size:.82em;color:#8a8f99}.attach-drop-busy{display:none;font-weight:600;color:var(--accent)}.attach-drop.uploading .attach-drop-idle{display:none}.attach-drop.uploading .attach-drop-busy{display:block}.attach-drop.uploading{cursor:progress}.notifications-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.notification-card{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:8px;padding:10px 14px;box-shadow:0 1px 4px rgba(0,0,0,.06);border-left:4px solid #ccc}.notification-card:hover{box-shadow:0 2px 10px rgba(0,0,0,.12)}.notification-card.unread{background:#f2f5ff}.notification-meta{display:flex;gap:10px;font-size:.78em;color:#888;margin-bottom:3px}.notification-type-label{font-weight:600;text-transform:uppercase;letter-spacing:.03em}.notification-message{font-size:.95em;line-height:1.4;color:#1a1a1a}.notification-actions{display:flex;gap:8px;margin-top:10px}.search-input{padding:10px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:1em;width:100%;max-width:420px;margin-top:8px}.updates-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.update-card{background:#fff;border-radius:8px;padding:8px 14px;box-shadow:0 1px 4px rgba(0,0,0,.06);border-left:4px solid #27ae60}.update-card-focused{border-left-color:#4a6fa5;box-shadow:0 0 0 2px #b7c6e4,0 1px 4px rgba(0,0,0,.06)}.update-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:.78em;color:#888;margin-bottom:3px}.update-author{font-weight:600;color:#444}.update-meta a{color:#888}.update-text{font-size:.95em;line-height:1.45;color:#1a1a1a;white-space:pre-wrap;overflow-wrap:anywhere}.updates-subbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 16px}.update-replies{margin-top:8px;padding-left:14px;border-left:2px solid #e4e9f2}.update-reply{padding:5px 0;font-size:.88em}.update-reply .update-author{font-weight:600;margin-right:6px}.update-reply-time{color:#999;font-size:.85em}.update-reply-text{color:#1a1a1a;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.post-update-form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.update-compose{max-width:none;width:100%;height:100px;resize:vertical;font:inherit;line-height:1.45;padding:10px 12px;margin-top:0}.post-update-form .primary-btn,.update-recipients{align-self:flex-start}.update-recipients{display:flex;align-items:flex-start;gap:10px}.update-recipients .field-label{padding-top:8px}.update-reply-details{margin-top:4px}.update-reply-btn{cursor:pointer;font-size:.78em;color:#4a6fa5;font-weight:600;user-select:none;list-style:none;width:fit-content}.update-reply-btn:hover{text-decoration:underline}.update-reply-form{display:flex;gap:8px;margin-top:6px}.update-reply-form .search-input{max-width:none;flex:1;margin:0}.test-notif-btn{padding:6px 14px;border-radius:20px;border:1px solid #ccc;background:#fff;color:#333;font-size:.85em;cursor:pointer}.test-notif-btn:hover{background:#f0f4f8;border-color:#4a6fa5;color:#4a6fa5}.notif-btn{padding:7px 14px;border-radius:8px;border:1px solid #ccd3e0;background:#fff;color:#33415c;font-size:.85em;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;line-height:1}.notif-btn:hover{background:#eef2f8;border-color:#4a6fa5}.notif-btn:disabled{opacity:.5;cursor:default}.notif-btn-done{background:#27ae60;border-color:#27ae60;color:#fff}.notif-btn-done:hover{background:#219150;border-color:#219150}.notif-btn-open{color:#4a6fa5}.notif-done-tag{font-size:.85em;font-weight:600;color:#27ae60}.notification-acted{opacity:.72}.handled-notifs{margin-top:20px}.handled-notifs summary{cursor:pointer;font-weight:700;color:#666;font-size:.95em;padding:8px 4px;user-select:none}.handled-notifs summary:hover{color:#333}.notification-card.notification-handled{opacity:.6}.notification-card.notification-handled:hover{opacity:.9}.task-header{background:#fff;border-left:6px solid #999;border-radius:8px;padding:18px 20px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.task-description{color:#444}.task-meta{display:flex;gap:14px;font-size:.9em;color:#555;flex-wrap:wrap}.task-meta a{color:var(--accent)}.meeting-reminder-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #e3e3e8;border-left:5px solid #5c6bc0;border-radius:8px;padding:10px 16px;margin-bottom:12px}.meeting-reminder-label{font-weight:700;color:#5c6bc0;white-space:nowrap;text-transform:uppercase;font-size:.82em;letter-spacing:.06em}.meeting-reminder-purpose{color:#555;flex:1 1 240px}.meeting-reminder-strip .meeting-reminder-open{margin-left:auto;white-space:nowrap}.done-tag{display:inline-block;background:#27ae60;color:#fff;font-size:.55em;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:4px;vertical-align:middle;margin-left:8px}.task-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px}.project-progress-row{background:#fff;border-radius:8px;padding:10px 16px;box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:6px}.project-progress-row-link{text-decoration:none;color:inherit;cursor:pointer}.project-progress-row-link:hover{box-shadow:0 2px 10px rgba(0,0,0,.12)}.login-page{display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;height:100vh;overflow:hidden;background:var(--body-bg);max-width:none;margin:0}.login-hero{flex:1.1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:70px;box-sizing:border-box;color:#fff;background:linear-gradient(160deg,#22301f,#284f2f 60%,#2f5c38)}.login-hero-logo{height:40px;width:auto;align-self:flex-start;background:#fff;border-radius:10px;padding:8px 14px;display:flex;align-items:center}.login-hero-logo img{height:100%;width:auto;object-fit:contain}.login-box input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 2px rgba(210,230,60,.5)}.remember-me{flex-direction:row!important;align-items:center;gap:8px!important}.login-hero-title{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:32px;line-height:1.28;margin:0}.login-hero-sub{font-size:15px;color:#cfd8cb;max-width:420px;line-height:1.6;margin:0}.login-hero-bar{width:64px;height:5px;border-radius:3px;background:var(--lime)}.login-hero-right{flex:1;display:flex;align-items:center;justify-content:center;overflow-y:auto}.login-box{background:#fff;padding:32px;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:12px;width:320px}.login-box h2{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;font-size:19px}.login-box label{display:flex;flex-direction:column;gap:4px;font-size:.9em}.login-box input{padding:8px;border:1px solid #ccc;border-radius:6px}.login-box button{padding:10px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.login-error{color:#e74c3c;font-size:.9em}@media (max-width:900px){.login-page{flex-direction:column;height:auto;min-height:100vh}.login-hero{padding:40px 26px}.login-hero-right{padding:30px 20px}}.app-shell{padding-left:var(--rail-w)}.profile-form{gap:14px;max-width:480px}.profile-form,.profile-form label{display:flex;flex-direction:column}.profile-form label{gap:4px}.profile-form input{padding:8px;border:1px solid #ccc;border-radius:6px}.profile-form button{align-self:flex-start;padding:8px 18px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.account-section .pw-input .pw-eye,.profile-form .pw-input .pw-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;border-radius:0;padding:0;color:#5a6280;line-height:0;cursor:pointer;opacity:.75;align-self:auto;width:auto}.pw-eye svg{display:block}.account-section .pw-input .pw-eye:hover,.profile-form .pw-input .pw-eye:hover{opacity:1;color:var(--accent)}.pw-eye:disabled{display:none}.account-section{background:#fff;border:1px solid #e6e8f2;border-radius:10px;padding:16px 18px;margin-bottom:16px;max-width:560px}.account-section h2{margin:0 0 8px;font-size:1.05em}.account-section .profile-form{margin-top:6px}.account-section code{background:#f2f3fb;border:1px solid #dfe2f2;border-radius:5px;padding:2px 6px;font-size:.95em}.account-section select{padding:8px;border:1px solid #ccc;border-radius:6px;font:inherit;max-width:100%}.field-error{color:#c0392b;font-size:.85em;margin:2px 0 0}.voice-row{display:flex;gap:12px;align-items:center}.account-section .pw-input input{width:100%;padding-right:42px}.project-notes-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.project-note-card{background:#fff;border:1px solid #e3e3e8;border-radius:8px;padding:10px 14px}.project-note-meta{color:#666;font-size:.85em;margin-bottom:6px}.project-note-text{margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.project-note-photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.project-note-photos img{display:block;height:72px;max-width:140px;object-fit:cover;border:1px solid #e2e2e8;border-radius:8px}main{max-width:1360px;margin:0 auto;padding:24px}.rail{position:fixed;top:0;left:0;bottom:0;width:var(--rail-w);display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:18px 14px 14px;box-sizing:border-box;background:#fff;color:#1a1a1a;border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;z-index:500;transition:transform .2s var(--ease)}.rail .brand{padding:2px 8px 12px;font-size:0}.rail .brand img{height:40px;width:auto;display:block}#rail-collapse{position:absolute;top:16px;right:10px;display:flex;align-items:center;justify-content:center;gap:2px;width:auto;height:26px;padding:4px 6px;border-radius:7px;border:none;background:transparent;color:#9aa39b;cursor:pointer}#rail-collapse:hover{background:#f0f3f0;color:var(--accent)}.rail-item{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:8px;color:#2c3130;font-weight:600;font-size:.92em;position:relative;text-decoration:none;transition:background .14s var(--ease),color .14s var(--ease)}.rail-item svg{color:#595959;flex-shrink:0}.rail-item:hover{background:#f0f3f0;color:var(--accent)}.rail-item.is-on{background:var(--accent);color:#fff}.rail-item.is-on svg{color:var(--lime)}.rail-item.is-on:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:2px;background:var(--lime)}.rail-spacer{flex:1 1 auto;min-height:12px}.notif-badge{background:#e74c3c;color:#fff;border-radius:10px;padding:1px 7px;font-size:.72em;font-weight:700;margin-left:3px;vertical-align:middle}.rail-item .notif-badge{margin-left:auto}.rail-foot{display:flex;align-items:center;gap:6px;border-top:1px solid #eef1ee;padding-top:10px;margin-top:6px;position:relative}.rail-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--accent);color:var(--lime);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:10.5px}.rail-avatar.rail-avatar-letter{color:#fff;font-size:12.5px;font-weight:600}.nav-dropdown-toggle{background:none;border:none;font:inherit;cursor:pointer;color:#1a1a1a;display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;font-size:.9em}.nav-dropdown-toggle:hover{background:#f0f3f0}.nav-caret{font-size:.8em;opacity:.85}.nav-account{position:static}.nav-dropdown-menu{display:none;position:absolute;z-index:40;top:auto;bottom:calc(100% + 6px);left:0;right:0;min-width:0;background:#fff;border:1px solid #e2e2ea;border-radius:10px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.16)}.nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;bottom:-17px;height:17px}.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu{display:block}.nav-dropdown-menu a,.nav-dropdown-menu button{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;color:#2a2a45;padding:8px 12px;border-radius:7px;font-size:.95em;white-space:normal;text-decoration:none}.nav-dropdown-menu a:hover,.nav-dropdown-menu button:hover{background:#f0f1f8}#rail-burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid #e2e6e2;background:#fff;color:#2c3130;cursor:pointer}#rail-burger:not(.is-docked){position:fixed;top:12px;left:12px;z-index:610;box-shadow:0 4px 14px rgba(20,30,20,.12)}@media (min-width:1101px){html.rail-collapsed .rail{transform:translateX(-105%)}html.rail-collapsed .app-shell{padding-left:0}html.rail-collapsed #rail-burger{display:flex}}@media (max-width:1100px){.app-shell{padding-left:0}.rail{transform:translateX(-105%);z-index:620;box-shadow:0 12px 40px rgba(20,30,20,.25)}.rail.rail-open{transform:translateX(0)}#rail-burger{display:flex}}.rail-group-head{display:flex;align-items:center;gap:7px;width:100%;margin:8px 0 2px;padding:5px 8px;border:none;background:transparent;border-radius:7px;font-family:inherit;text-align:left;cursor:pointer;font-size:.72em;letter-spacing:.1em;font-weight:700;color:#9aa39b;text-transform:uppercase;transition:background .14s var(--ease),color .14s var(--ease)}.rail-group-head:hover{background:#f0f3f0;color:var(--accent)}.rail-chev{transition:transform .15s var(--ease)}.rail-group.is-open .rail-chev{transform:rotate(90deg)}.rail-group-items{display:none}.rail-group.is-open .rail-group-items{display:flex;flex-direction:column;gap:2px}.rail-item.rail-sub{padding:7px 12px 7px 21px;font-size:.88em}.back-link{display:inline-block;align-self:flex-start;width:fit-content;max-width:100%;margin-bottom:12px;color:#333;text-decoration:none}.cal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 10px;flex-wrap:wrap}.cal-header .column-heading{margin:0}.cal-nav{display:flex;gap:8px}.cal-nav-btn{border:1px solid #b5b9c6;border-radius:6px;padding:4px 14px;background:#fff;color:#333;font-weight:600;text-decoration:none;line-height:1.4;cursor:pointer;font:inherit}.cal-nav-btn:hover,.cal-nav-current{border-color:var(--accent);color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;min-width:720px}.cal-dow{text-align:center;font-weight:700;font-size:.85em;color:#666;padding:2px 0}.cal-day{background:#fff;border:1px solid #e3e3e8;border-radius:8px;min-height:104px;padding:6px;display:flex;flex-direction:column;gap:4px}.cal-out{background:#f4f4f6}.cal-out .cal-daynum{color:#aab}.cal-daynum{align-self:flex-start;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:.9em;font-weight:700;color:#555}.cal-today{border-color:var(--accent)}.cal-today .cal-daynum{background:var(--accent);color:#fff}.cal-day.drop-ok{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}.cal-task{display:block;font-size:.88em;line-height:1.35;padding:4px 7px;background:#fafbfc;border:1px solid #e6e6ee;border-left:4px solid #999;border-radius:6px;color:inherit;text-decoration:none;overflow-wrap:anywhere}.cal-task:hover{border-color:var(--accent)}.cal-task.is-meeting{background:#f0eefc;font-weight:700}.cal-task.is-meeting.is-past{opacity:.6}.cal-task.done{text-decoration:line-through;color:#8a8f99;background:#f4f4f6}.cal-task[data-draggable]{cursor:grab;-webkit-user-select:none;user-select:none}.cal-task.dragging{opacity:.45;pointer-events:none}.cal-general-heading{margin-top:18px}.cal-general{display:flex;flex-wrap:wrap;gap:8px}.cal-general .cal-task{flex:0 1 auto}.cal-general.drop-ok{outline:2px dashed var(--accent);outline-offset:4px;border-radius:8px}#cal-region{overflow-x:auto}.switch-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.switch-toggle input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{width:40px;height:22px;border-radius:999px;background:#c3c8d4;position:relative;transition:background .15s;flex:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}.switch-toggle input:checked+.switch-track{background:var(--accent)}.switch-toggle input:checked+.switch-track:after{left:20px}.switch-text{color:#444}.cal-sync-link,.switch-text{font-size:.9em;font-weight:600}.cal-sync-link{margin-left:auto;color:var(--accent);text-decoration:none}.cal-sync-link:hover{text-decoration:underline}.archive-search-row{display:flex;justify-content:flex-end;margin:12px 0}.archive-search-row .meeting-search-wrap{flex:0 1 320px;width:auto}.meeting-search-wrap{display:flex;align-items:stretch}.meeting-search-wrap .meeting-search-input{flex:1 1 auto;min-width:0;margin:0;padding:9px 12px;border:1px solid #ccc;border-right:none;border-radius:6px 0 0 6px;font:inherit}.meeting-search-go{display:flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid #ccc;border-radius:0 6px 6px 0;background:#fff;color:#555}.table-scroll{overflow-x:auto;margin-top:12px;border-radius:8px}.td-select,.th-select{width:34px;text-align:center;padding-left:8px;padding-right:8px}.archive-title-link{color:#1f3b57}.th-filterable{position:relative}.th-label{margin-right:4px}.th-filter-btn{background:none;border:none;cursor:pointer;font-size:.85em;color:#777;padding:0 2px;vertical-align:middle;text-transform:none}.th-filter-btn:hover{color:var(--accent)}.th-filter-dropdown{position:absolute;top:100%;left:0;z-index:20;background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px 12px;box-shadow:0 4px 14px rgba(0,0,0,.12);min-width:200px;text-transform:none;font-weight:400;letter-spacing:normal}.sort-options{display:flex;flex-direction:column;gap:2px}.sort-options+.filter-group-title{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.sort-option-btn{background:none;border:none;cursor:pointer;text-align:left;padding:5px 6px;font-size:.85em;font-weight:400;color:#1a1a1a;border-radius:5px;white-space:nowrap}.sort-option-btn:hover{background:#f0f0f5}.filter-group-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#777;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.filter-group-title button{font-size:.85em;font-weight:600;background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;padding:0;text-transform:none;letter-spacing:normal}.filter-options{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.filter-option{display:flex;align-items:center;gap:6px;font-size:.85em;font-weight:400}.filter-option input{width:auto}.bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#eef1fb;border:1px solid #d5daf0;border-radius:10px;padding:10px 14px;margin:10px 0 14px}.bulk-bar .bulk-count{font-weight:600;color:#2a2a45}.bulk-bar .bulk-move-label{display:inline-flex;align-items:center;gap:6px;color:#3a3f66}.bulk-bar .bulk-move-label input{font:inherit;padding:5px 9px;border:1px solid #b7bfe0;border-radius:6px;min-width:150px}.bulk-bar .primary-btn,.bulk-bar .secondary-btn{padding:6px 14px;align-self:auto;margin:0}.bulk-bar .bulk-msg{color:#1e6b3a;font-size:.9em}.bulk-delete-btn{color:#b04a3a;border-color:#e0d3d3}.bulk-delete-btn:hover{background:#c0392b;border-color:#c0392b;color:#fff}.project-move-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:none;font:inherit;color:var(--accent);cursor:pointer;padding:2px 6px;border-radius:6px;max-width:100%}.project-move-chip:hover{border-color:#cdd2ea;background:#f2f3fb}.project-move-chip .project-move-caret{color:#8a90b3;font-size:.9em}.data-table .project-move-name{display:inline-block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.data-table .project-move-chip:hover .project-move-caret:after{content:" move";font-size:.95em}.project-move-form{display:inline-flex;align-items:center;gap:6px}.project-move-form input{font:inherit;padding:4px 8px;border:1px solid #b7bfe0;border-radius:6px;min-width:130px}.project-move-cancel,.project-move-go{font:inherit;border:none;border-radius:6px;cursor:pointer;padding:5px 9px}.project-move-go{background:var(--accent);color:#fff}.project-move-cancel{background:#ececf5;color:#555}#tasks-table tbody .th-select input{opacity:0;transition:opacity .12s}#tasks-table tbody .th-select input:checked,#tasks-table tbody .th-select input:focus-visible,#tasks-table tbody tr:hover .th-select input{opacity:1}.archive-title-link{text-decoration:underline}.archive-title-link:hover{color:var(--accent)}.workload-search{flex:0 1 280px}.workload-list{gap:10px;margin-top:16px}.workload-list,.workload-row{display:flex;flex-direction:column}.workload-row{background:#fff;border:1px solid #e6e9e6;border-radius:10px;padding:12px 16px;gap:6px}.recommended-tag{display:inline-block;background:#2ecc71;color:#fff;font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:4px;vertical-align:middle}.workload-name{font-weight:600;font-size:.95em;display:flex;align-items:center;gap:8px}.workload-fill-segment{height:100%}.workload-stats{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.workload-legend{margin-top:2px}.person-head-right{display:flex;align-items:center;gap:12px}.person-admin-row{display:flex;margin-top:28px;padding-top:18px;border-top:1px solid #ececf1}.archive-person{max-width:100%}.archive-person-btn{display:inline-flex;align-items:center;cursor:pointer;list-style:none;background:#fff;color:#c0392b;border:1px solid #e2b6b0;border-radius:8px;padding:8px 16px;font-weight:600;font-size:.9em;width:fit-content}.archive-person-btn::-webkit-details-marker{display:none}.archive-person-btn:hover{background:#fdf3f2;border-color:#c0392b}.archive-person[open]>.archive-person-btn{background:#c0392b;color:#fff;border-color:#c0392b}.archive-person:not([open]) .archive-person-form{display:none}.archive-person-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;width:fit-content;max-width:100%;border:1px solid #e2b6b0;border-radius:8px;padding:14px 16px;background:#fdf7f6;margin:10px 0 0}.archive-person-confirm{font:inherit;font-size:.92em;font-weight:700;cursor:pointer;background:#c0392b;color:#fff;border:0;border-radius:8px;padding:9px 18px;white-space:nowrap}.archive-person-confirm:hover{background:#a93226}.inactive-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #e3e3e8;border-left:4px solid #b5b9c6;background:#fbfbfd;border-radius:8px;padding:12px 16px;margin-bottom:18px;color:#5d6377}.inactive-banner form{margin:0 0 0 auto}main:has(.ov-mod){max-width:1780px}.ov-date{margin:-6px 0 16px;color:#7c8896;font-size:.9rem}.ov-mod{background:#fff;border:1px solid #e6e9e6;border-radius:12px;padding:16px 20px;margin:0 0 18px}.ov-mod-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.ov-mod-head h2{margin:0;font-size:1.05em}.ov-mod-link{margin-left:auto;font-size:.82em;font-weight:600;color:var(--accent);text-decoration:none}.ov-mod-link:hover{text-decoration:underline}button.ov-mod-link{border:none;background:transparent;cursor:pointer;font-family:inherit;padding:0}.ov-ai-tag{font-size:.68em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4c6b3f}.ov-ai{background:linear-gradient(135deg,rgba(108,190,69,.08),rgba(210,230,60,.14)) #fff}.glance-panel{background:#fff;border:1px solid #e4e4ea;border-radius:12px;padding:14px 18px 12px;margin:0 0 18px;box-shadow:0 1px 4px rgba(0,0,0,.04)}.glance-panel,.ov-ai{background:linear-gradient(135deg,rgba(108,190,69,.08),rgba(210,230,60,.14)) #fff}.ov-hero{background:linear-gradient(135deg,#22301f,#284f2f 55%,#3c6b3f);color:#fff;border:none;padding:20px 24px}.ov-hero-head{display:flex;align-items:baseline;gap:12px}.ov-hero-head h2{margin:0;font-size:1.15em;color:#fff}.ov-hero .ov-ai-tag{color:var(--lime)}.ov-hero .ov-reading{color:#d6e4d2}.ov-state{margin:6px 0 0;font-size:.86em;color:#8b908b}.ov-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.ov-grid .ov-mod{margin:0}.ov-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.ov-grid-3 .ov-list-capped{max-height:34vh;overflow-y:auto}.ov-list{display:flex;flex-direction:column;gap:6px}.ov-list-capped{max-height:34vh;overflow-y:auto}.ov-row{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border:1px solid #eef1ee;border-radius:8px;text-decoration:none;color:inherit}.ov-row:hover{border-color:var(--accent)}.ov-row-title{font-weight:600;font-size:.92em;min-width:0}.ov-row-tail{margin-left:auto;font-size:.8em;color:#8b908b;white-space:nowrap}.ov-quiet{color:#c0392b;font-weight:700}.ov-team{display:flex;flex-direction:column;gap:4px}.ov-team-row{display:grid;grid-template-columns:1.1fr 60px 2fr .8fr;gap:14px;align-items:center;padding:8px 12px;border-radius:8px;text-decoration:none;color:inherit}.ov-team-row:hover{background:#f4f7f4}.ov-team-name{font-weight:600;font-size:.92em}.ov-team-hours{font-size:.85em;color:#5d6377;white-space:nowrap}.ov-team-bar{display:block}.ov-team-bar .workload-bar-fill{display:block;height:100%}.ov-team-tail{font-size:.82em;color:#8b908b;text-align:right;white-space:nowrap}.ov-row-parked{opacity:.6}.ov-pinned{display:grid;gap:10px;margin:0 0 12px;grid-template-columns:repeat(3,minmax(0,1fr))}.ov-pinned[data-count="0"]{display:none}.ov-pinned[data-count="1"]{grid-template-columns:minmax(0,1fr)}.ov-pinned[data-count="2"],.ov-pinned[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-tile{display:flex;flex-direction:column;gap:7px;min-width:0;padding:11px 13px;border-radius:10px;text-decoration:none;color:inherit;border:1px solid #dfe7df;background:linear-gradient(150deg,#f7faf6,#fff 70%)}.ov-tile:hover{border-color:var(--accent);box-shadow:0 3px 12px rgba(20,40,20,.07)}.ov-tile-head{display:flex;align-items:center;gap:6px;min-width:0}.ov-tile-name{font-size:.95em;min-width:0;overflow:hidden;text-overflow:ellipsis}.ov-tile-name,.ov-tile-num{font-weight:700;white-space:nowrap}.ov-tile-num{margin-left:auto;font-size:.85em;color:#5d6377}.ov-tile .workload-bar-track{display:block}.ov-tile .workload-bar-fill{display:block;height:100%}.ov-tile-tail{font-size:.8em;color:#8b908b}.ov-mod-search{display:flex;align-items:stretch;margin-left:auto;width:168px;border:1px solid #e0e6e0;border-radius:7px;overflow:hidden;background:#fbfcfb}.ov-mod-search:focus-within{border-color:var(--accent);background:#fff}.ov-mod-search input{flex:1 1 auto;min-width:0;border:none;background:none;font:inherit;font-size:.82em;padding:5px 8px;outline:none}.ov-mod-search-go{display:flex;align-items:center;padding:0 8px;color:#8b908b}.todo-days{display:flex;flex-direction:column;gap:14px;margin-top:16px}.todo-day{background:#fff;border-radius:8px;padding:14px 18px;box-shadow:0 1px 4px rgba(0,0,0,.06);border-left:5px solid #ccc}.todo-day.todo-today{border-left-color:var(--accent);background:#f4f4fa}.todo-day.todo-overloaded{border-left-color:#c0392b}.todo-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.todo-day-label{font-weight:700;font-size:1.05em}.todo-day.todo-today .todo-day-label{color:var(--accent)}.todo-day-items{display:flex;flex-direction:column;gap:6px}.todo-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none;color:inherit;background:#fafafa;border-radius:6px;padding:8px 12px;font-size:.9em}.todo-item:hover{background:#f0f0f5}.todo-item-title{font-weight:600}.todo-item-project{color:#777;font-size:.9em}.blocked-badge{background:#eaeaf5;color:#4a4a7a}.pw-input{position:relative;display:block}.dup-project-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.dup-project-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fdf6e3;border:1px solid #e8d9a0;border-radius:8px;padding:8px 14px}.dup-project-row a{font-weight:700;color:inherit}.dup-approx{font-size:1.2em;color:#8a6d1a;font-weight:700}.dup-count{font-size:.8em;color:#777}.dup-evidence{font-size:.8em;color:#8a6d1a;font-weight:600;margin-left:auto}