:root{--surface:#fff;--ink:#223a31;--muted:#78877f;--line:#e4ebe6;--accent:#316d52;--canvas:#f6f8f6}
body{background:var(--canvas);color:var(--ink)}main{padding:38px 42px;max-width:1680px}header{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:30px}header h1{font-size:32px;letter-spacing:-1px}header p{margin:7px 0}header>div:last-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}header>div:last-child>label{display:none}#device-select{margin:0;background:var(--surface);border-color:var(--line);font-size:13px;min-width:220px}#sidebar{background:#163b2e;width:242px;padding:30px 16px}main{margin-left:242px}nav a{transition:background .18s,transform .18s}nav a:hover{transform:translateX(3px)}nav a.active{background:#e7efe7}.panel{border:1px solid var(--line);box-shadow:0 4px 20px #163b2e04;border-radius:18px}button{font-size:11px;letter-spacing:.45px;transition:background .16s,transform .16s,box-shadow .16s}button:not(:disabled):hover{background:#25583f;box-shadow:0 4px 12px #163b2e15}button:not(:disabled):active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #86b79a;outline-offset:3px}.secondary{background:#edf3ef;color:#315742}.secondary:not(:disabled):hover{background:#dce9e0}.badge{font-size:11px;padding:9px 13px;letter-spacing:.6px}
#slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}.slot.panel{padding:0;overflow:hidden;transition:transform .2s,box-shadow .2s}.slot:hover{transform:translateY(-3px);box-shadow:0 12px 30px #163b2e0a}.slot-cover{position:relative;height:190px;background:#eef2eb;overflow:hidden}.slot-cover .product-image{width:100%;height:100%;border-radius:0;object-fit:cover}.product-placeholder{height:100%;display:grid;place-items:center;font-size:72px;color:#9ab99e;background:radial-gradient(circle at 50% 40%,#fbfcf6,#e3ecdf)}.slot-number{position:absolute;top:16px;left:16px;background:#fffdf5ed;backdrop-filter:blur(8px);padding:7px 10px;border-radius:8px;font-size:12px;font-weight:700}.stock-pill{position:absolute;right:16px;top:16px;background:#e4f2e7;color:#34704a;padding:7px 10px;border-radius:20px;font-size:11px;font-weight:600}.stock-pill.empty{background:#f4eee4;color:#967641}.slot-content{padding:20px}.slot h3{font-size:18px;letter-spacing:-.3px;margin:0 0 6px}.product-summary{font-size:13px;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px}.slot-price{font-size:23px;font-weight:650;margin:17px 0}.slot .result{min-height:34px;font-size:11px;line-height:1.5;border-top:1px solid var(--line);padding-top:12px}.slot-actions{display:flex;gap:8px}.slot-actions button{flex:1}.slot .sale{background:transparent;color:#547463;border:1px solid var(--line);font-size:10px}.slot .sale:disabled{display:none}.slot .control-hint{font-size:10px;line-height:1.4;margin:10px 0 0;min-height:14px;color:var(--muted)}.device-card button{margin-top:10px}.new-device-button{width:auto;margin:8px 0;padding:14px 22px}
.editor-dialog{border:1px solid var(--line);padding:30px;width:min(760px,calc(100% - 32px));max-height:90vh;border-radius:22px;color:var(--ink);background:var(--surface);box-shadow:0 28px 100px #10291e40;animation:modal-in .24s ease-out}.editor-dialog::backdrop{background:#142d256b;backdrop-filter:blur(5px);animation:backdrop-in .2s ease-out}.editor-dialog form{margin:0;max-width:none}.dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.dialog-heading h2{margin:0;font-size:25px;letter-spacing:-.7px}.dialog-heading .eyebrow{font-size:10px;margin-bottom:8px}.dialog-close{width:34px;height:34px;padding:0;font-size:25px;background:#edf3ef;color:#42604f;border-radius:50%;flex-shrink:0}.editor-columns{display:grid;grid-template-columns:240px 1fr;gap:26px}.photo-stage{height:230px;position:relative;display:grid;place-items:center;background:#eef3ea;border-radius:14px;overflow:hidden}.photo-stage>span{font-size:72px;color:#9ab99e}.photo-stage .product-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.editor-photo small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:12px}.editor-dialog label{display:block;font-size:12px;font-weight:600;margin-bottom:17px}.editor-dialog input,.editor-dialog select,.editor-dialog textarea{display:block;width:100%;padding:11px 12px;margin-top:7px;border:1px solid var(--line);border-radius:9px;font:inherit;background:var(--canvas);color:var(--ink);max-width:none;box-sizing:border-box}.editor-dialog textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1.3fr;gap:12px}.editor-photo .upload-label{margin-top:15px;border:1px dashed #a9c1ad;border-radius:10px;padding:12px;color:var(--accent);font-size:11px}.editor-photo input{font-size:10px;padding:0;background:none;border:0}.editor-photo button{width:100%}.dialog-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:flex;justify-content:end;gap:10px}.dialog-footer button{width:auto;padding:13px 20px}.editor-dialog .photo-feedback{font-size:12px;color:var(--accent);overflow-wrap:anywhere}.editor-dialog #edit-device-id{font-weight:600;color:var(--accent)}#device-dialog,#add-device-dialog{max-width:500px}#add-device-dialog>.dialog-close{float:right}.editor-dialog .settings-panel button{margin-top:10px}.stats .value{letter-spacing:-1px}
body.dark{--surface:#22372c;--ink:#e2eee5;--muted:#a6bdad;--line:#3b5143;--canvas:#18291f}body.dark .slot-cover,body.dark .photo-stage{background:#304939}body.dark .product-placeholder{background:radial-gradient(circle,#344e38,#24382c)}body.dark .editor-dialog input,body.dark .editor-dialog textarea,body.dark .editor-dialog select{background:var(--canvas);color:var(--ink)}body.dark .secondary{background:#344b3c;color:#cee3d4}
@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}[data-view]:not([hidden]){animation:modal-in .25s ease-out}
@media(min-width:1450px){#slots{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){#slots{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:28px}}@media(max-width:750px){main{margin-left:0;padding:76px 18px 28px}header{display:block}header>div:last-child{margin-top:18px}#slots{gap:14px}.slot-cover{height:155px}.slot-content{padding:15px}.editor-columns{grid-template-columns:1fr}.editor-photo{max-width:none}.photo-stage{height:180px}.editor-dialog{padding:22px}.slot h3{font-size:16px}.slot-price{font-size:20px}}@media(max-width:460px){#slots{grid-template-columns:1fr}.slot-cover{height:205px}.field-pair{grid-template-columns:1fr}.dialog-footer{flex-wrap:wrap}.dialog-footer button{flex:1}.editor-dialog{max-height:92vh}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0}.section-toolbar h2{margin:0}.section-toolbar p{font-size:13px}.section-toolbar button{width:auto}.catalog-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.catalog-filters>input,.catalog-filters select{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit}.catalog-filters label{font-size:13px}#catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}#catalog-grid .slot-cover{height:190px}.catalog-life,.expiry-info{font-size:12px;line-height:1.5}.bulk-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.bulk-slots label{display:flex;align-items:center;gap:8px;background:var(--canvas);padding:10px;border-radius:8px;margin:0;font-size:11px}.bulk-slots input,.editor-dialog .check-label input{width:auto;margin:0}.editor-dialog .check-label{display:flex;align-items:center;gap:8px;margin-top:18px}.catalog-link{font-size:12px;color:var(--accent)}.selected-product-description{font-size:13px}.editor-fields small{font-size:11px;color:var(--muted)}@media(max-width:1100px){#catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){#catalog-grid{grid-template-columns:1fr}.section-toolbar{align-items:start;flex-direction:column}.bulk-slots{grid-template-columns:1fr}}
.alert-nav-count{margin-left:auto;padding:3px 7px;border-radius:12px;background:#e8dfbf;color:#574925;font-size:10px;font-weight:700}.alert-nav-count.critical{background:#f0c9c1;color:#7d3023}.alert-list{display:grid;gap:14px;margin-top:24px}.alert-card{display:grid;grid-template-columns:40px 1fr auto;gap:18px;align-items:center;padding:22px;border-left:4px solid #d4a948}.alert-card.error{border-left-color:#c87566}.alert-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#faf0d9;color:#9b772f;font-weight:700}.alert-card.error .alert-symbol{background:#f8e6e1;color:#ac5848}.alert-card small{font-size:10px;letter-spacing:1px;color:var(--muted)}.alert-card h3{font-size:16px;margin:7px 0}.alert-card p{font-size:13px;margin:0;overflow-wrap:anywhere}.alert-card button{width:auto;font-size:10px}.alert-empty{padding:36px;text-align:center;color:var(--muted)}.alert-disclaimer,#alert-notification-info{font-size:12px;line-height:1.6;color:var(--muted)}.slot.alert-target{outline:3px solid #a9c3a7;outline-offset:4px}.alert-summary .panel{min-width:160px}body.dark .alert-symbol{background:#544b2d;color:#e4d599}body.dark .alert-card.error .alert-symbol{background:#51352e;color:#edb3a7}@media(max-width:700px){.alert-card{grid-template-columns:32px 1fr;padding:18px;gap:12px}.alert-card button{grid-column:2;justify-self:start}.alert-summary{flex-direction:row}.alert-summary .panel{min-width:120px}}
#report-filters label{font-size:12px;display:flex;gap:8px;align-items:center}#report-filters input{font:inherit;background:var(--surface);color:var(--ink);padding:10px;border:1px solid var(--line);border-radius:9px}#report-filters button{width:auto}.report-kpis .panel{min-width:170px}.report-chart{display:flex;align-items:end;gap:10px;height:200px;overflow-x:auto;padding:15px 0}.report-column{display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px;min-width:35px;flex:1}.report-column .chart-bar{width:100%;max-width:42px;border-radius:5px 5px 0 0;background:#8eb098}.report-column strong{font-size:11px}.report-column small{font-size:10px;white-space:nowrap;color:var(--muted)}.report-tables .panel{min-width:0}#report-info{font-size:13px;overflow-wrap:anywhere}.report-kpis{flex-wrap:wrap}@media(max-width:750px){.report-kpis{flex-direction:row}.report-kpis .panel{min-width:140px}#report-filters label{width:100%;justify-content:space-between}}
#sidebar{overflow-y:auto}#inventory-events td{vertical-align:top;min-width:85px}#inventory-events td:nth-child(4),#inventory-events td:last-child{min-width:180px;max-width:280px;overflow-wrap:anywhere}#inventory-info{font-size:13px;color:var(--muted)}.editor-fields .slot-note{font:inherit}

[hidden]{display:none!important}
#login-dialog{max-width:460px;width:calc(100% - 32px)}
#users-list input,#users-list select{width:100%;margin:8px 0;padding:10px;border:1px solid #dce5df;border-radius:8px}
#users-list input[type=checkbox]{width:auto}
#audit-list{max-height:480px;overflow:auto}

.push-kinds{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.push-kinds label{display:flex;gap:9px;align-items:center;font-size:14px}.push-actions{display:flex;flex-direction:column;gap:10px}.pwa-panel small{display:block;color:var(--muted);line-height:1.6}.pwa-panel p[role=status]{overflow-wrap:anywhere}@media(max-width:500px){.push-kinds{grid-template-columns:1fr}main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

.slot-cover .product-image,.photo-stage .product-image{object-fit:contain}
#catalog-grid .catalog-delete{width:100%;margin-top:10px;color:#a43838;border:1px solid #e9caca;background:#fff6f6}
#catalog-grid .catalog-delete:hover{background:#fbe8e8}
#catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
#catalog-grid .slot{min-width:0;display:flex;flex-direction:column}
#catalog-grid .slot-cover{height:155px;flex-shrink:0}
#catalog-grid .slot-content{padding:14px;display:flex;flex-direction:column;flex:1;min-width:0}
#catalog-grid h3{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
#catalog-grid .product-summary{font-size:12px;min-height:34px}
#catalog-grid .slot-price{font-size:19px;margin:12px 0}
#catalog-grid .catalog-life{margin:0 0 14px}
#catalog-grid .slot-actions{margin-top:auto;gap:6px;flex-wrap:wrap}
#catalog-grid .slot-actions button{min-width:0;padding:10px 7px;font-size:10px;flex:1 1 75px}
#catalog-grid .catalog-delete{padding:10px;font-size:10px}
#catalog-grid .stock-pill{max-width:calc(100% - 24px);right:12px;top:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:1600px){#catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1199px){#catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:999px){#catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){#catalog-grid{grid-template-columns:1fr}}

.climate-panel label{display:block;margin:16px 0}.climate-panel select,.climate-panel input{width:100%;padding:12px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}.climate-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0;font-size:12px;color:var(--muted)}.climate-values strong{display:block;margin-top:8px;font-size:25px;color:var(--ink)}

