:root{--db-blue:#1100d9;--db-green:#099cab;--db-peach:#ffd0a8;--ink:#17202a;--mist:#f3f7f8;--line:#d5e1e3;font-family:"Acumin Pro Wide",Arial,sans-serif;color:var(--ink);background:var(--mist)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f8fbfb 0 67%,#e8f5f6 67% 100%)}body:after{content:"";position:fixed;right:-11rem;bottom:-11rem;width:31rem;height:31rem;background:url('/assets/dbgb-huispijl-groen.png') center/contain no-repeat;opacity:.12;pointer-events:none;z-index:-1}.app-shell{max-width:1320px;margin:auto;padding:1.25rem}.brand-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 0 1.5rem;border-bottom:4px solid var(--db-blue);margin-bottom:1.35rem}.brand-lockup{display:flex;align-items:center;gap:1rem;min-width:0}.brand-logo{width:165px;height:auto;display:block}.brand-title{border-left:2px solid var(--db-peach);padding-left:1rem;line-height:1.1}.brand-title strong{display:block;color:var(--db-blue);font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}.brand-title span{display:block;color:#50616b;margin-top:.25rem;font-size:.9rem}.identity{font-size:.9rem;color:#40515a;text-align:right}.hidden{display:none!important}.panel{position:relative;background:#fff;border:1px solid #e1eaec;border-radius:0;padding:1.35rem;box-shadow:0 8px 28px #17212b12}.panel:before{content:"";display:block;width:52px;height:5px;background:var(--db-green);margin-bottom:1rem}.panel h1{color:var(--db-blue);font-size:1.45rem;letter-spacing:.02em;margin:0 0 1rem}.panel h2{color:#183c64}.pos-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:1.25rem}.toolbar{display:flex;gap:.7rem;align-items:end;margin-bottom:1.25rem;flex-wrap:wrap}.toolbar label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#3d5260}.toolbar select{margin-top:.3rem;min-width:145px}input,select,button,.button{font:inherit;padding:.72rem .8rem;border:1px solid #b7c8cc;border-radius:0}input,select{width:100%;background:#fff}input:focus,select:focus{outline:3px solid #099cab33;border-color:var(--db-green)}button,.button{cursor:pointer;background:var(--db-green);color:#fff;border-color:var(--db-green);font-weight:700;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;min-height:2.7rem}.button:hover,button:hover{background:#087e8b;border-color:#087e8b}.secondary{background:#fff;color:var(--db-blue);border-color:var(--db-blue)}.secondary:hover{background:var(--db-blue);color:#fff;border-color:var(--db-blue)}.catalogue{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:1rem}.product{display:flex;flex-direction:column;gap:.45rem;text-align:left;background:#fff;color:var(--ink);border-color:#cfdee1;border-top:5px solid var(--db-green)}.product:hover{background:#eaf7f8;color:var(--ink);border-color:var(--db-green)}.product small,.muted{color:#60727b}.cart{border-top:6px solid var(--db-blue)}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;padding:.8rem 0;border-bottom:1px solid #e3e8eb}.cart-line button{padding:.25rem .45rem;min-height:auto}.student{grid-column:1/-1;background:#fff7f1;color:#71400e;border-color:var(--db-peach);text-align:left}.total{display:flex;justify-content:space-between;font-size:1.25rem;padding:1rem 0;color:var(--db-blue)}.cart label{display:block;margin:.75rem 0;font-weight:700}.student-dialog{min-width:min(500px,90vw);border:0;box-shadow:0 18px 60px #0004;padding:1.4rem}.student-dialog::backdrop{background:#1100d955}#student-results{max-height:310px;overflow:auto;margin:1rem 0}.student-result{display:block;width:100%;margin:.35rem 0;text-align:left;background:#fff;color:var(--ink);border-color:#bcc7cf}form{display:grid;gap:.65rem;margin:0 0 1.5rem}h2{font-size:1.05rem;margin:0}hr{border:0;border-top:2px solid var(--db-peach);margin:1.5rem 0}#script-error{white-space:pre-wrap;background:#fff0f0;color:#9a2222;padding:1rem;border:1px solid #e6bbbb}@media(max-width:780px){body:after{width:19rem;height:19rem;right:-8rem;bottom:-7rem}.app-shell{padding:.85rem}.brand-header{align-items:flex-start}.brand-logo{width:115px}.brand-title{padding-left:.65rem}.brand-title strong{font-size:1rem}.identity{font-size:.75rem}.pos-grid{grid-template-columns:1fr}}
