/* V8.0 — calm, precise surfaces over the existing HDFT visual system. */
:root{
 --v8-radius:16px;
 --v8-shadow:0 8px 30px #153e6210,0 1px 3px #153e6208;
 --v8-hover-shadow:0 16px 38px #153e6218,0 2px 7px #153e620b;
 --v8-blue:#126bb4;
 --v8-ease:cubic-bezier(.2,.75,.25,1);
}
:root[data-theme="dark"]{
 --v8-shadow:0 8px 30px #06192a30,0 1px 4px #06192a2a;
 --v8-hover-shadow:0 18px 42px #06192a50,0 2px 8px #06192a40;
}
.card,.project-card,.person-card,.command-card,.note-card{
 border-radius:var(--v8-radius);
 box-shadow:var(--v8-shadow);
 transition:transform 220ms var(--v8-ease),box-shadow 220ms var(--v8-ease),border-color 220ms var(--v8-ease);
}
.card:hover,.project-card:hover,.person-card:hover,.command-card:hover,.note-card:hover{box-shadow:var(--v8-hover-shadow)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
 outline:3px solid #2f9de9!important;outline-offset:3px;
}
:root[data-theme="dark"] button:focus-visible,:root[data-theme="dark"] input:focus-visible,:root[data-theme="dark"] select:focus-visible,:root[data-theme="dark"] textarea:focus-visible{outline-color:#85caff!important}
.v8-page{max-width:1500px;margin:0 auto;padding:8px 4px 56px}
.v8-page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:7px 0 23px}
.v8-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--nhs);text-transform:uppercase}
.v8-page-head h1{font-size:clamp(30px,3vw,43px);letter-spacing:-.04em;line-height:1.1;margin:7px 0 8px;color:var(--text)}
.v8-page-head p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
.v8-page-actions{display:flex;gap:8px;flex-wrap:wrap}
.v8-today-hero,.v8-review-intro{display:flex;justify-content:space-between;align-items:center;gap:26px;background:linear-gradient(118deg,#e6f2fb,#f7fafc 68%,#fff);border:1px solid #cbdfea;border-radius:20px;padding:25px 28px;margin-bottom:18px;box-shadow:var(--v8-shadow)}
.v8-today-hero strong,.v8-review-intro strong{display:block;font-size:clamp(19px,2vw,27px);letter-spacing:-.025em;margin:7px 0;color:var(--text)}
.v8-today-hero p{margin:0;color:var(--muted);font-size:13px}
.v8-hero-stats,.v8-review-stats{display:flex;gap:8px;flex-wrap:wrap}
.v8-hero-stats span,.v8-review-stats span{display:flex;flex-direction:column;min-width:88px;padding:11px 15px;background:#ffffffba;border:1px solid #d4e3ed;border-radius:12px;color:#637b90;font-size:11px;gap:3px}
.v8-hero-stats b,.v8-review-stats b{font-size:22px;line-height:1;color:var(--nhs)}
.v8-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v8-columns>div{min-width:0;display:flex;flex-direction:column;gap:18px}
.v8-panel{padding:0;overflow:hidden;background:var(--surface,#fff);border:1px solid var(--line)}
.v8-panel:hover{transform:none}
.v8-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 20px;border-bottom:1px solid var(--line)}
.v8-panel-head h2{font-size:16px;letter-spacing:-.015em;margin:0}
.v8-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:8px;background:#e9f3fa;color:#175e96;font-size:12px}
.v8-panel-body{padding:6px 10px}
.v8-action-item{display:flex;align-items:center;gap:12px;padding:12px 10px;border-bottom:1px solid var(--line2);border-radius:8px;min-width:0;transition:background 160ms var(--v8-ease)}
.v8-action-item:last-child{border-bottom:0}
.v8-action-item:hover{background:var(--surface-soft,#f5f8fb)}
.v8-action-copy{flex:1;min-width:0}
.v8-action-copy strong{display:block;font-size:13px;line-height:1.35;color:var(--text);overflow-wrap:anywhere}
.v8-action-copy small{display:block;font-size:11px;line-height:1.4;color:var(--muted);margin-top:4px}
.v8-task-check{display:grid;place-items:center;min-width:30px;height:30px}
.v8-task-check input{width:18px;height:18px;accent-color:var(--nhs);cursor:pointer}
.v8-item-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;background:#fff3dc;color:#936414}
.v8-project-dot{display:block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--v8-project,var(--nhs));box-shadow:0 0 0 4px color-mix(in srgb,var(--v8-project,var(--nhs)) 14%,transparent)}
.v8-empty{font-size:13px;color:var(--muted);margin:11px;padding:8px}
.v8-focus-strip{position:relative;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(90deg,color-mix(in srgb,var(--v8-project) 10%,var(--surface)) ,var(--surface) 65%);border:1px solid var(--line);border-left:4px solid var(--v8-project);border-radius:14px;padding:15px 18px;margin-bottom:18px}
.v8-focus-strip span{font-size:10px;font-weight:800;letter-spacing:.11em;color:var(--v8-project)}
.v8-focus-strip strong{font-size:14px}
.v8-focus-strip p{flex:1;min-width:190px;margin:0;color:var(--muted);font-size:12px}
.v8-inbox-summary{display:flex;align-items:baseline;gap:10px;margin:0 0 20px;color:var(--text)}
.v8-inbox-summary strong{font-size:34px;line-height:1;color:var(--nhs)}
.v8-inbox-summary span{font-size:17px;font-weight:700}
.v8-inbox-summary small{margin-left:auto;color:var(--muted);font-size:11px}
.v8-inbox-list{display:grid;gap:12px}
.v8-inbox-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;background:var(--surface);border:1px solid var(--line)}
.v8-inbox-item:hover{transform:translateY(-2px)}
.v8-inbox-item p{margin:7px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.v8-empty-state{text-align:center;padding:45px 20px;background:var(--surface);border:1px solid var(--line)}
.v8-empty-state strong{font-size:19px}
.v8-empty-state p{color:var(--muted);font-size:13px}
.v8-review-intro small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.v8-review-finish{display:flex;align-items:center;gap:15px;margin-top:21px}
.v8-review-finish span{font-size:12px;color:var(--muted)}
.v8-next-action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(90deg,color-mix(in srgb,var(--v8-project) 13%,var(--surface)),var(--surface) 68%);border-left:3px solid var(--v8-project);border-bottom:1px solid var(--line)}
.v8-next-action strong{display:block;margin-top:4px;font-size:14px;line-height:1.4}
.v8-next-action small{display:block;color:var(--muted);margin-top:3px;font-size:11px}
.v8-map-switch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:7px 9px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.v8-map-switch>span{font-size:12px;font-weight:700;color:var(--muted)}
.v8-map-switch>div{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.v8-map-switch button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:7px 13px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.v8-map-switch button.active{background:var(--nhs);color:#fff;box-shadow:0 2px 7px #0e67b333}
.v8-network-list{display:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:auto;max-height:min(67vh,700px)}
.v8-list-mode #networkCard,.v8-list-mode .mobile-map-tip{display:none!important}
.v8-list-mode .v8-network-list{display:block}
.v8-map-list-item{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;text-align:left;padding:12px 17px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}
.v8-map-list-item:last-child{border-bottom:0}
.v8-map-list-item:hover,.v8-map-list-item:focus-visible{background:var(--surface-soft)}
.v8-map-list-item>span{min-width:0;flex:1}
.v8-map-list-item strong,.v8-map-list-item small{display:block;overflow:hidden;text-overflow:ellipsis}
.v8-map-list-item strong{font-size:13px}
.v8-map-list-item small{font-size:11px;color:var(--muted);margin-top:4px}
.v8-map-list-item em{font-style:normal;flex:none}
.v8-node-initials{display:none;position:absolute;inset:0;align-items:center;justify-content:center;color:var(--text);font-weight:800;letter-spacing:.03em;pointer-events:none}
.v8-graph-far .project-node .project-label{opacity:0;visibility:hidden}
.v8-graph-far .project-node .v8-node-initials{display:flex;font-size:clamp(18px,calc(12px * var(--graph-control-inverse,1)),30px)}
.v8-graph-far .person-node>strong,.v8-graph-far .person-node>small{opacity:0;visibility:hidden}
.project-node{box-shadow:0 8px 25px color-mix(in srgb,var(--node) 18%,transparent),inset 0 1px 0 #ffffff77}
.project-node:hover,.project-node.hot{box-shadow:0 14px 33px color-mix(in srgb,var(--node) 29%,transparent),0 0 0 6px color-mix(in srgb,var(--node) 11%,transparent)}
:root[data-theme="dark"] .v8-today-hero,:root[data-theme="dark"] .v8-review-intro{background:linear-gradient(115deg,#263e55,#203448 72%,#253a4e);border-color:#46647a}
:root[data-theme="dark"] .v8-hero-stats span,:root[data-theme="dark"] .v8-review-stats span{background:#324b60;border-color:#537087;color:#c7d9e6}
:root[data-theme="dark"] .v8-hero-stats b,:root[data-theme="dark"] .v8-review-stats b,:root[data-theme="dark"] .v8-inbox-summary strong{color:#98d1ff}
:root[data-theme="dark"] .v8-count{background:#304e65;color:#b2dcfb}
:root[data-theme="dark"] .v8-item-icon{background:#564a32;color:#ffe0a0}
:root[data-theme="dark"] .v8-node-initials{color:#eef6fc}
:root[data-theme="dark"] .v8-map-switch button.active{background:#1877bf;color:#fff}
:root[data-theme="dark"] .v8-inbox-item,:root[data-theme="dark"] .v8-empty-state{background:var(--surface)}
@media(max-width:850px){.v8-columns{grid-template-columns:1fr}.v8-page-head{align-items:start;flex-direction:column}.v8-today-hero,.v8-review-intro{align-items:start;flex-direction:column}}
@media(max-width:700px){.v8-page{padding-bottom:100px}.v8-page-head{margin-top:10px}.v8-today-hero,.v8-review-intro{padding:20px}.v8-hero-stats,.v8-review-stats{width:100%}.v8-hero-stats span,.v8-review-stats span{min-width:0;flex:1;padding:10px}.v8-inbox-summary{flex-wrap:wrap}.v8-inbox-summary small{width:100%;margin:0}.v8-inbox-item{align-items:start;flex-direction:column}.v8-inbox-item .btn{align-self:end}.v8-map-switch{position:relative}.v8-map-list-item{min-height:72px}.v8-map-list-item em{display:none}}
@media(prefers-reduced-motion:reduce){.card,.project-card,.person-card,.command-card,.note-card,.v8-action-item,.v8-inbox-item{transition:none!important}}
/* Keep the daily workflow legible in Evening navy. */
:root[data-theme="dark"] .v8-page-head h1,
:root[data-theme="dark"] .v8-today-hero strong,
:root[data-theme="dark"] .v8-review-intro strong,
:root[data-theme="dark"] .v8-panel-head h2,
:root[data-theme="dark"] .v8-action-copy strong,
:root[data-theme="dark"] .v8-focus-strip strong,
:root[data-theme="dark"] .v8-inbox-item p,
:root[data-theme="dark"] .v8-inbox-summary span{color:#eef6fc}
:root[data-theme="dark"] .v8-page-head p,
:root[data-theme="dark"] .v8-today-hero p,
:root[data-theme="dark"] .v8-action-copy small,
:root[data-theme="dark"] .v8-review-intro small,
:root[data-theme="dark"] .v8-empty,
:root[data-theme="dark"] .v8-focus-strip p{color:#c3d5e4}
:root[data-theme="dark"] .v8-kicker{color:#9cd4ff}
:root[data-theme="dark"] .v8-focus-strip .v8-kicker,
:root[data-theme="dark"] .v8-focus-strip>span{color:color-mix(in srgb,var(--v8-project) 52%,white)}
:root[data-theme="dark"] .v8-project-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--v8-project) 25%,transparent)}
/* Compact project hover preview; the native browser tooltip is removed in JS. */
.polish-tooltip{max-width:min(315px,calc(100vw - 24px));padding:12px 14px}
.polish-tooltip strong{font-size:13px;line-height:1.35}
.polish-tooltip small{font-size:11px;margin-top:3px}
.polish-tooltip .v8-hover-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:8px;font-size:12px;line-height:1.45;color:var(--text)}
.polish-tooltip .v8-hover-action,.polish-tooltip .v8-hover-due{display:block;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.polish-tooltip .v8-hover-action b,.polish-tooltip .v8-hover-due b{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--nhs);margin-right:5px}
.polish-tooltip .v8-hover-due{margin-top:5px;padding-top:0;border-top:0;color:var(--muted);font-size:11px}
.polish-tooltip .v8-hover-due.overdue b{color:#b45a35}
.polish-tooltip .v8-hover-empty{color:var(--muted)}
:root[data-theme="dark"] .polish-tooltip .v8-hover-summary{color:#eef6fc}
:root[data-theme="dark"] .polish-tooltip .v8-hover-action b,:root[data-theme="dark"] .polish-tooltip .v8-hover-due b{color:#98d1ff}
:root[data-theme="dark"] .polish-tooltip .v8-hover-due.overdue b{color:#ffbd94}

