:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#10263b;background:#f3f6f8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #aebbc5;background:#fff;border-radius:12px;padding:.7rem 1rem;color:#10263b}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#087e74;border-color:#087e74;color:#fff;font-weight:700}.subtle,.link-button{border:0;background:none;padding:.35rem;color:#087e74}.topbar{display:flex;align-items:center;gap:1rem;padding:.8rem 1.2rem;background:#10263b;color:#fff}.topbar a,.topbar button{color:#fff}.topbar nav{display:flex;gap:1rem;margin-left:auto}.topbar form{margin:0}.brand{font-size:1.2rem;font-weight:800;text-decoration:none}main{max-width:1280px;margin:auto;padding:1rem}h1{margin:.3rem 0 1rem}h2{margin:.2rem 0 1rem}label{display:grid;gap:.3rem;font-size:.9rem;font-weight:650}input,select{border:1px solid #afbdc9;border-radius:10px;background:#fff;color:#10263b;padding:.7rem;min-width:0}input[type=checkbox]{width:1.3rem;height:1.3rem}.notice,.error{padding:.9rem;border-radius:10px;margin:0 0 1rem}.notice{background:#d8f6e9}.error{background:#ffe0df;color:#8a1a1a}.login-card,.panel{background:#fff;border:1px solid #d8e1e8;border-radius:16px;padding:1.2rem;margin-bottom:1rem}.login-card{max-width:420px;margin:10vh auto}.login-card form{display:grid;gap:1rem}.admin-head{display:flex;align-items:center;justify-content:space-between}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.table-wrap{overflow:auto;background:#fff;border-radius:12px;margin:1rem 0}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;padding:.7rem;border-bottom:1px solid #e5ebef}td input{width:100%;min-width:90px}.pick-shell{max-width:760px;margin:auto}.pick-status{display:flex;gap:.6rem;align-items:center;justify-content:space-between;background:#e4eef3;padding:.6rem;border-radius:12px;position:sticky;top:0;z-index:5}.pick-status button{padding:.45rem}.order-card,.line-card,.line-focus,.scan-panel,.pick-actions,.complete-panel{background:#fff;border:1px solid #d8e1e8;border-radius:16px;padding:1rem;margin:.8rem 0}.order-card{display:grid;width:100%;text-align:left;gap:.25rem}.order-card strong{font-size:1.25rem}.work-head{display:flex;justify-content:space-between;align-items:flex-start}.work-head h1{margin:0}.work-head p{margin:.3rem 0}#camera{width:100%;max-height:220px;object-fit:cover;border-radius:12px;background:#000;margin:.7rem 0}.scan-controls{display:flex;gap:.5rem}.scan-input{margin:.6rem 0}.line-focus{border:2px solid #087e74}.line-focus strong{font-size:1.2rem}.line-card{display:flex;justify-content:space-between;gap:.5rem;width:100%;text-align:left}.line-card.selected{border:2px solid #087e74}.pick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.pick-actions button{min-height:54px}.package-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.complete-panel summary{font-weight:700;cursor:pointer}#pick-message{min-height:1.5rem;font-weight:700}.ok{color:#087e74}.warn{color:#9b4900}.bad{color:#aa2020}@media(max-width:640px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%}.pick-actions{grid-template-columns:repeat(2,1fr)}.package-fields{grid-template-columns:repeat(3,1fr)}main{padding:.65rem}.line-card{padding:.8rem}}
:is(.close-line){border-top:1px solid #d8e1e8;padding:.8rem 0;display:grid;gap:.5rem}

/* Pantalla de preparación */
:root{--ink:#17283d;--muted:#61748a;--line:#dbe5ee;--accent:#087e74;--canvas:#f4f7fa}
body{color:var(--ink);background:var(--canvas)}
.pick-shell{max-width:860px}.pick-status{border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px #1a3a4b0a;padding:.55rem .8rem}.connection{display:flex;align-items:center;gap:.45rem}.connection-dot{width:.55rem;height:.55rem;border-radius:50%;background:#0ca87c}.pick-status:has(#network-state:not(:empty)) #pending-count{font-size:.78rem;color:var(--muted)}
.eyebrow{margin:0 0 .2rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.section-title{display:flex;align-items:end;justify-content:space-between;margin:1.3rem 0 .6rem}.section-title h1,.section-title h2{margin:0}.section-title h2{font-size:1.3rem}.section-title span{font-size:.82rem;color:var(--muted)}.order-list{display:grid;gap:.65rem}.order-card{margin:0;padding:1.1rem;border-radius:18px;box-shadow:0 4px 14px #1a3a4b08}.order-card-top,.order-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.order-card-top strong{font-size:1.35rem}.order-customer{font-size:1rem;font-weight:650}.order-meta{font-size:.85rem;color:var(--muted)}.status-pill{border-radius:999px;padding:.32rem .65rem;background:#e9f0f6;color:#52677a;font-size:.73rem;font-weight:750}.status-active{background:#dbf5ec;color:#05775a}
.work-head{align-items:center;gap:1rem;margin:1rem 0}.work-head .subtle{align-self:start;white-space:nowrap}.work-head h1{font-size:clamp(1.6rem,5vw,2.25rem);line-height:1.1}.work-head p:last-child{color:var(--muted);font-size:.88rem}.work-head>strong{padding:.5rem .7rem;border-radius:12px;background:#e6f4f0;color:var(--accent);font-size:.9rem;white-space:nowrap}.scan-panel{margin:.7rem 0;padding:.9rem;border-radius:18px}.scan-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.scan-heading h2{margin:0;font-size:1.1rem}.scan-controls{justify-content:end;flex-wrap:wrap}.scan-controls button{padding:.58rem .8rem}.camera-frame{position:relative;overflow:hidden;border-radius:14px;margin:.8rem 0;background:#0c1b22}.camera-frame[hidden]{display:none}.camera-frame video{display:block;width:100%;max-height:270px;min-height:170px;object-fit:cover}.camera-target{position:absolute;left:17%;right:17%;top:24%;bottom:24%;border:2px solid #e7fff2;border-radius:16px;box-shadow:0 0 0 100vmax #0004;pointer-events:none}.scan-search{display:flex;gap:.55rem;align-items:end;margin-top:.7rem}.scan-search .scan-input{flex:1;margin:0}.scan-search button{height:44px}.scan-search input{height:44px}
.pick-workbench{border:1px solid #a9d9ca;border-radius:20px;background:#fff;box-shadow:0 12px 30px #0c66521a;overflow:hidden}.line-focus{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:.8rem 1rem;display:grid;gap:.24rem}.focus-label{font-size:.68rem;text-transform:uppercase;color:var(--accent);font-weight:800;letter-spacing:.08em}.line-focus strong{font-size:1.1rem;line-height:1.18}.focus-meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.8rem}.focus-meta b{color:var(--accent);white-space:nowrap}.pick-actions{display:grid;grid-template-columns:1fr;gap:.65rem;border:0;margin:0;padding:.75rem 1rem 1rem}.pick-fields{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.pick-fields input{width:100%;height:44px}.quantity-row{display:flex;align-items:end;gap:.6rem}.quantity-row>label{width:100px}.quantity-row input{height:44px;width:100%}.quantity-presets{display:flex;gap:.4rem;flex:1}.quantity-presets button{flex:1;height:44px;padding:.3rem}.action-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.45rem}.action-row button{min-height:52px;padding:.55rem .3rem;font-weight:750}.action-row .primary{font-size:1rem}.lines-title{margin-top:1.4rem}.line-list{display:grid;gap:.5rem}.line-card{margin:0;align-items:center;border-radius:15px}.line-main{display:grid;gap:.15rem}.line-main strong{line-height:1.2}.line-main small{font-size:.75rem;color:var(--muted)}.line-count{text-align:right;white-space:nowrap}.line-count strong{font-size:1.1rem}.line-count small{display:block;color:var(--muted)}.line-card.selected{background:#f0fbf7}.line-card.line-done{border-color:#a8dcca}.complete-panel{margin:1.2rem 0}.complete-panel summary{font-size:1.05rem}
@media(max-width:640px){.pick-shell{max-width:none}.pick-status{top:0;border-radius:0;margin:-.65rem -.65rem 0;padding:.45rem .65rem}.pick-status button{font-size:.76rem}.work-head{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem}.work-head .subtle{padding:.2rem;font-size:.8rem}.work-head h1{font-size:1.45rem}.work-head p:last-child{font-size:.73rem}.work-head>strong{font-size:.78rem}.scan-panel{padding:.7rem;margin:.6rem 0}.scan-heading h2{font-size:1rem}.scan-controls button{font-size:.8rem}.pick-workbench{position:sticky;bottom:0;z-index:4;margin:0 -.65rem;border-radius:18px 18px 0 0;border-bottom:0;box-shadow:0 -10px 30px #0b35402e}.line-focus{padding:.55rem .75rem}.line-focus strong{font-size:.95rem;max-height:2.3em;overflow:hidden}.focus-meta{font-size:.72rem}.pick-actions{padding:.5rem .65rem max(.65rem,env(safe-area-inset-bottom));gap:.45rem}.pick-actions label{font-size:.72rem}.pick-fields input,.quantity-row input,.quantity-presets button{height:40px;padding:.35rem}.quantity-row>label{width:82px}.action-row button{min-height:47px;font-size:.75rem}.action-row .primary{font-size:.86rem}.lines-title{margin-top:1rem}.line-list{padding-bottom:1rem}.line-card{padding:.65rem}.topbar{padding:.55rem .7rem}.topbar nav{gap:.75rem;font-size:.85rem}}

/* Gestión de usuarios */
.admin-page-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin:1rem 0 1.2rem}.admin-page-head h1{font-size:2rem;margin:.1rem 0}.admin-page-head p:last-child{color:var(--muted);margin:.2rem 0}.button-link{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;padding:.6rem .85rem;color:var(--ink);text-decoration:none;font-weight:650;white-space:nowrap}.user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:1rem}.user-stats>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:.85rem 1rem;display:grid;gap:.1rem}.user-stats strong{font-size:1.65rem;line-height:1.1}.user-stats span{color:var(--muted);font-size:.78rem}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading h2{margin:0}.user-create-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:end}.user-create-grid label small{font-weight:400;color:var(--muted)}.user-create-grid button{grid-column:4}.user-filters{display:flex;gap:.5rem}.user-filters input{width:250px}.user-list{display:grid;gap:.55rem}.user-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.user-card[hidden]{display:none}.user-identity{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem}.user-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e2f4ee;color:var(--accent);font-weight:800;flex:none}.user-identity>div{display:grid;gap:.1rem;min-width:0;flex:1}.user-identity>div span{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.role-badge{border:1px solid #c9e3f0;background:#ecf6fb;border-radius:999px;padding:.28rem .55rem;color:#2c6d8a;font-size:.72rem;font-weight:750}.role-admin{border-color:#ded3f6;background:#f5efff;color:#6a44a0}.user-card details{border-top:1px solid var(--line)}.user-card summary{cursor:pointer;color:var(--accent);font-size:.82rem;font-weight:700;padding:.6rem .85rem;list-style:none}.user-card summary::before{content:'✎ ';}.user-card details[open] summary{border-bottom:1px solid var(--line)}.user-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.85rem}.user-card details>button{margin:0 .85rem .85rem}.user-directory{margin-top:1rem}@media(max-width:900px){.user-create-grid,.user-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create-grid button{grid-column:2}}@media(max-width:640px){.admin-page-head h1{font-size:1.5rem}.admin-page-head p:last-child{font-size:.78rem}.user-stats{grid-template-columns:repeat(2,1fr)}.user-stats>div{padding:.7rem}.panel-heading{display:grid}.user-filters{display:grid;grid-template-columns:1fr 1fr}.user-filters input{width:100%}.user-identity{flex-wrap:wrap}.user-identity>div{flex-basis:calc(100% - 54px)}.role-badge{margin-left:52px}.user-edit-grid{grid-template-columns:1fr}.user-create-grid{grid-template-columns:1fr}.user-create-grid button{grid-column:1}}
.topbar nav a{text-decoration:none;padding:.35rem .55rem;border-radius:8px}.topbar nav a:hover,.topbar nav a:focus{background:#ffffff24}.topbar-user{color:#b7cbd8;font-size:.82rem}@media(max-width:640px){.topbar-user{display:none}.topbar nav{overflow-x:auto;white-space:nowrap}.topbar nav a{padding:.3rem}}

/* Ficha de pedido adaptable */
html,body{max-width:100%;overflow-x:hidden}main,main>*{min-width:0}input,select,textarea{max-width:100%}a,button,strong,span{overflow-wrap:anywhere}.order-detail-head .back-link{display:inline-block;margin-bottom:.65rem;color:var(--accent);font-size:.88rem;text-decoration:none}.order-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.order-overview>div{display:grid;gap:.35rem;align-content:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.85rem}.order-overview>div>span,.order-fields>div>span,.admin-line-meta span{color:var(--muted);font-size:.76rem}.order-overview strong{font-size:1.06rem}.order-overview .status-pill{justify-self:start}.order-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.order-fields>div{display:grid;gap:.25rem;min-width:0}.order-fields>div strong{font-size:1rem}.assigned-note{display:grid;gap:.4rem;background:#fff8eb;border:1px solid #f0dfba;border-radius:14px;padding:1rem;margin-bottom:1rem}.assigned-note span{font-size:.82rem;color:#74572b;overflow-wrap:anywhere}.assigned-note form{display:grid;gap:.6rem}.assigned-note label{display:flex;align-items:center;gap:.5rem}.assigned-note button{justify-self:start}.admin-lines{display:grid;gap:.7rem}.admin-line{border:1px solid var(--line);border-radius:14px;padding:.85rem;background:#fff;min-width:0}.admin-line-head{display:flex;justify-content:space-between;gap:.8rem;align-items:start}.admin-line-head>div{display:flex;gap:.65rem;align-items:start;min-width:0}.line-index{display:grid;place-items:center;width:1.65rem;height:1.65rem;flex:none;border-radius:8px;background:#e5f4ef;color:var(--accent);font-size:.75rem;font-weight:800}.admin-line-head strong{font-size:.93rem;line-height:1.3}.line-ratio{white-space:nowrap;flex:none;color:var(--accent);font-size:.82rem;font-weight:800}.admin-line-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.8rem 0}.admin-line-meta>div{display:grid;gap:.15rem;min-width:0}.admin-line-meta strong{font-size:.86rem;overflow-wrap:anywhere}.admin-line-fields{display:grid;grid-template-columns:1fr 1.5fr 3fr 1fr;gap:.6rem;margin:.8rem 0}.admin-line-fields label{min-width:0}.admin-line-fields input{width:100%}.admin-line-foot{display:flex;justify-content:space-between;gap:.7rem;border-top:1px solid var(--line);padding-top:.55rem;color:var(--muted);font-size:.76rem}.save-order{margin-top:1rem}.movement-details summary{cursor:pointer;font-weight:750;list-style:none}.movement-details summary span{display:inline-grid;place-items:center;margin-left:.4rem;background:#e8f2f5;border-radius:999px;min-width:1.5rem;height:1.5rem;font-size:.75rem}.movement-list{display:grid;gap:.35rem;margin-top:1rem;max-height:430px;overflow:auto}.movement-list>div{display:grid;grid-template-columns:140px 40px minmax(0,1fr);gap:.25rem .5rem;border-bottom:1px solid var(--line);padding:.4rem 0;align-items:start}.movement-list time,.movement-list small{font-size:.73rem;color:var(--muted)}.movement-list small{grid-column:3}.movement-list .positive{color:#078465}.movement-list .negative{color:#b64c3b}@media(max-width:700px){.order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.order-fields{grid-template-columns:1fr 1fr}.admin-line-fields{grid-template-columns:1fr 1fr}.description-field{grid-column:1/-1}.admin-line-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.admin-page-head.order-detail-head{align-items:start}.order-detail-head .button-link{font-size:.78rem;padding:.5rem}.order-detail-head h1{font-size:1.3rem;overflow-wrap:anywhere}.order-fields{grid-template-columns:1fr}.admin-line-head{display:grid}.line-ratio{margin-left:2.3rem}.admin-line-foot{display:grid}.movement-list>div{grid-template-columns:105px 35px minmax(0,1fr)}}
.admin-tools .panel{margin:0}.admin-tools form{display:grid;gap:.7rem}.admin-tools button{justify-self:start}.admin-tools input[type=file]{width:100%;font-size:.85rem}.admin-tools p:not(.eyebrow){color:var(--muted);font-size:.86rem}.order-search{display:flex;align-items:end;gap:.7rem;margin-top:1rem}.order-search label{flex:1}.admin-order-list{display:grid;gap:.55rem}.admin-order-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem}.admin-order-main{display:grid;gap:.25rem;min-width:0}.admin-order-title{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.admin-order-title a{font-weight:800;font-size:1.04rem;color:var(--ink);text-decoration:none}.admin-order-main>strong{font-size:.88rem}.admin-order-meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;color:var(--muted);font-size:.77rem}.admin-order-actions{display:flex;align-items:center;gap:1rem;white-space:nowrap}.admin-order-actions>a{color:var(--accent);font-weight:700}.admin-order-actions label{display:flex;align-items:center;gap:.3rem;font-size:.8rem}.admin-order-actions input{flex:none}.pagination-wrap{margin:1rem 0}.integration-history{margin-top:1.2rem}.integration-list{display:grid;gap:.45rem;margin-top:.8rem}.integration-list>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.8rem}.integration-list small{color:var(--muted);overflow-wrap:anywhere}.integration-list a{margin-left:auto;color:var(--accent)}@media(max-width:640px){.admin-order-card{display:grid;gap:.65rem}.admin-order-actions{justify-content:space-between;border-top:1px solid var(--line);padding-top:.5rem}.admin-tools{grid-template-columns:1fr}.order-search{padding:.7rem}.order-search button{padding:.65rem}}

@media(max-width:640px){.camera-active .camera-frame{position:fixed;inset:0;z-index:8;margin:0;border-radius:0}.camera-active .camera-frame video{width:100vw;height:100dvh;max-height:none;object-fit:cover}.camera-active .camera-target{top:16%;bottom:48%;left:10%;right:10%}.camera-active .work-head{position:fixed;top:0;left:0;right:0;z-index:10;margin:0;padding:max(.7rem,env(safe-area-inset-top)) .75rem .65rem;background:linear-gradient(#10263bee,#10263b99);color:#fff}.camera-active .work-head .eyebrow,.camera-active .work-head p:last-child{color:#c9f2e5}.camera-active .work-head>strong{background:#e5f5ee}.camera-active #back-orders{display:none}.camera-active .scan-controls #stop-camera{position:fixed;right:.7rem;top:max(4.4rem,calc(env(safe-area-inset-top) + 3.7rem));z-index:12;background:#fff;color:#10263b;font-weight:800}.camera-active .scan-controls #torch:not([hidden]){position:fixed;right:.7rem;top:max(7.5rem,calc(env(safe-area-inset-top) + 6.8rem));z-index:12;background:#fff;color:#10263b}.camera-active .pick-workbench{position:fixed;left:0;right:0;bottom:0;z-index:11;margin:0}.camera-active #pick-message:not(:empty){position:fixed;z-index:12;left:.75rem;right:.75rem;bottom:calc(255px + env(safe-area-inset-bottom));background:#fff;border-radius:12px;padding:.5rem .7rem;box-shadow:0 4px 20px #0003}.camera-active .scan-panel{border:0}.camera-active .scan-search{visibility:hidden}}
