@charset "UTF-8";
:root{font-family:"Yu Gothic UI","Meiryo",system-ui,sans-serif;color:#213640;background:#f3f5f4;font-synthesis:none;--green:#246553;--muted:#617077;--border:#dce3df}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--border);border-radius:7px;background:white;color:#213640;padding:10px 16px;font-weight:600}button:hover{background:#e9efeb}button:disabled{cursor:default;opacity:.65}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#174b3c}a{color:#246553}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:.04em;margin-bottom:10px}h2{font-size:18px}h3{font-size:15px}p{line-height:1.8}.muted,small{color:var(--muted)}small{line-height:1.6}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:#122c38;color:#dfebe9;padding:35px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:29px;font-weight:700;letter-spacing:.09em;color:white}.brand span{color:#83c8b6}.brand-sub{font-size:10px;letter-spacing:.22em;color:#c1d4d4;margin:8px 0 35px}.company{padding:17px 12px;background:#203e49;border-radius:8px;font-size:13px;margin-bottom:25px}.company small{color:#c1d4d4}.nav{display:grid;gap:6px}.nav button{display:flex;gap:14px;text-align:left;color:#cad9db;background:transparent;border:0;padding:13px 12px;font-size:13px;font-weight:500}.nav button.active{background:#315649;color:white}.nav button:hover{background:#284550}.nav .symbol{width:18px;opacity:.9}.side-footer{margin-top:auto;font-size:11px;color:#b7cacc;line-height:1.9;padding:20px 10px 0}.main{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:12px}.topbar .right{display:flex;align-items:center;gap:14px}.avatar{display:grid;place-items:center;border-radius:50%;height:33px;width:33px;background:#e7eeea;color:#326452}.content{padding:35px 40px;max-width:1500px;margin:0 auto}.eyebrow{font-size:10px;letter-spacing:.16em;color:#61756e;font-weight:700;margin-bottom:13px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.heading p{font-size:13px;margin-bottom:0;color:#617077}.badge{font-size:11px;padding:5px 9px;background:#e9f0eb;color:#235543;border-radius:5px;display:inline-block}.badge.amber{background:#fcf0d8;color:#785315}.notice{border:1px solid #e6dcc6;background:#fffaf0;padding:15px 19px;font-size:12px;line-height:1.8;border-radius:8px;margin-bottom:24px}.notice strong{color:#725019}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric,.card{background:#fff;border:1px solid var(--border);border-radius:10px}.metric{padding:21px}.metric .label{font-size:12px;color:#617077}.metric .value{font-size:29px;letter-spacing:-.03em;font-weight:650;margin:16px 0 10px}.metric .value small{font-size:13px;margin-left:5px;font-weight:400}.metric .foot{font-size:10px;color:#617077}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.card{padding:24px;margin-bottom:22px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.card-header h2{margin:0}.task{display:flex;gap:12px;border-top:1px solid #eef1ef;padding:17px 0}.task:first-of-type{border-top:0}.task-dot{width:22px;height:22px;flex-shrink:0;border:1px solid #d6dfd8;border-radius:6px;display:grid;place-items:center;color:#8b6a27;font-size:12px}.task h3{margin-bottom:5px;font-size:13px}.task p{font-size:11px;color:var(--muted);margin:0}.task button{font-size:11px;margin-left:auto;white-space:nowrap;align-self:center}.empty{text-align:center;padding:30px 10px;color:#617077;font-size:13px;line-height:1.9}.empty-icon{font-size:27px;color:#638174;margin-bottom:10px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick button{padding:20px 8px;text-align:left;line-height:1.8;font-size:12px;background:#f8faf8}.quick span{display:block;font-size:22px;color:#3d705c;margin-bottom:8px}.progress{height:6px;border-radius:20px;background:#e9eeeb;overflow:hidden;margin:15px 0}.progress i{height:100%;display:block;background:#43836b}.setup-layout{display:grid;grid-template-columns:220px 1fr;gap:22px}.steps{padding:15px;max-height:70vh;overflow:auto}.steps button{border:0;background:none;width:100%;text-align:left;font-size:12px;margin:3px 0}.steps button.active{background:#e5efe8;color:#174d3d}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{font-size:12px;display:block;margin-bottom:8px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #c5d0ca;background:white;border-radius:6px;color:#213640}.field textarea{min-height:95px}.field small{display:block;margin-top:5px;font-size:10px}.field .state{font-size:11px;margin-top:6px;padding:6px}.wide{grid-column:1/-1}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:24px}.actions small{margin-right:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{font-size:11px;color:#617077;background:#f7f9f6;text-align:left;font-weight:500}td,th{padding:14px 12px;border-bottom:1px solid #e9eeea}.num{text-align:right;font-variant-numeric:tabular-nums}.journal-row{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:12px;align-items:end;margin:13px 0}.journal-row button{padding:10px}.inline{display:flex;gap:10px;align-items:center}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#122c38;color:white;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.auth-story h1{font-size:40px;margin:40px 0 25px;line-height:1.6}.auth-story p{color:#bed0d1;font-size:14px}.auth-form{display:flex;align-items:center;justify-content:center;padding:30px}.auth-form .card{width:440px;padding:35px}.auth-form .fields{grid-template-columns:1fr}.auth-form h1{font-size:23px}.error{color:#a33224;font-size:13px;white-space:pre-wrap}.locked{display:grid;place-items:center;min-height:200px;background:#f7f9f7;border:1px dashed #c9d4cd;border-radius:8px;padding:30px;text-align:center}.locked p{font-size:13px;color:#617077}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#163d32;color:white;border-radius:7px;padding:12px 22px;z-index:99;max-width:90vw;box-shadow:0 6px 25px #0002}#toast:empty{display:none}.mobile-nav{display:none}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters .field{flex:1;min-width:130px}details{font-size:12px;line-height:1.9}summary{cursor:pointer}.text-button{border:0;background:transparent;padding:3px;font-size:12px;color:#246553}.guide{font-size:12px;line-height:1.9}.warn-text{color:#825c20}.status-save{color:#28624b;font-size:12px}.audit{overflow-wrap:anywhere}input[type=checkbox]{width:auto}.totals{border-top:2px solid #b9cbc0;font-weight:700}.phase-list{display:grid;gap:12px}.phase-list div{padding:15px;border:1px solid var(--border);border-radius:7px;font-size:13px}.chart{height:120px;display:flex;align-items:flex-end;gap:15px;border-bottom:1px solid var(--border);margin:20px 0}.chart div{flex:1;background:#e5eee7;min-height:3px;position:relative}.chart small{position:absolute;top:-22px;font-size:9px;width:100%;text-align:center}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.content{padding:25px}.topbar{padding:0 25px}.shell{grid-template-columns:210px 1fr}.setup-layout{grid-template-columns:160px 1fr}}
@media(max-width:740px){.shell{display:block}.sidebar{display:none}.topbar{height:60px;padding:0 18px}.topbar .right .muted{display:none}.content{padding:24px 16px 95px}.heading{align-items:flex-start;gap:10px}h1{font-size:23px}.heading button{font-size:11px;white-space:nowrap}.metrics{gap:10px}.metric{padding:16px}.metric .value{font-size:24px}.card{padding:18px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:white;border-top:1px solid var(--border);padding:7px 6px calc(7px + env(safe-area-inset-bottom));z-index:20;justify-content:space-around}.mobile-nav button{border:0;font-size:10px;background:none;padding:5px}.mobile-nav button.active{color:#1f644a;background:#eaf1ec}.mobile-nav span{display:block;font-size:18px;margin-bottom:4px}.setup-layout{display:block}.steps{display:flex;max-height:none;overflow:auto;padding:8px;margin-bottom:16px}.steps button{white-space:nowrap;width:auto}.journal-row{grid-template-columns:1fr 1fr}.journal-row .field:first-child{grid-column:1/-1}.auth{display:block}.auth-story{padding:28px}.auth-story h1{font-size:25px;margin:22px 0 10px}.auth-story p{margin:0}.auth-form{padding:20px}.auth-form .card{padding:24px}.quick{gap:8px}.quick button{font-size:11px;padding:12px 9px}.task button{padding:8px}.journal-card{border:1px solid var(--border);border-radius:7px;margin:12px 0;padding:13px}.journal-card .actions{margin-top:10px}.desktop-journals{display:none}.chart{height:80px}#toast{bottom:90px}}
@media(min-width:741px){.mobile-journals{display:none}}

.mobile-menu{display:none}.mode-notice{margin:16px 40px 0;padding:12px 16px;border:1px solid #d7dfce;background:#f6f8ed;color:#435439;font-size:13px;line-height:1.7}h1:focus{outline:none}:focus-visible{outline:3px solid #367bca;outline-offset:3px}.card,.field{min-width:0}.card p,.card td{overflow-wrap:anywhere}@media(max-width:740px){.mobile-menu{display:block;margin:12px 16px 0;border:1px solid var(--border);border-radius:8px;background:white}.mobile-menu summary{padding:12px 16px;font-size:14px;font-weight:600;min-height:44px}.mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px 14px}.mobile-menu button{min-height:44px;text-align:left;font-size:12px}.mobile-menu button[aria-current]{background:#eaf1ec;color:#1f644a}.mode-notice{margin:12px 16px 0}.topbar .right{gap:8px}.topbar .badge{font-size:10px;padding:5px}.field input,.field select,.field textarea{font-size:16px}.heading{flex-wrap:wrap}.mobile-nav button{min-height:44px}.auth-form .card{min-width:0}.metric .value{overflow-wrap:anywhere}}

.reauth-dialog{border:1px solid var(--border);border-radius:12px;padding:28px;max-width:520px;width:calc(100% - 32px);max-height:90vh;overflow:auto}.reauth-dialog::backdrop{background:#122c3880}.reauth-dialog .fields{grid-template-columns:1fr;margin-top:20px}.reauth-dialog .error:empty{display:none}
@media(max-width:740px){.topbar{padding:0 10px;font-size:10px}.topbar .right{gap:5px}.topbar .avatar{display:none}.topbar .text-button{font-size:11px}}

.opening-line{display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1fr auto;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid var(--border)}#bank-preview input,#bank-preview select{max-width:210px;padding:8px}#bank-preview .table-wrap{max-height:65vh;overflow:auto}.journal-card{border:1px solid var(--border);border-radius:8px;padding:15px;margin:12px 0;overflow-wrap:anywhere}@media(max-width:740px){.opening-line{grid-template-columns:1fr 1fr}.opening-line .field:first-child,.opening-line .field:nth-child(2){grid-column:1/-1}#bank-preview input,#bank-preview select{font-size:16px}}

/* Supplied company logo: preserve the complete artwork and its white background. */
.sidebar{overflow-y:auto}.brand{line-height:0}.brand-logo{display:block;width:112px;height:112px;object-fit:contain;background:#fff;border-radius:9px}.brand-sub{margin:12px 0 22px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.workspace-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-brand-logo{display:none}.login-brand-logo{display:block;width:112px;height:112px;object-fit:contain;margin:0 0 20px}.topbar .right{flex-shrink:0}
@media(max-width:740px){.topbar{height:68px;gap:8px}.mobile-brand-logo{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0}.topbar-left{gap:6px;flex:1}.workspace-location{max-width:150px}.topbar .right .badge{display:none}.login-brand-logo{width:104px;height:104px}}
@media(max-width:390px){.workspace-location{max-width:86px}.topbar .right .text-button{padding:10px 7px}}
