/* =====================================================================
   PrintStock v1.2 — printer master, models, assignments, employees
   + new layouts (floating) and card styles (neo, accent)
   ===================================================================== */
.mt{margin-top:12px}.mb{margin-bottom:10px}.m0{margin:0}.grow{flex:1;min-width:0}.pad-x{padding:0 var(--pad) var(--pad)}
.seg-wrap .seg-opt{flex:1 1 auto}

/* ---------- Floating sidebar layout ---------- */
.layout-floating{--sb-w:262px}
.layout-floating .sidebar{margin:14px 0 14px 14px;height:calc(100vh - 28px);top:14px;border-radius:calc(var(--radius) * 1.4);border:0;
  box-shadow:0 30px 60px -30px rgba(15,23,42,.55),0 0 0 1px color-mix(in srgb,var(--sb-text) 8%,transparent)}
.layout-floating .topbar{margin:14px 14px 0;border-radius:calc(var(--radius) * 1.1);border:1px solid var(--border);top:14px;box-shadow:var(--shadow)}
.layout-floating .content{padding-top:20px}
.layout-floating .sb-link{border-radius:999px}
@media (max-width:992px){.layout-floating .sidebar{margin:0;height:100vh;top:0;border-radius:0}.layout-floating .topbar{margin:0;border-radius:0;top:0}}

/* ---------- Card styles ---------- */
.card-neo{--neo-shadow:9px 9px 22px color-mix(in srgb,var(--text) 13%,transparent),-9px -9px 22px color-mix(in srgb,#fff 85%,transparent)}
.card-neo .card:not(.hero){box-shadow:var(--neo-shadow);border:0;background:var(--card)}
.card-neo .btn-ghost,.card-neo .icon-btn{box-shadow:4px 4px 10px color-mix(in srgb,var(--text) 10%,transparent),-4px -4px 10px color-mix(in srgb,#fff 80%,transparent);border-color:transparent}
.card-neo.theme-dark{--neo-shadow:8px 8px 20px rgba(0,0,0,.55),-6px -6px 16px color-mix(in srgb,#fff 5%,transparent)}
.card-neo .stat-strip{box-shadow:var(--neo-shadow)}
.card-accent .card:not(.hero){border-top:3px solid var(--primary);box-shadow:var(--shadow)}
.card-accent .kpi:nth-child(2){border-top-color:#10b981}.card-accent .kpi:nth-child(3){border-top-color:#f59e0b}.card-accent .kpi:nth-child(4){border-top-color:var(--accent)}.card-accent .kpi:nth-child(5){border-top-color:#a855f7}
.card-accent .stat-strip{border-top:3px solid var(--primary)}

/* theme editor preview + gallery thumbnails for new options */
.tp[data-layout=floating] .tp-side{margin:8px 0 8px 8px;border-radius:12px}
.tp[data-card=neo] .tp-card{box-shadow:5px 5px 12px color-mix(in srgb,var(--tp-text) 14%,transparent),-5px -5px 12px color-mix(in srgb,#fff 80%,transparent);border-color:transparent}
.tp[data-card=accent] .tp-card{border-top:3px solid var(--tp-p)}
.theme-thumb.layout-floating .tt-side{margin:7px 0 7px 7px;border-radius:8px}
.theme-thumb.tcard-accent .tt-cards i,.theme-thumb.tcard-accent .tt-block{border-top:3px solid var(--t-p,#1d4ed8)}
.theme-thumb.tcard-neo .tt-cards i,.theme-thumb.tcard-neo .tt-block{box-shadow:3px 3px 7px rgba(0,0,0,.12),-3px -3px 7px rgba(255,255,255,.8)}
.theme-thumb.tcard-glass .tt-cards i,.theme-thumb.tcard-glass .tt-block{opacity:.8}

/* ---------- Pickers (model <-> cartridge) ---------- */
.model-picks{display:flex;flex-wrap:wrap;gap:8px;font-weight:400}
.model-picks.big{max-height:360px;overflow:auto;padding:4px;border:1px solid var(--border);border-radius:var(--radius)}
.pick-group{flex-basis:100%;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:8px 4px 0}
.pick{position:relative;display:inline-flex}
.pick input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;margin:0}
.pick>span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid var(--border);border-radius:999px;font-size:12.5px;background:var(--card);transition:all .15s}
.pick input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}
.pick input:checked+span::before{content:"✓";font-weight:800}
.pick input:focus-visible+span{box-shadow:var(--ring)}

/* ---------- Printer models grid ---------- */
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap)}
.model-card{display:flex;flex-direction:column;gap:12px;padding:18px;color:var(--text);text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.model-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.mc-top{display:flex;gap:12px;align-items:center}.mc-top small{display:block;font-size:11.5px}.mc-top b{display:block;font-size:15px;line-height:1.25}
.mc-tags{display:flex;gap:6px;flex-wrap:wrap}
.mc-carts{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.mc-stats{display:flex;gap:6px;border-top:1px dashed var(--border);padding-top:10px}
.mc-stats span{flex:1;text-align:center;font-size:11.5px;color:var(--muted)}.mc-stats b{display:block;font-size:18px;color:var(--text)}

/* ---------- Assignment timeline ---------- */
.asg-timeline{padding:4px var(--pad) var(--pad);position:relative}
.at-item{display:flex;gap:14px;position:relative;padding:10px 0}
.at-item::before{content:"";position:absolute;left:5px;top:24px;bottom:-10px;width:2px;background:var(--border)}
.at-item:last-child::before{display:none}
.at-dot{width:12px;height:12px;border-radius:50%;background:var(--muted);margin-top:5px;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--muted) 15%,transparent);position:relative;z-index:1}
.at-item.now .at-dot{background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 22%,transparent)}
.at-item.wait .at-dot{background:var(--warning);animation:ps-pulse 1.4s infinite}
.at-item.bad .at-dot{background:var(--danger)}
.at-body{flex:1;min-width:0}.at-top{display:flex;justify-content:space-between;gap:10px;align-items:center}

/* ---------- Employee page ---------- */
.emp-hero{display:flex;align-items:center;gap:22px;padding:22px;flex-wrap:wrap}
.emp-hero .avatar.xl{margin:0;width:72px;height:72px;font-size:28px}
.eh-main{flex:1;min-width:220px}.eh-main h2{margin-bottom:6px}
.eh-facts{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px}.eh-facts span{display:inline-flex;align-items:center;gap:6px}
.eh-kpis{display:flex;gap:10px;flex-wrap:wrap}
.eh-kpis>div{min-width:120px;padding:12px 16px;border-radius:calc(var(--radius)*.8);background:color-mix(in srgb,var(--primary) 7%,var(--card))}
.eh-kpis small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.eh-kpis b{font-size:18px}
@media print{.emp-hero .eh-kpis>div{background:#fff;border:1px solid #ccc}}

/* readable brand/hover text on light sidebars (Arctic Light, Monochrome Pro, Slate Minimal, Lavender Soft) */
.sb-brand-text b{color:var(--sb-text);font-weight:750}
.sb-link:hover{color:var(--sb-text)}
.sb-link.active{color:#fff}
