:root{--bg: #f5f4f0;--surface: #ffffff;--surface-2: #faf9f6;--ink: #1f2426;--ink-2: #343a3d;--ink-3: #3c4245;--text-2: #4b5250;--muted: #6c716e;--disabled: #9a9d98;--line: #dcdad3;--line-2: #ecebe5;--tag-bg: #f0eee8;--accent: #e0702b;--accent-text: #c95a1c;--accent-bg: #fdf3ec;--accent-line: #f0c9ad;--on-ink: #e9e6df;--on-ink-2: #b3b6b0;--error: #b91c1c;--font: "IBM Plex Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--mono: "IBM Plex Mono", "Menlo", monospace;--r-card: 8px;--r-ctl: 6px;--r-tag: 4px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6}h1,h2,h3{margin:0;line-height:1.4}h1{font-size:24px;font-weight:700}h2{font-size:17px;font-weight:700}h3{font-size:15px;font-weight:700}p{margin:0}a{color:var(--accent-text)}button{font-family:inherit;cursor:pointer}.mono{font-family:var(--mono);font-feature-settings:"tnum"}.muted{color:var(--muted)}.small{font-size:12px}.err{color:var(--error);font-size:13px}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--ink);color:var(--on-ink);display:flex;flex-direction:column;padding:24px 14px;gap:28px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 10px}.brand-name{font-size:15px;font-weight:700;letter-spacing:.02em}.brand-sub{font-size:10px;color:var(--disabled);letter-spacing:.12em}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--r-ctl);color:var(--on-ink-2);background:none;border:none;font-size:14px;text-align:left;width:100%}.nav-item>span:first-child{display:flex;align-items:center;gap:10px}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{background:var(--ink-2);color:#fff;font-weight:500}.nav-count{background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px;font-family:var(--mono)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px}.lock-box{padding:12px 14px;border-radius:var(--r-ctl);border:1px solid var(--ink-3);display:flex;flex-direction:column;gap:6px}.lock-box-title{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--on-ink)}.lock-box-body{font-size:11px;color:var(--disabled);line-height:1.5}.sidebar-user{display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:12px;color:var(--disabled)}.sidebar-user button{background:none;border:none;color:var(--on-ink-2);font-size:12px;padding:0}.main{flex-grow:1;min-width:0;padding:28px 40px 40px;display:flex;flex-direction:column;gap:22px}.main-narrow{max-width:760px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-head .eyebrow{font-size:12px;color:var(--muted);letter-spacing:.08em}.crumbs{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}.crumbs button{background:none;border:none;padding:0;color:var(--muted);font-size:12px}.crumbs button:hover,.crumbs .cur{color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:18px 20px;display:flex;flex-direction:column;gap:12px}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--ink)}.card.done{background:#f9f8f4;border-style:dashed;color:var(--muted)}.card-sep{border-top:1px solid var(--line-2);padding-top:12px}.section-label{font-size:12px;color:var(--muted);letter-spacing:.06em}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:6px}.two-col{display:flex;gap:22px;align-items:flex-start}.two-col>.col-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:22px}.two-col>.col-side{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.two-col>.col-side.wide{width:400px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--r-ctl);font-size:14px;font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap}.btn:hover{border-color:var(--ink)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.btn-primary:hover{background:var(--accent-text);border-color:var(--accent-text)}.btn-ink{border-color:var(--ink);color:var(--ink)}.btn-ghost{border-color:var(--line);color:var(--muted)}.btn-danger{border-color:var(--error);color:var(--error)}.btn-sm{height:36px;padding:0 14px;font-size:13px}.btn-block{width:100%;height:46px}.link-btn{background:none;border:none;padding:0;color:var(--accent-text);font-size:13px}.label{display:block;font-size:12px;font-weight:500;margin-bottom:6px}.label .req{color:var(--accent-text);margin-left:4px}.input{display:block;width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);font:inherit;color:var(--ink)}textarea.input{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.7}.input:focus{outline:2px solid var(--ink);outline-offset:-1px}.input.mono{font-family:var(--mono);font-size:16px;font-weight:600}.field{margin-bottom:16px}.hint{font-size:11px;color:var(--muted);margin-top:6px}.note-lock{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--text-2);line-height:1.6;background:var(--bg);border-radius:var(--r-ctl);padding:10px 12px}.check{display:flex;align-items:center;gap:8px;font-size:14px}.tag{display:inline-flex;align-items:center;font-size:12px;font-weight:500;color:var(--text-2);background:var(--tag-bg);padding:3px 9px;border-radius:var(--r-tag)}.tag-accent{color:var(--accent-text);background:var(--accent-bg);border:1px solid var(--accent-line);font-size:11px;padding:2px 7px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--accent-text)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.status.off{color:var(--muted)}.status.off:before{background:var(--disabled)}.badge{width:28px;height:28px;border-radius:50%;background:var(--surface);border:1.5px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:600;flex-shrink:0;color:var(--ink)}.badge.filled{background:var(--ink);color:#fff}.badge.sm{width:24px;height:24px;font-size:11px}.badge-stack{display:flex;align-items:center}.badge-stack .badge+.badge{margin-left:-7px}.tie{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-2)}.tie .dash{flex-shrink:0;width:56px;border-top:1.5px dashed #c4c2ba}.tie .right{margin-left:auto;color:var(--muted)}.amount{font-family:var(--mono);font-size:18px;font-weight:600;font-feature-settings:"tnum"}.amount .unit{font-family:var(--font);font-size:12px;font-weight:400;color:var(--muted);margin-left:3px}.amount .sep{color:#8a8f8b;margin:0 4px}.amount.lg{font-size:20px}.amount.xl{font-size:26px}.notice-ink{background:var(--ink);color:var(--on-ink);border-radius:var(--r-card);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.notice-ink .kicker{font-size:12px;color:var(--accent);font-weight:700}.notice-ink .sub{font-size:12px;color:var(--disabled)}.notice-ink .btn{border-color:var(--accent);background:transparent;color:#fff;height:38px;font-size:13px}.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px}.notice:hover{border-color:var(--ink)}.notice>.small{white-space:nowrap}.notice.good{border-color:var(--accent-line);background:var(--accent-bg)}.notice.flat{color:var(--muted)}.callout{background:var(--bg);border-radius:var(--r-ctl);padding:12px 14px;font-size:13px;color:var(--text-2);display:flex;flex-direction:column;gap:8px}.callout.good{background:var(--accent-bg);border:1px solid var(--accent-line);color:var(--ink)}.callout.ink{background:var(--ink);color:var(--on-ink)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{height:34px;padding:0 14px;border-radius:var(--r-ctl);background:var(--surface);border:1px solid var(--line);color:var(--text-2);font-size:13px}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}.table{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.table .thead,.table .tr{display:grid;gap:16px;align-items:center;padding:14px 20px}.table .thead{padding:10px 20px;font-size:11px;color:var(--muted);letter-spacing:.06em;background:var(--surface-2)}.table .tr{border-top:1px solid var(--line-2)}.stepper{display:flex;flex-direction:column}.step{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--disabled)}.step .dot{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);flex-shrink:0;display:flex;align-items:center;justify-content:center}.step.done{color:var(--text-2)}.step.done .dot{background:var(--ink);border-color:var(--ink)}.step.now{color:var(--ink);font-weight:700}.step.now .dot{border:2px solid var(--accent)}.step.now .dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.step.now .here{font-size:11px;color:var(--accent-text);margin-left:8px;font-weight:500}.step-line{width:1.5px;height:16px;background:var(--line);margin-left:10px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:var(--on-ink);border-radius:var(--r-card);padding:16px 18px;cursor:pointer}.toggle-row .sub{font-size:12px;color:var(--disabled)}.toggle{width:48px;height:28px;border-radius:14px;background:var(--ink-3);position:relative;flex-shrink:0;transition:background .15s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}.toggle.on{background:var(--accent)}.toggle.on:after{left:23px}.vcard{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-card);padding:14px 16px;display:flex;flex-direction:column;gap:6px;cursor:pointer;text-align:left;font:inherit;color:inherit}.vcard.selected{border:2px solid var(--ink);padding:13px 15px}.vcard .t{font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.vcard .d{font-size:12px;color:var(--muted);line-height:1.5}.msg{max-width:80%;padding:8px 12px;border-radius:10px;font-size:14px;display:inline-block;text-align:left}.msg.mine{background:var(--ink);color:#fff}.msg.theirs{background:var(--tag-bg);color:var(--ink)}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;gap:24px}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.auth-box{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:18px}.auth-box.wide{max-width:640px}.auth-links{display:flex;flex-direction:column;gap:8px;font-size:13px}@media (max-width: 767px){.shell{flex-direction:column}.sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;width:100%;height:auto;padding:8px 4px calc(8px + env(safe-area-inset-bottom));flex-direction:row;gap:0;z-index:10;border-top:1px solid var(--ink-3)}.brand,.sidebar-foot,.nav-item .nav-label-full{display:none}.nav{flex-direction:row;width:100%}.nav-item{flex:1;flex-direction:column;justify-content:center;gap:4px;padding:6px 2px;font-size:10px}.nav-item>span:first-child{flex-direction:column;gap:4px}.nav-item.active{background:none;color:#fff}.nav-count{position:absolute;margin-top:-30px;margin-left:18px}.main{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{flex-direction:column}.two-col>.col-side,.two-col>.col-side.wide{width:100%}.table .thead{display:none}.table .tr{grid-template-columns:1fr!important;gap:8px}.tie .dash{width:28px}h1{font-size:20px}.mobile-topbar{display:flex}}.mobile-topbar{display:none}
