:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:#252629;background:#fff;font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #6686c6;outline-offset:2px}.shell{display:flex;min-height:100vh}.sidebar{width:224px;flex:none;background:#f8f9fa;border-right:1px solid #e8e9ec;padding:22px 12px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 31px;font-size:15px;font-weight:700;letter-spacing:-.03em}.brand-mark{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#273d63;color:#fff;font-size:13px}.workspace-label{font-size:10px;font-weight:700;letter-spacing:.11em;color:#9b9fa6;margin:4px 10px 7px}.workspace-name{padding:10px;border:1px solid #e4e6e9;border-radius:7px;background:#fff;font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.workspace-name span{color:#a2a5aa}.sidebar nav{margin-top:28px;display:grid;gap:3px}.nav-item{border:0;background:transparent;text-align:left;border-radius:6px;padding:10px 11px;color:#5c626b;display:flex;align-items:center;gap:11px;width:100%}.nav-item:hover{background:#f0f1f3}.nav-item.active{background:#e9ebee;color:#222b38;font-weight:600}.icon{width:17px;text-align:center;font-size:16px;color:#7c8794}.nav-count{margin-left:auto;min-width:21px;padding:2px 6px;border-radius:12px;background:#e2e5e9;text-align:center;font-size:11px}.sidebar-bottom{margin-top:auto;padding:10px;color:#80858c;font-size:11px;display:flex;align-items:center;gap:7px}.status-dot{height:6px;width:6px;border-radius:50%;background:#62a585}.main{min-width:0;flex:1}.topbar{height:54px;border-bottom:1px solid #e8e9ec;padding:0 30px;display:flex;align-items:center;justify-content:space-between;color:#868a90;font-size:12px}.topbar>div{display:flex;align-items:center;gap:15px}.top-divider{width:1px;height:18px;background:#e8e9ec}.avatar{display:inline-grid;place-items:center;border-radius:50%;width:26px;height:26px;background:#e6e9ed;color:#5d6673;font-weight:700;font-size:11px}.content{max-width:1440px;padding:32px 38px 80px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:25px}.eyebrow{font-size:10px;color:#89919a;letter-spacing:.12em;font-weight:700;margin-bottom:7px}h1{font-size:22px;line-height:1.35;letter-spacing:-.04em;margin:0 0 6px;font-weight:700}h2{font-size:15px;letter-spacing:-.02em;margin:0 0 5px}.page-head p,.section-head p{margin:0;color:#858991;font-size:12px}.head-actions{display:flex;gap:8px;margin-top:8px}.button{border:1px solid #dfe2e6;border-radius:6px;padding:8px 12px;white-space:nowrap;font-size:12px;font-weight:600;min-height:32px}.button.secondary{background:#fff;color:#4d545d}.button.secondary:hover{background:#f7f8f9}.button.primary{background:#293e61;color:#fff;border-color:#293e61}.button.primary:hover{background:#1d3050}.button.primary:disabled{background:#b5becb;border-color:#b5becb}.notice{margin-bottom:14px;background:#eef7f1;border:1px solid #cce9d6;color:#2b724b;border-radius:6px;padding:10px 12px}.notice.error{background:#fff1ef;border-color:#f1d4cd;color:#a24439}.demo-banner{display:flex;align-items:center;gap:10px;background:#fbfcfd;border:1px solid #e8e9ec;border-radius:7px;padding:11px 13px;color:#6e747c;font-size:11px;margin-bottom:22px}.badge{font-size:10px;font-weight:600;border-radius:4px;padding:4px 7px;white-space:nowrap}.badge.neutral{background:#eff1f3;color:#66707a}.badge.warm{background:#fff0df;color:#9b6425}.badge.blue{background:#eaf2fa;color:#4777a6}.badge.green{background:#edf6ef;color:#4b8b61}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e8e9ec;border-radius:8px;overflow:hidden;margin-bottom:32px}.metric{padding:19px 21px;min-width:0;border-right:1px solid #e8e9ec}.metric:last-child{border-right:0}.metric-label{color:#7e838b;font-size:11px;margin-bottom:15px}.metric-value{font-size:23px;line-height:1.1;font-weight:650;letter-spacing:-.04em;white-space:nowrap}.metric-sub{color:#92969e;font-size:11px;margin-top:9px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:13px}.text-button{border:0;background:none;color:#567699;font-size:11px;padding:5px}.text-button:hover{text-decoration:underline}.table-wrap{border:1px solid #e8e9ec;border-radius:8px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:880px;text-align:left}thead{background:#fafbfc}th{color:#8a8e95;font-weight:600;font-size:10px;letter-spacing:.02em;padding:11px 14px;border-bottom:1px solid #e8e9ec;white-space:nowrap}td{padding:13px 14px;border-bottom:1px solid #eef0f2;vertical-align:middle;font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}td strong{font-weight:600}td small{display:block;color:#9a9fa5;font-size:10px;margin-top:4px}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.strong{font-weight:700}.account-name{display:flex;align-items:center;gap:10px}.account-icon{width:28px;height:28px;background:#edf0f4;border:1px solid #e2e6ea;color:#53647a;display:inline-grid;place-items:center;border-radius:7px;font-size:12px;font-weight:700;flex:none}.pace-number{color:#777e86;margin-left:9px;font-size:11px}.count-pill{display:inline-block;background:#f1f3f5;border-radius:20px;padding:4px 7px;color:#616b76;font-size:10px}.row-action{text-align:right;white-space:nowrap}.toolbar{border:1px solid #e8e9ec;border-radius:8px 8px 0 0;border-bottom:0;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-left{display:flex;gap:8px}.search-wrap{border:1px solid #e0e3e7;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 10px;color:#9ca1a8;min-width:280px}.search-wrap input{border:0;outline:0;padding:7px 0;width:100%;font-size:11px}.toolbar select{border:1px solid #e0e3e7;border-radius:6px;background:#fff;padding:7px 9px;color:#565d65;font-size:11px}.toolbar-summary{color:#8a8f95;font-size:11px}.toolbar+.table-wrap{border-radius:0 0 8px 8px}.checkbox-cell{width:30px;padding-right:0}.checkbox-cell input{accent-color:#293e61}.reason{color:#707781;font-size:11px;min-width:235px}.positive{color:#a36a26}.negative{color:#397f60}.empty{padding:48px;text-align:center;color:#969ba1}.action-bar{position:sticky;bottom:12px;margin-top:17px;background:#fff;border:1px solid #e0e3e7;box-shadow:0 5px 20px rgba(22,32,45,.06);border-radius:8px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}.action-bar>div{display:flex;gap:8px}.help-note{color:#999da4;font-size:11px;margin-top:14px;line-height:1.6}dialog{border:1px solid #e2e5e8;border-radius:10px;padding:0;box-shadow:0 20px 60px rgba(22,32,45,.18);width:min(560px,calc(100vw - 24px))}dialog::backdrop{background:rgba(25,34,46,.35)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{font-size:18px;margin-bottom:0}.dialog-head~p{font-size:12px;color:#858991;margin:14px 0 21px}.icon-button{font-size:22px;color:#7b8188;border:0;background:none;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{font-size:11px;font-weight:600;color:#505860;position:relative}.form-grid label span{position:absolute;right:10px;top:33px;color:#9399a1;font-weight:400}.form-grid input{display:block;width:100%;border:1px solid #dfe3e7;border-radius:6px;padding:9px 26px 9px 10px;margin-top:7px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:26px}@media(max-width:950px){.sidebar{width:188px}.content{padding:26px 20px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #e8e9ec}}@media(max-width:680px){.shell{display:block}.sidebar{width:100%;height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid #e8e9ec}.brand{padding:0 0 10px}.workspace-label,.workspace-name,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin:0;overflow:auto}.nav-item{width:auto;white-space:nowrap}.topbar{display:none}.content{padding:22px 14px 60px}.page-head{display:block}.head-actions{margin-top:17px}.metric{padding:15px}.metric-value{font-size:18px}.toolbar{display:block}.toolbar-left{display:flex;flex-wrap:wrap}.search-wrap{min-width:0;flex:1}.toolbar-summary{margin-top:9px}.action-bar{display:block}.action-bar>div{margin-top:12px}.form-grid{grid-template-columns:1fr}}

.mode-banner{display:flex;align-items:center;gap:10px;background:#fbfcfd;border:1px solid #e8e9ec;border-radius:7px;padding:10px 13px;color:#6e747c;font-size:11px;margin-bottom:18px}
.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #e8e9ec;border-radius:8px;margin-bottom:22px;overflow:hidden}
.summary-strip>div{padding:13px 17px;border-right:1px solid #e8e9ec;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.summary-strip>div:last-child{border-right:0}
.summary-strip span{font-size:11px;color:#828890}
.summary-strip strong{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.toolbar{border:0;padding:0 0 12px}.toolbar-left{flex-wrap:wrap}.search-wrap{min-width:300px}.toolbar+.table-wrap{border-radius:8px}
table{min-width:1240px}th,td{padding-left:11px;padding-right:11px}td{padding-top:12px;padding-bottom:12px}.id-cell{font-size:11px}.muted{color:#889098}
.badge-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:1px}.budget-value{font-weight:650}
.budget-form{display:flex;align-items:center;justify-content:flex-end;gap:5px}.budget-form input{width:86px;text-align:right;border:1px solid #b7c6da;border-radius:5px;padding:5px 7px;font-variant-numeric:tabular-nums}.budget-form span{color:#8e949b;font-size:11px}
.button.small{min-height:27px;padding:4px 7px;font-size:10px}.shared-label{font-size:10px;color:#9b9fa6;white-space:nowrap}.loaded-at{color:#a0a4aa;font-size:10px;text-align:right;margin-top:10px}.help-note{margin-top:12px}.row-action{min-width:56px}.head-actions a{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:1050px){.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-strip>div:nth-child(3){border-right:0}.summary-strip>div:nth-child(n+4){border-top:1px solid #e8e9ec}}
@media(max-width:680px){.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip>div{border-top:1px solid #e8e9ec}.summary-strip>div:nth-child(-n+2){border-top:0}.summary-strip>div:nth-child(odd){border-right:1px solid #e8e9ec}.summary-strip>div:nth-child(even){border-right:0}.summary-strip>div:nth-child(3){border-right:1px solid #e8e9ec}.mode-banner{align-items:flex-start}}
[hidden]{display:none!important}
.setup-page{min-height:100vh;display:grid;place-items:center;background:#f8f9fa;padding:24px}.setup-card{width:min(480px,100%);background:#fff;border:1px solid #e3e6e9;border-radius:10px;padding:30px;box-shadow:0 10px 35px rgba(20,31,45,.04)}.setup-card .brand{padding:0 0 28px}.setup-card p{font-size:12px;color:#777e86;line-height:1.7;margin:10px 0 24px}.setup-card form{display:grid;gap:18px}.setup-card label{font-size:11px;font-weight:600;color:#505860}.setup-card input{display:block;width:100%;border:1px solid #dfe3e7;border-radius:6px;padding:10px 11px;margin-top:7px}.setup-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.setup-actions a{text-decoration:none;display:inline-flex;align-items:center}
.editable-budget{cursor:text}.editable-budget:hover{background:#f3f7fb}.editable-budget .budget-value{user-select:none}
.login-page{min-height:100vh;display:grid;place-items:center;background:#f8f9fa;padding:24px}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e3e6e9;border-radius:10px;padding:30px;box-shadow:0 10px 35px rgba(20,31,45,.04)}.login-card .brand{padding:0 0 25px}.login-card h1{font-size:20px}.login-card p{font-size:12px;color:#777e86;line-height:1.6;margin:7px 0 20px}.login-card form{display:grid;gap:15px}.login-card label{font-size:11px;font-weight:600;color:#505860}.login-card input{display:block;width:100%;border:1px solid #dfe3e7;border-radius:6px;padding:10px 11px;margin-top:7px}.login-card form .button{margin-top:8px}.login-card .google-login{display:block;text-align:center;text-decoration:none;margin-top:24px}.login-divider{text-align:center;color:#a3a8af;font-size:11px;margin:20px 0}.login-card .login-error{color:#a24439;margin:0}
