@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--ink:#172f35;--muted:#74848a;--green:#147c68;--line:#e3e9e8}*{box-sizing:border-box}body{margin:0;background:#f5f7f7;color:var(--ink);font:14px 'Noto Sans JP',sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:248px;background:#102e33;color:#d2dedd;padding:29px 18px;display:flex;flex-direction:column}.brand{color:white;text-decoration:none;font-size:31px;font-weight:700;display:flex;gap:14px;align-items:center;padding:0 9px}.brand>span{font-size:20px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1.4px;color:#8cb7b0;margin-top:4px}.workspace{font-size:9px;letter-spacing:1px;color:#8aabaa;margin:33px 13px 22px}.workspace strong{display:block;font-size:12px;letter-spacing:0;color:#d2dedd;margin-top:6px}nav button{width:100%;text-align:left;background:none;border:0;color:#abc0c1;padding:12px 15px;margin:2px 0;border-radius:7px}nav button.active{background:#235149;color:#fff}nav button:hover{background:#234349}nav i{font-style:normal;display:inline-block;width:28px;color:#82a7a3}.sidefoot{margin-top:auto;padding:24px 10px 0;color:#8db6ac;font-size:11px}.sidefoot small{font-size:9px;color:#789491;display:block;margin-top:9px}main{margin-left:248px}header{height:77px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 35px;color:var(--muted);font-size:12px}header b{padding:0 15px;color:#c6cfce}header>div{display:flex;align-items:center;gap:12px}select,input,textarea{border:1px solid #dce4e2;border-radius:6px;background:#fff;padding:9px 12px;color:var(--ink)}.avatar{background:#e3eeeb;border-radius:50%;padding:10px}.demo{padding:10px 35px;background:#edf4f0;color:var(--green);font-size:11px;font-weight:700}.demo span{font-weight:400;margin-left:14px;color:#6e827b}section{padding:32px 35px;min-height:calc(100vh - 165px)}h1{font-size:27px;margin:0 0 8px;letter-spacing:-.6px}h2{font-size:16px;margin:0}.sub{color:var(--muted);font-size:12px;margin:0}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.btn{border:1px solid #d9e3df;border-radius:6px;background:white;padding:10px 15px;color:var(--ink);font-size:12px}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn:hover{filter:brightness(.95)}.btn:disabled{opacity:.4;cursor:default}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat,.panel{border:1px solid var(--line);background:white;border-radius:9px}.stat{padding:21px}.stat label{font-size:12px;color:#6d817f}.stat strong{font-size:34px;display:block;margin:12px 0 8px;font-weight:600}.stat small{color:#79918b;font-size:10px}.stat.alert{border-top:3px solid #d59b4d}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:23px}.panel{overflow:hidden;margin-bottom:23px}.panelhead{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panelhead small{font-size:10px;color:var(--muted)}.row{padding:18px 23px;border-bottom:1px solid #edf1ef;display:flex;gap:16px;align-items:center}.row:last-child{border:0}.row .grow{flex:1}.row p{margin:5px 0;font-size:12px}.row small{font-size:10px;color:var(--muted)}.datebox{padding:8px 11px;background:#f0f5f3;border-radius:6px;text-align:center;font-size:11px;color:#6e8780}.datebox strong{display:block;font-size:20px;color:var(--ink)}.pill{display:inline-block;background:#eaf4ee;color:#30846b;border-radius:4px;font-size:10px;padding:4px 8px;white-space:nowrap}.pill.amber{background:#fff3df;color:#b27e26}.pill.blue{background:#eaf0fa;color:#4a71b5}.pill.gray{background:#edf0f1;color:#7b888c}.filters{display:flex;gap:10px;margin-bottom:18px;align-items:center;flex-wrap:wrap}.filters input{min-width:240px}.filters .count{margin-left:auto;color:var(--muted);font-size:11px}table{border-collapse:collapse;width:100%;font-size:12px}th{padding:13px 18px;background:#f8faf9;text-align:left;color:#7b8d88;font-size:10px;font-weight:500;border-bottom:1px solid var(--line)}td{padding:17px 18px;border-bottom:1px solid #edf1ef}td small{display:block;margin-top:5px;color:var(--muted);font-size:10px}td .btn{padding:6px 10px;font-size:11px}.empty{padding:45px;text-align:center;color:var(--muted)}.categorygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category{padding:24px;border:1px solid var(--line);background:white;border-radius:8px}.category b{display:block;margin:13px 0}.category small{color:var(--muted)}footer{font-size:10px;color:#96a4a0;padding:15px 35px;display:flex;justify-content:space-between}dialog{border:0;border-radius:12px;padding:28px;width:560px;max-width:94vw;color:var(--ink);box-shadow:0 20px 90px #102e3333}dialog::backdrop{background:#102e3377}dialog h2{font-size:21px;margin-bottom:10px}dialog label{display:block;margin:15px 0 6px;font-size:12px}dialog input,dialog select,dialog textarea{width:100%}dialog textarea{height:80px}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.hint{font-size:11px;line-height:1.8;color:var(--muted)}.steps{padding:14px;background:#f1f6f3;color:var(--green);font-size:12px;border-radius:6px;margin:18px 0}#toast{position:fixed;bottom:28px;right:28px;background:#173f36;color:white;padding:15px 25px;border-radius:8px;display:none;z-index:10}.money{font-variant-numeric:tabular-nums}.bar{height:6px;background:#edf2ef;border-radius:5px;margin-top:12px}.bar span{display:block;height:100%;background:#438d78;border-radius:5px}@media(max-width:1100px){aside{width:210px}main{margin-left:210px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.categorygrid{grid-template-columns:repeat(2,1fr)}section{padding:25px 20px}header{padding:0 20px}.panel{overflow:auto}}@media(max-width:700px){aside{position:relative;width:100%;padding:16px}nav{display:flex;overflow:auto;margin-top:15px}nav button{min-width:140px}.workspace,.sidefoot{display:none}main{margin:0}header{height:auto;padding:15px;gap:10px;flex-wrap:wrap}header>div{flex-wrap:wrap}.demo{padding:10px 16px}.demo span{display:block;margin:5px 0}.pagehead{gap:15px;align-items:flex-start}h1{font-size:23px}.stats{gap:10px}.stat{padding:15px}.categorygrid{grid-template-columns:1fr}section{padding:22px 15px}.row{padding:15px}.panelhead{padding:18px}footer span{display:none}}
