:root{--bg:#0f1114;--panel:#171a1f;--panel2:#1f2329;--line:#30363d;--text:#eef1f4;--muted:#9aa4af;--accent:#c26b3d;--accent2:#e1a36e;--ok:#4db27a;--warn:#d99632;--danger:#d45b5b;--shadow:0 18px 60px rgba(0,0,0,.26)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 20% -20%,#2b1b14 0,transparent 35%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:0 26px;height:72px;background:rgba(15,17,20,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Georgia,serif;font-weight:800;font-size:22px;white-space:nowrap}.brand.big{font-size:30px;justify-content:center}.brand small{display:block;font-family:Inter,sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:var(--accent2)}.brand-mark{display:inline-grid;place-items:center;border:1px solid #72503c;background:linear-gradient(145deg,#3c261c,#17191d);border-radius:9px;width:45px;height:40px;font-family:'Courier New',monospace;font-size:17px;color:#f0d3bb;box-shadow:inset 0 0 0 1px #1e110c}.topbar nav{display:flex;align-self:stretch}.topbar nav a{display:flex;align-items:center;padding:0 12px;color:var(--muted);text-decoration:none;font-size:13px;border-bottom:2px solid transparent}.topbar nav a:hover,.topbar nav a.active{color:#fff;border-color:var(--accent)}.user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.user a{color:var(--accent2)}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer}.shell{max-width:1580px;margin:0 auto;padding:30px 26px 70px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.page-head h1{font-size:34px;margin:3px 0 0}.eyebrow{margin:0;color:var(--accent2);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800}.version{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:6px 9px}.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:19px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.panel-head h2{font-size:17px;margin:0}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.panel-head a{color:var(--accent2);font-size:12px}.dashboard-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(620px,1.5fr) minmax(300px,.75fr);gap:18px}.summary-table{border:1px solid #2b3138;border-radius:10px;overflow:hidden}.summary-table>div{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;border-bottom:1px solid #2b3138}.summary-table>div:last-child{border-bottom:0}.summary-table span{color:#adb6bf;font-size:12px}.summary-table strong{font-size:15px}.lifetime-summary strong{font-size:17px}.table-wrap{overflow:auto;border:1px solid #2a2f35;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th,td{padding:10px 11px;text-align:left;border-bottom:1px solid #292e34;vertical-align:middle}th{position:sticky;top:0;background:#20242a;color:#aeb7c0;font-size:10px;text-transform:uppercase;letter-spacing:.07em;z-index:2}tr:last-child td{border-bottom:0}.model-cell{max-width:430px;overflow:hidden;text-overflow:ellipsis}.tag{display:inline-block;margin-left:6px;background:#533422;color:#f0c4a4;padding:2px 5px;border-radius:5px;font-size:9px;text-transform:uppercase}.spool-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.spool-row{display:grid;grid-template-columns:1.25fr 1fr 64px;gap:12px;align-items:center;border:1px solid #292e34;border-radius:10px;padding:12px}.spool-row span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.bar{height:7px;background:#2c3137;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.flash{padding:12px 14px;border-radius:9px;margin-bottom:14px;border:1px solid}.flash.success{background:#163525;border-color:#285e42;color:#bfe7cd}.flash.error{background:#3b1f21;border-color:#6a3438;color:#f4c2c5}.btn{appearance:none;border:1px solid #3a4149;background:#23282e;color:#fff;border-radius:8px;padding:9px 14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn:hover{filter:brightness(1.08)}.btn.primary{background:linear-gradient(180deg,#c67245,#a9552d);border-color:#d27b4d}.full-btn{width:100%}.inline-form{display:flex;gap:9px;align-items:end}.inline-form>input:first-of-type{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span2{grid-column:1/-1}.form-stack{display:grid;gap:13px}.form-stack.mini{padding-top:10px;min-width:240px}.form-stack label,.form-grid label,.sort-form label,.batch-close label{display:grid;gap:6px;color:#b7c0c9;font-size:11px}.form-stack small,.form-grid small{color:var(--muted)}input,select{width:100%;border:1px solid #3a4047;background:#111419;color:#f5f7f8;border-radius:8px;padding:10px 11px;outline:none}input:focus,select:focus{border-color:var(--accent)}input[readonly]{opacity:.78;background:#191d22}.form-action{display:flex;justify-content:flex-end;align-items:end}.form-action .btn{min-width:170px}.search-form{display:flex;gap:8px}.search-form input{min-width:260px}.sort-form select{min-width:190px}.print-entry-form{grid-template-columns:2fr .6fr 1fr 1fr}.print-entry-form .span2{grid-column:1/-1}.edit-panel{border-color:#5b4335}.table-link{color:var(--accent2);text-decoration:none;font-weight:700}.actions-cell{display:flex;align-items:center;gap:9px}.inline-delete{display:inline}.link-button{background:none;border:0;padding:0;cursor:pointer;font:inherit}.danger-text{color:#e27b7b}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row form{margin:0}.inventory-table table{min-width:1250px}.inventory-table th,.inventory-table td{padding:8px 9px}.row-warn{background:rgba(217,150,50,.07)}.action-menu{display:inline-block;position:relative;margin-right:7px}.action-menu summary{cursor:pointer;color:var(--accent2);font-weight:700;list-style:none}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open] form{position:absolute;right:0;z-index:8;background:#171b20;border:1px solid #3b424a;border-radius:10px;padding:12px;box-shadow:var(--shadow);margin-top:7px}.issue-list{margin:0;padding-left:22px;color:#f2c5c5}.issue-list li{margin:7px 0}.empty-ok{padding:14px;border:1px solid #285e42;background:#163525;border-radius:9px;color:#bfe7cd}.batch-close{display:grid;grid-template-columns:180px repeat(3,1fr) auto;gap:16px;align-items:end}.batch-close div{border-left:1px solid var(--line);padding-left:15px}.batch-close span{display:block;color:var(--muted);font-size:11px}.batch-close strong{font-size:19px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editable-table input{min-width:110px;padding:7px 8px}.editable-table td:first-child input{min-width:180px}.h2c-edit td:nth-child(2) input{min-width:160px}.h2c-edit td:nth-child(4) input{min-width:180px}.add-row-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.pill-list{display:flex;flex-wrap:wrap;gap:7px}.pill-list span{padding:6px 9px;border:1px solid #353b42;border-radius:999px;background:#12151a;color:#c6ced6;font-size:11px}.check-row{display:flex!important;grid-template-columns:18px 1fr!important;align-items:center}.check-row input{width:auto}.install-body{display:grid;place-items:center;padding:30px}.install-card,.login-card{width:min(760px,100%);background:linear-gradient(180deg,#1f2329,#171a1f);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.login-card{width:min(440px,100%)}.install-card h1,.login-card h1{text-align:center;margin:20px 0 8px}.install-card>p,.muted{text-align:center;color:var(--muted);font-size:12px}.upgrade-list{margin:22px 0;background:#12151a;border:1px solid #2d333a;border-radius:10px;padding:15px 17px}.upgrade-list ul{margin:9px 0 0;padding-left:20px;color:#c7cfd6;line-height:1.65}
@media(max-width:1250px){.dashboard-layout{grid-template-columns:1fr 1.5fr}.dashboard-layout .summary-panel:last-child{grid-column:1/-1}.topbar{gap:15px}.topbar nav a{padding:0 7px;font-size:11px}.spool-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.dashboard-layout,.grid2{grid-template-columns:1fr}.dashboard-layout .summary-panel:last-child{grid-column:auto}.print-entry-form{grid-template-columns:1fr 1fr}.topbar{height:auto;min-height:62px;flex-wrap:wrap;padding:10px 15px}.nav-toggle{display:block;margin-left:auto}.topbar nav{display:none;width:100%;flex-direction:column}.topbar nav.open{display:flex}.topbar nav a{padding:10px 4px;border-bottom:0;border-left:2px solid transparent}.user{display:none}.shell{padding:22px 13px 50px}.page-head h1{font-size:28px}.batch-close{grid-template-columns:1fr 1fr}.batch-close div{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}}
@media(max-width:620px){.form-grid,.print-entry-form{grid-template-columns:1fr}.form-grid .span2,.print-entry-form .span2{grid-column:auto}.inline-form,.search-form{flex-direction:column;align-items:stretch}.search-form input{min-width:0}.spool-list{grid-template-columns:1fr}.spool-row{grid-template-columns:1fr 70px}.spool-row .bar{grid-column:1/-1;grid-row:2}.page-head{align-items:start}.version{margin-top:5px}.batch-close{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.button-row{width:100%}.button-row .btn{width:100%}.button-row form{width:100%}}


/* Build 2.1: view-only account + cache-safe UI */
.view-badge{display:inline-flex;align-items:center;padding:2px 7px;margin-left:6px;border:1px solid var(--line);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.viewer .actions-cell{white-space:nowrap}.muted{color:var(--muted);font-size:12px}.readonly-batch{grid-template-columns:repeat(4,minmax(0,1fr))}.viewer .page-head .version{border-color:rgba(255,255,255,.13)}

/* Build 2.2 */
.readout{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg,#11161c)}
.readout span{font-size:.78rem;color:var(--muted)}.readout strong{min-height:1.35em}.money-input{display:flex;align-items:center;gap:5px;min-width:110px}.money-input input{min-width:82px;width:95px}.money-input span{color:var(--muted)}
.inline-print-row select{min-width:105px}.row-save-form{display:inline-block;margin-right:8px}.btn.small{padding:6px 10px;font-size:.8rem}.danger-zone{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.printer-row td:first-child{border-left:4px solid transparent}.printer-h2s td{background:rgba(75,145,220,.07)}.printer-h2s td:first-child{border-left-color:#4b91dc}.printer-x1c-a td{background:rgba(71,181,153,.07)}.printer-x1c-a td:first-child{border-left-color:#47b599}.printer-x1c-b td{background:rgba(141,104,205,.07)}.printer-x1c-b td:first-child{border-left-color:#8d68cd}.printer-h2c td{background:rgba(202,112,59,.07)}.printer-h2c td:first-child{border-left-color:#ca703b}
.row-warn td{background:rgba(202,112,59,.15)!important}.scope-badge{padding:0 18px 16px;color:var(--muted)}.report-scope{margin-bottom:18px}
@media(max-width:900px){.simplified-print-form .span2{grid-column:1/-1}.money-input input{width:100%}}

/* Build 2.3 — Laughing Buddha Prints rebrand */
:root{
  --bg:#fff8ef;--panel:#fffdf9;--panel2:#ffffff;--line:#eadfd2;--text:#2e2940;--muted:#746f80;
  --accent:#ff7a3d;--accent2:#db477f;--ok:#2fa66f;--warn:#e59a26;--danger:#d95565;
  --teal:#17a8a8;--jade:#3ab58e;--purple:#9b59c7;--blue:#3599d8;--pink:#ef5f7a;--gold:#f3a21a;
  --shadow:0 12px 34px rgba(100,68,35,.11);--input-bg:#fff;
}
html{background:var(--bg)}
body{background:
  radial-gradient(circle at 4% 18%,rgba(239,95,122,.10),transparent 24%),
  radial-gradient(circle at 95% 12%,rgba(23,168,168,.10),transparent 25%),
  radial-gradient(circle at 86% 86%,rgba(155,89,199,.08),transparent 26%),
  linear-gradient(180deg,#fffaf2 0%,#fffdf9 45%,#fff7ed 100%);color:var(--text)}
a{color:inherit}.shell{max-width:1600px;padding-top:28px}
.topbar{height:92px;padding:0 24px;gap:18px;background:rgba(255,253,249,.97);border-bottom:1px solid #ead8c6;box-shadow:0 5px 20px rgba(96,63,37,.08)}
.brand-image{width:205px;height:84px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}.brand-image img{display:block;width:190px;height:82px;object-fit:contain;object-position:left center}
.topbar nav{gap:4px;align-items:flex-end;height:100%;padding-top:29px}.topbar nav a{height:53px;padding:0 17px;border:1px solid transparent;border-bottom:0!important;border-radius:16px 16px 0 0;font-weight:800;color:#fff!important;box-shadow:inset 0 -4px 0 rgba(0,0,0,.07);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.topbar nav a:hover{transform:translateY(-2px);filter:brightness(1.03)}.topbar nav a.active{height:60px;box-shadow:0 -4px 18px rgba(91,55,34,.10),inset 0 -4px 0 rgba(255,255,255,.3);transform:translateY(0)}
.topbar nav .nav-prints{background:linear-gradient(180deg,#ff7188,#ef526d)}.topbar nav .nav-gallery{background:linear-gradient(180deg,#ffd34a,#efad22)}.topbar nav .nav-filament{background:linear-gradient(180deg,#25beb6,#119e9c)}.topbar nav .nav-dashboard{background:linear-gradient(180deg,#ffad27,#ef8c08)}.topbar nav .nav-models{background:linear-gradient(180deg,#b66ed1,#9654bd)}.topbar nav .nav-batches{background:linear-gradient(180deg,#4ab1e9,#268fd1)}.topbar nav .nav-settings{background:linear-gradient(180deg,#31b9a6,#13968a)}
.user{color:#5e5868;font-weight:700}.user a{color:#c75e2e;font-weight:800}.view-badge{border-color:#dfd1c5;color:#746a7e;background:#fff7ee}.nav-toggle{color:#4f4057}
.page-head{margin-bottom:20px}.page-head h1{color:#29243b;font-size:35px}.eyebrow{color:#e06b2d}.version{background:#fff;border-color:#e6d8ca;color:#7b7280}.panel{background:rgba(255,255,255,.93);border-color:#eadfd2;box-shadow:var(--shadow);border-radius:18px}.panel-head h2{color:#302a43}.panel-head p{color:var(--muted)}.panel-head a,.table-link,.action-menu summary{color:#d35c3b}
.summary-table,.table-wrap{border-color:#eadfd2;background:#fff}.summary-table>div{border-color:#efe5dc}.summary-table span{color:#746f80}.summary-table strong{color:#2e2940}table{color:#302b3f}th,td{border-color:#eee4db}th{background:#faf4ed;color:#655e72}tbody tr:hover td{background:#fffaf4}
input,select{background:#fff;color:#302b3f;border-color:#d9cec2}input:focus,select:focus{border-color:#26a7a5;box-shadow:0 0 0 3px rgba(38,167,165,.10)}input[readonly]{background:#f3fbfa;color:#246f72;opacity:1}.form-stack label,.form-grid label,.sort-form label,.batch-close label{color:#5f596c}.form-stack small,.form-grid small{color:#7d7584}.readout{background:#f0fbfa;border-color:#cbeae7}.readout span{color:#6f7380}.readout strong{color:#167d7e}.btn{background:#fff;border-color:#ddd1c5;color:#42394a}.btn.primary{background:linear-gradient(180deg,#ff9b1d,#f07913);border-color:#e4760d;color:#fff}.btn:hover{filter:brightness(1.02);transform:translateY(-1px)}
.flash.success{background:#edf9f2;border-color:#b9e5cb;color:#226746}.flash.error{background:#fff0f2;border-color:#efc4cb;color:#963c4b}.bar{background:#eee6df}.bar i{background:linear-gradient(90deg,#ff7a3d,#ef5f7a)}
.action-menu[open] form{background:#fff;border-color:#e4d8cd;color:#302b3f}.issue-list{color:#9a4050}.empty-ok{background:#edf9f2;border-color:#b9e5cb;color:#226746}.pill-list span{border-color:#ddd1c5;background:#fff9f2;color:#554e5f}.install-body{background:linear-gradient(140deg,#fff7ec,#fef2f7 55%,#edfafa)}.install-card,.login-card{background:rgba(255,255,255,.96);border-color:#e6d9cc;color:#302b3f}.upgrade-list{background:#fff9f2;border-color:#e6d9cc}.upgrade-list ul{color:#5d5667}.login-logo{text-align:center}.login-logo img{width:230px;max-width:70%;height:auto}.install-card .brand-image{margin:auto}

/* Dashboard */
.dashboard-cards{display:grid;grid-template-columns:1.05fr .9fr 1.15fr;gap:18px}.dashboard-cards .panel{margin-bottom:0}.accent-orange{border-top:5px solid #ff8a32}.accent-teal{border-top:5px solid #18aaa6}.accent-pink{border-top:5px solid #ee5f80}.compact-spools{display:grid;gap:9px}.compact-spool{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr 68px;align-items:center;gap:10px;padding:9px 10px;border:1px solid #eee3da;border-radius:12px;background:#fffaf6}.compact-spool small{display:block;color:var(--muted);margin-top:2px}.compact-spool b{text-align:right}.insights-panel{margin-top:18px}.scope-tabs{display:flex;gap:0;border:1px solid #ddd1c5;border-radius:12px;overflow:hidden;background:#fff}.scope-tabs a{padding:9px 17px;text-decoration:none;color:#625b6b;font-weight:800}.scope-tabs a.active{background:#159f9d;color:#fff}.scope-note{margin:-4px 0 16px;color:var(--muted);font-size:12px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.insight-card{border:1px solid #eadfd2;border-radius:15px;padding:15px;background:#fff}.insight-card h3{margin:0 0 12px;font-size:18px}.designer-card h3{color:#8f4cbd}.printer-card h3{color:#2387c5}

/* Model picker */
.model-native-select{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.model-picker{position:relative}.model-picker-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border:1px solid #d8cdc1;border-radius:10px;background:#fff;color:#302b3f;font:inherit;cursor:pointer;text-align:left}.model-picker-trigger:hover,.model-picker.open .model-picker-trigger{border-color:#1aa7a5;box-shadow:0 0 0 3px rgba(26,167,165,.09)}.model-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:50;background:#fff;border:1px solid #dacfc4;border-radius:14px;box-shadow:0 20px 50px rgba(62,47,40,.20);overflow:hidden}.model-picker-search{padding:10px;background:#fff9f2;border-bottom:1px solid #eadfd2}.model-picker-search input{padding:9px 10px}.model-picker-grid{display:grid;grid-template-columns:90px minmax(260px,420px) 90px 105px 90px;gap:10px;align-items:center;justify-content:start}.model-picker-head{padding:9px 12px;background:#f5efe8;color:#6b6471;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.model-picker-options{max-height:420px;overflow:auto}.model-picker-option{width:100%;border:0;border-bottom:1px solid #eee5dc;background:#fff;padding:9px 12px;color:#352f40;text-align:left;font:inherit;cursor:pointer}.model-picker-option:hover,.model-picker-option.selected{background:#eefafa}.model-picker-option[hidden]{display:none}.picker-printer{font-weight:900;color:#197f83}.picker-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-batch{display:inline-flex;justify-content:center;justify-self:start;padding:4px 7px;border-radius:999px;background:#fff0dc;color:#b96816;font-weight:900;font-size:11px}.model-picker-label small{display:block;margin-top:6px}

/* Filament inventory — each printer lives in its own visual box */
.filament-overview{margin-bottom:14px}.printer-inventory-stack{display:grid;gap:16px}.printer-inventory-box{border-radius:18px;border:1px solid #e4d8cd;background:#fff;box-shadow:var(--shadow);overflow:hidden}.printer-box-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.06)}.printer-box-head>div{display:flex;align-items:center;gap:9px}.printer-box-head h2{margin:0;font-size:20px}.printer-box-head p{margin:0;color:#665f70;font-size:12px;font-weight:700}.printer-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.printer-inventory-box .table-wrap{border:0;border-radius:0}.printer-inventory-box .inventory-table table{min-width:1120px}.printer-box-h2s{border-color:#a8d9ee}.printer-box-h2s .printer-box-head{background:linear-gradient(90deg,#e8f7ff,#f8fdff)}.printer-box-h2s .printer-dot{background:#3599d8}.printer-box-x1c-a{border-color:#a7e2cf}.printer-box-x1c-a .printer-box-head{background:linear-gradient(90deg,#e9fbf4,#fbfffd)}.printer-box-x1c-a .printer-dot{background:#35ad86}.printer-box-x1c-b{border-color:#d6bcea}.printer-box-x1c-b .printer-box-head{background:linear-gradient(90deg,#f5ecfc,#fffaff)}.printer-box-x1c-b .printer-dot{background:#9b59c7}.printer-box-h2c{border-color:#f0bd9c}.printer-box-h2c .printer-box-head{background:linear-gradient(90deg,#fff0e4,#fffaf6)}.printer-box-h2c .printer-dot{background:#ff7a3d}.row-warn td{background:#fff1dc!important}

@media(max-width:1250px){.dashboard-cards{grid-template-columns:1fr 1fr}.dashboard-cards .accent-pink{grid-column:1/-1}.topbar{gap:10px}.brand-image{width:175px}.brand-image img{width:165px}.topbar nav a{padding:0 11px;font-size:11px}.model-picker-grid{grid-template-columns:75px minmax(230px,360px) 80px 95px 75px;justify-content:start}}
@media(max-width:900px){.dashboard-cards,.insight-grid{grid-template-columns:1fr}.dashboard-cards .accent-pink{grid-column:auto}.topbar{height:auto;min-height:76px;align-items:center;padding:8px 13px}.brand-image{height:64px;width:150px}.brand-image img{width:145px;height:62px}.topbar nav{padding-top:0;align-items:stretch;gap:5px}.topbar nav a,.topbar nav a.active{height:auto;border-radius:10px;padding:11px 12px}.model-picker-grid{grid-template-columns:72px minmax(200px,300px) 72px 86px 72px;justify-content:start}.model-picker-menu{position:fixed;left:12px;right:12px;top:120px;max-height:70vh}.model-picker-options{max-height:55vh}}
@media(max-width:620px){.scope-tabs{width:100%}.scope-tabs a{flex:1;text-align:center}.compact-spool{grid-template-columns:1fr 65px}.compact-spool .bar{grid-column:1/-1;grid-row:2}.model-picker-head{display:none}.model-picker-option{grid-template-columns:1fr 70px;gap:5px}.model-picker-option span:nth-child(1){grid-column:1}.model-picker-option .picker-file{grid-column:1/-1}.model-picker-option span:nth-child(4),.model-picker-option span:nth-child(5){font-size:11px}.printer-box-head{align-items:flex-start;flex-direction:column;gap:5px}}
.brand-image{width:225px;height:84px;gap:8px;overflow:visible;font-family:inherit}.brand-image img{width:78px;height:64px;object-fit:contain;object-position:center}.brand-words{display:grid;line-height:.9}.brand-words b,.brand-words strong{font-family:Georgia,serif;font-size:21px;letter-spacing:-.02em}.brand-words b{color:#5a285f}.brand-words strong{color:#e55e45;font-size:23px}.brand-words small{font-family:Inter,sans-serif;color:#138e91!important;font-size:10px!important;letter-spacing:.24em!important;text-transform:uppercase;margin-top:5px}
@media(max-width:1250px){.brand-image{width:190px}.brand-image img{width:64px}.brand-words b{font-size:18px}.brand-words strong{font-size:20px}}
@media(max-width:900px){.brand-image{width:165px;height:64px}.brand-image img{width:56px;height:54px}.brand-words b{font-size:16px}.brand-words strong{font-size:18px}.brand-words small{font-size:8px!important}}

/* Build 2.4 — floating brand + page-family color washes */
body.page-prints{background:linear-gradient(135deg,#fff5f7 0%,#fffaf8 48%,#fff1f2 100%)}
body.page-gallery{background:linear-gradient(135deg,#fff9e9 0%,#fffdf8 48%,#f6f0ff 100%)}
body.page-filament{background:linear-gradient(135deg,#effcfa 0%,#fbfffe 48%,#eaf9f7 100%)}
body.page-dashboard{background:linear-gradient(135deg,#fff7ed 0%,#fffdf8 48%,#fff2e7 100%)}
body.page-models{background:linear-gradient(135deg,#faf4ff 0%,#fffafd 48%,#f5ecfb 100%)}
body.page-batches{background:linear-gradient(135deg,#f1f9ff 0%,#fbfdff 48%,#eaf5fc 100%)}
body.page-settings{background:linear-gradient(135deg,#effcf8 0%,#fbfffd 48%,#eaf8f2 100%)}
body.page-dashboard .shell,body.page-prints .shell,body.page-gallery .shell,body.page-filament .shell,body.page-models .shell,body.page-batches .shell,body.page-settings .shell{position:relative}
.topbar{height:84px;padding-left:176px;overflow:visible;position:sticky;top:0}
.brand-floating{position:absolute;left:22px;top:6px;width:132px;height:auto;z-index:30;display:block;text-decoration:none;overflow:visible}
.brand-floating img{display:block;width:132px;height:auto;max-width:none;object-fit:contain}
/* Deliberately no drop shadow on the floating logo. */
.shell{padding-top:86px}
.scope-tabs,.scope-note{display:none!important}
@media(max-width:1250px){.topbar{padding-left:154px}.brand-floating{left:18px;width:116px}.brand-floating img{width:116px}.shell{padding-top:70px}}
@media(max-width:900px){.topbar{padding-left:120px;min-height:76px}.brand-floating{left:12px;top:5px;width:92px}.brand-floating img{width:92px}.shell{padding-top:42px}.nav-toggle{margin-left:0}}
@media(max-width:620px){.topbar{padding-left:100px}.brand-floating{width:78px}.brand-floating img{width:78px}.shell{padding-top:34px}}


/* Build 2.7 — Gallery, filters, header clearance and temporary spool swaps */
.print-filter-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.print-filter-form label{min-width:170px}.print-filter-form select{min-width:170px}
.gallery-toolbar{margin-bottom:18px}.gallery-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.gallery-filters label{display:grid;gap:6px;color:#5f596c;font-size:11px}.gallery-filters select{min-width:150px}.gallery-filters input{min-width:220px}
.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:24px}.gallery-card{display:block;text-decoration:none;background:#fff;border:1px solid #e2d7cc;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(90,65,48,.10);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.gallery-card:hover{transform:translateY(-3px);border-color:#f0af47;box-shadow:0 12px 30px rgba(90,65,48,.16)}.gallery-card img,.gallery-placeholder{display:block;width:100%;aspect-ratio:1.44/1;object-fit:contain;background:linear-gradient(180deg,#f7f7f7,#f1f1f1)}.gallery-placeholder{display:grid;place-items:center;color:#9b929c;font-size:12px}.gallery-card-name{padding:12px 13px 14px;color:#332d3d;font-weight:850;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid #eee4db}
.temporary-swap-menu summary{color:#8b4ec1}.temp-swap-btn{background:linear-gradient(180deg,#b66ed1,#9654bd)!important;color:#fff!important;border-color:#8b4eb5!important}.mini-help{font-size:10px;line-height:1.45;color:#776d7f;margin:0;max-width:280px}.change-kind{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900}.change-kind.temporary{background:#f3e8fb;color:#884cae}.change-kind.new-spool{background:#e8f7ff;color:#277aa7}
@media(max-width:1250px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-filters{width:100%}.gallery-filters label{flex:1;min-width:145px}}
@media(max-width:620px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-card-name{font-size:12px;padding:9px 10px}.gallery-filters{display:grid;grid-template-columns:1fr}.gallery-filters input,.gallery-filters select{min-width:0}.print-filter-form{width:100%;display:grid;grid-template-columns:1fr 1fr}.print-filter-form label{min-width:0}.print-filter-form select{min-width:0}}

/* Build 2.8 */
.flash.warning{background:#fff7df;border-color:#efcf76;color:#855d05}
.print-actions{gap:10px;flex-wrap:wrap}.print-actions .btn{min-width:145px}
@media(max-width:620px){.print-actions{width:100%}.print-actions .btn{flex:1;min-width:0}}


/* Build 3.1 — full-screen spool editor + shared H2S/X1C batch counts */
body.spool-modal-open{overflow:hidden}
body.spool-modal-open::before{
  content:"";position:fixed;inset:0;background:rgba(46,41,64,.34);backdrop-filter:blur(2px);
  z-index:9998
}
.spool-modal-form{
  position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;z-index:9999!important;
  width:min(440px,calc(100vw - 32px))!important;min-width:0!important;max-height:calc(100vh - 48px)!important;
  overflow:auto!important;margin:0!important;padding:22px!important;
  background:#fff!important;border:1px solid #e4d8cd!important;border-radius:18px!important;
  box-shadow:0 24px 70px rgba(61,45,69,.26)!important;color:#302b3f!important
}
.spool-modal-form::before{
  content:attr(data-modal-title);display:block;font-weight:900;font-size:18px;color:#302a43;
  margin:0 34px 4px 0
}
.spool-modal-form .spool-modal-close{
  position:absolute;top:12px;right:12px;width:34px;height:34px;padding:0;border-radius:999px;
  border:1px solid #ddd1c5;background:#fff;color:#5a5262;font-size:22px;line-height:1;cursor:pointer
}
.spool-modal-form .spool-modal-close:hover{background:#fff6ef}
.spool-modal-form label{color:#5f596c!important}
.spool-modal-form input,.spool-modal-form select{background:#fff!important;color:#302b3f!important;border-color:#d9cec2!important}
.spool-modal-form .mini-help{max-width:none}
@media(max-width:620px){
  .spool-modal-form{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;padding:18px!important}
}
