:root {
 --green:#0967c9; --ink:#182d49; --muted:#65778e; --bg:#f3f6fa; --line:#dce4ee; --lime:#dceeff;
 --surface:#fff; --surface-soft:#f6f9fd; --accent-soft:#e7f2ff; --accent-ink:#075bad; --accent-hover:#0557af;
 --avatar-bg:#e0edfc; --field:#f8fafd; --status-green-bg:#eaf3e7;
}
html[data-theme="dark"] {
 --green:#297cda; --ink:#e3edf9; --muted:#a0b1c8; --bg:#0c1524; --line:#2a3a50; --lime:#193d65;
 --surface:#131f31; --surface-soft:#18263b; --accent-soft:#173451; --accent-ink:#83c7ff; --accent-hover:#368bed;
 --avatar-bg:#203e60; --field:#102035; --status-green-bg:#1c392d;
}
body{color:var(--ink);background:var(--bg)}
.brand .brand-icon{width:43px;height:43px;object-fit:contain;flex-shrink:0;display:block}
.brand{color:var(--ink)}
.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.button.secondary,.sidebar,.topbar,.panel,.metric,.person-card,.login-card,dialog,.chain span,.week-navigation{background:var(--surface);color:var(--ink);border-color:var(--line)}
.sidebar nav button{color:var(--muted)}
.sidebar nav button.active{background:var(--accent-soft);color:var(--accent-ink)}
.sidebar nav b,.cop-open{background:var(--avatar-bg);color:var(--accent-ink)}
.sidebar-note{background:var(--surface-soft);border-color:var(--line)}
.avatar,.top-avatar{background:var(--avatar-bg);color:var(--accent-ink)}
.sync,.text-button,.brand-dot,.hero em{color:var(--accent-ink)}
.live-dot,.progress-track i{background:var(--green)}
.progress-track{background:var(--line)}
.metric.featured,.cop-person.selected{background:var(--accent-soft);border-color:var(--line)}
.metric-label,.eyebrow,.workspace-label,.page-heading p,.profile small,.person-card p,.progress-body p,.weekly-period,.cop-caption{color:var(--muted)}
.panel-head,.tabs,.profile,.activity-item,td,.topbar,.app-footer{border-color:var(--line)}
th{background:var(--surface-soft);color:var(--muted)}
td small,.activity-item small,.cop-person-info small,.week-navigation .week-picker{color:var(--muted)}
input,select,textarea,.toolbar input,.toolbar select{background:var(--field);color:var(--ink);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.9}
.detail-grid div,.cop-person{background:var(--surface-soft);border-color:var(--line)}
.description,.detail-grid small,.login-card p,.login-card small,label{color:var(--muted)}
.cop-person:hover,.week-arrow:hover,.week-today:hover{background:var(--accent-soft);border-color:var(--green)}
.cop-person.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.cop-person.selected .avatar{background:var(--green);color:white}
.week-today,.cop-card #cop-title span,.routine-days legend,.routine-members legend{color:var(--muted)}
.routine-days,.routine-members{border-color:var(--line)}
.tree-item{border-color:var(--line)}
.login-page{background:radial-gradient(ellipse at 30% 10%,var(--accent-soft),var(--bg) 65%)}
.theme-control{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:var(--muted);white-space:nowrap}
.theme-control select{width:auto;padding:6px 24px 6px 9px;margin:0;font-size:11px;border-radius:6px;background:var(--surface)}
.theme-control-floating{position:fixed;top:20px;right:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px 9px;z-index:5}
html[data-theme="dark"] .completion-result,html[data-theme="dark"] .week-slot.ontime{background:#17372b;border-color:#2f5a43;color:#a4d9ad}
html[data-theme="dark"] .completion-result .description{color:#b7d4bf}
html[data-theme="dark"] .badge{background:#29354a;color:#bac8d8}
html[data-theme="dark"] .badge.completed{background:#1c3b2b;color:#a4d9ad}
html[data-theme="dark"] .badge.doing{background:#243753;color:#afc7ef}
html[data-theme="dark"] .badge.received,html[data-theme="dark"] .week-slot.delayed{background:#44381f;color:#ecd08b}
html[data-theme="dark"] .badge.blocked,html[data-theme="dark"] .badge.overdue,html[data-theme="dark"] .week-slot.missed,html[data-theme="dark"] .error,html[data-theme="dark"] #notice{background:#452932;border-color:#75414b;color:#ffc1bc}
html[data-theme="dark"] .new-task-title,html[data-theme="dark"] .new-task-title:hover,html[data-theme="dark"] .new-task-title small{color:#ff9ea9}
html[data-theme="dark"] .badge.new-task-badge,html[data-theme="dark"] .sidebar nav b.new-task-count{background:#452532;border-color:#7e4353;color:#ffb1bc}
html[data-theme="dark"] .week-slot{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .week-slot.planned{background:var(--surface-soft);color:var(--muted)}
html[data-theme="dark"] .week-arrow img{filter:brightness(0) invert(.85)}
html[data-theme="dark"] .metric.warning strong{color:#e5b67e}
@media(max-width:740px){.topbar{height:auto;min-height:60px;gap:10px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.topbar>div{gap:10px}.theme-control>span{display:none}.public-nav{gap:12px;flex-wrap:wrap}.brand .brand-icon{width:38px;height:38px}}
.team-hint{color:var(--muted);font-size:12px;margin:0 0 16px}
.supervisor-card{text-align:left;width:100%;transition:border-color .18s,background .18s}
.supervisor-card:hover{border-color:var(--green);background:var(--surface-soft)}
.supervisor-card.team-selected{border-color:var(--green);background:var(--accent-soft)}
.team-card-action{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:14px;margin-top:18px;font-size:12px;color:var(--accent-ink)}
.team-card-action>span{margin-left:auto;font-size:11px;color:var(--muted)}
.team-card-action svg{transition:transform .3s}
.team-selected .team-card-action svg{transform:rotate(180deg)}
.team-drawer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .25s ease;margin-top:18px}
.team-drawer.is-open{grid-template-rows:1fr;opacity:1}
.team-drawer-clip{min-height:0;overflow:hidden}
.team-drawer-panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.team-drawer-panel.is-revealing{animation:team-curtain .35s ease both}
@keyframes team-curtain{from{clip-path:inset(0 0 100% 0);opacity:0}to{clip-path:inset(0);opacity:1}}
.team-drawer-panel .panel-head{background:var(--surface-soft)}
.team-members-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}
.team-members-track .person-card{min-width:0;height:100%;margin:0;overflow-wrap:anywhere}
@media(max-width:900px){.team-members-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.team-members-track{grid-template-columns:minmax(0,1fr);padding:14px}}
@media(prefers-reduced-motion:reduce){.team-drawer,.team-card-action svg,.supervisor-card{transition:none}.team-drawer-panel.is-revealing{animation:none}}
.person-card{display:flex;flex-direction:column}
.person-main{display:block;padding:0;text-align:left;width:100%;color:inherit}
.person-add{margin-top:auto;align-self:stretch;font-size:12px;padding:9px 10px}
.person-main+.person-add{margin-top:18px}
.person-manager-context{padding:13px 15px;border:1px solid var(--line);background:var(--accent-soft);border-radius:7px;color:var(--ink);font-size:13px}
.person-card[draggable="true"]{cursor:grab}
.person-card[draggable="true"]:active{cursor:grabbing}
.person-card.is-dragging{opacity:.45}
.person-card.is-drop-target{outline:2px solid var(--green);outline-offset:3px;background:var(--accent-soft)}
.person-card.is-drop-invalid{outline:2px dashed #c66572;outline-offset:3px}
.activity-group summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:18px 22px;list-style:none;background:var(--surface-soft);font-size:13px}
.activity-group summary::-webkit-details-marker{display:none}
.activity-group summary:hover{background:var(--accent-soft)}
.activity-group summary strong{overflow-wrap:anywhere}
.activity-group-count{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.activity-group summary svg{flex-shrink:0;transition:transform .2s;color:var(--accent-ink)}
.activity-group[open] summary svg{transform:rotate(180deg)}
.activity-group-content{border-top:1px solid var(--line)}
.activity-group-content .activity-item{padding-left:24px}
.activity-group-content .activity-item:before{display:none}
@media(prefers-reduced-motion:reduce){.activity-group summary svg{transition:none}}
.task-status{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;vertical-align:middle}
.badge.pending{color:#a51f2e;background:#fff0f1;border:1px solid #f2c6cb}
html[data-theme="dark"] .badge.pending{color:#ffb1bc;background:#452532;border-color:#7e4353}
.deadline-countdown{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.deadline-countdown.deadline-expired{color:#b42332}
html[data-theme="dark"] .deadline-countdown.deadline-expired{color:#ff9ea9}
.flow-manager-label{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:2px}
.flow-manager-content{padding:6px 18px 14px;border-top:1px solid var(--line)}
.flow-manager-content>.tree-item{margin-left:0}
.metric.overdue-metric{display:block;width:100%;text-align:left;background:#fff0f1;border-color:#ecc3c8;color:#a51f2e;cursor:pointer;transition:background .18s,border-color .18s}
.metric.overdue-metric .metric-label,.metric.overdue-metric strong,.metric.overdue-metric small{color:inherit}
.metric.overdue-metric:hover{background:#ffe4e7;border-color:#c54c60}
html[data-theme="dark"] .metric.overdue-metric{background:#3b202d;border-color:#793b4d;color:#ffb1bc}
html[data-theme="dark"] .metric.overdue-metric:hover{background:#4c2737;border-color:#b96079}
.metric.completed-metric{display:block;width:100%;text-align:left;background:#eaf7ee;border-color:#b7ddc3;color:#246740;cursor:pointer;transition:background .18s,border-color .18s}
.metric.completed-metric .metric-label,.metric.completed-metric strong,.metric.completed-metric small{color:inherit}
.metric.completed-metric:hover{background:#dcf1e3;border-color:#5ca57a}
html[data-theme="dark"] .metric.completed-metric{background:#19392c;border-color:#32644b;color:#a4dfb8}
html[data-theme="dark"] .metric.completed-metric:hover{background:#204a38;border-color:#539b74}
.badge.closed{background:#eaf7ee;color:#246740}
.badge.completed,.week-slot.review{background:#fff4dd;color:#896327;border-color:#e7d4a8}
html[data-theme="dark"] .badge.closed{background:#1c3b2b;color:#a4d9ad}
html[data-theme="dark"] .badge.completed,html[data-theme="dark"] .week-slot.review{background:#44381f;color:#ecd08b}
.closure-form{padding:18px;border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;margin-top:20px}
.closure-form h3{margin-top:0}
.closure-form p{font-size:13px;color:var(--muted)}
.button.button-receive{background:#27824c;border-color:#27824c;color:#fff}
.button.button-receive:hover{background:#1e6b3d;border-color:#1e6b3d}
.profile{position:relative}
.profile-theme-trigger{flex:1;min-width:0;text-align:left;padding:5px 3px;border-radius:6px;color:var(--ink)}
.profile-theme-trigger:hover{background:var(--accent-soft)}
.profile-theme-menu{position:absolute;bottom:calc(100% - 4px);left:0;right:0;display:grid;gap:4px;z-index:70;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:12px;box-shadow:0 10px 30px #0003}
.profile-theme-menu[hidden]{display:none}
.profile-theme-menu>strong{font-size:12px;padding:3px 8px 8px}
.profile-theme-menu>button{min-height:44px;padding:10px 12px;text-align:left;border-radius:6px;font-size:13px}
.profile-theme-menu>button:hover,.profile-theme-menu>button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-ink)}
.profile-theme-menu>button[aria-pressed="true"]{font-weight:650}
