:root{font-family:Segoe UI,Arial,sans-serif;color:#182c3b;background:#f3f6f8;font-size:15px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:255px;background:#142d3d;color:white;position:fixed;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column}.logo{font-size:30px;font-weight:800;letter-spacing:-1px;color:#22c3aa;display:flex;align-items:center;gap:12px}.logo span{font-size:14px;letter-spacing:2px;color:inherit}.muted{color:#93aab7;font-size:13px}nav{margin-top:35px;display:grid;gap:12px}nav button{background:transparent;color:#d7e1e8;border:0;text-align:left;padding:14px 10px}.aside-bottom{margin-top:auto;display:grid;gap:15px}.aside-bottom small{color:#a9bcc6}main{margin-left:255px;width:calc(100% - 255px);padding:32px 38px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}header small{letter-spacing:2px;color:#677d8d}h1{margin:7px 0;font-size:30px}h2{font-size:19px}button{border:1px solid #d9e2e8;background:white;color:#183746;border-radius:9px;padding:11px 16px;font-size:14px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.primary{background:#087f72;color:white;border-color:#087f72}.danger{color:#aa3131;border-color:#d99}.search-panel,.panel,.cart{background:white;border:1px solid #dfe7ec;padding:24px;border-radius:15px;margin-bottom:22px}.search-row{display:flex;gap:10px;margin:10px 0 16px}.search-row input{font-size:18px}.tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}label{display:block;font-size:13px;font-weight:600;margin-bottom:12px}input,textarea{display:block;width:100%;border:1px solid #cbd7df;border-radius:8px;padding:12px;font-family:inherit;font-size:15px;margin-top:7px}input[type=checkbox]{display:inline;width:auto}small{color:#6d7e89;line-height:1.6}input:focus,textarea:focus{outline:2px solid #4eb6a8;border-color:transparent}.result-heading{display:flex;justify-content:space-between;align-items:center}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:25px}.card{background:white;border:1px solid #dee7ed;border-radius:13px;padding:20px}.card .brand{font-size:12px;font-weight:700;letter-spacing:1.5px;color:#527482}.reference{font-size:23px;font-weight:750;margin:10px 0;overflow-wrap:anywhere}.card p{font-size:14px;line-height:1.5}.badge{display:inline-block;border-radius:25px;background:#def4ec;color:#116e51;padding:5px 10px;font-size:12px;font-weight:700}.badge.empty{background:#f0f1f3;color:#7a8087}.price{font-size:22px;font-weight:700;margin:14px 0}.price small{font-size:12px;font-weight:400}.card .tools{margin-bottom:0}.cart-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf1f3;padding:12px 0}.cart-row span{flex:1}.cart-row input{width:80px}.panel{max-width:850px}.panel p{line-height:1.6;color:#627683}code{display:block;overflow-wrap:anywhere;margin:15px 0;padding:12px;background:#eef5f5}details{margin-top:22px}dialog{border:0;border-radius:16px;max-width:620px;width:95%;padding:30px;box-shadow:0 15px 80px #142d3d40}dialog::backdrop{background:#102b3ce0}#login-dialog{max-width:430px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#message{margin-bottom:16px;color:#087f72}#login-error{color:#b13232}[hidden]{display:none!important}.receipt{background:white;border:1px solid #dfe7ec;border-radius:12px;padding:20px;margin-bottom:15px}.conflict{border-top:1px solid #eee;padding:15px 0}.conflict pre{white-space:pre-wrap;font-size:12px}#total{font-weight:700;font-size:22px}@media(max-width:800px){body{display:block}aside{position:static;width:100%;padding:18px}nav{margin-top:15px;display:flex;flex-wrap:wrap;gap:3px}nav button{font-size:12px;padding:8px}.aside-bottom{display:none}main{margin:0;width:100%;padding:20px}header{align-items:flex-start}header .primary{font-size:12px;padding:10px}h1{font-size:23px}.search-row{flex-wrap:wrap}.search-row input{flex:1;min-width:180px}.search-panel{padding:18px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.result-heading{align-items:flex-start}.result-heading label{max-width:130px}}@media print{aside,header,#catalogue,#settings,button{display:none!important}main{margin:0;width:100%}.receipt{break-inside:avoid}}

.logo img{width:100%;max-width:330px;height:auto}.logo{background:white;padding:10px;border-radius:8px}.receipt-logo{display:block;width:290px;max-width:100%;margin-bottom:20px}#company-info p{margin:9px 0}

.table-panel{overflow:auto;background:white;border-radius:12px;padding:16px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:10px;text-align:left;border-bottom:1px solid #dfe7ec;white-space:nowrap}th{background:#edf5f5;position:sticky;top:0}tr:nth-child(even){background:#f6f8fa}.negative{background:#fff0d6!important}select{display:block;width:100%;padding:10px;border:1px solid #cbd7df;border-radius:8px;margin-top:7px;background:white}#management-dialog{max-width:1100px}#management-detail{overflow:auto;max-height:65vh}#operation-dialog{max-width:1000px}.operation-line{display:grid;grid-template-columns:3fr repeat(4,1fr) auto;gap:8px;margin:12px 0}aside nav{gap:3px;margin-top:15px}#management .panel{max-width:none}@media(max-width:800px){.operation-line{grid-template-columns:1fr 1fr}}@media print{#management-dialog[open]{position:absolute;inset:0;max-width:none;width:100%;box-shadow:none}body:has(#management-dialog[open]) main{display:none}#management-detail{max-height:none;overflow:visible}#management .panel{display:none}#management-results{overflow:visible}#management-results th,#management-results td{white-space:normal}}

/* Family navigation stays on the left and scrolls independently. */
aside{overflow-y:auto}aside nav{display:block}aside nav>button{display:block;width:100%;margin:4px 0}.family-navigation details{margin:5px 0;border-top:1px solid #ffffff18;padding:5px 0}.family-navigation summary{cursor:pointer;font-weight:650;color:#e5f4f6;font-size:14px;padding:10px 4px}.family-navigation button{display:block;width:100%;padding:9px 12px 9px 20px;font-size:13px;font-weight:400;border-radius:6px}.family-navigation button.selected{background:#ffffff20;color:#6be4ca}.aside-bottom{padding-top:22px;margin-top:auto}@media(max-width:800px){aside nav{display:grid;grid-template-columns:1fr}.family-navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px}.family-navigation details{margin:0}.family-navigation summary{font-size:13px}}

.accounting-navigation summary{color:#e5f4f6;cursor:pointer;font-weight:650;padding:10px 4px}.accounting-navigation button{display:block;width:100%}#family-results .panel{max-width:none}@media print{#accounting .panel button{display:none}#accounting-inventory{overflow:visible}}

.installer main{margin:20px auto;max-width:720px}.journal-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin:12px 0}#tenant{text-transform:lowercase}@media(max-width:650px){.journal-row{grid-template-columns:1fr 1fr}}

#nav-toggle{display:none}@media(max-width:800px){#nav-toggle{display:block;width:100%;margin-top:12px}aside nav,aside .aside-bottom{display:none}aside.menu-open nav{display:block}aside.menu-open .aside-bottom{display:grid}.logo img{max-width:230px}aside .logo{width:250px;max-width:100%}header{flex-wrap:wrap}}

#bank-dialog{max-width:850px}#bank-entry-list{max-height:260px;overflow:auto}#bank-entry-list input{display:inline;width:auto;margin-right:10px}
