:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Noto Sans JP,sans-serif;color:#173a46;background:#f2fafb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer;border:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(20px,5vw,72px);background:linear-gradient(135deg,#0d7184,#2e9caf);color:#fff}.topbar h1,.login h1{margin:2px 0 0;font-size:clamp(1.4rem,3vw,2rem)}.eyebrow{margin:0;color:#197d90;font-size:.72rem;font-weight:800;letter-spacing:.16em}.topbar .eyebrow{color:#c9f4f6}.identity{display:flex;align-items:center;gap:10px;font-size:.9rem}.identity small{opacity:.8}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1440px;margin:0 auto}.nav{padding:28px 16px;border-right:1px solid #d7eaed;min-height:calc(100vh - 115px)}.nav-button{width:100%;margin-bottom:8px;padding:12px 14px;border-radius:12px;background:transparent;color:#567780;text-align:left;font-weight:700}.nav-button:hover,.nav-button.active{background:#dff3f5;color:#116e80}.content{padding:clamp(24px,4vw,56px);min-width:0}.section-heading,.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}h2,h3{margin:3px 0 0;color:#173a46}h2{font-size:1.65rem}h3{font-size:1.1rem}.muted{color:#6d8990}.message{min-height:24px;margin-bottom:10px;color:#44717b}.message.error{color:#a23f43}.message.success{color:#157b62}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card,.card{border:1px solid #d2e7e9;border-radius:18px;background:#ffffffe0;box-shadow:0 10px 30px #1f5c660f}.stat-card{padding:18px}.stat-card span,.stat-card small{display:block;color:#6d8990;font-size:.8rem}.stat-card strong{display:block;margin:7px 0;color:#167b8d;font-size:1.8rem}.card{padding:24px;margin-bottom:18px}.primary,.secondary,.ghost,.small,.danger-button{border-radius:10px;padding:10px 14px;font-weight:700}.primary{background:#218ba0;color:#fff}.secondary,.small{border:1px solid #acd8df;background:#fff;color:#197487}.ghost{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;padding:8px 12px}.danger-button{background:#fff0f0;color:#b04449;border:1px solid #efb9b9}button:disabled{opacity:.45;cursor:not-allowed}.usage-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,2fr);align-items:center;gap:18px;padding:13px 0;border-top:1px solid #e5f0f1}.usage-row small,td small{display:block;margin-top:4px;color:#779198;font-size:.78rem}.usage-meter{height:9px;border-radius:99px;overflow:hidden;background:#e4f1f2}.usage-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#41aeb8,#efba63)}.ai-budget{padding:16px 0;border-top:1px solid #e5f0f1}.ai-budget:first-of-type{border-top:0}.ai-budget-heading,.ai-budget-meta{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.ai-budget-heading strong{color:#167b8d;font-size:.9rem}.ai-budget-heading small,.ai-budget-meta,.ai-sources{display:block;margin-top:5px;color:#6d8990;font-size:.78rem}.ai-budget-meta{margin-top:7px}.ai-other{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:14px;margin-top:4px;border-top:1px solid #e5f0f1;color:#557881;font-size:.82rem}.ai-other b{width:100%;color:#173a46}.ai-management-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:.8rem}.ai-management-links a{color:#167b8d;text-decoration:none}.ai-management-links a:hover{text-decoration:underline}.form-hint{color:#7a9297;font-size:.78rem}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-grid span{padding:14px;border-radius:12px;background:#f1f9fa;color:#557881}.mini-grid b{display:block;margin-top:5px;color:#167b8d;font-size:1.3rem}.toolbar{margin-bottom:14px}input{width:100%;max-width:460px;border:1px solid #b9dce1;border-radius:10px;padding:12px 14px;background:#fff;color:#173a46}.table-wrap{overflow-x:auto;border:1px solid #d2e7e9;border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 16px;border-bottom:1px solid #e4eff0;text-align:left;vertical-align:top;font-size:.88rem}th{background:#f3fafb;color:#52757d;font-size:.78rem}tr:last-child td{border-bottom:0}.badge{display:inline-block;margin:2px 4px 2px 0;padding:4px 8px;border-radius:99px;font-size:.73rem;font-weight:800}.badge.ok{background:#ddf5ed;color:#168267}.badge.danger{background:#ffe2e2;color:#a53f46}.badge.admin{background:#e7e1ff;color:#6455a6}.muted-badge{background:#e9f0f1;color:#607c83}.cleanup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cleanup-card{display:flex;flex-direction:column;gap:12px;margin:0}.cleanup-card strong{color:#167b8d;font-size:2rem}.cleanup-card small{color:#6d8990}.cleanup-card button{margin-top:auto}.loading{padding:56px 0;color:#5e858c;text-align:center}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#d8f5f5,transparent 40%),#f2fafb}.login-card{width:min(100%,420px);padding:34px;border:1px solid #d2e7e9;border-radius:22px;background:#fff;box-shadow:0 18px 60px #1f5c661a}.login-card p:not(.eyebrow){color:#66848b;line-height:1.7}.login-card button{width:100%;margin:18px 0 14px}.login-card small{display:block;color:#7a9297}@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.cleanup-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.topbar{align-items:flex-start;flex-direction:column;padding:22px 18px}.identity{width:100%;justify-content:space-between}.layout{display:block}.nav{display:flex;gap:6px;min-height:auto;padding:10px;overflow-x:auto;border-right:0;border-bottom:1px solid #d7eaed}.nav-button{flex:0 0 auto;width:auto;margin:0;white-space:nowrap}.content{padding:22px 14px}.stats{grid-template-columns:repeat(2,1fr)}.stat-card{padding:14px}.stat-card strong{font-size:1.45rem}.card{padding:18px}.section-heading{align-items:center}.mini-grid,.cleanup-grid{grid-template-columns:1fr}.usage-row{grid-template-columns:1fr;gap:8px}}
