:root{font-family:"Meiryo","Yu Gothic UI",system-ui,sans-serif;color:#203243;background:#f2f5f7;font-size:15px;--navy:#173c52;--teal:#147f78;--line:#e0e8ec;--muted:#6c7d89;--paper:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1080px)/2));gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:750;color:var(--navy)}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--teal);display:grid;place-items:center;color:#fff;font-size:19px}.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:9px}.actor{font-size:13px;color:var(--muted)}.role-pill{font-size:11px;font-weight:750;color:var(--teal);background:#e6f4f2;border-radius:99px;padding:6px 10px}.page{max-width:1080px;margin:36px auto;padding:0 24px}.page-title{margin-bottom:22px}.eyebrow{color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.15em}.page-title h1,.narrow h1{margin:7px 0 5px;font-size:27px;letter-spacing:-.03em;color:var(--navy)}.page-title p,.narrow>section>p{color:var(--muted);margin:0}.panel,.menu-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #16384b0b;padding:23px}.panel h2{font-size:16px;margin:0 0 16px;color:var(--navy)}.narrow{max-width:480px;margin:8vh auto;padding:0 20px}.narrow .panel{padding:30px}.stack{display:grid;gap:15px;margin-top:20px}.stack label,.panel label{display:grid;gap:7px;font-size:13px;font-weight:700}.stack input,.stack select,.stack textarea,.panel textarea{width:100%;border:1px solid #d5e0e5;border-radius:8px;padding:11px 12px;background:#fff;color:#203243;font:inherit;font-weight:400;outline:none}.stack input:focus,.stack select:focus,.stack textarea:focus,.panel textarea:focus{border-color:#57a59f;box-shadow:0 0 0 3px #147f7815}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:11px 15px;text-decoration:none;cursor:pointer;font:inherit;font-size:13px;font-weight:700}.button:disabled{opacity:.55;cursor:wait}.primary{background:var(--teal);color:#fff}.primary:hover{background:#116c67}.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}.danger{background:#fbeceb;color:#a84242}.small{padding:8px 10px;font-size:11px}.message{min-height:1.4em;margin:8px 0 0;color:var(--teal);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.message.error{color:#b54141}.hint{font-size:11px!important;color:var(--muted)!important;line-height:1.6}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.menu-card{display:block;text-decoration:none;transition:transform .15s,border-color .15s}.menu-card:hover{transform:translateY(-2px);border-color:#b7d9d4}.menu-card h2{margin:13px 0 7px;color:var(--navy)}.menu-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 15px}.menu-card .arrow{font-size:12px;font-weight:750;color:var(--teal)}.icon{width:36px;height:36px;border-radius:11px;background:#e8f5f2;color:var(--teal);display:grid;place-items:center;font-size:20px}.welcome{margin-top:18px;display:flex;align-items:center;justify-content:space-between}.welcome h2{margin:7px 0}.welcome p{color:var(--muted);font-size:13px}.balance{display:flex;align-items:center;gap:8px;border-radius:12px;background:#edf7f5;padding:10px 15px;color:var(--teal)}.balance strong{font-size:26px}.balance span{font-size:11px;line-height:1.35}.columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);gap:18px;align-items:start}.balance-panel{background:#173f49;color:#fff}.balance-panel h2{color:#fff;margin:8px 0}.balance-panel .eyebrow,.balance-panel .hint{color:#bad5d2!important}.balance-number{font-size:42px;font-weight:800;padding:4px 0 15px}.balance-number small{font-size:15px;margin-left:5px}.balance-row{display:flex;justify-content:space-between;border-top:1px solid #ffffff2a;padding:11px 0;font-size:12px}.balance-panel .hint{margin-top:8px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin-bottom:3px}.panel-head .hint{margin:0}.card-list{display:grid;gap:12px;margin:14px 0}.request-card{border:1px solid var(--line);border-radius:11px;padding:17px}.request-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.request-card p{white-space:pre-line;color:#526572;line-height:1.7;font-size:13px}.status{font-size:11px;font-weight:750;border-radius:20px;padding:6px 10px;white-space:nowrap}.status.waiting{background:#fff3e2;color:#a66113}.status.ok{background:#e6f4f2;color:#147f78}.status.rejected{background:#fbeceb;color:#a84242}.approval-flow{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.flow-step{border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;gap:4px;font-size:12px}.flow-step span,.flow-step small{color:var(--muted);font-size:11px}.actions{display:flex;gap:9px;margin-top:12px}.back-link{font-size:13px;color:var(--teal);text-align:center}.page footer{text-align:center;color:#94a1a8;font-size:10px;padding:28px 0 12px}.request-card textarea{margin-top:8px}@media(max-width:700px){.topbar{padding:0 14px}.top-actions{gap:6px}.actor{display:none}.page{padding:0 14px;margin:24px auto}.page-title h1{font-size:23px}.menu-grid,.columns{grid-template-columns:1fr}.panel{padding:17px}.narrow{margin:5vh auto}.narrow .panel{padding:22px}.welcome{align-items:flex-start;gap:12px;flex-wrap:wrap}.approval-flow{grid-template-columns:1fr}.request-heading{flex-direction:column}.actions{flex-wrap:wrap}.button{font-size:12px}}
