body { font-size: 16px; }
.demo-bar { padding: 12px 24px; color: #fff; background: #203846; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; }
.demo-bar strong { display: block; font-size: 15px; margin-bottom: 2px; }
.demo-bar span { color: #d7e3ea; }
.demo-actions { display: flex; gap: 8px; flex-shrink: 0; }
.demo-actions [hidden] { display: none !important; }
.auth-card { max-width: 480px; margin: 24px auto; padding: 32px; }
.auth-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #2f4858; color: white; font-weight: 700; margin-bottom: 20px; }
.auth-form { display: grid; gap: 16px; margin-top: 24px; }
.auth-form .btn { min-height: 46px; }
.auth-error { color: #b42318; min-height: 1.4em; margin: 0; font-size: 14px; }
@media (max-width: 600px) { .auth-card { margin: 0 auto; padding: 24px 20px; } }
.demo-actions button { padding: 8px 12px; background: transparent; color: #fff; border: 1px solid #78909e; border-radius: 7px; cursor: pointer; font-size: 14px; }
.demo-actions button:last-child { background: #fff; color: #203846; border-color: #fff; }
.demo-actions button:focus-visible { outline: 3px solid #e8bd78; outline-offset: 3px; }
.nav-item { font-size: 14px; } .brand-sub,.nav-section,.sidebar-footer { font-size: 12px; }
@media (max-width: 760px) { .demo-bar { padding: 12px 16px; align-items: flex-start; flex-direction: column; } .demo-bar span { display: block; font-size: 13px; } .demo-actions { flex-wrap: wrap; } }
.statement-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.statement-toolbar p { margin:6px 0 0; }
.statement-company { display:flex; justify-content:space-between; gap:12px; padding:2px 0 16px; }
.statement-card table { width:100%; }
.statement-card th:first-child { width:52%; }
.statement-card th:last-child { width:170px; }
.statement-card td { padding-top:10px; padding-bottom:10px; }
.statement-card .num { font-size:17px; font-variant-numeric:tabular-nums; }
.statement-actions { display:flex; justify-content:flex-end; gap:8px; }
.statement-label { white-space:normal; }
.statement-subtotal td { background:#f6f8fa; font-weight:600; }
.statement-subtotal td:first-child { padding-left:38px; }
.statement-final td { background:#eaf2ef; border-top:2px solid #6b9183; font-size:17px; }
.statement-footnote { margin:16px 0 0; color:var(--text-2); font-size:12px; line-height:1.8; }
.demo-actions a { text-decoration:none; font-size:13px; }
@media(max-width:640px){
 .statement-toolbar { align-items:flex-start; flex-direction:column; }
 .statement-toolbar .btn { width:100%; }
 .statement-company { flex-direction:column; }
 .statement-card { padding:14px; }
 .statement-card table { min-width:0; }
 .statement-card th,.statement-card td { padding-left:6px; padding-right:6px; font-size:12px; }
 .statement-card th:first-child { width:48%; }
 .statement-card th:last-child { width:80px; }
 .statement-card .num { font-size:13px; }
 .statement-subtotal td:first-child { padding-left:14px; }
 .statement-actions { flex-direction:column; gap:3px; }
 .statement-actions .btn { padding:5px 6px; font-size:11px; }
 .statement-card .small { font-size:10px; }
}
.store-select { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-2); }
.store-select select { min-width:120px; font-weight:600; }
.form-store-label { margin:0 0 16px; padding:10px 14px; border-radius:8px; background:#e8eff4; font-weight:600; }
.statement-card .amount-link,.item-report .amount-link { border:0; padding:3px 0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.statement-card .amount-link:hover,.item-report .amount-link:hover { text-decoration:underline; text-underline-offset:4px; }
.statement-card .amount-link:focus-visible,.item-report .amount-link:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.item-report .table-wrap { max-height:760px; }
.item-report table { min-width:1540px; font-variant-numeric:tabular-nums; }
.item-report th:first-child,.item-report td:first-child { position:sticky; left:0; min-width:270px; max-width:330px; white-space:normal; z-index:1; background:#fff; box-shadow:1px 0 0 #d8e0e6; }
.item-report th { z-index:2; }
.item-report th:first-child { z-index:3; background:#edf3f8; }
.item-report .item-section td { background:#e4edf5; font-weight:600; }
.item-report .item-group td { background:#f1f5f8; font-weight:600; }
.item-report .item-total td { background:#e8f2ee; font-weight:600; border-top:1px solid #94aea2; }
.item-report .item-ratio td { background:#f7f8fa; color:var(--text-2); }
.item-report .item-level-1 td:first-child { padding-left:24px; }
.item-report .item-level-2 td:first-child { padding-left:38px; }
.item-report .item-year { background:#f4f7fa; font-weight:600; }
.item-report .detail-link { white-space:normal; text-align:left; font:inherit; }
.item-report-head { flex-wrap:wrap; gap:12px; }
@media(max-width:760px){.period{flex-wrap:wrap;}.store-select{width:100%;}.store-select select{flex:1;}.item-report th:first-child,.item-report td:first-child{min-width:170px;max-width:190px;}.item-report .table-wrap{max-height:65vh;}.item-report-head .flex{width:100%;flex-wrap:wrap;}}
