:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#173044;background:#f4f7f9;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:#176b78}h1{font-size:1.55rem;margin:.1rem 0 .5rem}h2{font-size:1.1rem;margin:.1rem 0 .75rem}p{line-height:1.4;margin:.5rem 0}.muted{color:#617580}.small{font-size:.82rem}.alert{padding:.65rem .8rem;border-radius:7px;background:#fff1cf;margin:.7rem 0}.error{background:#ffe2e2}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#173044;color:#f4fbfd;display:flex;flex-direction:column;z-index:20;box-shadow:2px 0 12px #17304419}.sidebar-brand{padding:1.05rem 1rem .85rem;border-bottom:1px solid #ffffff22}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{color:#c4e5e9;margin-top:.2rem}.sidebar-nav{padding:.55rem;overflow-y:auto;flex:1}.sidebar-nav a{display:block;padding:.53rem .7rem;color:#d6e8eb;text-decoration:none;border-radius:6px;line-height:1.2}.sidebar-nav a:hover,.sidebar-nav a.active{background:#287081;color:white}.sidebar-signout{padding:.7rem;border-top:1px solid #ffffff22}.sidebar-signout button{width:100%}.menu-toggle,.sidebar-backdrop{display:none}main{margin-left:220px;max-width:1300px;padding:1rem 1.2rem 2rem}body.signed-out main{margin:6vh auto;max-width:460px;padding:1rem}section{background:white;border:1px solid #dce5ea;border-radius:9px;padding:.85rem;margin:.8rem 0;overflow-x:auto}label{display:block;font-weight:600;margin:.25rem 0;font-size:.88rem}input,select,textarea,button,.button{font:inherit;border-radius:6px}input,select,textarea{display:block;width:100%;min-height:34px;margin-top:.25rem;padding:.38rem .5rem;border:1px solid #adc0cb;background:white;color:#173044}input:focus,select:focus,textarea:focus{outline:2px solid #74bfcb;outline-offset:1px}textarea{min-height:65px}.check{display:flex;align-items:center;gap:.4rem}.check input{display:inline;width:auto;min-height:auto;margin:0}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:34px;padding:.4rem .75rem;background:#176b78;color:white;border:1px solid #176b78;text-decoration:none;cursor:pointer;white-space:nowrap}.button.secondary,button.secondary{background:white;color:#176b78;border-color:#a8c5cc}.button.danger,button.danger{background:#a63232;border-color:#a63232;color:white}.form-actions,.line-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.7rem}form>button:last-child{display:flex;margin:.7rem 0 0 auto}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.45rem .75rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.page-head h1,.page-head h2{margin:0}.item-list{display:grid;gap:.15rem}.item-row{display:flex;align-items:center;gap:.8rem;padding:.55rem .2rem;border-bottom:1px solid #e7edf0}.item-row>div:first-child{flex:1;min-width:0}.item-meta{color:#536974;font-size:.82rem;white-space:nowrap}.item-row strong{font-weight:650}.journal-line{border:1px solid #e1e8ed;background:#fcfefe;border-radius:8px;padding:.55rem .7rem;margin:.5rem 0}.line-heading{font-weight:700;color:#176b78;font-size:.85rem}.line-grid{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(105px,1fr))}.description-field{grid-column:1/-1}.journal-line input{margin-top:.2rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem}th,td{padding:.42rem .5rem;border-bottom:1px solid #e6edf0;text-align:left;vertical-align:top}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td input,td select{min-width:95px}details summary{cursor:pointer}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;margin:.8rem 0}.grid a{padding:.7rem .8rem;background:white;border:1px solid #dce5ea;border-radius:7px;text-decoration:none;font-weight:600}.narrow{max-width:460px}
@media(max-width:800px){.sidebar{transform:translateX(-105%);transition:transform .18s ease;width:min(78vw,265px)}body.menu-open .sidebar{transform:translateX(0)}.menu-toggle{display:flex;position:fixed;top:.55rem;left:.6rem;z-index:12;width:36px;height:36px;align-items:center;justify-content:center;background:#173044;font-size:1.1rem}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#0a1e2aa8;z-index:19}body.menu-open .sidebar-backdrop{display:block}main{margin-left:0;padding:3.4rem .65rem 1.5rem}.sidebar-signout button{width:100%}section{padding:.65rem;margin:.6rem 0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .5rem}.line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-name-field,.description-field{grid-column:1/-1}.journal-line{padding:.5rem}.item-row{flex-wrap:wrap}.item-meta{white-space:normal}.item-row .button{margin-left:auto}.page-head{align-items:flex-start}.page-head .button{margin-left:auto}table{font-size:.8rem}th,td{padding:.32rem .38rem}}
@media(max-width:420px){.form-grid{grid-template-columns:1fr}.line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line-grid .ledger-name-field,.line-grid .description-field{grid-column:1/-1}.item-meta{width:100%}}
.opening-list{display:grid;gap:.2rem}.opening-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(100px,1fr));align-items:end;gap:.55rem;padding:.45rem .2rem;border-bottom:1px solid #e7edf0}.opening-name strong,.opening-name span{display:block}.opening-row label{margin:0}
@media(max-width:600px){.opening-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .5rem}.opening-name{grid-column:1/-1}}
p,td,th{overflow-wrap:anywhere}
.date-control{display:block;position:relative}.date-control>input[type=text]{padding-right:2.8rem}.date-picker-trigger{position:absolute;right:.15rem;top:.35rem;width:2.2rem;height:2.1rem;min-height:0;padding:0;background:#fff;color:#176b78;border:0;font-size:1.1rem}.date-native{position:absolute!important;right:0;top:0;width:2.3rem!important;height:2.2rem!important;opacity:0;pointer-events:none;z-index:-1;margin:0!important}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #a8c5cc;border-radius:6px;color:#176b78;text-decoration:none;font-size:1rem;background:#fff}.opening-row:target{background:#e6f5f5;outline:2px solid #65adbb;scroll-margin-top:3.5rem}
.statement-mobile{display:none}.statement-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;padding:.65rem .2rem;border-bottom:1px solid #e6edf0}.statement-card>div{min-width:0}.statement-card p{margin:.22rem 0}.statement-card .icon-button{flex:0 0 29px}
@media(max-width:700px){.statement-desktop{display:none}.statement-mobile{display:block}}
.clear-opening{margin-top:.3rem;min-height:28px;padding:.2rem .45rem;font-size:.8rem}
.journal-nav{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.journal-nav .disabled{opacity:.42;cursor:default;pointer-events:none}
.daybook-mobile{display:none}.daybook-mobile details{margin-top:.35rem}.daybook-desktop details{min-width:160px;margin-top:.25rem}
@media(max-width:700px){.daybook-desktop{display:none}.daybook-mobile{display:block}}
[hidden]{display:none!important}.line-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.add-description{min-height:0;padding:0;background:transparent;border:0;color:#176b78;font-size:.8rem;text-decoration:underline}.description-field[hidden]{display:none!important}
