:root {
  color-scheme: light;
  --page:#f2f2f0; --sidebar:#fbfbf9; --surface:#ffffff; --surface-soft:#f5f5f2; --border:#d5d6d0;
  --text:#252a28; --muted:#5f655f; --accent:#4659b8; --accent-hover:#394ba6; --accent-soft:#eef0fb;
  --success:#2f7651; --success-bg:#e8f4ed; --warning:#8a5a0a; --warning-bg:#fff4d8; --danger:#9d423f; --danger-bg:#faeceb;
  --info:#2f669f; --info-bg:#eaf2fb; --focus:#263b92; --shadow:0 8px 24px rgba(37,42,40,.07); --overlay:rgba(37,42,40,.5); --on-accent:#ffffff; --on-success:#ffffff; --on-danger:#ffffff;
  --bg:var(--page); --card:var(--surface); --primary:var(--accent); --primary-soft:var(--accent-soft); --video:#000000;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font-size:15px}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-control select{width:auto;min-width:116px;padding:.48rem .6rem}
button,.button{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:9px;padding:.62rem .85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
button:hover,.button:hover{border-color:var(--accent)}.primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 58%,transparent);outline-offset:2px}
.app-header{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--border)}.header-brand,.account{display:flex;align-items:center;gap:10px}.mobile-menu-toggle,.nav-backdrop{display:none}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:700}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--primary);color:#fff;display:grid;place-items:center}.environment{color:var(--muted);font-size:.85rem}
.app-shell{display:grid;grid-template-columns:190px minmax(0,1fr);max-width:1500px;margin:0 auto;min-height:calc(100vh - 64px)}
.sidebar{padding:24px 16px;border-right:1px solid var(--border);background:var(--sidebar);display:flex;flex-direction:column;gap:5px}.sidebar a{padding:10px 12px;color:var(--muted);text-decoration:none;border-radius:8px}.sidebar a:hover,.sidebar a.active{color:var(--text);background:var(--primary-soft)}
.external-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px}.external-navigation span:first-child{min-width:0;overflow-wrap:anywhere}.external-navigation span:last-child{font-size:.82em}.settings-panel{max-width:760px;margin-bottom:16px}.settings-panel-head{padding:20px 20px 0}.settings-panel-head h2{font-size:1.15rem}.settings-panel-head p{margin:6px 0 0}.settings-panel form{display:grid;gap:16px;padding:20px}.settings-toggle{justify-self:start}.settings-actions{display:flex;justify-content:flex-end;padding-top:4px}.settings-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}.settings-account-actions button{align-items:flex-start;flex-direction:column;text-align:left}.settings-account-actions span{color:var(--muted);font-size:.78rem}
main{padding:28px;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}h1{font-size:1.7rem;margin:0 0 4px}h2{font-size:1rem;margin:0}.subtitle,.muted{color:var(--muted)}
.auth-card{width:min(440px,100%);margin:8vh auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px}.auth-brand{margin-bottom:28px}.auth-card h1{margin-bottom:6px}.auth-fields{display:grid;gap:14px;margin-top:22px}.auth-submit{width:100%;margin-top:18px}
.password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.password-control button{min-width:68px}.auth-secondary{display:block;width:100%;margin-top:10px;border:0;background:transparent;color:var(--accent)}.auth-secondary:hover{border:0;text-decoration:underline}.auth-success{margin:20px 0;padding:14px;border-radius:9px;background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}
.auth-view .app-shell{display:block;max-width:none;min-height:calc(100vh - 64px)}.auth-view main{width:100%;padding:28px}.auth-view .auth-card{width:min(440px,calc(100vw - 56px));min-width:min(360px,calc(100vw - 56px))}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px}.company-card,.task{background:var(--card);border:1px solid var(--border);border-radius:12px}.metric{padding:16px}.metric strong{display:block;font-size:1.65rem;margin-top:5px}.panel{overflow:hidden}
.toolbar{display:flex;gap:10px;padding:14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:.82rem;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:.62rem .7rem;background:var(--card);color:var(--text)}textarea{resize:vertical}.toolbar .search{flex:1;min-width:210px}.toolbar .filter{width:180px}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:.8rem;color:var(--muted);font-weight:600}tbody tr:last-child td{border-bottom:0}.person{font-weight:650}.email{font-size:.85rem;color:var(--muted)}
.badges{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-block;border-radius:999px;background:var(--primary-soft);padding:4px 8px;font-size:.75rem}.empty{padding:35px;text-align:center;color:var(--muted)}.row-actions{display:flex;gap:6px;white-space:nowrap}.row-actions button{padding:.45rem .6rem;font-size:.8rem}.relation-link{color:var(--text);text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:3px}.linked-target{outline:3px solid var(--accent);outline-offset:-3px}
.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.company-card{padding:18px}.company-card.archived{opacity:.72}.company-card h2{font-size:1.08rem;margin-bottom:4px}.company-top{display:flex;justify-content:space-between;gap:10px}.main-contact{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.main-contact strong{display:block}.company-contacts{margin-top:14px}.contact-name{display:inline-block;margin:6px 6px 0 0;padding:4px 7px;background:var(--primary-soft);border-radius:7px;font-size:.78rem}.company-actions{display:flex;gap:7px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.linked-contacts{padding:10px;border:1px solid var(--border);border-radius:8px}.field-help{font-size:.78rem;color:var(--muted)}
.company-search-panel{margin-bottom:14px}.company-search-panel .toolbar{border-bottom:0}.company-search-panel .search{width:100%}.company-contact-manager{gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px}.company-contact-heading,.company-contact-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.company-contact-heading{padding-bottom:10px;border-bottom:1px solid var(--border)}.company-contact-manager h3{margin:8px 0 0}.company-contact-row{padding:10px;border-radius:8px;background:var(--surface)}.company-contact-row strong,.company-contact-row span{display:block}.company-contact-row span{margin-top:3px;color:var(--muted);font-size:.78rem}
.board{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:16px;align-items:start}.board-column h2{display:flex;justify-content:space-between;margin-bottom:10px}.task-list{display:flex;flex-direction:column;gap:10px;min-height:60px}.task{padding:14px}.task-title{font-weight:650;margin-bottom:10px}.task-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.8rem;color:var(--muted)}.task-actions{display:flex;gap:5px;margin-top:10px}.task-actions button{padding:.35rem .55rem;font-size:.75rem}
.task-card-head{display:block}.project-board .task[draggable="true"]{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}.project-board .task[draggable="true"]:active{cursor:grabbing}.board-task-dragging{opacity:.82;outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 12px 28px rgba(0,0,0,.18);transform:rotate(.4deg)}.board-drop-target{outline:0}.board-order-note{margin:-6px 0 14px;padding:9px 11px;border-radius:8px;background:var(--primary-soft);color:var(--muted);font-size:.8rem}.project-board .task-actions{flex-wrap:wrap}
.project-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.project-controls>select{width:auto;min-width:155px}.view-switch{display:flex;gap:5px;margin-left:auto}.project-board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.task-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.task-open:hover{border:0;color:var(--accent)}.task .badges{margin:7px 0 11px}.task.overdue{border-color:var(--danger)}.text-danger{color:var(--danger);font-weight:650}.task-detail{display:grid;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.task-detail section>h2{margin-bottom:9px}.detail-list{display:grid;gap:7px}.subtask{display:flex;gap:8px;align-items:center}.subtask input{width:auto}.subtask input:checked+span{text-decoration:line-through;color:var(--muted)}.task-subtasks,.task-links{padding-top:6px;border-top:1px solid var(--border)}.task-subtasks>button,.task-links>button{margin-top:9px}.subtask-edit-row{border:1px solid var(--border);border-radius:9px;background:var(--card)}.subtask-edit-row summary{padding:7px 9px;cursor:pointer}.subtask-summary{display:grid;grid-template-columns:minmax(160px,1fr) 125px auto 38px;gap:8px;align-items:center;margin-left:6px}.subtask-summary input,.subtask-summary select{min-width:0}.subtask-detail-indicator{color:var(--muted);font-size:.75rem;white-space:nowrap}.subtask-outcome-field{display:grid;gap:5px;padding:10px;border-top:1px solid var(--border)}.subtask-outcome-field label{font-size:.8rem;color:var(--muted)}.subtask-outcome-field label span{font-size:.72rem}.remove-subtask,.remove-task-link{min-width:38px;padding-inline:10px}.task-link-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.5fr) auto auto;gap:8px;align-items:center}.task-link-row input{min-width:0}.comment{padding:9px;background:var(--primary-soft);border-radius:8px}.comment strong{display:block;font-size:.8rem;margin-bottom:3px}.inline-form{display:flex;gap:7px;margin-top:9px}.inline-form input{min-width:0}.inline-form button{flex:none}
.project-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.project-card{display:block;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none}.project-card:hover{border-color:var(--accent);transform:translateY(-1px)}.project-card-top,.project-card-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.project-card p{color:var(--muted);min-height:2.7em}.project-card-meta{border-top:1px solid var(--border);padding-top:12px;font-size:.82rem;color:var(--muted)}.project-calendar{padding:14px}.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.calendar-toolbar h2{font-size:1.1rem;text-align:center;flex:1}.calendar-scroll{overflow-x:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:735px}.calendar-weekdays span{text-align:center;padding:7px;color:var(--muted);font-size:.78rem}.calendar-day{min-height:120px;border-top:1px solid var(--border);border-left:1px solid var(--border);padding:6px;background:var(--surface)}.calendar-day:nth-child(7n){border-right:1px solid var(--border)}.calendar-grid .calendar-day:nth-last-child(-n+7){border-bottom:1px solid var(--border)}.calendar-day.outside{background:var(--bg);color:var(--muted)}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-date{font-size:.78rem;font-weight:650;margin-bottom:5px}.calendar-tasks{display:grid;gap:4px}.calendar-task{display:block;width:100%;padding:5px 6px;border:0;border-left:3px solid var(--accent);border-radius:5px;background:var(--primary-soft);font-size:.72rem;text-align:left;overflow:hidden;text-overflow:ellipsis}.calendar-task span{display:block;color:var(--muted);font-size:.66rem}.calendar-task.priority-low{border-left-color:var(--muted)}.calendar-task.priority-normal{border-left-color:var(--info)}.calendar-task.priority-high{border-left-color:var(--warning)}.calendar-task.priority-urgent{border-left-color:var(--danger)}
.project-files-dialog{width:min(760px,100%)}dialog:has(.project-files-dialog){width:min(780px,calc(100% - 28px))}.project-files-dialog>p{margin:-6px 0 16px}.project-files-dialog form{display:grid;gap:10px}.project-file-list{display:grid;gap:8px;margin-top:16px}.project-file-view{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:9px}.project-file-view strong,.project-file-view span{display:block}.project-file-view span{margin-top:3px;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.project-files-action{border:2px solid var(--success);background:color-mix(in srgb,var(--success) 10%,var(--card));color:var(--success);font-weight:600}.project-files-action:hover{border-color:var(--success);background:color-mix(in srgb,var(--success) 17%,var(--card))}.project-files-icon{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.task-schedule{display:grid;gap:3px;margin:8px 0;font-size:.78rem;color:var(--muted)}
.custom-fields{margin-top:4px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.custom-fields h3{margin:0 0 12px;font-size:.9rem}.custom-fields .check{background:var(--surface)}
.custom-field-create{display:grid;gap:9px}.custom-field-create>button{justify-self:start}.inline-custom-field-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.custom-field-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end}.custom-field-item.full{grid-column:1/-1}.custom-field-item .check{min-height:42px}.remove-custom-field{width:32px;height:32px;padding:0;margin-bottom:4px;border-radius:50%;font-size:1.15rem;color:var(--danger)}
.remove-custom-field.confirming{width:auto;padding:0 9px;border-radius:8px;background:var(--danger);color:#fff;font-size:.75rem}
@media(max-width:760px){.inline-custom-field-grid{grid-template-columns:1fr}.custom-field-create>button,.inline-custom-field-grid>button{width:100%}.subtask-summary{grid-template-columns:minmax(0,1fr) 115px 38px}.subtask-detail-indicator{grid-column:1/3}}
.integration{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.integration:last-child{border:0}.integration-name{font-weight:650}.status{font-size:.8rem;color:var(--muted);margin-top:3px}
.team-active{color:var(--success);font-weight:650}.team-disabled{color:var(--muted)}.danger-button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.danger-button:hover{border-color:var(--danger)}
.integration-help{margin-top:16px;padding:18px}.integration-help p{margin:5px 0 14px}.endpoint-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.endpoint-row code{overflow-wrap:anywhere;color:var(--muted)}
.classification-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.classification-panel{padding:0}.classification-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.classification-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.classification-row:last-child{border:0}.classification-row.archived{opacity:.58}.color-dot{width:12px;height:12px;border-radius:50%;background:var(--dot)}
.classification-view{display:block;padding:2px;border:0;background:transparent;text-align:left;border-radius:4px}.classification-view:hover{border:0;color:var(--accent)}.classification-view strong,.classification-view span{display:block}.classification-contacts{display:grid;gap:8px}.classification-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:9px}.classification-contact .muted{font-size:.82rem;margin-top:2px}
.data-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.data-panel{padding:18px}.data-panel h2{font-size:1.05rem}.data-panel p{margin:6px 0 16px}.download-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.duplicate-list{display:grid;gap:8px}.duplicate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px;background:var(--primary-soft);border-radius:8px}.duplicate-row .muted{font-size:.8rem}.duplicate-row button{grid-column:2;grid-row:2/4}.healthy{padding:14px;border-radius:8px;background:#e8f5ed;color:#24613b}.merge-contacts{display:grid;gap:10px}.merge-contact{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--border);border-radius:10px}.merge-contact .badges{margin-top:7px}.merge-warning{color:var(--danger);font-size:.82rem;margin:15px 0 0}
.import-button{cursor:pointer}.import-preview{width:min(900px,100%)}dialog:has(.import-preview){width:min(920px,calc(100% - 28px))}.import-counts{display:flex;gap:10px;margin-bottom:14px}.import-counts span{padding:9px 12px;background:var(--primary-soft);border-radius:8px}.preview-table{max-height:320px;border:1px solid var(--border);border-radius:8px}.import-options{margin-top:16px}.import-invalid{background:#f9e2e6;color:var(--danger)}.import-update{background:#fff1cf;color:#765611}.import-new{background:#e8f5ed;color:#24613b}
dialog{width:min(600px,calc(100% - 28px));border:0;border-radius:14px;padding:0;box-shadow:0 18px 60px #17233d33}dialog::backdrop{background:#17233d80}.modal-inner{padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{font-size:1.2rem}.icon-button{padding:.35rem .55rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.checks{display:flex;flex-wrap:wrap;gap:8px}.check{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:7px 9px}.check input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.error{color:var(--danger);font-size:.85rem;margin-top:10px}.toast{position:fixed;right:20px;bottom:20px;background:var(--primary);color:#fff;padding:11px 14px;border-radius:9px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.loading{color:var(--muted)}.note-entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:start}.note-history{margin-top:24px;border-top:1px solid var(--border);padding-top:18px}.note-history h2{margin-bottom:14px}.note-day{margin-bottom:18px}.note-day h3{font-size:.82rem;color:var(--muted);margin:0;padding-bottom:5px;border-bottom:1px solid var(--border)}.note{padding:12px 0;border-bottom:1px solid var(--border);white-space:normal}.note:last-child{border:0}.note-meta{font-size:.78rem;color:var(--muted);margin-top:7px}
@media(max-width:760px){body{padding-bottom:0}.app-header{height:56px;padding:0 12px;position:sticky;top:0;z-index:40}.brand>span:last-child{display:none}.brand-mark{width:30px;height:30px}.mobile-menu-toggle{display:inline-flex;padding:.48rem .62rem}.environment{display:none}.theme-control select{min-width:0;width:86px}.account{gap:5px}.account button{padding:.48rem .58rem}#install-button{display:none!important}.app-shell{display:block;min-height:calc(100vh - 56px)}.sidebar{display:flex;position:fixed;z-index:50;left:0;top:56px;bottom:0;width:min(300px,84vw);border:0;border-right:1px solid var(--border);background:var(--surface);padding:16px 12px calc(16px + env(safe-area-inset-bottom));flex-direction:column;overflow-y:auto;gap:5px;box-shadow:8px 0 28px rgba(31,37,35,.18);transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}.sidebar.mobile-open{transform:translateX(0);visibility:visible;transition:transform .2s ease}.sidebar a{white-space:normal;padding:13px 14px;font-size:.95rem;text-align:left}.nav-backdrop:not([hidden]){display:block;position:fixed;z-index:45;inset:56px 0 0;border:0;border-radius:0;padding:0;background:rgba(31,37,35,.42)}body.mobile-menu-open{overflow:hidden}main{padding:18px 12px}.page-head{margin-bottom:16px}.page-head h1{font-size:1.45rem}.page-head>button{width:100%}.metrics,.company-grid,.classification-grid,.data-grid{grid-template-columns:1fr}.metrics{gap:8px}.metric{padding:12px}.board{grid-template-columns:1fr}.form-grid,.note-entry{grid-template-columns:1fr}.full{grid-column:auto}.view-switch{margin-left:0}.task-link-row{grid-template-columns:1fr auto auto}.task-link-row .task-link-url{grid-column:1/-1;grid-row:1}.task-link-row .task-link-label{grid-column:1;grid-row:2}.project-controls>select{width:100%}.view-switch{width:100%}.view-switch button{flex:1}dialog{max-height:calc(100dvh - 20px);overflow:auto}.modal-inner{padding:16px}.modal-actions{position:sticky;bottom:-16px;background:var(--surface);padding:12px 0 16px}.row-actions{flex-wrap:wrap}.company-card{padding:15px}.merge-contact,.classification-contact{align-items:stretch;flex-direction:column}.merge-contact button,.classification-contact button{width:100%}.toast{left:12px;right:12px;bottom:12px;text-align:center}}
@media(max-width:760px){.project-board .task-actions button{min-width:40px;min-height:38px}}
@media(max-width:520px){.mobile-menu-toggle{width:38px;padding:.48rem 0;font-size:0}.mobile-menu-toggle span:first-child{font-size:1rem}.theme-control select{width:76px}.account #logout-button{width:36px;min-width:36px;padding:.48rem 0;font-size:0}.account #logout-button::after{content:'↪';font-size:1.05rem}}
@media(max-width:520px){.table-wrap.mobile-cards{overflow:visible}.data-panel .table-wrap table{min-width:560px}.contact-table thead{display:none}.contact-table,.contact-table tbody,.contact-table tr,.contact-table td{display:block;width:100%}.contact-table tr{padding:13px;border-bottom:1px solid var(--border)}.contact-table td{border:0;padding:5px 0}.contact-table td:last-child{padding-top:10px}.contact-table .row-actions button{flex:1}.contact-table td:nth-child(2)::before{content:'Company: ';color:var(--muted)}.contact-table td:nth-child(3)::before{content:'Groups: ';color:var(--muted)}.contact-table td:nth-child(4)::before{content:'Tags: ';color:var(--muted)}}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--page:#0c1117;--sidebar:#121a23;--surface:#151f2a;--surface-soft:#1a2633;--border:#283746;--text:#eef4f7;--muted:#9fb0be;--accent:#35c4b5;--accent-hover:color-mix(in srgb,#35c4b5 88%,#eef4f7);--accent-soft:color-mix(in srgb,#35c4b5 15%,transparent);--success:#57cf8a;--success-bg:color-mix(in srgb,#57cf8a 16%,transparent);--warning:#e9b95b;--warning-bg:color-mix(in srgb,#e9b95b 16%,transparent);--danger:#ef7070;--danger-bg:color-mix(in srgb,#ef7070 16%,transparent);--info:#5f9ef7;--info-bg:color-mix(in srgb,#5f9ef7 16%,transparent);--focus:#5f9ef7;--shadow:0 12px 30px rgba(0,0,0,.18);--overlay:rgba(0,0,0,.58);--on-accent:#0c1117;--on-success:#0c1117;--on-danger:#0c1117;--bg:var(--page);--card:var(--surface-soft);--primary:var(--accent);--primary-soft:var(--accent-soft)}
@media(prefers-color-scheme:dark){:root[data-theme="system"]{color-scheme:dark;--page:#0c1117;--sidebar:#121a23;--surface:#151f2a;--surface-soft:#1a2633;--border:#283746;--text:#eef4f7;--muted:#9fb0be;--accent:#35c4b5;--accent-hover:color-mix(in srgb,#35c4b5 88%,#eef4f7);--accent-soft:color-mix(in srgb,#35c4b5 15%,transparent);--success:#57cf8a;--success-bg:color-mix(in srgb,#57cf8a 16%,transparent);--warning:#e9b95b;--warning-bg:color-mix(in srgb,#e9b95b 16%,transparent);--danger:#ef7070;--danger-bg:color-mix(in srgb,#ef7070 16%,transparent);--info:#5f9ef7;--info-bg:color-mix(in srgb,#5f9ef7 16%,transparent);--focus:#5f9ef7;--shadow:0 12px 30px rgba(0,0,0,.18);--overlay:rgba(0,0,0,.58);--on-accent:#0c1117;--on-success:#0c1117;--on-danger:#0c1117;--bg:var(--page);--card:var(--surface-soft);--primary:var(--accent);--primary-soft:var(--accent-soft)}}

/* Keep board and calendar task titles readable at narrow widths. */
.task,.task-open{min-width:0}.task-open{white-space:normal}.task-title{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
@media(max-width:760px){.task-open,.task-title{width:100%;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}.calendar-task{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}}
@media(max-width:760px){.project-file-row .project-file-url{grid-column:1/-1;grid-row:1}.project-file-row .project-file-label{grid-column:1;grid-row:2}.project-file-view{grid-template-columns:1fr}.project-file-view button{width:100%}}
@media(max-width:760px){.settings-panel{max-width:none}.settings-panel-head,.settings-panel form,.settings-account-actions{padding:16px}.settings-account-actions{grid-template-columns:1fr}.settings-actions .primary{width:100%}.company-contact-heading,.company-contact-row{align-items:stretch;flex-direction:column}.company-contact-heading .row-actions,.company-contact-row .row-actions{white-space:normal}.company-contact-heading button,.company-contact-row button{flex:1}}

/* Project milestones */
.milestones-panel{margin:0 0 16px;padding:0;overflow:hidden}.milestones-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.milestones-head h2{margin:0;font-size:1.05rem}.milestones-head .muted{font-size:.78rem}.milestone-track{display:flex;gap:10px;overflow-x:auto;padding:12px 14px}.milestone-card{display:grid;grid-template-columns:28px minmax(190px,1fr);gap:9px;align-items:start;min-width:250px;max-width:330px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-align:left}.milestone-card:hover{border-color:var(--accent)}.milestone-marker{display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--border);border-radius:50%;font-weight:750}.milestone-card-body{min-width:0}.milestone-card strong,.milestone-card small,.milestone-card em{display:block}.milestone-card strong{overflow-wrap:anywhere}.milestone-card small{margin-top:3px;color:var(--muted);font-size:.73rem}.milestone-card em{margin-top:5px;color:var(--accent);font-size:.72rem;font-style:normal;font-weight:650}.milestone-progress{display:block;height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--primary-soft)}.milestone-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.milestone-card.state-reached .milestone-marker{border-color:var(--success);background:var(--success);color:#fff}.milestone-card.state-reached .milestone-progress i{background:var(--success)}.milestone-card.state-at_risk{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.milestone-card.state-at_risk .milestone-marker{border-color:var(--danger);color:var(--danger)}.milestone-card.state-cancelled{opacity:.6}.milestone-empty{padding:8px;color:var(--muted)}.milestone-dialog{width:min(820px,100%)}dialog:has(.milestone-dialog){width:min(840px,calc(100% - 28px))}.milestone-task-picker{margin-top:16px;border:1px solid var(--border);border-radius:11px;overflow:hidden}.milestone-task-picker>summary{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;cursor:pointer}.milestone-task-picker>summary span{color:var(--muted);font-size:.78rem}.milestone-task-options{display:grid;gap:7px;padding:0 12px 12px}.milestone-task-option{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:9px;align-items:center}.milestone-task-option .check{min-width:0}.milestone-task-option .check span{overflow-wrap:anywhere}.milestone-approval-history{margin-top:18px}.milestone-approval-history h3{margin-bottom:8px}.milestone-approval-row{padding:10px 0;border-top:1px solid var(--border)}.milestone-approval-row strong,.milestone-approval-row span{display:block}.milestone-approval-row span{margin-top:3px;color:var(--muted);font-size:.76rem}.milestone-approval-row p{margin:7px 0}.milestone-approval-row a{font-size:.8rem}
@media(max-width:760px){.milestones-head{align-items:flex-start}.milestone-track{display:grid;overflow:visible}.milestone-card{grid-template-columns:28px minmax(0,1fr);min-width:0;max-width:none;width:100%}.milestone-task-option{grid-template-columns:1fr}.milestone-dialog .modal-actions .danger-button{margin-right:auto}}

/* Project directory and Work Areas */
.sidebar-projects{display:grid;gap:4px}.sidebar-projects-head{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center}.sidebar-projects-head>a{min-width:0}.sidebar-projects-head>button{display:grid;place-items:center;min-width:0;padding:8px;border:0;background:transparent;color:var(--muted)}.sidebar-projects-head>button:hover{border:0;background:var(--primary-soft);color:var(--text)}.sidebar-projects-subnav{display:grid;gap:3px;margin:0 0 5px 13px;padding-left:8px;border-left:1px solid var(--border)}.sidebar-projects-subnav>a{display:flex;align-items:center;gap:8px;padding:8px 9px;font-size:.82rem;line-height:1.25}.sidebar-section-label{padding:10px 9px 3px;color:var(--muted);font-size:.67rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.work-area-dot{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:3px;background:var(--work-area-colour,var(--muted))}.all-projects-dot{border-radius:50%;background:var(--muted)}.new-work-area{border:0;background:transparent;color:var(--accent);padding:8px 9px;text-align:left;font-size:.82rem}.new-work-area:hover{border:0;background:var(--primary-soft)}
.project-directory-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px}.directory-view-switch{display:flex;gap:5px}.directory-result-count{margin-left:auto;color:var(--muted);font-size:.8rem}.active-filter-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-3px 0 14px}.active-filter-chip,.work-area-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--primary-soft);color:var(--text);font-size:.73rem}.active-filter-chip{padding:6px 9px}.work-area-badge{max-width:100%;padding:5px 8px}.active-filter-list>button{padding:5px 8px;border:0;background:transparent;color:var(--muted);font-size:.75rem}.project-card>.work-area-badge{margin:2px 0 9px}.project-card-stats{display:flex;gap:6px;flex-wrap:wrap;margin:-3px 0 11px}.project-card-stats>span{padding:4px 6px;border-radius:6px;background:color-mix(in srgb,var(--primary-soft) 60%,var(--surface));color:var(--muted);font-size:.7rem}.project-directory-empty{display:grid;gap:6px;grid-column:1/-1}.project-directory-list{overflow:hidden}.project-directory-list table{min-width:760px}.project-directory-list td{vertical-align:middle}.project-directory-title{color:var(--text);font-weight:700;text-decoration:none}.project-directory-title:hover{color:var(--accent)}
.filter-overlay{position:fixed;z-index:60;inset:0;border:0;border-radius:0;background:rgba(31,37,35,.33);opacity:0;pointer-events:none;transition:opacity .18s}.filter-overlay.show{opacity:1;pointer-events:auto}.project-filter-panel{position:fixed;z-index:65;top:74px;right:18px;width:min(350px,calc(100vw - 36px));max-height:calc(100dvh - 92px);overflow:auto;padding:18px;border:1px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:0 18px 55px rgba(31,37,35,.23);transform:translateX(calc(100% + 32px));visibility:hidden;transition:transform .2s,visibility 0s linear .2s}.project-filter-panel.show{transform:none;visibility:visible;transition:transform .2s}.project-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.project-filter-head h2{font-size:1.1rem}.project-filter-head .icon-button{font-size:1.25rem}.project-filter-panel .field{margin:0 0 14px}.project-filter-panel .field select{width:100%}.project-unassigned-filter{justify-content:space-between;margin:6px 0 14px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.context-filter-note{margin-bottom:14px;padding:10px 12px;border-radius:8px;background:var(--primary-soft);font-size:.82rem}.project-filter-actions{display:flex;gap:8px;margin-top:17px}.project-filter-actions button{flex:1}
@media(max-width:760px){.sidebar-projects-head{grid-template-columns:minmax(0,1fr) 42px}.sidebar-projects-subnav{margin-left:18px}.sidebar-projects-subnav>a,.new-work-area{padding-block:10px;font-size:.88rem}.project-directory-toolbar{align-items:stretch}.directory-view-switch{flex:1}.directory-view-switch button{flex:1}.directory-result-count{width:100%;margin-left:0}.project-card-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.project-filter-panel{top:68px;right:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 78px)}.project-directory-list .table-wrap{overflow-x:auto}}

.project-card,.calendar-day{background:var(--card)}
.healthy,.import-new{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}
.import-update{background:color-mix(in srgb,var(--warning) 13%,var(--surface));color:var(--warning)}
.import-invalid{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
dialog{background:var(--surface);color:var(--text);box-shadow:0 18px 60px rgba(38,63,58,.22)}
dialog::backdrop{background:rgba(38,63,58,.55)}
.department-panel{margin-top:16px;padding:0}.department-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.department-row:last-child{border:0}.department-row.archived{opacity:.58}.archive-dialog h3{margin:18px 0 8px}.archive-dialog .department-row{padding-inline:0}.danger-button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}
.dashboard-head{margin-bottom:20px}.dashboard-head h1{font-size:2rem;margin:5px 0}.dashboard-quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.dashboard-summary>div{display:flex;align-items:baseline;gap:10px;padding:15px 17px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.dashboard-summary strong{font-size:1.55rem}.dashboard-summary span{color:var(--muted);font-size:.82rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.dashboard-panel{min-height:360px}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 12px}.dashboard-panel-head h2{font-size:1.13rem}.dashboard-panel-head a,.dashboard-more{color:var(--muted);font-size:.82rem}.dashboard-panel-head button{padding:.45rem .65rem;font-size:.8rem}.dashboard-tabs{display:flex;gap:18px;padding:0 20px;border-bottom:1px solid var(--border)}.dashboard-tabs button{border:0;border-radius:0;padding:8px 0;background:transparent;color:var(--muted)}.dashboard-tabs button:hover{border:0}.dashboard-tabs button.active{color:var(--text);border-bottom:2px solid var(--accent)}.dashboard-list{display:grid}.dashboard-task-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:11px 18px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;text-align:left}.dashboard-task-row:hover{border-color:var(--border);background:var(--primary-soft)}.dashboard-task-row strong,.dashboard-task-row small{display:block}.dashboard-task-row strong{font-size:.88rem}.dashboard-task-row small{margin-top:2px;color:var(--muted);font-size:.73rem}.dashboard-task-row time{font-size:.76rem;color:var(--muted)}.dashboard-check{color:var(--accent);font-size:1.05rem}.dashboard-projects{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;padding:4px 18px 12px}.dashboard-project{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:9px;color:var(--text);text-decoration:none}.dashboard-project:hover{background:var(--primary-soft)}.dashboard-project strong,.dashboard-project small{display:block}.dashboard-project strong{font-size:.87rem}.dashboard-project small{margin-top:3px;color:var(--muted);font-size:.72rem}.project-glyph,.person-avatar{display:grid;place-items:center;border-radius:10px;background:var(--accent);color:#fff;font-weight:700}.project-glyph{width:38px;height:38px}.glyph-1{background:#7b628f}.glyph-2{background:#a15d53}.glyph-3{background:#53738d}.dashboard-more{display:inline-block;margin:4px 20px 18px}.people-workload{padding:0 18px 12px}.person-workload{display:grid;grid-template-columns:34px minmax(120px,1fr) repeat(3,auto);gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.person-workload:last-child{border:0}.person-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.72rem}.workload-count{padding:4px 7px;border-radius:6px;background:var(--primary-soft);color:var(--muted);font-size:.7rem}.workload-count.late{background:color-mix(in srgb,var(--danger) 11%,var(--surface));color:var(--danger)}.workload-count.done{background:color-mix(in srgb,var(--success) 11%,var(--surface));color:var(--success)}
.dashboard-task-row time.text-danger{color:var(--danger)}
@media(max-width:980px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-panel{min-height:0}}
@media(max-width:620px){.dashboard-summary{grid-template-columns:1fr 1fr}.dashboard-summary>div{display:block}.dashboard-summary span{display:block;margin-top:3px}.dashboard-projects{grid-template-columns:1fr}.person-workload{grid-template-columns:34px minmax(0,1fr);}.workload-count{grid-column:auto}.person-workload .workload-count:first-of-type{grid-column:2}}

/* Project Templates */
.template-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.template-search{display:flex;align-items:end;gap:10px;margin-bottom:14px;padding:14px}.template-search label{display:grid;gap:5px;flex:1;color:var(--muted);font-size:.78rem}.template-search input{width:100%}.template-card{display:flex;flex-direction:column}.template-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.template-card-actions button{padding:.48rem .62rem;font-size:.76rem}.project-start-options,.template-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.project-start-options>button,.template-choice{display:grid;gap:7px;min-height:120px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);text-align:left}.project-start-options>button:hover,.template-choice:hover{border-color:var(--accent)}.project-start-options strong,.template-choice strong{font-size:1rem}.project-start-options span,.template-choice span,.template-choice small{color:var(--muted)}.template-banner{display:inline-block;padding:7px 10px;border-radius:7px;background:color-mix(in srgb,var(--warning) 14%,var(--surface));color:var(--warning);font-size:.76rem;font-weight:750;letter-spacing:.03em}.template-preview{margin:14px 0;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.template-preview>p{margin:12px 0}.template-preview-counts{display:flex;gap:7px;flex-wrap:wrap}.template-preview-counts span{padding:5px 8px;border-radius:999px;background:var(--primary-soft);font-size:.74rem}.template-preview details{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.template-preview summary{cursor:pointer;font-weight:700}.template-preview ol{display:grid;gap:9px;padding-left:22px}.template-preview li strong,.template-preview li span,.template-preview li small{display:block}.template-preview li span,.template-preview li small{color:var(--muted);font-size:.77rem}.template-calendar-note{margin:13px 0;padding:11px 13px;border-radius:9px;background:var(--primary-soft);color:var(--muted);font-size:.82rem}.template-option-list{display:grid;gap:7px}.template-editor{width:min(980px,100%)}dialog:has(.template-editor){width:min(1020px,calc(100% - 28px));max-height:calc(100dvh - 28px)}.template-editor-section{margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:12px}.template-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:11px}.template-editor-head h3{margin:0}.template-editor-head span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem}.template-editor-row{margin:10px 0;border:1px solid var(--border);border-radius:10px;background:var(--card);overflow:hidden}.template-editor-row>summary{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer}.template-editor-row>summary span{color:var(--muted);font-size:.78rem}.template-editor-row>.form-grid,.template-nested,.template-task-links{padding:12px 14px;border-top:1px solid var(--border)}.template-row-actions{display:flex;justify-content:flex-end;gap:6px;padding:0 14px 10px}.template-row-actions button,.template-mini-row button{padding:.38rem .55rem}.template-mini-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) repeat(3,38px);gap:7px;align-items:center;margin:7px 0}.template-mini-row:not(.template-link-editor)>input:only-of-type{grid-column:1/3}.template-subtask-editor{margin:8px 0;padding:9px;border:1px solid var(--border);border-radius:9px}.template-subtask-editor .form-grid{margin-top:8px}.template-task-links{display:grid;gap:7px}.template-task-links .check{justify-content:flex-start}.template-task-links select{margin-left:auto}.template-nested h3{margin:0 0 9px}.template-nested .subtask-section-head{margin:0}.template-link-editor{grid-template-columns:minmax(130px,.7fr) minmax(180px,1.3fr) repeat(3,38px)}
@media(max-width:760px){.template-directory,.project-start-options,.template-choice-grid{grid-template-columns:1fr}.template-search{align-items:stretch;flex-direction:column}.template-search button{width:100%}.template-editor-head{align-items:stretch;flex-direction:column}.template-mini-row,.template-link-editor{grid-template-columns:minmax(0,1fr) repeat(3,38px)}.template-mini-row input:first-child{grid-column:1/-1}.template-mini-row input:nth-child(2),.template-mini-row select{grid-column:1/-1}.template-row-actions{justify-content:flex-start}.template-card-actions button{flex:1}.template-task-links .check{align-items:flex-start;flex-wrap:wrap}.template-task-links select{width:100%;margin:4px 0 0 24px}}

/* Shared ordering controls for template collections, including nested lists. */
.template-mini-row{grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) repeat(4,38px)}
.template-link-editor{grid-template-columns:minmax(130px,.7fr) minmax(180px,1.3fr) repeat(4,38px)}
.template-drag-handle{cursor:grab;touch-action:none;font-size:1rem;line-height:1}
.template-drag-handle:active{cursor:grabbing}
.template-sort-dragging{opacity:.55;outline:2px dashed var(--accent);outline-offset:2px}
[data-template-sortable-list]{min-height:10px}
@media(max-width:760px){.template-mini-row,.template-link-editor{grid-template-columns:minmax(0,1fr) repeat(4,38px)}}

/* Structured task and subtask workspace */
.task-calendar-options,.task-meeting{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.task-calendar-options>summary,.task-meeting>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.task-calendar-options>summary::-webkit-details-marker,.task-meeting>summary::-webkit-details-marker{display:none}.task-calendar-options>summary span:first-child,.task-meeting>summary span:first-child{display:grid;gap:4px}.task-calendar-options>summary small,.task-meeting>summary small{color:var(--muted);font-weight:400}.task-calendar-options>summary span:last-child,.task-meeting>summary span:last-child{font-size:0}.task-calendar-options>summary span:last-child::after,.task-meeting>summary span:last-child::after{content:'Open';font-size:1rem}.task-calendar-options[open]>summary span:last-child::after,.task-meeting[open]>summary span:last-child::after{content:'Close'}.calendar-option-fields,.meeting-fields{padding:0 18px 18px}.meeting-links{display:flex;flex-wrap:wrap;gap:10px}
.task-subtasks{padding-top:16px}.subtask-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.subtask-section-head h3{margin:0}.subtask-section-head>div{display:flex;align-items:baseline;gap:9px}.subtask-edit-row{overflow:hidden;border-radius:11px}.subtask-edit-row[open]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 6px 18px rgba(38,63,58,.08)}.subtask-edit-row.completed .subtask-summary-title{text-decoration:line-through;text-decoration-thickness:1px;color:var(--muted)}.subtask-summary{display:grid;grid-template-columns:28px minmax(220px,1fr) minmax(130px,auto) auto;gap:10px;align-items:center;margin:0;padding:12px 14px;cursor:pointer;list-style:none}.subtask-summary::-webkit-details-marker{display:none}.subtask-complete-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--border);border-radius:50%;color:var(--success);font-weight:700}.subtask-summary-title{font-weight:650;line-height:1.35;overflow-wrap:anywhere}.subtask-summary-meta{display:flex;gap:12px;color:var(--muted);font-size:.78rem}.subtask-summary-meta time{white-space:nowrap}.subtask-open-label{color:var(--accent);font-size:.78rem;font-weight:650}.subtask-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border-top:1px solid var(--border);background:var(--surface)}.subtask-detail-grid .full{grid-column:1/-1}.subtask-detail-grid .check input{width:auto}.subtask-detail-grid .remove-subtask{justify-self:start}.subtask-empty{padding:17px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center}
.project-list-panel{overflow:hidden}.project-list-head,.project-task-row>summary{display:grid;grid-template-columns:minmax(280px,1fr) 170px 165px 90px;gap:10px;align-items:center}.project-list-head{padding:10px 16px;color:var(--muted);font-size:.76rem;border-bottom:1px solid var(--border)}.project-list-head span:first-child{padding-left:34px}.project-list-group>h2{margin:0;padding:13px 16px 8px;font-size:.95rem;background:var(--bg);border-bottom:1px solid var(--border)}.project-list-group>h2 span{margin-left:5px;color:var(--muted);font-size:.75rem}.project-task-row{border-bottom:1px solid var(--border)}.project-task-row>summary{grid-template-columns:24px minmax(246px,1fr) 170px 165px 90px;padding:0 16px;list-style:none}.project-task-row>summary::-webkit-details-marker{display:none}.task-row-toggle{font-size:1.35rem;color:var(--muted);transition:transform .15s}.project-task-row[open] .task-row-toggle{transform:rotate(90deg)}.task-row-title{padding:12px 0;border:0;background:transparent;text-align:left;color:var(--text);font-weight:650;overflow-wrap:anywhere}.task-row-title:hover{border:0;color:var(--accent)}.task-row-assignee,.project-task-row time{color:var(--muted);font-size:.8rem}.project-subtask-list{background:color-mix(in srgb,var(--primary-soft) 45%,var(--surface))}.project-subtask-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;padding:0 16px 0 48px;border-top:1px solid var(--border)}.project-subtask-row>input{width:auto}.project-subtask-row>button{display:grid;width:100%;grid-template-columns:minmax(242px,1fr) 170px 165px;gap:10px;padding:10px 0;border:0;border-radius:0;background:transparent;text-align:left;color:var(--text)}.project-subtask-row:hover{background:var(--primary-soft)}.project-subtask-row.completed>button>span:first-child{text-decoration:line-through;color:var(--muted)}.project-subtask-row>button>span:first-child{overflow-wrap:anywhere}.project-subtask-row>button>span:nth-child(2),.project-subtask-row time{color:var(--muted);font-size:.78rem}
@media(min-width:900px){dialog:has(#task-form){width:min(920px,calc(100% - 42px));margin-right:18px;max-height:calc(100dvh - 36px)}}
@media(max-width:760px){.subtask-summary{grid-template-columns:28px minmax(0,1fr) auto}.subtask-summary-meta{grid-column:2/4;display:grid;grid-template-columns:1fr auto}.subtask-open-label{grid-column:3;grid-row:1}.subtask-detail-grid{grid-template-columns:1fr}.subtask-detail-grid .full{grid-column:auto}.subtask-section-head{align-items:flex-start}.subtask-section-head>div{display:block}.subtask-section-head button{white-space:nowrap}.project-list-head{display:none}.project-list-panel{background:transparent;border:0}.project-list-group{margin-bottom:14px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.project-task-row>summary{grid-template-columns:22px minmax(0,1fr) auto;padding:0 12px}.project-task-row>summary .task-row-assignee{grid-column:2}.project-task-row>summary time{grid-column:2}.project-task-row>summary .badge{grid-column:3;grid-row:1}.project-subtask-row{grid-template-columns:26px minmax(0,1fr);padding:0 12px 0 28px}.project-subtask-row>button{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}.project-subtask-row>button>span:nth-child(2){grid-column:1}.project-subtask-row time{grid-column:2;grid-row:1}.project-task-row>summary{gap:5px 8px}}

/* Theme colour mapping for existing Northstar components. */
.metric,.panel,.company-card,.task,.project-card{box-shadow:var(--shadow)}
.healthy,.import-new{background:var(--success-bg);color:var(--success)}
.import-update{background:var(--warning-bg);color:var(--warning)}
.import-invalid{background:var(--danger-bg);color:var(--danger)}
.badge.success{background:var(--success-bg);color:var(--success)}
.badge.warning{background:var(--warning-bg);color:var(--warning)}
.badge.danger{background:var(--danger-bg);color:var(--danger)}
.badge.info{background:var(--info-bg);color:var(--info)}
.priority-badge{font-weight:700;text-transform:capitalize;border:1px solid transparent}.priority-badge.priority-low{background:color-mix(in srgb,var(--muted) 12%,var(--surface));color:var(--muted);border-color:color-mix(in srgb,var(--muted) 30%,transparent)}.priority-badge.priority-normal{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 28%,transparent)}.priority-badge.priority-high{background:var(--warning-bg);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.priority-badge.priority-urgent{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 34%,transparent);box-shadow:inset 3px 0 0 var(--danger)}
.toast,.brand-mark{color:var(--on-accent)}
.remove-custom-field.confirming{color:var(--on-danger)}
.milestone-card.state-reached .milestone-marker{color:var(--on-success)}
dialog,.project-filter-panel,.subtask-edit-row[open]{box-shadow:var(--shadow)}
dialog::backdrop,.nav-backdrop:not([hidden]),.filter-overlay{background:var(--overlay)}
@media(max-width:760px){.sidebar{background:var(--sidebar);box-shadow:var(--shadow)}}

/* MailerLite Week 3 read-only reconciliation preview. */
.mailerlite-card{margin-bottom:18px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.mailerlite-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mailerlite-head h3{margin:0 0 5px}.mailerlite-head p{margin:0;max-width:720px}
.integration-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.integration-status-grid>div{padding:10px;border-radius:9px;background:var(--surface)}.integration-status-grid dt{color:var(--muted);font-size:.72rem}.integration-status-grid dd{margin:4px 0 0;font-size:.82rem;overflow-wrap:anywhere}
.feature-flag-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0;padding:0;list-style:none}.feature-flag-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;text-transform:capitalize;font-size:.78rem}
.mailerlite-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.integration-error{padding:10px 12px;border-radius:8px;background:var(--danger-bg);color:var(--danger)}
.mailerlite-preview{margin-top:18px}.reconciliation-warning{padding:12px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-radius:9px;background:var(--warning-bg);color:var(--warning)}
.pilot-review-warning{margin-top:10px}
.reconciliation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.reconciliation-metrics>div{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.reconciliation-metrics span{font-size:.72rem;color:var(--muted)}.reconciliation-metrics strong{font-size:1.15rem}
.reconciliation-section{margin-top:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.reconciliation-section>summary{cursor:pointer;padding:11px 12px;font-weight:650}.reconciliation-section .table-wrap,.reconciliation-section>p{margin:0 12px 12px}.reconciliation-section td{max-width:300px;overflow-wrap:anywhere}
@media(max-width:760px){.mailerlite-head{display:grid}.integration-status-grid,.feature-flag-list,.reconciliation-metrics{grid-template-columns:1fr}.mailerlite-actions button{flex:1 1 100%}}

/* MailerLite Week 7 dashboard, filters and safe conflict review. */
.mailerlite-dashboard{margin-top:18px}.mailerlite-dashboard-head,.mailerlite-conflict-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.mailerlite-dashboard-head h3,.mailerlite-conflict-head h3{margin:0 0 4px}.mailerlite-dashboard-head p,.mailerlite-conflict-head p{margin:0}.mailerlite-dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.mailerlite-dashboard-filters,.mailerlite-bulk-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.mailerlite-dashboard-filters .field,.mailerlite-bulk-controls .field{min-width:190px;margin:0}.mailerlite-dashboard-filters>.muted{padding-bottom:9px}.mailerlite-dashboard-filters .error,.mailerlite-bulk-controls .error{flex-basis:100%}.mailerlite-bulk-controls .field-help{margin:0 0 9px}
.mailerlite-contact-table{max-height:440px;overflow:auto}.mailerlite-contact-table table{min-width:920px}.mailerlite-contact-table input[type=checkbox]{width:auto}.mailerlite-contact-table .badge+.badge{margin-left:4px}
.mailerlite-conflict-head{margin-top:22px}.conflict-list{display:grid;gap:9px}.conflict-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.conflict-card p{margin:8px 0}.conflict-card>div:last-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.conflict-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:var(--muted);font-size:.78rem}.conflict-pair span{padding:7px;border-radius:7px;background:var(--card);overflow-wrap:anywhere}
.conflict-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.conflict-values>div{padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.conflict-values dt{color:var(--muted);font-size:.75rem}.conflict-values dd{margin:5px 0;font-weight:650;overflow-wrap:anywhere}.conflict-values small{color:var(--muted)}.conflict-audit{display:grid;gap:7px;padding-left:20px}.mailerlite-conflict-dialog{width:min(760px,100%)}
@media(max-width:760px){.mailerlite-dashboard-head,.mailerlite-conflict-head,.conflict-card{display:grid}.mailerlite-dashboard-metrics,.conflict-values,.conflict-pair{grid-template-columns:1fr}.mailerlite-dashboard-filters,.mailerlite-bulk-controls{align-items:stretch;display:grid}.mailerlite-dashboard-filters .field,.mailerlite-bulk-controls .field{min-width:0}.mailerlite-dashboard-filters button,.mailerlite-bulk-controls button,.mailerlite-conflict-head button{width:100%}}
