.cp-root{min-height:100vh;background:var(--paper);display:flex;flex-direction:column}.cp-main{flex:1 1;width:100%;max-width:1180px;margin:0 auto;padding:clamp(18px,3vw,36px) clamp(14px,3vw,32px) 60px}.cp-headrow{display:flex;flex-wrap:wrap;gap:12px;align-items:end;justify-content:space-between}.cp-kicker{font:800 10px var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}.cp-h1{font:900 clamp(22px,3vw,30px)/1.15 var(--font-ui);letter-spacing:-.015em;margin:8px 0 0}.cp-headside{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cp-asof{font:500 11px var(--font-mono);color:var(--ink3)}.cp-slidebtn{height:42px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:800 12.5px var(--font-ui);color:var(--ink);cursor:pointer}.cp-slidebtn:hover{background:var(--hover-card)}.cp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px;margin-top:20px}.cp-stat{background:var(--card);border-radius:22px;padding:clamp(18px,2.4vw,26px)}.cp-stat-dark{background:var(--ink);color:#fff}.cp-stat-num{font:300 40px var(--font-num)}.cp-stat-num-yx{color:var(--yx)}.cp-stat-label{font:800 12.5px var(--font-ui);margin-top:6px}.cp-stat-sub{font:600 11px var(--font-ui);color:var(--ink2);margin-top:4px;border:0;background:none;padding:2px 0;cursor:pointer;text-align:left;text-decoration:underline}.cp-stat-sub-dark{color:var(--dark-text)}.cp-def{background:var(--chip-fill);border-radius:14px;padding:14px 18px;margin-top:12px;font:500 12.5px/1.65 var(--font-ui)}.cp-def strong{font-weight:800}.cp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:14px;gap:14px;margin-top:14px}.cp-card{background:var(--card);border-radius:22px;padding:clamp(18px,2.4vw,26px)}.cp-card-col{display:flex;flex-direction:column}.cp-card-h2{font:900 15px var(--font-ui);margin:0}.cp-defects{display:flex;flex-direction:column;gap:12px;margin-top:16px}.cp-empty{font:500 12.5px/1.6 var(--font-ui);color:var(--ink2);margin:0}.cp-defect-row{display:flex;justify-content:space-between;gap:10px;font:700 12.5px var(--font-ui)}.cp-defect-n{font:300 16px var(--font-num)}.cp-bartrack{height:8px;border-radius:999px;background:var(--chip-fill);margin-top:6px;overflow:hidden}.cp-barfill{height:100%;background:var(--skeleton-2);border-radius:999px}.cp-months{align-items:flex-end;gap:10px;margin-top:16px;min-height:150px}.cp-month,.cp-months{flex:1 1;display:flex}.cp-month{flex-direction:column;align-items:center;gap:6px}.cp-month-n{font:300 15px var(--font-num)}.cp-month-bar{width:100%;max-width:44px;background:var(--chip-fill);border-radius:8px 8px 4px 4px;border:1px solid var(--line)}.cp-month-bar-now{background:var(--yx)}.cp-month-name{font:800 9px var(--font-ui);letter-spacing:.1em;color:var(--ink2)}.cp-hours{font:500 11.5px/1.6 var(--font-ui);color:var(--ink2);margin:14px 0 0}.cp-hours strong{font-weight:800}.cp-exports{margin-top:14px;scroll-margin-top:16px}.cp-exports-head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between}.cp-exports-tag{font:500 10.5px var(--font-mono);color:var(--ink3)}.cp-exports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.cp-export{border:1px solid var(--line);border-radius:14px;padding:16px 18px}.cp-export-h{font:800 13px var(--font-ui)}.cp-export-p{font:500 12px/1.65 var(--font-ui);color:var(--ink2);margin:6px 0 0}.cp-export-p strong{font-weight:800}.cp-export-btn{height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:800 12px var(--font-ui);color:var(--ink);cursor:pointer;margin-top:12px}.cp-export-btn:hover{background:var(--hover-card)}.cp-export-btn-yx{border:0;background:var(--yx)}.cp-export-btn-yx:hover{background:var(--yx);filter:brightness(.95)}.cp-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:20;pointer-events:none;max-width:calc(100vw - 24px)}.cp-toastcard{display:flex;align-items:center;background:var(--ink);color:#fff;border-radius:999px;padding:11px 20px;box-shadow:var(--shadow-toast)}.cp-toastcard,.cp-triagelink{font:700 12.5px var(--font-ui)}.cp-triagelink{margin:14px 0 0}.cp-triagelink a{color:var(--ink)}.cp-triagelink a:hover{text-decoration:underline}