:root{--ink:#2a2a2a;--muted:#635e55;--bg:#faf7f0;--panel:#fff;--line:#ddd2ba;--brand:#1e3a5f;--brand-deep:#0f2340;--brand-soft:#e9e0cc;--brand-tint:#dde6f2;--brand-line:#c9a961;--accent:#7d5f18;--gold:#d4af37;--gold-soft:#f7efd6;--error:#a63d40;--error-bg:#f6e4e3;--ok:#2f6b3a;--ok-bg:#e3eedc;--warn-bg:var(--gold-soft);--f-disp:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "BIZ UDPMincho", serif;font-size:15px}[data-theme=classic]{--ink:#1b2027;--muted:#5b6672;--bg:#f4f6fa;--panel:#fff;--line:#d8dee9;--brand:#082d63;--brand-deep:#082d63;--brand-soft:#e8eef8;--brand-tint:#e8eef8;--brand-line:#bccde6;--accent:#b45309;--gold:#fcd34d;--gold-soft:#fef3c7;--error:#b91c1c;--error-bg:#fee2e2;--ok:#166534;--ok-bg:#dcfce7;--f-disp:"Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", Meiryo, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);font-family:Hiragino Sans,Yu Gothic UI,Noto Sans JP,Meiryo,sans-serif;line-height:1.6}#root{min-height:100vh}a{color:var(--brand)}h1{font-size:1.25rem;font-family:var(--f-disp);letter-spacing:.01em;color:var(--brand);margin:0 0 .5rem}h2{margin:0;font-size:1.05rem}h3{margin:1rem 0 .25rem;font-size:.95rem}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidenav{background:var(--brand-deep);color:var(--panel);flex-direction:column;gap:.25rem;padding:1rem .75rem;display:flex}.sidenav .logo{border-radius:.6rem;margin-bottom:.9rem;text-decoration:none;display:block}.sidenav a.logo:hover .logo-img{filter:brightness(1.12)}.sidenav a.logo:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sidenav .logo-img{width:auto;max-width:100%;height:4.4rem;display:block}.sidenav .navgroup{color:var(--gold);opacity:1;letter-spacing:.04em;font-size:1.1rem;font-weight:700;font-family:var(--f-disp);margin-top:.9rem}.sidenav .navgroup:before{content:"■ "}.sidenav a.navlink{color:var(--panel);border-radius:6px;padding:.3rem .55rem;font-size:.92rem;text-decoration:none;display:block}.sidenav a.navlink:hover{background:#ffffff1f}.sidenav a.navlink.active{color:var(--panel);box-shadow:inset 3px 0 0 var(--gold);background:#fff3}.nav-account{border-top:1px solid #ffffff2e;margin-top:1.2rem;padding:.5rem}.nav-account .nav-email{opacity:.85;overflow-wrap:anywhere;font-size:.78rem;display:block}.nav-account button{width:100%;margin-top:.4rem}.main{min-width:0;max-width:1800px;padding:1.25rem 1.5rem 4rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.topbar .who{color:var(--muted);font-size:.85rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.login-box h1{font-family:var(--f-disp);color:var(--brand-deep);font-size:1.6rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.statgrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem}.stat .label{color:var(--muted);font-size:.78rem}.stat .value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.stat .value a{text-decoration:none}.field{flex-direction:column;gap:.2rem;margin-bottom:.7rem;display:flex}.field-label{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.field-hint{color:var(--muted);font-size:.78rem}.hint{color:var(--muted);font-size:.85rem}.consistency-detail th{white-space:normal;width:16rem}@media (width<=800px){.consistency-detail th{width:auto}}.req{color:var(--accent);border:1px solid;border-radius:4px;padding:0 .25rem;font-size:.7rem;font-style:normal}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--panel);border-radius:6px;max-width:100%;padding:.4rem .55rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}input[type=number],.num{text-align:right;font-variant-numeric:tabular-nums}.formrow{flex-wrap:wrap;gap:1rem;display:flex}.formrow .field{flex:180px;min-width:0}button.primary,button.ghost,button.danger{cursor:pointer;border:1px solid #0000;border-radius:7px;padding:.45rem 1rem}button.primary{background:var(--brand);color:var(--panel)}button:disabled,button.primary:disabled,button.ghost:disabled,button.danger:disabled{opacity:.5;cursor:not-allowed}button[aria-busy=true]{cursor:progress}button.ghost{background:var(--panel);border-color:var(--line);color:var(--ink)}button.danger{background:var(--panel);border-color:var(--error);color:var(--error)}a.read-first{color:var(--error);-webkit-text-decoration-color:var(--error);text-decoration-color:var(--error);font-weight:600}.choice-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.choice-tabs button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;padding:.35rem .9rem}.choice-tabs button.on{background:var(--brand);border-color:var(--brand);color:var(--panel)}.tablewrap{overflow-x:auto}table.data{border-collapse:collapse;background:var(--panel);width:auto;max-width:100%;font-size:.88rem}table.data caption{text-align:left;padding:.3rem 0;font-weight:700}table.data th,table.data td{border:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:.3rem .5rem}table.data th{background:var(--brand-soft);white-space:nowrap;font-weight:600}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data tr.reversed td{color:var(--muted);text-decoration:line-through}table.data tr.reversed .pill{text-decoration:none}table.data tr.reversed a{text-decoration:underline}table.data tr.total td{background:var(--brand-soft);font-weight:700}.money{font-variant-numeric:tabular-nums}.banner{border:1px solid #0000;border-radius:8px;margin:.5rem 0;padding:.6rem .9rem;font-size:.9rem}.banner-info{background:var(--brand-tint);border-color:var(--brand)}.banner-warn{background:var(--warn-bg);border-color:var(--gold)}.banner-error{background:var(--error-bg);border-color:var(--error)}.banner-success{background:var(--ok-bg);border-color:var(--ok)}.banner ul{margin:.25rem 0 0 1.2rem;padding:0}.term{border-bottom:1px dotted var(--brand);cursor:help;position:relative}.term-tip{z-index:30;background:var(--brand-deep);color:var(--panel);border-radius:6px;width:max-content;max-width:260px;padding:.35rem .6rem;font-size:.78rem;display:none;position:absolute;top:1.5em;left:0}.term:hover .term-tip,.term:focus .term-tip{display:block}.disclaimer{color:var(--muted);border-top:1px solid var(--line);margin-top:2rem;padding-top:.75rem;font-size:.78rem}.note-strong{color:var(--error);font-weight:700}.footer-links{color:var(--muted);flex-wrap:wrap;gap:.9rem;margin-top:.4rem;font-size:.78rem;display:flex}.pill{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:999px;padding:0 .55rem;font-size:.75rem;display:inline-block}.pill.warn{background:var(--warn-bg);border-color:var(--gold)}.pill.ok{background:var(--ok-bg);border-color:var(--ok)}.pill.err{background:var(--error-bg);border-color:var(--error)}.login-wrap{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-box{width:380px;max-width:96vw}.login-box h1 ruby{ruby-position:over}.login-box h1 rt{color:var(--muted);letter-spacing:.08em;font-size:.42em;font-weight:400}.wizard-steps{color:var(--muted);margin-bottom:.5rem;font-size:.8rem}ol.wizard-steps{flex-wrap:wrap;gap:.25rem .5rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}ol.wizard-steps li{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:.15rem .6rem}ol.wizard-steps li[aria-current=step]{background:var(--brand);border-color:var(--brand);color:var(--panel);font-weight:700}ol.wizard-steps li[aria-current=step]:before{content:"▶ "}.check-row{align-items:flex-start;gap:.5rem;margin:.6rem 0;display:flex}.check-row input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem;margin:.15rem 0 0}.preview-lines{background:var(--brand-soft);border:1px dashed var(--line);border-radius:8px;padding:.5rem .8rem}@media print{@page{size:A4;margin:12mm}body{background:#fff;font-size:10.5pt}.sidenav,.topbar,.no-print,.card-actions,.choice-tabs,.banner-info{display:none!important}.shell{display:block}.main{max-width:none;padding:0}.card{border:none;margin:0 0 8mm;padding:0}.tablewrap{overflow:visible}table.data{font-size:8.5pt}table.data th,table.data td{padding:1.2mm 1.8mm}table.data tr{break-inside:avoid}thead{display:table-header-group}.print-title{margin-bottom:3mm;font-size:13pt;font-weight:700;display:block!important}a{color:inherit;text-decoration:none}}.print-title{display:none}.btn-link{border:1px solid #0000;border-radius:7px;padding:.45rem 1rem;text-decoration:none;display:inline-block}.btn-link.primary{background:var(--brand);color:var(--panel)}.btn-link.ghost{background:var(--panel);border-color:var(--line);color:var(--ink)}.nav-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.nav-toggle{display:none}.nav-items{display:contents}.reauth-overlay{z-index:100;background:#00000073;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow:auto}.reauth-card{width:420px;max-width:100%}.modal-card{width:100%}.modal-card:focus{outline:none}@media (width<=800px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidenav{position:static}.nav-toggle{color:var(--ink);display:inline-block}.nav-items{flex-direction:column;display:none}.sidenav.is-open .nav-items{display:flex}.sidenav .navgroup{display:block}.main{padding:.8rem}button.primary,button.ghost,button.danger,.btn-link,.choice-tabs button,input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px}input,select,textarea{font-size:16px}.check-row{align-items:center;min-height:44px}}.login-layout{grid-template-columns:380px minmax(0,1fr);align-items:start;gap:1.25rem;padding:1rem 0;display:grid}.login-layout .login-box{width:auto}@media (width<=800px){.login-layout{grid-template-columns:1fr}}.refbox{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.25rem}.refbox-title{margin:0 0 .8rem;font-weight:700}.reflist{grid-template-columns:auto minmax(0,1fr);gap:.4rem .8rem;margin:0;display:grid}.reflist dt{color:var(--muted);font-size:.9rem}.reflist dd{margin:0}.reflist ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.reflist a{color:var(--brand)}.sidenav .navlink.is-preview{opacity:.55;cursor:default;display:block}.login-side{align-content:start;gap:1rem;display:grid}.login-side .card{margin-bottom:0}.login-col{align-content:start;gap:1rem;display:grid}.login-mascot{justify-self:center;width:100%;max-width:380px;height:auto;display:block}.md{line-height:1.75}.md h2{border-top:1px solid var(--line);margin:1.6rem 0 .4rem;padding-top:.6rem;font-size:1.05rem}.md h3{margin:1.1rem 0 .25rem;font-size:.95rem}.md h4{color:var(--muted);margin:.9rem 0 .2rem;font-size:.9rem}.md p{margin:.5rem 0}.md ul,.md ol{margin:.4rem 0 .8rem;padding-left:1.4rem}.md li{margin:.2rem 0}.md code{background:var(--brand-soft);word-break:break-all;border-radius:4px;padding:.05rem .3rem;font-size:.88em}.md blockquote{border-left:3px solid var(--line);color:var(--muted);margin:.6rem 0;padding:.4rem .9rem}.md hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}.md .tablewrap{margin:.6rem 0 1rem}details>summary{cursor:pointer;color:var(--brand);-webkit-user-select:none;user-select:none;padding:.35rem 0;font-weight:600}details[open]>summary{margin-bottom:.5rem}.skip-link{z-index:200;background:var(--brand);color:var(--panel);font:inherit;cursor:pointer;border:0;border-radius:0 0 6px;padding:.55rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{outline:2px solid var(--gold);outline-offset:-4px;left:0}.main:focus{outline:none}.effect-increase{color:var(--ok)}.effect-decrease{color:var(--muted)}.data td input[list]{min-width:12rem}.treatment-hint{margin:.6rem 0}.treatment-hint .treatments{margin:.4rem 0;padding:0;list-style:none}.treatment-hint .treatments>li{border-left:3px solid var(--line);gap:.5rem;margin-bottom:.35rem;padding:.45rem .6rem;display:flex}.treatment-hint .treatments>li.on{border-left-color:var(--ok)}.treatment-hint .treatments>li.off{opacity:.72}.treatment-hint .mark{font-weight:700}.treatment-hint .law{color:var(--muted);margin-left:.3rem;font-size:.76rem}.treatment-hint .notes{color:var(--muted);margin:.2rem 0 0;padding-left:1.1rem;font-size:.78rem}.preset-picker{margin:0 0 .8rem}.preset-buttons{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.preset-detail{border:1px solid var(--line);border-radius:6px;margin-top:.6rem;padding:.6rem .75rem}.preset-detail h3{margin:0 0 .2rem;font-size:.95rem}.preset-detail .notes{margin:.35rem 0 0;padding-left:1.1rem;font-size:.8rem}.travel-grid{gap:.35rem;margin:.5rem 0;display:grid}.travel-head,.travel-row{grid-template-columns:9.5rem 6.5rem minmax(6rem,1fr) minmax(6rem,1fr) 5rem minmax(6rem,1fr) 12rem 6.5rem minmax(8rem,1.2fr) auto;align-items:center;gap:.35rem;display:grid}.travel-head{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.2rem;font-size:.85em}.travel-row{border-bottom:1px dashed var(--line);padding:.25rem 0}.travel-row.committed{opacity:.8}.travel-row input,.travel-row select{width:100%;min-width:0}.travel-pay{gap:.2rem;display:grid}.travel-status{font-size:.85em}.travel-ops{flex-wrap:wrap;gap:.2rem;display:flex}.travel-total{font-size:1.15em;font-weight:700}@media (width<=900px){.travel-head{display:none}.travel-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;padding:.5rem}.travel-status,.travel-ops,.travel-pay{grid-column:1/-1}}.print-only{display:none}@media print{.print-only{display:block!important}}.travel-transport{flex-direction:column;gap:4px;min-width:0;display:flex}.travel-transport select{width:100%}.travel-pass-form{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex}.travel-pass-form .field{min-width:11rem}
