:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#f8fafc;--app-bg: #f8fafc;--app-text: #0f172a;--app-muted: #475569;--surface: #ffffff;--surface-elevated: #ffffff;--border: #e2e8f0;--border-strong: #cbd5f5;--accent: #2563eb;--accent-strong: #1d4ed8;--soft-fill: #e2e8f0;--panel-shadow: 0 12px 30px rgba(15, 23, 42, .08);--card-shadow: 0 10px 20px rgba(15, 23, 42, .08)}:root.theme-dark{color-scheme:dark;--app-bg: #0b1120;--app-text: #e2e8f0;--app-muted: #94a3b8;--surface: #111827;--surface-elevated: #0f172a;--border: #1f2937;--border-strong: #334155;--accent: #60a5fa;--accent-strong: #3b82f6;--soft-fill: #1f2937;--panel-shadow: 0 16px 35px rgba(2, 6, 23, .45);--card-shadow: 0 12px 26px rgba(2, 6, 23, .4)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--app-bg);color:var(--app-text)}h1,h2,h3{margin:0 0 .5rem}p{margin:0;color:var(--app-muted)}.page{max-width:1100px;margin:0 auto;padding:3rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2rem}.auth-page{min-height:100vh;padding:3.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2.5rem;max-width:520px;margin:0 auto}.auth-page__header{text-align:center;display:flex;flex-direction:column;gap:.75rem}.auth-card{background:var(--surface);border-radius:20px;padding:2rem;box-shadow:var(--panel-shadow);display:flex;flex-direction:column;gap:1.25rem}.auth-card__subtitle{margin-top:-.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.auth-card__footer{margin-top:.5rem;font-size:.9rem;color:var(--app-muted)}.link-button{border:none;background:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline}.hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.5rem}.eyebrow{font-size:1rem;letter-spacing:.08em;color:var(--app-muted);font-weight:1000}.subtitle{max-width:520px;margin-top:.5rem}.hero__meta{background:var(--surface);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:var(--card-shadow);min-width:220px;display:grid;gap:.75rem}.panel{background:var(--surface);border-radius:20px;padding:1.5rem;box-shadow:var(--panel-shadow);display:flex;flex-direction:column;gap:1.5rem}.panel-stack{display:flex;flex-direction:column;gap:2rem}.panel__header{display:flex;flex-direction:column;gap:.5rem}.panel__header--row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.panel__actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.panel__actions input{min-width:220px}.auth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:end}label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--app-text)}input,select{border-radius:10px;border:1px solid var(--border-strong);padding:.6rem .75rem;font-size:.95rem;background:var(--surface-elevated);color:var(--app-text)}input:focus{outline:2px solid var(--accent);border-color:var(--accent)}.button{border:none;border-radius:999px;padding:.6rem 1.4rem;font-size:.95rem;font-weight:600;background:var(--accent);color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.button:disabled{opacity:.7;cursor:not-allowed}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #2563eb40}.button--ghost{background:var(--soft-fill);color:var(--app-text)}.notice{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent-strong);padding:.75rem 1rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--surface));white-space:pre-line}.notice--error{background:color-mix(in srgb,#dc2626 20%,var(--surface));border-color:color-mix(in srgb,#dc2626 50%,var(--surface));color:#dc2626}.config-list{display:flex;flex-direction:column;gap:1.25rem}.config-row{border-radius:16px;border:none;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.config-row__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.config-row__meta{font-size:.85rem;color:var(--app-muted)}.config-row__description{margin-top:.3rem;color:var(--app-muted)}.config-row__actions{display:flex;gap:.6rem}.config-row__content{display:grid;grid-template-columns:minmax(220px,1.1fr) 1fr;gap:1.5rem}.config-row__field input{width:100%}.config-row__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;font-size:.9rem;color:var(--app-text)}.config-row__label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);margin-bottom:.2rem}.text-error{color:#dc2626;font-weight:600}.text-muted{color:var(--app-muted)}.page-nav{display:flex;flex-wrap:wrap;gap:.75rem}.nav-button{border-radius:999px;border:1px solid transparent;padding:.5rem 1.2rem;background:var(--soft-fill);color:var(--app-text);font-weight:600;cursor:pointer}.nav-button.is-active{background:var(--accent);color:#fff}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:end}.form-grid--wide{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-grid__full{grid-column:1 / -1}.tablist{display:flex;gap:.5rem;flex-wrap:wrap}.tab{border-radius:999px;padding:.45rem 1.1rem;border:1px solid var(--border-strong);background:var(--soft-fill);font-weight:600;cursor:pointer}.tab.is-active{background:var(--accent-strong);color:#fff;border-color:var(--accent-strong)}.bulk-panel{border-radius:16px;border:none;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;background:var(--app-bg)}.bulk-items{display:flex;flex-direction:column;gap:1.25rem}.bulk-item{border-radius:16px;border:none;padding:1.25rem;background:var(--surface);display:flex;flex-direction:column;gap:1rem}.bulk-item__header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.bulk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.bulk-grid__full{grid-column:1 / -1}.bulk-actions{display:flex;flex-wrap:wrap;gap:.75rem}.bulk-table-wrap{border:none;border-radius:12px;overflow:hidden;background:var(--surface)}.bulk-table{width:100%;border-collapse:collapse;table-layout:fixed}.bulk-table th,.bulk-table td{border-bottom:1px solid var(--border);text-align:center;padding:.3rem;vertical-align:middle;font-size:.9rem;overflow-wrap:anywhere}.bulk-table th{font-size:.8rem;color:var(--app-muted);font-weight:600;background:color-mix(in srgb,var(--soft-fill) 55%,var(--surface))}.bulk-table tr:last-child td{border-bottom:none}.bulk-table__row--placeholder{background:color-mix(in srgb,var(--soft-fill) 35%,var(--surface))}.bulk-table__col--artist,.bulk-table__col--title{width:20%}.bulk-table__col--price{width:9%}.bulk-table__col--genre{width:13%}.bulk-table__col--condition{width:12%}.bulk-table__col--status{width:9%}.bulk-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;line-height:1.2}.bulk-status--inventory.bulk-status--queued,.bulk-status--print.bulk-status--queued,.bulk-status--print.bulk-status--pending{background:color-mix(in srgb,var(--soft-fill) 65%,var(--surface));color:var(--app-muted)}.bulk-status--inventory.bulk-status--applied,.bulk-status--print.bulk-status--printed{background:color-mix(in srgb,#10b981 20%,var(--surface));color:#065f46}.bulk-status--print.bulk-status--in-progress{background:color-mix(in srgb,#2563eb 18%,var(--surface));color:#1d4ed8}.bulk-status--inventory.bulk-status--failed,.bulk-status--print.bulk-status--failed{background:color-mix(in srgb,#dc2626 18%,var(--surface));color:#991b1b}.bulk-table__col--quantity{width:10%}.bulk-table__col--quantity input{width:6.5ch;min-width:6.5ch;margin:0 auto}.bulk-table__col--reason{width:13%}.bulk-table--remove .bulk-table__col--barcode{width:15%}.bulk-table--remove .bulk-table__col--quantity{width:10%}.bulk-table--remove .bulk-table__col--reason{width:13%}.bulk-table--remove .bulk-table__col--price{width:8%}.bulk-table--remove .bulk-table__col--artist{width:14%}.bulk-table--remove .bulk-table__col--title{width:18%}.bulk-table--remove .bulk-table__col--condition{width:10%}.bulk-table__barcode-cell{min-width:210px}.bulk-table__barcode-cell input{width:100%;min-width:0;max-width:360px;margin:0 auto}.bulk-table__barcode-value{display:inline-block;width:100%;max-width:360px;margin:0 auto;text-align:center}.bulk-table__barcode-cell .helper-text{margin-top:.3rem}.bulk-actions__clear{margin-left:auto}.bulk-table__col--actions{width:5%}.bulk-table__row-action{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:999px;background:var(--surafce, #111827);color:#dc2626;cursor:pointer}.bulk-table__row-action:hover{background:color-mix(in srgb,#dc2626 12%,var(--surface))}.bulk-table__row-action:focus-visible{outline:2px solid color-mix(in srgb,#dc2626 45%,transparent);outline-offset:2px}@media (max-width: 1200px){.bulk-table-wrap{overflow-x:auto}}@media (max-width: 800px){.bulk-table{min-width:860px}}.helper-text{margin:0;color:var(--app-muted);font-size:.9rem}.page__topbar{position:relative;display:flex;justify-content:flex-end;align-items:flex-start;min-height:42px}.back-button{position:absolute;top:0;left:0;z-index:2;border:none;background:var(--surface);color:var(--app-text);border-radius:10px;padding:.45rem .8rem;font-weight:600;cursor:pointer}.back-button:hover,.back-button:focus-visible{background:color-mix(in srgb,var(--accent) 14%,transparent);outline:none}.settings{position:absolute;top:0;right:0;z-index:2}.settings__trigger{border:none;background:var(--app-bg);color:var(--app-text);width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.settings__trigger svg{width:20px;height:20px}.settings__menu{position:absolute;right:0;margin-top:.5rem;background:var(--surface);border:none;border-radius:12px;box-shadow:var(--card-shadow);padding:.35rem;min-width:200px;display:flex;flex-direction:column;gap:.2rem;z-index:10}.settings__item{border:none;background:transparent;color:var(--app-text);text-align:center;padding:.55rem .8rem;border-radius:10px;cursor:pointer}.settings__item:hover,.settings__item:focus-visible{background:color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.users-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.users-grid__locations{display:grid;gap:.45rem}.users-grid__checkbox{display:flex;gap:.5rem;align-items:center}@media (max-width: 900px){.config-row__content{grid-template-columns:1fr}.panel__actions{width:100%;flex-direction:column;align-items:stretch}.bulk-item__header{flex-direction:column;align-items:flex-start}}.users-section{margin-top:1rem}.users-table-wrap__toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center}.users-table-wrap__left{display:flex;align-items:center;gap:.6rem;flex:1}.users-table-wrap__search{flex:1;max-width:420px}.users-table-wrap__toolbar .button{display:inline-flex;align-items:center;gap:.45rem}.users-toolbar__filters{position:relative}.users-toolbar__filter-menu{position:absolute;right:0;top:calc(100% + .45rem);width:min(280px,80vw);background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:.75rem;display:grid;gap:.55rem;z-index:10}.users-toolbar__filter-menu label{display:grid;gap:.3rem}.users-toolbar__filter-locations{display:grid;gap:.4rem}.users-toolbar__filter-locations-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--app-muted);font-size:.85rem}.users-toolbar__clear-link{border:none;background:transparent;color:var(--accent);padding:0;font-size:.8rem;cursor:pointer}.users-toolbar__clear-link:disabled{opacity:.5;cursor:default}.users-toolbar__location-trigger{width:100%;border-radius:10px;border:1px solid var(--border-strong);padding:.6rem .75rem;font-size:.95rem;background:var(--surface-elevated);color:var(--app-text);display:flex;align-items:center;justify-content:space-between;gap:.45rem}.users-toolbar__location-trigger:focus{outline:2px solid var(--accent);border-color:var(--accent)}.users-toolbar__location-options{border:1px solid var(--border);border-radius:8px;background:var(--surface);max-height:180px;overflow:auto;padding:.2rem;display:grid;gap:.2rem}.users-toolbar__location-option{border:none;background:transparent;color:var(--app-text);text-align:left;border-radius:6px;padding:.35rem .45rem}.users-toolbar__location-option:hover{background:color-mix(in srgb,var(--soft-fill) 60%,transparent)}.users-toolbar__location-option.is-selected{background:color-mix(in srgb,var(--accent) 20%,transparent)}.users-toast{position:fixed;right:1rem;bottom:1rem;border-radius:10px;padding:.6rem .8rem;border:1px solid var(--border-strong);color:var(--app-text);z-index:60}.users-toast--success{background:color-mix(in srgb,#1d4ed8 24%,var(--surface))}.users-toast--error{background:color-mix(in srgb,#dc2626 20%,var(--surface))}.users-table-wrap{margin-top:1rem;overflow:visible}.users-table-wrap__table-scroll{overflow-x:auto;overflow-y:visible;padding-bottom:3rem}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{border-bottom:1px solid var(--border);padding:.75rem;text-align:left;vertical-align:middle}.users-table__row{cursor:pointer}.users-table__row:hover{background:color-mix(in srgb,var(--soft-fill) 45%,transparent)}.users-table__status{border-radius:999px;padding:.2rem .55rem;font-size:.85rem}.users-table__status--active{background:color-mix(in srgb,#16a34a 25%,transparent);color:#16a34a}.users-table__status--disabled{background:color-mix(in srgb,#f59e0b 25%,transparent);color:#f59e0b}.users-table__icon-btn{border:none;background:transparent;border-radius:999px;padding:.35rem .7rem;color:var(--app-text);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.users-table__menu-wrap{position:relative;display:inline-flex}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.users-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617bf;display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:40}.users-modal{width:min(760px,100%);max-height:90vh;overflow:auto;border:none;border-radius:18px;background:var(--surface);padding:1.1rem}.users-modal--drawer{margin-left:auto;width:min(560px,100%);height:100vh;max-height:100vh;border-radius:16px 0 0 16px}.users-modal__header{display:flex;justify-content:space-between;gap:.75rem}.users-modal__header p{margin:.25rem 0 0;color:var(--app-muted)}.users-modal__close{width:34px;height:34px;border:none;border-radius:999px;background:transparent;color:var(--app-text)}.users-modal__form-grid{margin-top:1rem}.my-account__form{margin-top:1rem;display:grid;gap:1rem}.my-account__section{border:1px solid var(--border);border-radius:12px;padding:1rem;display:grid;gap:.75rem}.my-account__section--grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.my-account__username-help{margin:0}.my-account__username-field{gap:.5rem}.my-account__username-input-wrap{position:relative;display:block}.my-account__username-input-wrap input[disabled]{background:color-mix(in srgb,var(--soft-fill) 78%,transparent);color:color-mix(in srgb,var(--app-text) 72%,transparent);cursor:not-allowed}.users-modal__username-field{display:flex;align-items:center;gap:.45rem}.users-modal__username-field input{width:100%}.users-modal__username-input--locked{opacity:.55;cursor:not-allowed;background:color-mix(in srgb,var(--soft-fill) 70%,transparent)}.users-modal__role-field{display:flex;align-items:center;gap:.45rem}.users-modal__role-select{width:100%}.users-modal__role-select:disabled{opacity:.55;cursor:not-allowed;background:color-mix(in srgb,var(--soft-fill) 70%,transparent)}.users-modal__role-tooltip{position:relative;width:20px;height:20px;border-radius:999px;border:1px solid var(--border-strong);color:var(--app-muted);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;cursor:help;-webkit-user-select:none;user-select:none}.users-modal__role-tooltip-text{position:absolute;right:0;bottom:calc(100% + 8px);transform:none;min-width:220px;max-width:280px;padding:.45rem .55rem;border-radius:8px;background:#111827;color:#f9fafb;font-size:.76rem;line-height:1.3;box-shadow:0 10px 24px #00000040;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .12s ease;z-index:3}.users-modal__role-tooltip:hover .users-modal__role-tooltip-text{opacity:1;visibility:visible}.users-modal__password{grid-column:1 / -1}.users-modal__password-row{display:flex;gap:.5rem}.users-modal__password-row input{flex:1}.users-modal__password-input--locked{opacity:.55;cursor:not-allowed;background:color-mix(in srgb,var(--soft-fill) 70%,transparent)}.users-modal__password-row .users-modal__tiny-btn:disabled{opacity:.55;cursor:not-allowed}.users-modal__tiny-btn{width:38px;border:none;background:transparent;color:var(--app-text);border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.users-modal__locations{grid-column:1 / -1;display:grid;gap:.5rem}.users-modal__chips{min-height:38px;border:1px solid var(--border-strong);border-radius:10px;padding:.4rem;display:flex;gap:.4rem;flex-wrap:wrap}.users-modal__chip{border:none;border-radius:999px;padding:.2rem .6rem;background:var(--soft-fill);color:var(--app-text)}.users-modal__location-picker{margin-top:.15rem}.users-modal__location-options{max-height:220px}.users-modal__footer{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.users-modal__footer-left{display:flex;gap:.6rem}.users-modal__disable-btn{background:#dc2626}.users-modal__disable-btn:hover:not(:disabled){background:#b91c1c}.users-modal__enable-btn{background:#16a34a}.users-modal__enable-btn:hover:not(:disabled){background:#15803d}@media (max-width: 900px){.users-table-wrap__toolbar{flex-direction:column;align-items:stretch}.users-table-wrap__left{width:100%}.users-table-wrap__search{max-width:100%}.users-toolbar__filter-menu{position:static;width:100%;margin-top:.4rem}.users-modal--drawer{border-radius:0}}.bulk-table__quantity-input::-webkit-outer-spin-button,.bulk-table__quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bulk-table__quantity-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.inline-actions{display:flex;gap:.75rem;margin-top:1rem}.code-block{margin-top:1rem;padding:.75rem;border:1px solid var(--border-color, #d0d7de);border-radius:.5rem;background:var(--surface-muted, #f6f8fa);font-size:.75rem;overflow-x:auto}.printer-setup{gap:1rem}.printer-setup__header-actions{display:flex;align-items:center;gap:.5rem}.printer-status-pill{border-radius:999px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;letter-spacing:.03em}.printer-status-pill--ready{background:color-mix(in srgb,#16a34a 20%,var(--surface));color:#166534}.printer-status-pill--not-available{background:color-mix(in srgb,#dc2626 16%,var(--surface));color:#991b1b}.printer-status-pill--checking{background:color-mix(in srgb,#2563eb 14%,var(--surface));color:var(--accent-strong)}.printer-card{border:1px solid var(--border-strong);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.9rem}.tooltip-button{margin-left:.45rem;width:1.2rem;height:1.2rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--app-text);font-size:.75rem;line-height:1;cursor:help}.printer-table-wrap{overflow-x:auto}.printer-table{width:100%;border-collapse:collapse}.printer-table th,.printer-table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .5rem;vertical-align:middle}.printer-setup__search input{width:min(420px,100%)}.printer-footer-watermark{margin-top:.25rem;display:flex;justify-content:space-between;align-items:center;color:var(--app-muted);font-size:.8rem;border-top:1px dashed var(--border);padding-top:.75rem}.printer-template-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,320px) auto;gap:.75rem;align-items:end}.printer-template-toolbar__actions{display:flex;gap:.5rem;flex-wrap:wrap}.printer-setup__printer-selector select{min-width:220px}.printer-footer-status{color:var(--app-muted);font-weight:400}@media (max-width: 920px){.printer-template-toolbar{grid-template-columns:1fr}}.printer-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.printer-card--square{min-height:300px}@media (max-width: 920px){.printer-context-grid{grid-template-columns:1fr}}
