:root{--primary:#4BABA9;--secondary:#0C2639;--success:#2E7D63;--alert:#C94C4C;--warning:#D99A2B;--ink:#0C2639;--muted:#66727A;--line:#DEE6E9;--paper:#F7F9FA;--aqua-soft:#EAF5F4;--blue-soft:#F0F4F5}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:15px/1.5 system-ui,sans-serif;color:var(--ink)}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:var(--secondary);color:#fff;padding:38px 26px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:48px;font-weight:800;color:white;text-decoration:none;letter-spacing:-3px}.brand span{display:block;font-size:9px;letter-spacing:2px}aside p{font-size:10px;letter-spacing:2px;margin-top:64px;color:#4BABA9}.aside-bottom{margin-top:auto}main{padding:30px 42px;max-width:1600px;width:100%;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin:30px 0}small{font-size:11px;color:var(--muted);letter-spacing:.6px}h1{font-size:36px;line-height:1.2;letter-spacing:-1.5px;margin:10px 0}h2{font-size:19px}h3{font-size:16px}p{color:var(--muted)}button,input,select{font:inherit;border-radius:7px}button{padding:10px 16px;background:var(--primary);border:1px solid transparent;color:#FFFFFF;font-weight:600;cursor:pointer}button:hover{filter:brightness(.93)}button:disabled{opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.secondary{background:white;border-color:var(--line);color:var(--ink)}input,select{padding:10px 12px;border:1px solid var(--line);background:white;color:var(--ink);max-width:100%}label{display:grid;gap:5px;font-size:12px;color:var(--muted)}nav{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px;margin:25px 0;flex-wrap:wrap}.toolbar,.inline,.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.inline{justify-content:flex-start}.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:12px;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.metrics strong{display:block;font-size:38px;margin-top:10px}.pill{padding:6px 12px;background:var(--aqua-soft);border-radius:20px;font-size:12px}.banner{background:#fff0cb;border:1px solid #e7c77f;padding:10px 15px;border-radius:7px;font-size:12px}.notice{padding:12px;background:var(--aqua-soft);margin:15px 0}.error{padding:12px;background:#FBEDED;margin:15px 0}progress{width:100%;height:10px;accent-color:var(--primary)}.task-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.task-row span{font-size:12px;color:var(--muted)}.text-button{padding:0;border:0;background:none;color:var(--ink);text-align:left;text-decoration:underline;text-underline-offset:4px}.search{width:100%;margin-bottom:20px}.task-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px}.task-form button{align-self:end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th,td{padding:14px 10px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.column{min-height:300px;background:var(--blue-soft);border-radius:10px;padding:12px}.column h2{font-size:14px}.card{padding:16px;margin-bottom:12px;cursor:grab}.card select{width:100%;font-size:12px;margin-bottom:10px}.drag-over{outline:2px dashed var(--primary)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:300px;overflow:auto}blockquote{border-left:3px solid var(--primary);padding-left:15px;color:var(--muted)}details{margin:15px 0}summary{cursor:pointer} .login{display:grid;place-items:center;min-height:100vh}.login-card{width:min(450px,95vw)}.login-card label{margin:16px 0}.login-card button{width:100%}@media(max-width:1000px){.shell{grid-template-columns:170px 1fr}main{padding:20px}.kanban{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{display:block}aside{position:static;height:auto;padding:15px 20px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}aside>p,aside>strong{display:none}.brand{font-size:30px}.aside-bottom{font-size:11px;margin:0}.aside-bottom button{padding:4px 8px}h1{font-size:28px}.task-form,.kanban{grid-template-columns:1fr}.task-row{display:block}.task-row span{display:block}.metrics .panel{padding:16px}header{align-items:start}.pill{white-space:nowrap}}

/* PHI MX tokens: read from the live Flatsome palette on 2026-10-21. */
[x-cloak]{display:none!important}
.brand{color:var(--primary)}.brand span{color:#fff}aside .secondary{background:transparent;border-color:#4BABA9;color:white}button.active{box-shadow:inset 0 -2px 0 var(--secondary)}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.status-dot.doing{background:var(--primary)}.status-dot.done{background:var(--success)}.status-dot.blocked{background:var(--alert)}
.gantt-panel{--task-width:260px;padding:0;overflow:hidden}.timeline-heading{padding:22px 24px 0}.timeline-heading h2{margin:5px 0 0;font-size:21px}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 24px 0}.calendar-navigation{gap:8px}.calendar-navigation button{min-width:40px;padding:7px 12px}.calendar-navigation strong{font-size:14px;margin-left:8px}.timeline-zoom{display:flex;align-items:center;gap:8px}.timeline-zoom select{padding:7px 10px}.timeline-help{margin:15px 24px 10px;font-size:12px;line-height:1.7}.timeline-help span{display:block;color:var(--muted)}.timeline-legend{display:flex;flex-wrap:wrap;gap:18px;margin:12px 24px 20px;font-size:11px;color:var(--muted)}.timeline-legend>span{display:flex;align-items:center;gap:7px}.today-key{margin-left:auto}.timeline-scroll{overflow:auto;max-height:66vh;border-top:1px solid var(--line);overscroll-behavior-x:contain;position:relative;scrollbar-color:var(--primary) var(--blue-soft);scrollbar-width:auto}.timeline-scroll:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.timeline-grid{width:calc(var(--task-width) + var(--day-width) * 42);isolation:isolate}.timeline-header,.calendar-row{display:flex}.timeline-header{position:sticky;top:0;z-index:5;background:white;border-bottom:1px solid var(--line)}.gantt-task-info{position:sticky;left:0;z-index:3;flex:0 0 var(--task-width);width:var(--task-width);background:white;padding:17px 20px;border-right:1px solid var(--line);box-shadow:4px 0 8px -7px #0C2639;display:flex;flex-direction:column;justify-content:center;gap:3px}.timeline-label-heading{background:var(--blue-soft);font-size:10px;letter-spacing:.7px}.timeline-label-heading>span{font-size:10px;color:var(--muted);letter-spacing:0}.calendar-header{width:calc(var(--day-width) * 42);flex:none}.calendar-months,.calendar-days{display:flex}.calendar-months{background:var(--blue-soft);height:30px}.calendar-months>span{padding:5px 10px;font-size:11px;font-weight:600;text-transform:capitalize;border-right:1px solid var(--line);overflow:hidden;white-space:nowrap;flex:none}.calendar-day{width:var(--day-width);flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;border-right:1px solid var(--line)}.calendar-day small{font-size:10px}.calendar-day strong{font-size:12px}.calendar-day.weekend{background:var(--blue-soft)}.calendar-day.is-today{background:var(--aqua-soft);box-shadow:inset 0 -3px 0 var(--primary)}.calendar-day.is-today strong{background:var(--primary);color:var(--secondary);border-radius:50%;width:25px;line-height:25px;text-align:center}.calendar-row{height:112px;border-bottom:1px solid var(--line)}.gantt-task-title{background:none;padding:0;border:0;border-radius:0;text-align:left;color:var(--ink);font-size:13px;line-height:1.35;max-height:36px;overflow:hidden}.gantt-task-title:hover{text-decoration:underline}.gantt-task-info>span{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-task-info>span .status-dot{margin-left:4px}.gantt-preview{font-size:10px;letter-spacing:0;white-space:nowrap}.gantt-save-state{font-size:10px;letter-spacing:0;color:var(--alert);line-height:1.2}.gantt-save-state:empty{display:none}.calendar-track{position:relative;flex:none;width:calc(var(--day-width) * 42);background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--day-width) - 1px),var(--line) calc(var(--day-width) - 1px),var(--line) var(--day-width))}.weekend-band{position:absolute;top:0;bottom:0;background:#F0F4F580;pointer-events:none}.today-line{position:absolute;top:0;bottom:0;border-left:2px solid var(--primary);pointer-events:none;z-index:1}.schedule-bar{position:absolute;top:35px;height:38px;display:flex;border-radius:6px;background:var(--muted);color:white;z-index:2;box-shadow:0 2px 5px #0C263918;min-width:0;touch-action:none}.schedule-bar.doing{background:var(--primary);color:var(--secondary)}.schedule-bar.done{background:var(--success)}.schedule-bar.blocked{background:var(--alert)}.schedule-bar button{background:transparent;color:inherit;border:0;border-radius:4px;padding:0;min-width:0;font-weight:600;touch-action:none;filter:none;transition:none}.schedule-bar button:hover{background:#FFFFFF20}.schedule-bar button:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.resize-handle{flex:0 0 12px;width:12px;cursor:ew-resize;display:flex;align-items:center;justify-content:center}.resize-handle>span{height:14px;width:3px;border-left:1px solid currentColor;border-right:1px solid currentColor;opacity:.8}.move-handle{flex:1;cursor:grab;overflow:hidden;white-space:nowrap;font-size:11px;user-select:none}.move-handle>span{pointer-events:none}.is-dragging .schedule-bar{box-shadow:0 5px 14px #0C263942;z-index:4;outline:2px solid var(--secondary);outline-offset:2px}.is-dragging .move-handle{cursor:grabbing}.is-dragging .gantt-task-info{background:var(--aqua-soft)}.is-dragging .gantt-preview{font-weight:700;color:var(--secondary)}.is-saving .schedule-bar{opacity:.6}.outside-period{position:absolute;top:35px;left:15px;background:var(--blue-soft);color:var(--muted);padding:8px 12px;font-size:11px}.timeline-empty{padding:30px;color:var(--muted)}.timeline-footer{padding:12px 24px;margin:0;font-size:11px;background:var(--blue-soft)}.shell:has(.is-meeting){display:block}.shell:has(.is-meeting)>aside{display:none}.shell:has(.is-meeting)>main{max-width:none;padding:16px 24px}.shell:has(.is-meeting) .workspace-controls{display:none}.shell:has(.is-meeting) .banner{margin-bottom:12px}.is-meeting .timeline-scroll{max-height:calc(100vh - 310px)}.is-meeting .meeting-toggle{background:var(--secondary);color:white}.is-meeting .timeline-heading h2{font-size:25px}
@media(max-width:650px){.gantt-panel{--task-width:185px}.timeline-heading,.timeline-toolbar{padding:16px 14px 0}.timeline-heading h2{font-size:18px}.timeline-help{margin:12px 14px}.timeline-legend{margin:12px 14px;gap:12px}.timeline-heading{align-items:flex-start}.meeting-toggle{padding:7px 10px;font-size:12px}.calendar-navigation strong{font-size:12px;margin-left:0}.today-key{margin-left:0}.gantt-task-info{padding:12px}.gantt-preview{font-size:9px}.shell:has(.is-meeting)>main{padding:12px}.timeline-zoom{font-size:11px}.is-meeting .timeline-heading h2{font-size:20px}.is-meeting .timeline-scroll{max-height:65vh}}

/* Spreadsheet review and preservation of source states. */
.unconfirmed-date{display:inline-block;color:#815712;font-size:10px;letter-spacing:0}.schedule-bar.unconfirmed{outline:2px dashed var(--warning);outline-offset:3px}.schedule-bar.drafted,.status-dot.drafted{background:#66727A}.schedule-bar.published,.status-dot.published{background:var(--success)}.schedule-bar.in_review,.status-dot.in_review{background:var(--secondary)}.schedule-bar.needs_confirmation,.status-dot.needs_confirmation{background:var(--warning);color:var(--secondary)}.kanban{display:flex;overflow-x:auto;gap:16px;padding-bottom:12px}.kanban .column{flex:0 0 245px}.checkbox-label,.import-options label{display:flex;align-items:center;gap:8px}.checkbox-label input,.import-options input{width:auto}.batch-selector{margin-bottom:20px;max-width:650px}.import-counts{display:flex;gap:28px;flex-wrap:wrap;margin:15px 0}.import-counts span{display:grid;font-size:12px;color:var(--muted)}.import-counts strong{font-size:30px;color:var(--ink)}.file-hash{font-size:11px;overflow-wrap:anywhere;display:block}.import-row h3{font-size:19px;line-height:1.4}.import-dates{font-size:13px}.import-dates strong{color:#815712;font-size:12px}.import-details{display:grid;grid-template-columns:160px 1fr;gap:10px;font-size:13px}.import-details dt{font-weight:600}.import-details dd{margin:0;color:var(--muted);white-space:pre-wrap}.import-row table{white-space:normal;table-layout:fixed;font-size:12px}.import-row table td{overflow-wrap:anywhere;vertical-align:top}.import-row details li{font-size:12px;color:var(--muted);margin:6px 0}.candidate-list,.conflict{background:#FFF7E7;border:1px solid #E7D3AE;padding:15px;margin:15px 0;border-radius:8px;font-size:12px}.candidate-list p{margin:8px 0}.candidate-list small{display:block;font-size:10px}.import-decision{display:grid;grid-template-columns:1fr;gap:12px;margin:15px 0}.import-proposal{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.import-options{display:grid;gap:10px;margin:15px 0}.approval-actions{margin-top:16px}.import-proposal h4{margin:10px 0}.conflict p{white-space:pre-wrap}.import-issues summary{font-size:12px;color:#815712}.seo-import .panel p{max-width:900px}@media(max-width:650px){.import-details{grid-template-columns:1fr;gap:4px}.import-details dd{margin-bottom:10px}.import-counts{gap:16px}}
.import-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap;padding:18px 24px}.import-filters label{flex:1;min-width:180px}.import-filters>span{font-size:12px;color:var(--muted);padding-bottom:10px}

/* Official PHI wordmark supplied by the user. */
.brand{display:block;line-height:0;letter-spacing:normal;margin-bottom:24px}.brand img{display:block;width:160px;max-width:100%;height:auto}.login-brand{background:var(--secondary);padding:20px 24px;border-radius:8px;margin-bottom:20px}.login-brand img{display:block;width:160px;max-width:100%;height:auto}.toolbar.workspace-controls{margin-top:24px}@media(max-width:650px){.brand{margin:0;max-width:120px}.brand img{width:120px}.toolbar.workspace-controls{margin-top:18px}}

.task-actions{display:flex;justify-content:flex-end;margin:16px 0}.kanban{grid-template-columns:repeat(5,minmax(210px,1fr))}.backlog-items{display:flex;gap:12px;flex-wrap:wrap}.backlog-card{border:1px solid var(--primary);border-radius:8px;padding:14px;display:grid;gap:8px;max-width:280px;cursor:grab}.calendar-day:hover{background:#EAF5F4}.backlog h2 small{font-size:14px;font-weight:400}

.kanban{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.kanban .column{min-width:0;padding:10px}.kanban .column h2{font-size:13px}.kanban .card{padding:12px}.kanban .card h3{font-size:14px;overflow-wrap:anywhere}.kanban .card p{font-size:12px}.kanban select{width:100%;font-size:12px;padding:8px 4px}.work-plan{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}.work-plan .backlog{padding:16px}.backlog h2{font-size:18px}.backlog p{font-size:12px}.backlog-card{width:100%;font-size:13px}.backlog-items{display:grid}.shell:has(.is-meeting) .backlog{display:none}.work-plan:has(.is-meeting){display:block}@media(max-width:950px){.kanban{grid-template-columns:repeat(5,180px)}.work-plan{display:block}.backlog-items{display:flex}.backlog-card{max-width:240px}}

.timeline-help summary{cursor:pointer;color:var(--muted)}.backlog details{font-size:12px;margin-bottom:16px}nav button:last-child{margin-left:auto}.timeline-heading h2{font-size:18px}.timeline-legend{gap:10px;margin-bottom:12px}

.task-modal{border:0;border-radius:12px;padding:24px;width:min(680px,calc(100vw - 28px));max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 16px 70px #0C263944}.task-modal::backdrop{background:#0C263980}body:has(.task-modal[open]){overflow:hidden}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.modal-heading h2{margin:0}.task-modal .task-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.task-modal .date-help,.task-modal .checkbox-label{grid-column:1/-1}.date-help{font-size:12px;margin:0;color:var(--muted)}.backlog-drop-over{background-color:var(--aqua-soft);outline:2px dashed var(--primary);outline-offset:-3px}.drop-hint{display:block;padding:35px 16px;font-size:12px;color:var(--muted)}.timeline-heading{position:sticky;top:0;z-index:8;background:white;padding-bottom:12px;gap:10px;flex-wrap:wrap}.timeline-heading>div{flex:1}.work-plan .backlog{position:sticky;top:16px}.gantt-task-title{scroll-margin-top:80px}@media(max-width:650px){.task-modal .task-form{grid-template-columns:1fr}.work-plan .backlog{position:static}}

.task-modal .task-form>label:first-child{grid-column:1/-1}

.modal-notices-hidden{display:none}

/* Compact navigation for the single-project workspace. */
button{border-radius:999px!important}
nav.workspace-controls{gap:6px;margin:12px 0 16px;padding-bottom:12px;align-items:center}
nav.workspace-controls button{padding:6px 11px;font-size:12px;line-height:1.4}
nav.workspace-controls button.active{box-shadow:none}
.timeline-heading button{padding:7px 12px;font-size:12px}

.team-form{display:grid;grid-template-columns:1fr 1fr 160px;gap:14px;margin-top:20px}.team-form button{grid-column:1/-1;justify-self:start}.team-member{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.team-member p{margin:4px 0;font-size:13px}.team-member button{font-size:12px;padding:6px 12px}.mine-filter{margin:4px 0 12px;font-size:12px}.mine-filter input{width:auto}@media(max-width:650px){.team-form{grid-template-columns:1fr}.team-member{align-items:start;flex-direction:column}}
