@font-face{font-family:Work Sans;src:url(/fonts/work-sans.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--blue:#0077c8;--deep:#004f8a;--sky:#00a3e0;--green:#4caf50;--green-deep:#2e7d32;--cloud:#f5f9fc;--ice:#e8f4fd;--ink:#0f2b46;--text:#2c3e50;--muted:#607489;--line:#e2ebf3;--card:#fff;--coral:#d9634a;--coral-soft:#fdeee9;--amber:#b97910;--amber-soft:#fdf3e1;--violet:#6a5acd;--violet-soft:#efedfb;--slate:#5f7387;--slate-soft:#eef2f6;--sky-soft:#e3f5fc;--green-soft:#e9f6ea;--radius:18px;--radius-sm:10px;--shadow:0 1px 2px #004f8a0f, 0 10px 30px #004f8a12;--font:"Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--cloud);color:var(--text);font:400 15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--ink);margin:0;font-weight:650;line-height:1.2}h1{letter-spacing:-.01em;font-size:26px}h2{font-size:18px}h3{font-size:15px}p{margin:0}button,input,select{font:inherit}:focus-visible{outline-offset:2px;border-radius:6px;outline:3px solid #00a3e073}.topbar{z-index:10;-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:10px 16px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;margin-right:auto;display:flex}.brand:hover{text-decoration:none}.brand-logo{width:auto;height:22px;display:block}.brand-divider{background:var(--line);width:1px;height:22px}.brand-app{letter-spacing:-.01em;font-size:16px;font-weight:650}.topbar-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.updated{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:inline-flex}.pulse{background:var(--green);border-radius:50%;width:8px;height:8px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 #4caf5080}.updated.is-stale .pulse{background:var(--amber);animation:none}@keyframes pulse{0%{box-shadow:0 0 #4caf5073}70%{box-shadow:0 0 0 8px #4caf5000}to{box-shadow:0 0 #4caf5000}}.view-as{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.view-as select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23607489' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 10px center no-repeat;border-radius:999px;padding:6px 30px 6px 12px;font-weight:500}.ghost-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:13px}.ghost-button:hover{color:var(--blue)}.page{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:20px 16px 40px;display:flex}.page-narrow{max-width:820px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:20px}.card-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:14px;display:flex}.card-head h1,.card-head h2{margin-right:auto}.card-hint{color:var(--muted);font-size:13px}.card-head .card-hint{flex-basis:100%}.card-link{font-size:13px;font-weight:500}.split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.stack{flex-direction:column;gap:20px;min-width:0;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.back{align-self:flex-start;font-size:14px;font-weight:500}.empty{color:var(--muted);padding:6px 0;font-size:14px}.hero{color:#fff;background:radial-gradient(120% 140% at 100% 0%, #00a3e08c 0%, #00a3e000 55%), radial-gradient(90% 120% at 0% 100%, #4caf5059 0%, #4caf5000 60%), linear-gradient(135deg, #003e6e 0%, var(--deep) 45%, var(--blue) 100%);border-radius:24px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:24px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #004f8a40}.hero:after{content:"";pointer-events:none;border:40px solid #ffffff0d;border-radius:50%;width:280px;height:280px;position:absolute;top:auto;bottom:-90px;left:auto;right:-60px}.hero-main{align-items:center;gap:26px;min-width:0;display:flex}.hero-text{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.hero h1{color:#fff;font-size:30px}.hero .eyebrow{color:#ffffffbf}.hero-figure{font-size:17px;font-weight:500}.hero-hint{color:#ffffffb8;max-width:34ch;font-size:13px}.hero-stats{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid;position:relative}.hero-stats .stat{background:#ffffff1a;border:1px solid #ffffff29;border-radius:14px;padding:12px 14px}.hero-stats dt{color:#ffffffc7}.hero-stats dd{color:#fff}.stat dt{letter-spacing:.02em;font-size:12px;font-weight:500}.stat-of{opacity:.7;margin-left:2px;font-size:.62em}.stat dd{font-family:var(--mono);margin:2px 0 0;font-size:24px;font-weight:500;line-height:1.2}.ring{flex:none;place-items:center;display:grid;position:relative}.ring svg{position:absolute;top:0;bottom:0;left:0;right:0}.ring-track{stroke:var(--ice)}.ring-brand .ring-track{stroke:#ffffff29}.ring-value{transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1)}.ring-number{font-family:var(--mono);letter-spacing:-.03em;color:var(--ink);font-weight:500;position:relative}.ring-brand .ring-number{color:#fff}.bar{background:var(--ice);border-radius:999px;flex:1;min-width:60px;height:8px;display:block;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--sky));height:100%;transition:width .9s cubic-bezier(.22,1,.36,1);display:block}.bar-fill.bar-high{background:linear-gradient(90deg, var(--sky), var(--green))}.trend{background:var(--slate-soft);color:var(--slate);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.trend-up{background:var(--green-soft);color:var(--green-deep)}.trend-down{background:var(--amber-soft);color:var(--amber)}.hero .trend{color:#fff;background:#ffffff29}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{background:var(--slate-soft);color:var(--slate);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-ready{background:var(--green-soft);color:var(--green-deep)}.chip-ready:before{content:"✓";font-size:11px}.chip-rank{background:var(--ice);color:var(--deep)}.tag{background:var(--slate-soft);color:var(--slate);white-space:nowrap;border-radius:6px;padding:0 8px;font-size:11.5px;font-weight:600;line-height:1.6;display:inline-block}.tag-urgent{background:var(--coral-soft);color:var(--coral)}.tag-in_progress{background:var(--ice);color:var(--blue)}.tag-in_review{background:var(--violet-soft);color:var(--violet)}.tag-blocked{background:var(--amber-soft);color:var(--amber)}.tag-replan{background:var(--ice);color:var(--deep)}.tag-slip{background:var(--amber-soft);color:var(--amber)}.avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;box-shadow:0 0 0 2px #fff}.owners{flex-wrap:wrap;gap:6px;display:inline-flex}.owners-none{color:var(--violet);font-size:12.5px;font-weight:600}.owner{color:var(--text);background:var(--cloud);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:1px 8px 1px 2px;font-size:12.5px;font-weight:500;display:inline-flex}.owner .avatar{box-shadow:none}a.owner:hover{border-color:var(--sky);text-decoration:none}.owner-more{color:var(--muted);padding:1px 8px}.ranking{flex-direction:column;display:flex}.rank-row{border-top:1px solid var(--line);grid-template-columns:36px minmax(170px,1.2fr) minmax(200px,2fr) repeat(4,84px);align-items:center;gap:10px;padding:10px 4px;display:grid}.rank-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:0;padding-top:0;font-size:11.5px;font-weight:600}.rank-head .rank-num{font-family:var(--font);font-size:11.5px;line-height:1.25}.rank-person{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.person-link{color:var(--ink);flex:none;align-items:center;gap:10px;font-weight:600;display:inline-flex}.person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-momentum{align-items:center;gap:10px;min-width:0;display:flex}.rank-momentum .trend{display:none}.rank-pct{font-family:var(--mono);color:var(--ink);text-align:right;min-width:44px;font-size:16px;font-weight:500}.rank-num{font-family:var(--mono);text-align:right;color:var(--ink)}.rank-num.is-zero{color:#a6b4c2}.rank-summary{color:var(--muted);font-size:12.5px;display:none}.medal{width:28px;height:28px;font-family:var(--mono);background:var(--slate-soft);color:var(--slate);border-radius:50%;place-items:center;font-size:13px;font-weight:500;display:inline-grid}.medal-1{color:#5c4100;background:linear-gradient(135deg,#ffe08a,#e0a923)}.medal-2{color:#34495e;background:linear-gradient(135deg,#eef2f6,#a9b6c3)}.medal-3{color:#4a2a12;background:linear-gradient(135deg,#f3c9a8,#c27d4e)}.ranking+.building{border-top:1px dashed var(--line);margin-top:18px;padding-top:16px}.building h3{margin-bottom:2px}.building-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.building-list li{grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:4px 10px;display:grid}.building-person{color:var(--ink);align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.building-figure{color:var(--muted);font-size:13px}.building-list .chip{justify-self:end}.weeks{flex-direction:column;gap:16px;display:flex}@media (min-width:761px){.weeks-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}}.week-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:600}.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.day{background:var(--cloud);border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;display:flex}.day-name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:600}.day-num{font-family:var(--mono);color:var(--ink);font-size:15px;font-weight:500}.day-col{background:#0077c814;border-radius:999px;width:10px;height:46px;margin:4px 0 2px;position:relative;overflow:hidden}.day-fill{border-radius:inherit;background:linear-gradient(180deg, var(--sky), var(--blue));transition:height .8s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0}.day-count{font-family:var(--mono);color:var(--ink);min-height:19px;font-size:13px;font-weight:500}.day.is-weekend{background:0 0}.day.is-today{background:var(--ice);border-color:#0077c859}.day.is-today .day-name{color:var(--blue)}.day.is-past:not(.is-today) .day-fill{background:linear-gradient(180deg, #f2b45c, var(--amber))}.day.is-past:not(.is-today) .day-num{color:var(--muted)}.day.is-busy{background:var(--amber-soft);border-color:#b9791073}.busy-note{color:var(--amber);align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.busy-dot{background:var(--amber);border-radius:50%;width:8px;height:8px}.moving{flex-direction:column;gap:14px;display:flex}.section-head{flex-direction:column;gap:2px;display:flex}.section-head h2{font-size:22px}.section-head p{color:var(--muted);font-size:14px}.groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.group{--tone:var(--slate);--tone-soft:var(--slate-soft);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--tone);min-width:0;padding:16px 18px}.tone-coral{--tone:var(--coral);--tone-soft:var(--coral-soft)}.tone-amber{--tone:#e09a2b;--tone-soft:var(--amber-soft)}.tone-blue{--tone:var(--blue);--tone-soft:var(--ice)}.tone-sky{--tone:var(--sky);--tone-soft:var(--sky-soft)}.tone-violet{--tone:var(--violet);--tone-soft:var(--violet-soft)}.tone-green{--tone:var(--green);--tone-soft:var(--green-soft)}.group-head{align-items:center;gap:10px;display:flex}.group-head h3{margin-right:auto}.group-dot{background:var(--tone);width:10px;height:10px;box-shadow:0 0 0 4px var(--tone-soft);border-radius:50%}.group-count{font-family:var(--mono);background:var(--tone-soft);color:var(--ink);border-radius:999px;padding:1px 10px;font-size:13px;font-weight:500}.group-hint{color:var(--muted);margin-top:4px;font-size:12.5px}.group-empty{color:var(--green-deep);margin-top:10px;font-size:13.5px;font-weight:500}.group-empty:before{content:"✓ "}.group-clear{border-top-color:var(--green)}.group-clear .group-dot{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.group-clear .group-count{background:var(--green-soft)}.tasks{margin:10px 0 0;padding:0;list-style:none}.task{border-top:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;padding:10px 0;display:flex}.task:first-child{border-top:0}.task-name{color:var(--ink);overflow-wrap:anywhere;font-weight:550}.task-name:hover{color:var(--blue)}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;display:flex}.when-long{color:var(--coral);font-weight:600}.task-list{color:#8496a8}.task-owners{margin-top:2px}.link-button{color:var(--blue);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:4px 0;font-size:13px;font-weight:600}.link-button:hover{text-decoration:underline}.changes{margin:0;padding:0;list-style:none}.change{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) auto;align-items:start;gap:4px 14px;padding:11px 0;display:grid}.change:first-child{border-top:0}.change-body{flex-direction:column;gap:3px;min-width:0;display:flex}.kind{background:var(--slate-soft);color:var(--slate);white-space:nowrap;border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:600}.kind-replan{background:var(--ice);color:var(--deep)}.kind-slip{background:var(--amber-soft);color:var(--amber)}.kind-set{background:var(--green-soft);color:var(--green-deep)}.kind-past_date{background:var(--coral-soft);color:var(--coral)}.dates{font-family:var(--mono);color:var(--ink);font-size:12.5px}.arrow{color:var(--muted)}.change-when{color:#8496a8}.person-hero{grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr);align-items:center;gap:24px;display:grid}.person-id{align-items:center;gap:16px;min-width:0;display:flex}.person-id .card-hint{margin-top:6px}.person-figure{align-items:center;gap:16px;display:flex}.person-figure-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:600}.person-figure-text{color:var(--ink);margin:2px 0 6px;font-weight:500}.person-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.person-stats .stat{background:var(--cloud);border-radius:12px;padding:10px 12px}.person-stats dt{color:var(--muted)}.person-stats dd{color:var(--ink);font-size:20px}.lines{margin:0;padding:0;list-style:none}.line{border-top:1px solid var(--line);grid-template-columns:14px minmax(0,1fr) auto;align-items:start;gap:12px;padding:11px 0;display:grid}.line:first-child{border-top:0}.line-mark{border:2px solid var(--slate);border-radius:50%;width:12px;height:12px;margin-top:5px}.line-on .line-mark{background:var(--green);border-color:var(--green)}.line-after .line-mark{background:#f2b45c;border-color:#e09a2b}.line-open .line-mark{border-color:#e09a2b}.line-body{flex-direction:column;gap:4px;min-width:0;display:flex}.line-result-on{color:var(--green-deep);font-weight:600}.line-result-after,.line-result-open{color:var(--amber);font-weight:600}.line-chip{margin-top:2px}.spark{margin:0}.spark svg{width:100%;height:96px;display:block}.spark-line{stroke:var(--blue);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark-mid{stroke:var(--line);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.spark-dot{fill:var(--blue);stroke:#fff;stroke-width:2px}.spark-axis{font-family:var(--mono);color:var(--muted);justify-content:space-between;margin-top:4px;font-size:11.5px;display:flex}.how h1{margin-bottom:8px}.how-intro{color:var(--muted);margin-bottom:8px}.how-item{border-top:1px solid var(--line);padding:14px 0}.how-item h2{margin-bottom:4px;font-size:16px}.stale{background:var(--amber-soft);color:#7a5208;border:1px solid #b979104d;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:500}.problem{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.primary-button{background:linear-gradient(135deg, var(--blue), var(--sky));color:#fff;cursor:pointer;border:0;border-radius:12px;padding:11px 22px;font-weight:600;box-shadow:0 6px 16px #0077c840}.primary-button:disabled{opacity:.55;cursor:default;box-shadow:none}.splash{min-height:100vh}.skeleton{flex-direction:column;gap:20px;display:flex}.sk-row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;display:grid}.sk{border-radius:var(--radius);background:linear-gradient(90deg,#e9f0f6 25%,#f4f8fb 50%,#e9f0f6 75%) 0 0/200% 100%;animation:1.4s linear infinite shimmer}.sk-hero{border-radius:24px;height:230px}.sk-card{height:320px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin .section-head h1{font-size:26px}.primary-button.small{box-shadow:none;border-radius:10px;padding:8px 16px;font-size:14px}.primary-button.danger{background:linear-gradient(135deg, #c24a30, var(--coral))}.notice{background:var(--ice);color:var(--deep);border-radius:10px;margin-bottom:12px;padding:8px 12px;font-size:14px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;padding:0 8px 8px;font-size:11.5px;font-weight:600}.data-table td{border-top:1px solid var(--line);white-space:nowrap;padding:8px}.data-table .num{text-align:right;font-family:var(--mono)}.chip-error{background:var(--coral-soft);color:var(--coral)}.chip-new{background:var(--violet-soft);color:var(--violet)}.segmented{background:var(--cloud);border:1px solid var(--line);border-radius:12px;gap:3px;padding:3px;display:inline-flex}.seg{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 16px;font-size:14px;font-weight:600}.seg.is-on{color:var(--deep);background:#fff;box-shadow:0 1px 3px #004f8a26}.seg-live.is-on{color:#fff;background:linear-gradient(135deg, var(--blue), var(--sky))}.seg:disabled{cursor:default}.mode-hint{color:var(--text);margin-top:8px;font-size:14px}.confirm{background:var(--coral-soft);border:1px solid #d9634a4d;border-radius:12px;margin-top:12px;padding:14px}.confirm p{color:#7a2e1d;font-weight:500}.confirm-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.channels{flex-wrap:wrap;gap:8px;margin:14px 0 6px;display:flex}.fine{color:var(--muted);margin-top:6px;font-size:12.5px}.admin-sub{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.admin-sub h3{margin-bottom:2px}.messages{margin:10px 0 0;padding:0;list-style:none}.messages li{border-top:1px solid var(--line)}.messages li:first-child{border-top:0}.messages summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 0;list-style:none;display:flex}.messages summary::-webkit-details-marker{display:none}.messages summary:before{content:"›";color:var(--muted);font-size:18px;line-height:1;transition:transform .15s}.messages details[open] summary:before{transform:rotate(90deg)}.msg-to{color:var(--ink);font-weight:600}.msg-subject{color:var(--text)}.msg-when{color:#8496a8;margin-left:auto;font-size:12.5px}.msg-status{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.msg-text{background:var(--cloud);font-family:var(--font);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);border-radius:10px;margin:0 0 12px;padding:12px 14px;font-size:13px}.test-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.checks-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.checks-grid .stat{background:var(--cloud);border-radius:12px;padding:10px 12px}.checks-grid dt{color:var(--muted)}.checks-grid dd{color:var(--ink);font-size:20px}.list-rows{margin:10px 0 0;padding:0;list-style:none}.list-rows li{border-top:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.list-rows li:first-child{border-top:0}.list-name{color:var(--ink);margin-right:auto}a.ghost-button:hover{text-decoration:none}@media (max-width:560px){.checks-grid{grid-template-columns:minmax(0,1fr)}.msg-when{margin-left:0}}.change-reason{color:var(--text);margin-top:2px;font-size:13px;font-style:italic}.tag-quiet{border:1px dashed var(--line);color:#8496a8;background:0 0;place-self:flex-start start;font-weight:500}.tag-adjusted{background:var(--violet-soft);color:var(--violet);white-space:normal}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;width:100%;margin-top:12px;display:flex}.inline-form .field,.correction-form .field{gap:4px;font-size:13px}.inline-form .field input,.inline-form .field select,.correction-form .field input{color:var(--ink);background:#fff;border:1px solid #cfdce8;border-radius:10px;padding:8px 10px;font-size:14px}.inline-form .field input:not([type=date]){min-width:260px}.correction-form{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.correction-form .field{width:100%;max-width:560px}.owner-picks{flex-wrap:wrap;gap:6px;display:flex}.chip.pick{cursor:pointer}.chip.pick input{opacity:0;pointer-events:none;position:absolute}.admin-report-row{flex-wrap:wrap}.full-row{flex-basis:100%;margin:4px 0 0}.corrections li{align-items:flex-start}.correction-body{flex-direction:column;gap:3px;min-width:0;margin-right:auto;display:flex}.corrections .is-undone .correction-body{opacity:.55;text-decoration:line-through}.histogram{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.histogram li{grid-template-columns:56px minmax(0,1fr) 44px;align-items:center;gap:10px;font-size:13px;display:grid}.hist-bar{background:var(--ice);border-radius:999px;height:10px;overflow:hidden}.hist-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--sky));height:100%;display:block}.histogram .mono:last-child{text-align:right}.mono{font-family:var(--mono)}.report-link{font-weight:600}.report-page{max-width:900px}.report-tools{justify-content:space-between;align-items:center;gap:12px;display:flex}.report{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:22px;padding:32px 36px;display:flex}.report-head{border-bottom:2px solid var(--blue);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.report-head>div{text-align:right}.report-head h1{font-size:28px}.report-logo{width:auto;height:28px}.report-status{color:var(--muted);border-radius:10px;flex-wrap:wrap;gap:4px 16px;padding:10px 14px;font-size:13px;display:flex}.report-status.is-provisional{background:var(--amber-soft);color:#7a5208}.report-status.is-final{background:var(--green-soft);color:var(--green-deep)}.report-versions{gap:6px;display:flex}.report-team{align-items:center;gap:22px;display:flex}.report-section h2{color:var(--deep);margin-bottom:10px;font-size:17px}.report-table td,.report-lines td{white-space:normal}.coming-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.coming-grid li{background:var(--cloud);border-radius:8px;justify-content:space-between;padding:6px 10px;font-size:13.5px;display:flex}.report-person{break-inside:avoid;margin-top:14px}.report-person h3{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:6px;font-size:15px;display:flex}.report-person-figure{font-family:var(--mono);color:var(--muted);font-size:13px;font-weight:500}.report-lines td{vertical-align:top;font-size:13px}.report-lines td:first-child{width:92px;color:var(--muted)}.report-task a{color:var(--ink);font-weight:500}.report-task-notes{color:var(--muted);font-size:12px;display:block}.report-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;font-size:13.5px;display:grid}.report-notes ul{margin:6px 0 0;padding-left:18px}.report-foot{color:var(--muted);border-top:1px solid var(--line);padding-top:10px;font-size:12px}@media (max-width:760px){.report{padding:20px 16px}.report-head{flex-direction:column;align-items:flex-start}.report-head>div{text-align:left}.report-notes{grid-template-columns:minmax(0,1fr)}}@media print{@page{size:A4;margin:14mm 12mm}body{background:#fff;font-size:11.5px}.topbar,.footer,.no-print,.back{display:none!important}.page{max-width:none;padding:0}.report{box-shadow:none;border:0;gap:14px;padding:0}.ring-value,.bar-fill,.day-fill{transition:none!important}.report-section{break-inside:auto}.report-person,.data-table tr{break-inside:avoid}a{color:inherit;text-decoration:none}.chip{border:1px solid #ccd6e0}}.demo-ribbon{z-index:50;background:var(--coral);color:#fff;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;position:fixed;bottom:16px;left:16px;box-shadow:0 6px 16px #d9634a59}.footer{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 18px;padding-top:8px;font-size:12.5px;display:flex}.login{background:radial-gradient(80% 60% at 100% 0%, #00a3e02e, transparent 60%), radial-gradient(70% 60% at 0% 100%, #4caf5024, transparent 60%), var(--cloud);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px 16px;display:flex}.login-card{border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);background:#fff;border-radius:24px;flex-direction:column;gap:14px;padding:32px 28px 28px;display:flex}.login-logo{align-self:flex-start;width:auto;height:30px}.login-card h1{margin-top:6px;font-size:24px}.login-tagline{color:var(--muted);margin-top:-8px}.field{color:var(--ink);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.field input{color:var(--ink);background:#fff;border:1px solid #cfdce8;border-radius:12px;padding:12px 14px;font-size:16px}.field input:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 4px #00a3e026}.form-error{color:var(--coral);font-size:14px;font-weight:500}.login-foot{color:var(--muted);font-size:12.5px}@media (max-width:980px){.hero,.split,.sk-row{grid-template-columns:minmax(0,1fr)}.person-hero{grid-template-columns:minmax(0,1fr) auto}.person-stats{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.groups{grid-template-columns:minmax(0,1fr)}.rank-head{display:none}.rank-row{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"pos person pct""pos bar bar""pos nums nums";row-gap:6px;padding:12px 0}.rank-row:nth-child(2){border-top:0}.rank-pos{grid-area:pos;align-self:start}.rank-person{grid-area:person}.rank-momentum{display:contents}.rank-momentum .bar{grid-area:bar}.rank-pct{grid-area:pct}.rank-num{display:none}.rank-summary{grid-area:nums;display:block}.change,.person-hero{grid-template-columns:minmax(0,1fr)}.person-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){body{font-size:14.5px}.topbar-inner{gap:8px;padding:8px 16px}.brand-divider,.view-as-label{display:none}.brand-app{font-size:14px}.topbar-tools{justify-content:space-between;width:100%}.page{gap:16px;padding-top:14px}.card{padding:16px}.hero{border-radius:20px;padding:20px}.hero-main{align-items:center;gap:16px}.hero .ring{width:112px!important;height:112px!important}.hero .ring svg{width:100%;height:100%}.hero .ring-number{font-size:26px!important}.hero h1{font-size:22px}.hero-figure{font-size:15px}.building-list li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person chip""figure figure"}.building-person{grid-area:person}.building-figure{grid-area:figure;padding-left:34px}.building-list .chip{grid-area:chip}.stat dd{font-size:20px}.person-figure{gap:12px}.week-days{gap:4px}.day-name{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
