:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#050505;color:#f4f4f5;--bg: #050505;--panel: rgba(24, 24, 27, .92);--panel-2: #27272a;--panel-3: #3f3f46;--muted: #a1a1aa;--line: rgba(161, 161, 170, .2);--line-strong: rgba(161, 161, 170, .34);--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #60a5fa;--gold: #d6a84f;--gold-soft: rgba(214, 168, 79, .26);--cyan: #38bdf8;--danger: #ef4444;--warning: #f59e0b;--text: #f4f4f5;--radius: 17px;--radius-control: 13px;--shadow-panel: 0 22px 50px rgba(0, 0, 0, .34), 0 1px 0 rgba(255, 255, 255, .025) inset;--shadow-raised: 0 14px 30px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--bg)}body{background:radial-gradient(circle at 78% -15%,rgba(37,99,235,.14),transparent 34rem),radial-gradient(circle at 10% 100%,rgba(56,189,248,.055),transparent 30rem),linear-gradient(145deg,#050505,#101012 48%,#18181b);background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}::selection{background:#2563eb8c;color:#fff}.login-screen{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;padding:2rem;overflow:hidden}.login-screen:before{content:"";position:absolute;z-index:-1;width:min(54rem,85vw);aspect-ratio:1;border:1px solid rgba(96,165,250,.09);border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.11),transparent 66%);box-shadow:0 0 120px #2563eb14}.login-card{width:min(100%,500px);padding:clamp(1.5rem,4vw,2.25rem);border:1px solid var(--line-strong);border-radius:18px;background:linear-gradient(155deg,#27272aeb,#09090bf2);box-shadow:0 36px 90px #00000094,0 0 0 1px #ffffff06 inset;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.05;margin:2rem 0 1rem;letter-spacing:-.045em}.login-card h1.login-rfid-title{font-size:clamp(1.2rem,3.1vw,1.72rem);margin:.45rem 0 .22rem;transform:translateY(.28rem)}.login-card p{color:var(--muted);line-height:1.6}.totem-config-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.25rem 0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-control);background:linear-gradient(145deg,#3f3f4638,#18181b85)}.totem-config-summary div{min-width:0}.totem-config-summary span{display:block;color:var(--muted);font-size:.78rem}.totem-config-summary strong{display:block;margin-top:.2rem;overflow-wrap:anywhere}.totem-config-summary .button{grid-column:1 / -1}.brand{display:flex;align-items:center;gap:.85rem}.ironedge-logo{display:block;max-width:100%;object-fit:contain}.ironedge-icon{display:inline-block;object-fit:contain;flex:0 0 auto}.brand-logo{width:112px;height:92px;filter:drop-shadow(0 10px 20px rgba(37,99,235,.22))}.login-logo{width:clamp(168px,35vw,242px);height:clamp(92px,20vw,138px);filter:drop-shadow(0 18px 34px rgba(37,99,235,.26));transform:translate(-.55rem,.35rem)}.brand-login{align-items:center;justify-content:center;gap:.08rem;width:100%}.brand-login>div:last-child{min-width:0;text-align:left;margin-left:-4.4rem}.brand-login strong{font-size:1.08rem}.brand-login span{font-size:.9rem}.login-brand-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:calc(100% + 3.6rem);margin-left:-3.6rem}.login-brand-row .brand-login{width:auto;justify-content:flex-start}.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(96,165,250,.48);background:linear-gradient(145deg,#2563eb,#1d4ed8 58%,#172554);color:#fff;font-weight:900;letter-spacing:-.08em;box-shadow:0 10px 24px #1d4ed852,0 1px #ffffff38 inset}.brand strong{display:block;letter-spacing:.08em;color:#fafafa}.brand span{display:block;color:var(--muted);font-size:.82rem}.brand-login .brand-mark{width:60px;height:60px;border-radius:16px}.rfid-hero{width:92px;height:92px;margin:.2rem 1.2rem 0 0;display:grid;place-items:center;border:1px solid rgba(214,168,79,.34);border-radius:28px;background:radial-gradient(circle,rgba(214,168,79,.15),transparent 68%),linear-gradient(145deg,#2563eb1f,#09090b42);box-shadow:0 18px 38px #00000047,0 0 28px #d6a84f14}.rfid-icon{width:64px;height:64px}.mqtt-status{display:inline-flex;align-items:center;width:fit-content;margin-top:1rem;padding:.32rem .62rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#ffffff0b;font-size:.78rem;font-weight:700}.login-mqtt-status{display:flex;width:fit-content;margin:-.6rem auto 0;padding:.16rem .42rem;font-size:.6rem;opacity:.68}.mqtt-status-connected{color:#bbf7d0;border-color:#22c55e59}.mqtt-status-connecting{color:#bfdbfe;border-color:#60a5fa5c}.mqtt-status-error,.mqtt-status-disconnected{color:#fde68a;border-color:#f59e0b59}.app-shell{min-height:100vh;display:grid;grid-template-columns:290px 1fr;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:82px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:1.25rem;border-right:1px solid rgba(161,161,170,.18);background:linear-gradient(180deg,#27272ad1,#09090bf7 34%),#09090b;display:flex;flex-direction:column;gap:1.25rem;box-shadow:18px 0 45px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.icon-button{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:linear-gradient(145deg,#3f3f46b3,#18181bbf);color:var(--text);display:inline-grid;place-items:center;box-shadow:0 8px 18px #0003;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.icon-button:hover{border-color:#60a5faa6;background:#2563eb33;color:#bfdbfe;transform:translateY(-1px)}.nav-stack{display:flex;flex-direction:column;gap:.35rem}.nav-stack a{padding:.85rem 1rem;border-radius:13px;color:var(--muted);border:1px solid transparent;display:flex;align-items:center;gap:.75rem;font-weight:600;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}.nav-stack a:hover,.nav-stack a.active{color:var(--text);border-color:#60a5fa40;background:linear-gradient(90deg,#2563eb33,#2563eb12);transform:translate(2px)}.nav-stack a.active{border-color:#60a5fa6b;box-shadow:0 10px 24px #00000038,3px 0 0 var(--accent-soft) inset}.nav-stack a.active svg{color:var(--accent-soft)}.sidebar-user{margin-top:auto;padding:1rem;border-radius:15px;background:linear-gradient(145deg,#3f3f4657,#18181b7a);border:1px solid rgba(161,161,170,.18);display:grid;gap:.35rem;box-shadow:0 16px 34px #0003}.sidebar-user small,.sidebar-user span{color:var(--muted)}.sidebar-collapsed .sidebar{padding-inline:.85rem;align-items:center}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user small,.sidebar-collapsed .sidebar-user strong,.sidebar-collapsed .sidebar-user span{display:none}.sidebar-collapsed .sidebar-top{flex-direction:column}.sidebar-collapsed .nav-stack a,.sidebar-collapsed .sidebar-user .button{width:48px;height:48px;padding:0;justify-content:center}.sidebar-collapsed .sidebar-user{padding:.55rem}.content{padding:clamp(1rem,3vw,2.25rem);max-width:1500px;width:100%}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-title-wrap{display:flex;align-items:center;gap:1rem;min-width:0}.page-header-icon{width:clamp(48px,8vw,76px);height:clamp(48px,8vw,76px);padding:.35rem;border-radius:18px;background:linear-gradient(145deg,#2563eb24,#d6a84f14);border:1px solid rgba(96,165,250,.2);box-shadow:0 18px 34px #00000038}.page-header h1{margin:0;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.045em;color:#fafafa;text-shadow:0 12px 35px rgba(0,0,0,.34)}.page-header h1:after{content:"";display:block;width:3rem;height:3px;margin-top:.7rem;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 0 18px #2563eb73}.page-header p{margin:.45rem 0 0;color:var(--muted);line-height:1.5}.page-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.nav-icon{width:22px;height:22px}.button-icon{width:20px;height:20px}.badge-icon{width:18px;height:18px}.stat-icon{width:38px;height:38px;justify-self:end;margin-bottom:-.4rem;opacity:.92;filter:drop-shadow(0 8px 14px rgba(37,99,235,.18))}.shortcut-icon{width:46px;height:46px;margin-bottom:.25rem}.button{border:1px solid var(--line);background:linear-gradient(145deg,#3f3f46b8,#18181bc7);color:var(--text);padding:.74rem 1.05rem;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;box-shadow:0 8px 18px #0003,0 1px #ffffff0d inset;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;min-height:44px;touch-action:manipulation}.button:hover{transform:translateY(-1px);border-color:#60a5fa94;box-shadow:0 12px 26px #0000004d}.button:active,.ironedge-button-press:active{transform:scale(.98)}.button:focus-visible,.icon-button:focus-visible,.nav-stack a:focus-visible{outline:3px solid rgba(96,165,250,.3);outline-offset:2px}.button-primary{background:linear-gradient(145deg,#2563eb,#1d4ed8);border-color:#60a5fab3;color:#fff;box-shadow:0 12px 26px #1d4ed852,0 1px #fff3 inset}.button-primary:hover{background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-color:#60a5fa}.button-danger{background:#ef44441f;border-color:#ef444459}.button-danger:hover{background:#ef444433;border-color:#f871718c}.button-ghost{background:#18181b47;box-shadow:none}.button-small{padding:.45rem .7rem;border-radius:10px;font-size:.86rem}.button-xl{width:100%;padding:1rem 1.2rem;font-weight:800;font-size:1.05rem}.field{display:grid;gap:.4rem}.field span,.check{color:var(--muted);font-size:.9rem}.field-label,.table-entity{display:inline-flex;align-items:center;gap:.4rem}.field-label svg,.table-entity svg{color:var(--accent);flex:0 0 auto}input,select,textarea,.search-input{width:100%;background:#09090bc7;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-control);padding:.8rem .95rem;outline:none;box-shadow:0 1px #ffffff06 inset,0 8px 20px #0000001f;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input::placeholder,textarea::placeholder{color:#71717a}select{color-scheme:dark}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{border-color:var(--accent-soft);background:#09090bf5;box-shadow:0 0 0 3px #2563eb2e,0 12px 28px #0003}input[type=checkbox]{accent-color:var(--accent)}input[type=file]::file-selector-button{margin:-.35rem .75rem -.35rem -.45rem;padding:.55rem .75rem;border:0;border-right:1px solid var(--line);background:#2563eb29;color:#bfdbfe;font-weight:700;cursor:pointer}.search-input{min-width:min(360px,100%)}.stack{display:grid;gap:1rem}.gap-lg{gap:1.25rem}.check{display:inline-flex;align-items:center;gap:.55rem}.check input{width:auto}.check-row{display:flex;gap:1rem;flex-wrap:wrap}.alert{padding:.8rem 1rem;border-radius:var(--radius-control)}.alert-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3)}.alert-warning{margin-bottom:1rem;color:#fde68a;background:#f59e0b1c;border:1px solid rgba(245,158,11,.32)}.work-summary,.filter-bar,.project-overview{display:grid;gap:1rem;margin-bottom:1rem}.work-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.work-summary div,.project-tile{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#27272abf,#18181bc7);padding:1rem;box-shadow:var(--shadow-raised)}.work-summary small,.project-tile small,.project-tile span{color:var(--muted)}.work-summary strong{display:block;margin-top:.3rem;font-size:1.3rem}.filter-bar{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#27272aa6,#09090bb8);box-shadow:var(--shadow-panel)}.project-stack{display:grid;gap:1.3rem}.project-section{display:grid;gap:.8rem}.project-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.project-heading small{color:var(--muted)}.project-heading h2{margin:.2rem 0 0;font-size:1.25rem}.project-overview{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.project-tile{display:grid;gap:.35rem}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.doc-card,.panel,.stat-card,.shortcut-card{border:1px solid var(--line);background:linear-gradient(145deg,#27272ad1,#111113e8 60%,#09090bf0);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.ironedge-card,.ironedge-card-animated{position:relative}.ironedge-card{border-color:#60a5fa47}.ironedge-card:before,.ironedge-card-animated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:0 0 0 1px #d6a84f14 inset}.ironedge-card-animated{animation:card-enter .34s ease both;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.ironedge-card-animated:hover{transform:translateY(-3px);border-color:#60a5fa6b;box-shadow:0 26px 55px #0006,0 0 24px #2563eb14}.ironedge-glow{filter:drop-shadow(0 0 10px rgba(96,165,250,.34)) drop-shadow(0 0 16px rgba(214,168,79,.12))}.admin-badge{filter:drop-shadow(0 0 10px rgba(214,168,79,.28)) drop-shadow(0 0 14px rgba(96,165,250,.18));animation:admin-glow 2.8s ease-in-out infinite}.page-enter{animation:page-enter .32s ease both}.icon-float{animation:icon-float 3.4s ease-in-out infinite}.rfid-pulse{animation:rfid-pulse 1.65s ease-in-out infinite}.status-online,.status-offline{position:relative}.status-online:before,.status-offline:before{content:"";width:.52rem;height:.52rem;margin-right:.45rem;border-radius:999px;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:status-breathe 1.8s ease-in-out infinite}.status-online{color:#bbf7d0}.status-offline{color:#fde68a}.doc-card{padding:1.2rem;display:grid;gap:1rem}.doc-card h2,.doc-card h3{margin:0;line-height:1.15}.doc-card h3{font-size:1.1rem}.doc-card p{color:var(--muted);line-height:1.5;margin:0}.doc-card-top,.doc-meta,.card-actions,.row-actions,.panel-head{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.doc-card-top{color:var(--muted);font-size:.9rem}.card-actions,.panel-head,.doc-meta{justify-content:space-between}.doc-meta small{color:var(--muted)}.status-dot{width:.6rem;height:.6rem;border-radius:999px;background:#64748b}.status-dot.active{background:var(--accent-soft);box-shadow:0 0 0 4px #2563eb2b;animation:status-breathe 1.8s ease-in-out infinite}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .58rem;border-radius:999px;border:1px solid var(--line);color:#cbd5e1;background:#ffffff0d;font-size:.78rem;white-space:nowrap}.badge-2d{border-color:#38bdf84d;color:#bae6fd}.badge-3d{border-color:#22c55e59;color:#bbf7d0}.badge-ok{color:#bbf7d0;border-color:#22c55e59}.panel{padding:1.2rem;margin-bottom:1rem}.panel h2{margin-top:0;color:#fafafa;letter-spacing:-.025em}.panel p{color:var(--muted)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.kv-grid div{display:grid;gap:.25rem}.kv-grid small{color:var(--muted)}.section-title{margin:1.4rem 0 .8rem}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#09090bbd;box-shadow:var(--shadow-panel)}.table-wrap.compact{border-radius:14px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:#d4d4d8;font-size:.78rem;text-transform:uppercase;letter-spacing:.075em;background:linear-gradient(180deg,#27272a,#18181b);box-shadow:0 -1px #ffffff06 inset}td{color:#e4e4e7}tbody tr{transition:background .14s ease}tbody tr:hover{background:#2563eb12}tr:last-child td{border-bottom:none}.state,.screen-center{min-height:220px;display:grid;place-items:center;gap:.75rem;text-align:center;color:var(--muted)}.screen-center{min-height:100vh}.state strong{color:var(--text)}.state-error{color:#fecaca}.spinner{width:1.4rem;height:1.4rem;border-radius:999px;border:3px solid rgba(148,163,184,.25);border-top-color:var(--accent-soft);animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes rfid-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(214,168,79,0))}50%{transform:scale(1.045);filter:drop-shadow(0 0 18px rgba(214,168,79,.32))}}@keyframes admin-glow{0%,to{opacity:.9}50%{opacity:1}}@keyframes status-breathe{0%,to{box-shadow:0 0 #60a5fa42}50%{box-shadow:0 0 0 6px #60a5fa00}}.table-skeleton{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:#09090bbd;box-shadow:var(--shadow-panel)}.skeleton-row{display:grid;gap:.75rem}.skeleton-cell{height:1rem;border-radius:999px;background:linear-gradient(90deg,#94a3b81f,#94a3b83d,#94a3b81f);background-size:220% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}@keyframes skeleton-pulse{to{background-position:-220% 0}}.viewer-page{height:calc(100vh - 4rem);display:flex;flex-direction:column}.viewer-frame{flex:1;width:100%;min-height:70vh;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.image-viewer{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.viewer-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:#18181bd1}.zoom-slider{width:min(240px,44vw);padding:0;accent-color:var(--accent)}.zoom-value{color:var(--muted);min-width:3.2rem;text-align:right}.image-stage{position:relative;flex:1;min-height:70vh;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#020617bf;overflow:hidden;cursor:grab;touch-action:none}.image-stage.is-dragging{cursor:grabbing}.panzoom-image{max-width:100%;max-height:80vh;object-fit:contain;-webkit-user-select:none;user-select:none;transform-origin:center;transition:transform .08s ease-out}.image-lens{position:absolute;width:170px;height:170px;border-radius:50%;border:2px solid rgba(96,165,250,.9);background-repeat:no-repeat;background-size:520% 520%;box-shadow:0 18px 40px #0000005c,inset 0 0 0 1px #ffffff29;pointer-events:none;transform:translate(-50%,-50%)}.viewer-3d{position:relative;flex:1;min-height:70vh;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;background:#0f172a}.viewer-hint{position:absolute;z-index:2;left:1rem;top:1rem;padding:.55rem .75rem;border-radius:999px;background:#020617b8;border:1px solid var(--line);color:#cbd5e1;font-size:.82rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.stat-card{position:relative;overflow:hidden;padding:1.2rem;display:grid;gap:.4rem;background:linear-gradient(135deg,rgba(37,99,235,.14),transparent 48%),linear-gradient(145deg,#27272ae6,#09090bf2)}.stat-card:after{content:"";position:absolute;right:-2rem;bottom:-2.8rem;width:7rem;height:7rem;border:1px solid rgba(96,165,250,.14);border-radius:50%;box-shadow:0 0 30px #2563eb14}.stat-card small{color:#a1a1aa;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.stat-card strong{font-size:2.2rem;color:#fff;letter-spacing:-.04em}.admin-shortcuts,.split-grid,.form-grid{display:grid;gap:1rem}.admin-shortcuts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.shortcut-card{padding:1.2rem;display:grid;gap:.45rem;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.shortcut-card:hover{transform:translateY(-3px);border-color:#60a5fa6b;background:linear-gradient(135deg,rgba(37,99,235,.13),transparent 50%),linear-gradient(145deg,#27272aeb,#09090bf5);box-shadow:0 26px 55px #0006}.shortcut-card strong{color:#fafafa;font-size:1.05rem}.shortcut-card span{color:var(--muted);line-height:1.45}.split-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start}.new-piece-panel{grid-column:span 2}.top-align{align-items:start}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.doc-admin-list{display:grid;gap:1rem}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;color:var(--muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;height:auto;box-shadow:0 16px 38px #00000047}.sidebar-collapsed .sidebar{align-items:stretch}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user small,.sidebar-collapsed .sidebar-user strong,.sidebar-collapsed .sidebar-user span{display:initial}.sidebar-collapsed .sidebar-top{flex-direction:row}.sidebar-collapsed .nav-stack a,.sidebar-collapsed .sidebar-user .button{width:auto;height:auto;padding:.85rem 1rem;justify-content:flex-start}.content{padding:1rem}.page-header{flex-direction:column}.page-title-wrap{align-items:flex-start}.brand-logo{width:120px;height:92px}.viewer-page{height:auto}.new-piece-panel{grid-column:auto}}@media (max-width: 560px){.login-screen{padding:1rem}.login-card{padding:1.25rem}.login-brand-row{flex-direction:column;gap:.55rem;width:100%;margin-left:0}.brand-login{flex-direction:column;align-items:center}.brand-login>div:last-child{margin-left:0;margin-top:-.9rem;text-align:center}.login-logo{width:min(72vw,180px);height:90px}.page-title-wrap{gap:.75rem}.page-header-icon{width:50px;height:50px;border-radius:14px}.rfid-hero{width:92px;height:92px;border-radius:24px}.rfid-icon{width:66px;height:66px}.totem-config-summary{grid-template-columns:1fr}.totem-config-summary .button{grid-column:auto}.page-actions,.page-actions .button{width:100%}.pagination-bar{justify-content:space-between;gap:.5rem}}
