:root{--ink:#17263a;--muted:#65758a;--line:#dce5eb;--surface:#fff;--canvas:#f3f7f8;--teal:#086f61;--teal-dark:#045348;--mint:#d9efe9;--lumo-primary-color:var(--teal);--lumo-primary-text-color:var(--teal-dark);--lumo-border-radius-m:12px;--lumo-base-color:var(--surface);--lumo-font-family:"Avenir Next", "Segoe UI", sans-serif}h1,h2,h3,h4{font-weight:500}vaadin-button{border-radius:10px;min-height:42px;font-weight:600}vaadin-button.primary-action::part(button){background:var(--teal);color:#fff}vaadin-button.danger-action::part(button){color:#a8412b;background:#fff2ed}.login-page{box-sizing:border-box;background:radial-gradient(circle at 50% -15%,#ccebe2 0,#eef5f2 46%,#f7f8f7 100%);padding:clamp(20px,6vh,72px) 24px}.login-card{box-sizing:border-box;background:#fffffff5;border:1px solid #fffc;border-radius:28px;align-items:stretch;gap:20px;max-width:680px;padding:clamp(32px,6vw,56px);box-shadow:0 24px 70px #14372f24;width:min(100%,680px)!important}.login-card h1{color:var(--teal-dark);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.login-card p{color:#64736f;max-width:38rem;margin:0 0 12px;font-size:1.1rem;line-height:1.55}.login-card vaadin-text-field,.login-card vaadin-email-field,.login-card vaadin-password-field{width:100%}.login-card vaadin-button:not(.link-button){align-self:flex-start;margin-top:8px;padding-inline:24px}.login-card vaadin-button.login-submit{align-self:center}.link-button{color:var(--teal);background:0 0}.remembered-account{color:var(--teal-dark);background:#e5f4ef;border-radius:10px;padding:12px 14px;font-weight:600}.pin-keypad{grid-template-columns:repeat(3,1fr);align-self:center;gap:8px;width:100%;max-width:340px;display:grid}.pin-key{min-height:46px}.pin-clear{grid-column:span 2}.app-page,.admin-page{background:var(--canvas);color:var(--ink);min-height:100vh}.app-header,.admin-header{box-sizing:border-box;color:#fff;background:linear-gradient(115deg,#07564c,#087b6a);min-height:88px;padding:17px max(24px,50vw - 616px)}.app-brand h2,.admin-header h2{color:inherit;letter-spacing:-.02em;margin:0;font-size:1.45rem}.app-brand span{color:#bfe2da;margin-top:2px;font-size:.82rem;display:block}.admin-header p{color:#c5e7df;margin:3px 0 0;font-size:.9rem}.header-actions{gap:10px;margin-left:auto}.admin-header>vaadin-button{margin-left:auto}vaadin-button.header-action{border-radius:10px;font-weight:600}vaadin-button.admin-action{min-width:42px;padding-inline:10px}vaadin-button.admin-action,vaadin-button.back-action{--lumo-primary-color:#d9efe9;--lumo-primary-contrast-color:#07584c;--lumo-primary-text-color:#07584c}vaadin-button.logout-action{--lumo-primary-color:#174f4b;--lumo-primary-contrast-color:#fff;--lumo-primary-text-color:#fff}.inventory-workspace{box-sizing:border-box;gap:18px;max-width:1280px;margin:0 auto;padding:28px 24px 42px}.workspace-title h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3vw,2.75rem)}.workspace-title p{color:var(--muted);margin:7px 0 0}.inventory-toolbar{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:16px;justify-content:space-between;padding:16px 18px}.location-picker{min-width:240px}.material-search{min-width:220px}.material-result-count{color:var(--lumo-secondary-text-color);font-size:.875rem}.material-no-results{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:12px;width:100%;margin:0;padding:16px}.stock-grid{border:1px solid var(--line);border-radius:16px;width:100%;overflow:hidden}.stock-grid::part(header-cell){color:#395169;letter-spacing:.06em;text-transform:uppercase;background:#edf4f3;font-size:.78rem;font-weight:600}.stock-grid::part(row){background:#fff}.stock-grid::part(low-stock){color:#795500;background:#fff3cd}.stock-grid::part(emergency-stock){color:#8d2019;background:#ffe0dc}.stock-grid::part(low-stock):hover{background:#ffe7a3}.stock-grid::part(emergency-stock):hover{background:#ffc9c2}.booking-dialog::part(content){border-radius:18px;min-width:min(430px,92vw)}.booking-dialog::part(header){font-size:1.2rem;font-weight:600}.booking-dialog-body{align-items:stretch;gap:16px;padding:4px 0 8px}.booking-dialog-body>span:first-child{color:var(--muted)}.stock-preview{color:var(--teal-dark);background:#e8f5f0;border-radius:10px;padding:12px;font-weight:600;line-height:1.5}.restock-notice{color:#795500;background:#fff3cd;border:1px solid #efd287;border-radius:10px;padding:12px;line-height:1.5}.restock-heading{font-weight:600}.restock-notice p{margin:8px 0 0}.quantity-stepper{align-items:end;gap:8px}.quantity-stepper vaadin-number-field{flex:1}.quantity-stepper vaadin-button{min-width:42px}.dialog-actions{justify-content:flex-end}.admin-main{box-sizing:border-box;max-width:1280px;margin:0 auto;padding:34px 24px 80px}.admin-tabs{border-bottom:1px solid var(--line);width:100%}.admin-content{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:16px;min-height:420px;margin-top:26px;padding:30px}.admin-content h3{letter-spacing:-.025em;margin:0 0 6px;font-size:1.55rem}.admin-content h4{margin-top:34px}.admin-content>p{color:var(--muted);margin-top:0}.admin-content>vaadin-select{max-width:320px}.admin-content>vaadin-grid{border:1px solid var(--line);border-radius:12px;width:100%;margin-top:18px}.admin-content>vaadin-horizontal-layout{flex-wrap:wrap;gap:12px}.admin-content vaadin-upload{border-radius:12px;margin:12px 0}.import-template-guide{box-sizing:border-box;background:#f7fbfa;border:1px solid #d7e8e3;border-radius:12px;width:100%;padding:20px}.admin-content .import-template-guide h4{margin:0}.template-downloads{flex-wrap:wrap;gap:12px}.template-downloads a{background:var(--teal);color:#fff;border-radius:10px;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}.template-downloads a:hover{background:var(--teal-dark)}.template-downloads a:focus-visible{outline:3px solid var(--teal-dark);outline-offset:3px}.import-template-guide li{margin-block:8px}.material-list-heading{gap:6px;margin:0}.material-list-heading h3{margin:0}.material-grid,.location-grid,.employee-grid{border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}.location-create-actions{align-items:end;gap:12px}.material-edit,.material-add{color:var(--teal);min-width:38px}.material-dialog::part(content){border-radius:18px;max-width:min(960px,94vw)}.material-dialog::part(overlay){align-items:center}.material-form{box-sizing:border-box;background:#f7fbfa;border:1px solid #d7e8e3;border-radius:14px;align-items:stretch;gap:18px;max-width:1000px;padding:24px}.material-form>vaadin-horizontal-layout{flex-wrap:wrap;gap:12px}.material-form vaadin-text-field,.material-form vaadin-number-field,.material-form vaadin-select{min-width:180px}.settings-content{box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:40px 24px}.settings-card{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:16px;align-items:stretch;gap:16px;width:100%;max-width:680px;padding:30px}.settings-card h3,.settings-card p{margin:0}.settings-card p{color:var(--muted)}.settings-card vaadin-password-field{width:100%}.settings-card vaadin-button{align-self:flex-start}@media (width<=700px){.login-page{padding:16px}.login-card{border-radius:22px;gap:16px;padding:28px 22px}.login-card p{font-size:1rem}.login-card vaadin-button:not(.link-button){align-self:stretch}.app-header,.admin-header{gap:8px;min-height:auto;padding:12px 16px;align-items:center!important}.app-brand h2,.admin-header h2{font-size:1.1rem}.app-brand span,.admin-header p{display:none}.header-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px}.header-action{min-height:34px;padding-inline:9px;font-size:.75rem}.inventory-workspace{gap:14px;padding:18px 16px 28px}.workspace-title h1{font-size:1.65rem}.workspace-title p{display:none}.inventory-toolbar{flex-direction:column;padding:12px;align-items:stretch!important}.location-picker,.material-search{width:100%;min-width:0}.booking-dialog::part(content){min-width:calc(100vw - 32px)}.dialog-actions{flex-direction:column}.dialog-actions vaadin-button{width:100%}.material-dialog::part(content){box-sizing:border-box;min-width:calc(100vw - 32px);max-height:calc(100dvh - 64px);overflow:hidden}.material-dialog .material-form{box-sizing:border-box;width:100%;max-height:calc(100dvh - 250px);padding:20px 16px;overflow-y:auto}.material-dialog .material-form>vaadin-horizontal-layout{flex-direction:column;align-items:stretch;width:100%}.material-dialog .material-form vaadin-text-field,.material-dialog .material-form vaadin-number-field,.material-dialog .material-form vaadin-select{width:100%;min-width:0}.material-dialog .dialog-actions{background:var(--surface);flex:none;padding-top:12px;position:static}.admin-main{padding:22px 16px 52px}.admin-content{margin-inline:-16px;border:0;border-radius:0;min-height:0;margin-top:18px;padding:24px 16px}.admin-tabs{overflow-x:auto}.settings-content{padding:20px 16px}.settings-card{border-radius:14px;padding:22px 18px}.settings-card vaadin-button{align-self:stretch}}.emergency-notice{color:#8d2019;background:#ffe0dc;border-color:#ecaaa1}.emergency-login-list{gap:12px;max-height:55vh;margin:16px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}
