:root{--ink:#17233b;--muted:#69758a;--line:#e6eaf0;--surface:#ffffff;--canvas:#f5f7fb;--navy:#1d2b4d;--blue:#3179e8;--violet:#7657df;--orange:#dc8a42}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{justify-content:space-between;min-height:76px;padding:0 clamp(20px,5vw,72px);color:#fff;background:var(--navy)}.brand-lockup,.metric-card-header,.page-heading,.panel-heading,.status-banner,.topbar,.user-chip,.workflow-item{display:flex;align-items:center}.brand-lockup{gap:12px}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:10px;color:#fff;font-size:17px;font-weight:800}.brand-name{margin:0;font-size:15px;font-weight:700;letter-spacing:.03em}.brand-caption{margin:3px 0 0;color:#aeb9ce;font-size:10px;letter-spacing:.08em}.user-chip{gap:8px;color:#d7deeb;font-size:12px}.user-dot{width:7px;height:7px;border-radius:999px;background:#71d5ad}.dashboard-content{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:52px 0 80px}.page-heading{justify-content:space-between;gap:24px}.eyebrow{margin:0 0 10px;color:#6880a8;font-size:10px;font-weight:800;letter-spacing:.16em}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(25px,3vw,34px);letter-spacing:-.04em}h2{font-size:19px;letter-spacing:-.02em}.muted,h2{margin-bottom:0}.muted{color:var(--muted);font-size:13px}.period-pill{min-width:118px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:right}.period-pill-label{display:block;margin-bottom:5px;color:var(--muted);font-size:10px}.period-pill strong{font-size:17px}.status-banner{gap:14px;margin-top:34px;padding:17px 20px;border:1px solid #dce9ff;border-radius:13px;background:#f5f9ff}.status-icon{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-weight:800}.status-banner strong,.status-icon{font-size:13px}.status-banner p{margin:3px 0 0;color:#62718a;font-size:12px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.metric-card{min-height:150px;padding:20px;border:1px solid var(--line);border-top:3px solid;border-radius:13px;background:var(--surface);box-shadow:0 8px 25px rgba(30,52,86,.03)}.metric-blue{border-top-color:var(--blue)}.metric-violet{border-top-color:var(--violet)}.metric-orange{border-top-color:var(--orange)}.metric-card-header{justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.metric-arrow{color:#a9b4c7;font-size:17px}.metric-value{display:block;margin:19px 0 5px;font-size:24px;letter-spacing:-.04em}.metric-card p{margin-bottom:0;color:var(--muted);font-size:11px}.workflow-panel{margin-top:18px;padding:25px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.panel-heading{justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid var(--line)}.panel-note{color:#9ba5b5;font-size:11px}.workflow-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:23px 0 0;list-style:none}.workflow-item{position:relative;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;min-width:0;padding:0 22px;border-right:1px solid var(--line)}.workflow-item:first-child{padding-left:0}.workflow-item:last-child{padding-right:0;border-right:0}.workflow-number{color:#aeb9ca;font-size:11px;font-weight:800}.workflow-item.is-current .workflow-number{color:var(--blue)}.workflow-item span,.workflow-item strong{display:block}.workflow-item strong{font-size:12px}.workflow-item div span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.workflow-state{grid-column:2;width:fit-content;margin-top:12px;padding:4px 8px;border-radius:5px;color:#7d899d;background:#f2f4f8;font-size:10px}.is-current .workflow-state{color:#2f6ed0;background:#edf4ff}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#edf4ff 0,transparent 34%),var(--canvas)}.login-card{width:min(100%,430px);padding:42px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px rgba(30,52,86,.1)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:34px}.login-brand .brand-mark{color:var(--navy);border-color:#cbd4e4}.login-brand .brand-name{color:var(--navy)}.login-title{margin-bottom:9px;font-size:26px;letter-spacing:-.05em}.login-description{margin-bottom:27px;color:var(--muted);font-size:12px;line-height:1.7}.oauth-button,.password-button{width:100%;border:0;border-radius:9px;font-size:13px;font-weight:700}.oauth-button{padding:13px;color:var(--ink);border:1px solid #d9dfe9;background:#fff}.oauth-button:hover{background:#f8faff}.divider{display:flex;align-items:center;gap:11px;margin:24px 0 20px;color:#a5afbe;font-size:10px}.divider:after,.divider:before{height:1px;flex:1 1;background:var(--line);content:""}.field{display:block;margin-bottom:15px;color:#536075;font-size:11px;font-weight:700}.field input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d8dfe9;border-radius:8px;outline:0;color:var(--ink);background:#fcfdff;font-size:13px}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(49,121,232,.12)}.password-button{margin-top:4px;padding:13px;color:#fff;background:var(--navy)}.password-button:hover{background:#263a67}.oauth-button:disabled,.password-button:disabled{cursor:wait;opacity:.6}.login-error{margin:0 0 17px;padding:11px 12px;border:1px solid #f3caca;border-radius:8px;color:#b33f3f;background:#fff5f5;font-size:12px;line-height:1.5}.login-footnote{margin:22px 0 0;color:#8a95a6;font-size:10px;line-height:1.7;text-align:center}@media (max-width:720px){.dashboard-content{padding-top:34px}.page-heading{align-items:flex-start;flex-direction:column}.period-pill{align-self:stretch;text-align:left}.dashboard-grid,.workflow-list{grid-template-columns:1fr}.workflow-item,.workflow-item:first-child,.workflow-item:last-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.workflow-item:last-child{border-bottom:0}.login-card{padding:30px 24px}}