:root{--bg:#fff;--bg-2:#fafafb;--ink:#1c1f21;--ink-2:#4a4f52;--ink-3:#767c7f;--line:#e9ebef;--line-2:#d7dbe1;--acc:#0a4c52;--acc-2:#083c3f;--stop:#c8362a;--stop-soft:#fdedeb;--warn:#b4700a;--warn-soft:#fdf3e0;--side:#083c3f;--side-2:#0c474b;--side-3:#145a60;--side-ink:#f1f5f5;--side-ink-2:#a8c3c4;--side-ink-3:#729597;--font-sans:Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg-2);margin:0}@media screen and (width>=1920px){html{zoom:1.125}}@media screen and (width>=2400px){html{zoom:1.25}}h1{margin:0;font-size:28px;font-weight:800}.muted{color:var(--ink-3);margin:0;font-size:14px}.small{font-size:13px}.eyebrow{font:600 11px var(--font-mono);letter-spacing:.04em;color:var(--side-ink-3);margin:0}.eyebrow.dark{letter-spacing:1.5px;color:var(--ink-3)}.screen-message{text-align:center;padding:2rem}.btn-primary{background:var(--acc);color:#fff;height:44px;font:700 15px var(--font-sans);cursor:pointer;border:0;border-radius:8px}.btn-primary:hover:not(:disabled){background:var(--acc-2)}.btn-primary:disabled{opacity:.6;cursor:progress}.login{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:linear-gradient(#083c3fcc 0%,#083c3ff2 60%,#062e31 100%),url(/assets/portada-login.jpg) 50%/cover;flex-direction:column;justify-content:space-between;padding:56px;display:flex}.login-logo{width:200px;height:auto}.login-message{flex-direction:column;gap:16px;max-width:448px;display:flex}.login-headline{color:var(--side-ink);margin:0;font-size:40px;font-weight:800;line-height:1.1}.login-lead{color:var(--side-ink-2);margin:0;font-size:16px;line-height:1.5}.login-form-zone{justify-content:center;align-items:center;padding:24px;display:flex}.login-form{flex-direction:column;gap:28px;width:360px;max-width:100%;display:flex}.login-form header{flex-direction:column;gap:8px;display:flex}.fields{flex-direction:column;gap:16px;display:flex}.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field-box{border:1px solid var(--line-2);height:44px;color:var(--ink-3);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:flex}.field-box:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px #0a4c5226}.field-box input{min-width:0;font:400 15px var(--font-sans);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.form-error,.banner{background:var(--stop-soft);color:var(--stop);border-radius:8px;margin:0;padding:10px 14px;font-size:14px}.form-error p{margin:0}.notice{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:-12px 0 0;padding:10px 14px;font-size:14px;font-weight:600}.login-version{font:400 11px var(--font-mono);color:var(--ink-3);margin:-12px 0 0}.shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--side);flex-direction:column;gap:28px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar nav{flex-direction:column;flex:1;gap:28px;display:flex}.sidebar-logo{width:160px;height:auto}.menu-group{flex-direction:column;gap:2px;display:flex}.menu-title{text-transform:uppercase;font:600 11px var(--font-mono);letter-spacing:.04em;color:var(--side-ink-3);margin:0;padding:0 12px 8px}.menu-item{height:36px;color:var(--side-ink-2);border-radius:6px;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.menu-item:hover{background:var(--side-2)}.menu-item.active{background:var(--side-3);color:var(--side-ink)}.current-user{background:var(--side-2);color:var(--side-ink);border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.avatar{background:var(--side-3);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.current-user-data{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.current-user-data strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.current-user-data small{color:var(--side-ink-3);font-size:12px}.icon-button{color:var(--side-ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:4px;display:grid}.icon-button:hover{background:var(--side-3);color:var(--side-ink)}.content{flex-direction:column;gap:24px;padding:32px 40px;display:flex}.content main{flex-direction:column;gap:8px;display:flex}@media (width<=900px){.login{grid-template-columns:1fr}.login-brand{display:none}}:root{--ok:#0e8a55;--ok-soft:#e7f5ee;--radius-card:12px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title{flex-direction:column;flex:320px;gap:4px;min-width:0;display:flex}.btn-small{height:44px;padding:0 16px;font-size:14px}.btn-secondary{border:1px solid var(--line-2);height:44px;color:var(--ink);font:600 14px var(--font-sans);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.btn-secondary:hover{background:var(--bg-2)}.btn-small.btn-secondary{height:38px}.success{background:var(--ok-soft);color:var(--ok);border-radius:8px;margin:0;padding:10px 14px;font-size:14px;font-weight:600}.note{margin-top:8px}.card{border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;margin-top:16px;overflow:hidden}.table{border-collapse:collapse;background:#fff;width:100%;font-size:14px}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 20px}.table tbody tr:last-child td{border-bottom:0}.table th{font:600 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);background:#f3f4f6;padding-top:13px;padding-bottom:13px}.table .clickable{cursor:pointer}.table .clickable:hover{background:var(--bg-2)}.initials{width:28px;height:28px;color:var(--acc-2);background:#e7f0f0;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.stack{flex-direction:column;gap:2px;display:flex}.stack small{color:var(--ink-3);font-size:12px}.mono{font-family:var(--font-mono);font-size:13px}.table td.mono{color:var(--ink-2)}.pill{border-radius:12px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-off{background:var(--line);color:var(--ink-3)}.pill-busy{color:var(--acc);background:#e7f0f0}.field .input,.input{border:1px solid var(--line-2);height:44px;color:var(--ink);font:400 15px var(--font-sans);background:#fff;border-radius:8px;padding:0 14px}.input.mono{font-family:var(--font-mono);font-size:14px}.input:focus,.input:focus-within{border-color:var(--acc);outline:0;box-shadow:0 0 0 3px #0a4c5226}.input-box{color:var(--ink-3);align-items:center;gap:10px;display:flex}.input-box input{min-width:0;color:var(--ink);font:400 15px var(--font-sans);background:0 0;border:0;outline:0;flex:1}.input-box input::placeholder{color:var(--ink-3);opacity:.8}.input-box.mono input{font:400 14px var(--font-mono)}.input-locked{background:var(--bg-2)}.input-locked input{color:var(--ink-3)}.field .input.input-invalid,.field .input.input-invalid:focus-within{border-color:var(--stop);color:var(--stop)}.error-box{background:var(--stop-soft);color:var(--stop);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.error-box svg{flex:none;margin-top:1px}.error-box p{margin:0}.form-error .error-code,.error-box .error-code{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:6px;font-size:12px;font-weight:400;display:flex}.error-code .mono{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:12px}.error-code .btn-link{font-size:12px}.btn-edit{border:1px solid var(--line-2);height:32px;color:var(--ink-2);font:600 13px var(--font-sans);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.table th.col-actions,.table td.col-actions{text-align:right;width:100px}.name-cell{align-items:center;gap:12px;display:flex}.pagination{border-top:1px solid var(--line);height:52px;color:var(--ink-3);background:#fff;justify-content:space-between;align-items:center;padding:0 20px;font-size:13px;display:flex}.pagination p{margin:0}.pagination-right{align-items:center;gap:20px;display:flex}.pagination-pages{align-items:center;gap:4px;display:flex}.page-btn{width:32px;height:32px;color:var(--ink-2);font:600 13px var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:grid}.page-btn[aria-current=page]{background:var(--acc);color:#fff;font-weight:700}.page-btn.arrow{border-color:var(--line-2)}.page-btn:disabled{color:#a2a9b4;cursor:default}.page-gap{place-items:center;width:32px;display:grid}.required:after{content:" *";color:var(--stop);font-weight:700}.help{color:var(--ink-3);margin:0;font-size:12px;font-weight:400}.modal-backdrop{z-index:50;background:#083c3f8c;grid-template-columns:minmax(0,1fr);justify-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{border-radius:var(--radius-card);background:#fff;width:560px;max-width:100%;margin-block:auto;overflow:hidden;box-shadow:0 24px 64px #00000040}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}.modal-head h2{margin:0 0 4px;font-size:20px;font-weight:800}.icon-close{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.icon-close:hover{background:var(--bg-2)}.modal-body{flex-direction:column;gap:18px;padding:24px;display:flex}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-foot .btn-primary{padding:0 20px}.profile{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.profile legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.profile-option{border:1px solid var(--line-2);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.profile-option.selected{border:2px solid var(--acc);background:#e9f1f1}.profile-option.disabled{background:var(--bg-2);color:var(--ink-3)}.profile-option input{appearance:none;border:1.5px solid var(--line-2);background:#fff;border-radius:50%;flex:none;width:20px;height:20px;margin:0}.profile-option input:checked{border:6px solid var(--acc)}.profile-icon{place-items:center;display:grid}.profile-text{flex-direction:column;flex:1;gap:1px;display:flex}.profile-text strong{font-size:14px}.profile-text small,.password-text small{color:var(--ink-3);font-size:12px}.password-box{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.password-row,.switch-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.password-text{flex-direction:column;gap:2px;display:flex}.password-text strong{font-size:14px}.switch{background:var(--line-2);cursor:pointer;border:0;border-radius:999px;flex:none;width:40px;height:24px;padding:0;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--acc)}.switch[aria-checked=true]:after{transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.reveal{color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.reveal:hover{color:var(--ink-2)}.page-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.toolbar .spacer{flex:1}.search-box{border:1px solid var(--line-2);width:200px;height:38px;color:var(--ink-3);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box:focus-within,.filter:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px #0a4c5226}.search-box input{min-width:0;color:var(--ink);font:400 14px var(--font-sans);background:0 0;border:0;outline:0;flex:1}.filter{border:1px solid var(--line-2);height:38px;color:var(--ink-3);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex;position:relative}.filter svg{pointer-events:none}.segmented{background:#f3f4f6;border-radius:8px;gap:2px;padding:3px;display:flex}.segment{height:32px;color:var(--ink-3);font:600 13px var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.segment.selected{border-color:var(--line);color:var(--ink);background:#fff;font-weight:700}.segment-count{color:var(--ink-3);font:500 11px var(--font-mono)}.segment.selected .segment-count{color:var(--acc)}.btn-link{color:var(--acc);font:700 13px var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.btn-link:disabled{opacity:.5;cursor:default}.btn-danger{background:var(--stop);color:#fff;height:44px;font:700 15px var(--font-sans);cursor:pointer;border:0;border-radius:8px;padding:0 20px}.btn-danger:hover:not(:disabled){background:#a82d23}.btn-danger:disabled{opacity:.6;cursor:progress}.btn-delete{border:1px solid var(--line-2);height:32px;color:var(--stop);font:600 13px var(--font-sans);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn-delete:hover{background:var(--stop-soft)}.btn-edit:hover{background:var(--bg-2)}.table .sub{color:var(--ink-3);font-size:12px;font-weight:400;display:block}.table td.num,.table th.num{white-space:nowrap}.table th.col-actions,.table td.col-actions{width:120px}@media screen and (width>900px){.table td.col-actions{white-space:nowrap}}.empty{color:var(--ink-3);text-align:center;padding:28px 20px;font-size:14px}.optional{color:var(--ink-3);font-weight:400}.field-error{color:var(--stop);font-size:12px;font-weight:600}.suffix{color:var(--ink-3);font-size:13px}.foot-note{color:var(--ink-3);align-self:center;margin-right:auto;font-size:12px}.field-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.field-row.two{grid-template-columns:1fr 1fr}.field-row .field{min-width:0}.segmented-field{background:#f3f4f6;border-radius:8px;gap:0;height:44px;padding:3px;display:flex}.segmented-field button{color:var(--ink-3);font:600 13px var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1}.segmented-field button[aria-checked=true]{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 2px #00000014}.segmented-field button:disabled{cursor:default}.preview-box{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.preview-box .eyebrow{letter-spacing:1.5px;font-size:10px}.preview-box strong{font-size:15px}.preview-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.preview-head small{color:var(--ink-3);font-size:12px}.preview-line{color:var(--ink-2);font-size:13px}.code-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;display:grid}.code-chip{border:1px solid var(--line-2);font:500 12px var(--font-mono);text-align:center;background:#fff;border-radius:6px;padding:6px 4px}.hint-box{color:var(--ink-2);background:#e5eef0;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.hint-box svg{color:var(--acc);flex:none;margin-top:1px}.hint-box p{margin:0}.hint-box.warn{background:var(--warn-soft);color:var(--warn)}.hint-box.warn svg{color:var(--warn)}.format-banner{border-radius:var(--radius-card);background:#e5eef0;justify-content:space-between;align-items:center;gap:24px;margin-top:8px;padding:14px 20px;display:flex}.format-banner .eyebrow{letter-spacing:1.5px;color:var(--acc-2);font-size:10px}.format-banner p{color:var(--ink-2);margin:2px 0 0;font-size:12px}.format-parts{align-items:center;gap:18px;display:flex}.format-part{color:var(--ink-3);flex-direction:column;align-items:center;gap:2px;font-size:11px;display:flex}.format-part strong{color:var(--acc-2);font:700 20px var(--font-mono)}.format-dash{color:var(--ink-3)}.tower-chips{background:#f3f4f6;border-radius:8px;flex-wrap:wrap;gap:4px;padding:3px;display:flex}.tower-chip{min-width:52px;height:38px;color:var(--ink-3);font:600 13px var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:0 8px}.tower-chip[aria-pressed=true]{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 2px #00000014}.sides{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;grid-template-columns:1fr 1fr;padding:10px 14px;display:grid}.sides>div{flex-direction:column;gap:2px;display:flex}.sides>div+div{border-left:1px solid var(--line-2);padding-left:14px}.sides .eyebrow{letter-spacing:1.5px;font-size:10px}.sides strong{font:600 14px var(--font-mono)}.sides small{color:var(--ink-3);font-size:12px}.section-label{border-top:1px solid var(--line);font:600 10px var(--font-mono);letter-spacing:1.5px;color:var(--ink-3);margin:0;padding-top:16px}.zone-cell{align-items:center;gap:12px;display:flex}.zone-icon{width:32px;height:32px;color:var(--ink-2);background:#f3f4f6;border-radius:8px;flex:none;place-items:center;display:grid}.modal-text{color:var(--ink);margin:0;font-size:14px}.link-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;margin-top:16px;display:grid}.link-card{border:1px solid var(--line);border-radius:var(--radius-card);color:var(--ink);background:#fff;flex-direction:column;gap:6px;padding:16px 20px;text-decoration:none;display:flex}.link-card:hover{background:var(--bg-2)}.link-card strong{align-items:center;gap:8px;font-size:15px;display:flex}.link-card span{color:var(--ink-3);font-size:13px}.section-title{font:600 11px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin:24px 0 0}.field-row.name-code{grid-template-columns:1fr 160px}.field-row.material-row{grid-template-columns:1fr 288px}.field-row.block-row{grid-template-columns:140px 1fr}.field-row.code-name{grid-template-columns:180px 1fr}.input-box select{appearance:none;min-width:0;color:var(--ink);font:400 15px var(--font-sans);background:0 0;border:0;outline:0;flex:1}.input-box input:disabled{color:var(--ink-3)}.field input:disabled{cursor:not-allowed}.zone-note{border-top:1px solid var(--line);align-items:center;gap:8px;margin:0;padding:12px 20px;display:flex}.input-box input[type=number]{appearance:textfield}.input-box input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.input-box input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.preview-box .eyebrow{text-transform:uppercase}.tower-chip{white-space:nowrap}.table .sub{line-height:14px}.table.rows-56 td{padding-top:12px;padding-bottom:12px}.table.rows-48 td{padding-top:8px;padding-bottom:8px}.toolbar .segmented{margin-left:auto}.sort-btn{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.sort-btn svg{color:#a2a9b4}.sort-btn.sorted,.sort-btn.sorted svg{color:var(--acc)}.sort-btn:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}.select-box{position:relative}.select-box>button[role=combobox]{min-width:0;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.select-box>button[role=combobox]:focus-visible{outline:0}.input-box.select-box:focus-within{border-color:var(--acc)}.select-value{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filter.select-box>button[role=combobox]{gap:6px}.filter.select-box strong{color:var(--ink);font-weight:700}.select-toggle{color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.option-list{z-index:60;border:1px solid var(--line-2);background:#fff;border-radius:8px;max-height:240px;margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #1c1f211f}.option-list li>span{overflow-wrap:anywhere;min-width:0}.option-list li{color:var(--ink);font:400 14px var(--font-sans);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.option-list li.active{background:#f3f4f6}.option-list li[aria-selected=true]{color:var(--acc);font-weight:600}.role-group{grid-template-columns:1fr 1fr;gap:16px;display:grid}.role-option{align-items:flex-start;gap:8px;display:flex}.role-option input{appearance:none;border:1.5px solid var(--line-2);background:#fff;border-radius:5px;flex:none;width:20px;height:20px;margin:1px 0 0}.role-option input:checked{border-color:var(--acc);background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat}.role-option input:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.role-text{color:var(--ink);flex-direction:column;gap:2px;font-size:14px;display:flex}.role-text small{color:var(--ink-3);font-size:12px}.textarea{resize:vertical;width:100%;height:auto;min-height:74px;padding:12px 14px}.kind-fieldset{border:0;min-width:0;margin:0;padding:0}.kind-fieldset legend{margin-bottom:6px;padding:0}.kind-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kind-card{border:1px solid var(--line-2);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.kind-card.selected{border:2px solid var(--acc);background:#e9f1f1}.kind-card input{appearance:none;border:1.5px solid var(--line-2);background:#fff;border-radius:50%;flex:none;width:20px;height:20px;margin:0}.kind-card input:checked{border:6px solid var(--acc)}.kind-card .role-text strong{font-size:14px}.cell-link{color:var(--ink);font-weight:700;text-decoration:none;display:block}.cell-link:hover{text-decoration:underline}.table td.num,.table th.num{text-align:right}.pill-stop{background:var(--stop-soft);color:var(--stop)}.status-stack{align-items:flex-end}.page-actions{align-items:center}.btn-link-button,a.btn-secondary{text-decoration:none}.btn-link-button{border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.reception-form{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.reception-form .form-col{flex-direction:column;gap:16px;min-width:0;display:flex}.reception-form .form-wide{grid-column:1/-1}.section-row,.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-row .section-label,.card-head .section-label,.detail-card>.section-label{margin:0}.totals,.photo-count{color:var(--acc);font-size:13px}.lines{border:1px solid var(--line);background:#fff;border-radius:10px}.line-head,.line-row{grid-template-columns:minmax(0,1fr) 80px 100px 32px;align-items:center;gap:10px;padding:8px 12px;display:grid}.line-head{color:var(--ink-3);font:600 10px var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;background:#f3f4f6;border-radius:10px 10px 0 0}.line-row+.line-row{border-top:1px solid var(--line)}.line-row .input{height:38px}.icon-trash{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.icon-trash:hover{background:var(--stop-soft);color:var(--stop)}.lines-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-grid{flex-wrap:wrap;gap:12px;display:flex}.photo{flex-direction:column;gap:4px;width:104px;margin:0;display:flex;position:relative}.photo-img{background:var(--line);object-fit:cover;border-radius:8px;width:104px;height:104px;font-size:11px;display:block;overflow:hidden}.photo figcaption{color:var(--ink-3);font-size:12px}.photo figcaption.strong{color:var(--ink);font-weight:700}.photo-remove{width:22px;height:22px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.photo-add{border:1px solid var(--line-2);width:104px;height:104px;color:var(--acc);text-align:center;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:12px;font-weight:700;display:flex;position:relative}.photo-add:hover{background:var(--bg-2)}.photo-add.disabled{opacity:.5;cursor:not-allowed}.photo-add input{opacity:0;cursor:inherit;position:absolute;inset:0}.photo-add:focus-within{outline:2px solid var(--acc);outline-offset:2px}.detail-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;display:grid}.detail-side{flex-direction:column;gap:16px;display:flex}.detail-side .card,.detail-grid>.card{margin-top:0}.detail-card>.section-label,.detail-card>.card-head{padding:16px 20px 12px}.detail-card>.section-label{display:block}.detail-card>.muted.small{padding:0 20px 16px}.detail-photos{gap:10px;padding:0 20px 20px}.detail-photos .photo,.detail-photos .photo-img{width:105px}.detail-photos .photo-img{height:88px}.data-list{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;padding:0 20px 20px;font-size:13px;display:grid}.data-list dt{color:var(--ink-3)}.data-list dd{text-align:right;margin:0;font-weight:600}.table .col-sheets{width:110px}.table .col-sheets .input{text-align:right;height:38px}.table .note-row td{padding-top:0}.table .package-row.has-note td{border-bottom:0}.add-packages{border-top:1px solid var(--line);margin:0;padding:14px 20px}.label-actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.label-stage{border:1px solid var(--line);border-radius:var(--radius-card);background:#f3f4f6;padding:32px;overflow-x:auto}.label-sheet{background:#fff;grid-template-columns:repeat(2,100mm);align-content:start;width:210mm;min-height:297mm;margin:0 auto;padding:10mm;display:grid;box-shadow:0 2px 12px #0000001f}.label{border:.3mm solid var(--line-2);color:#000;break-inside:avoid;background:#fff;justify-content:space-between;align-items:center;gap:3mm;padding:4mm 4mm 4mm 5mm;display:flex;overflow:hidden}.label-text{flex-direction:column;flex:1;gap:1mm;min-width:0;display:flex}.label-text p{margin:0}.label-logo{align-self:flex-start;width:24mm;height:auto;margin-bottom:1mm}.label-code{font:800 6mm var(--font-mono);letter-spacing:-.2mm}.label-sheets{font:500 2.4mm var(--font-mono);letter-spacing:.3mm}.label-sheets strong{font-size:5mm}.label-material{font:600 2.8mm var(--font-sans)}.label-size{font:400 2.6mm var(--font-mono)}.label-qr{flex:none;width:30mm;height:30mm}.field .input.textarea{height:auto;padding:12px 14px;line-height:1.4}.card-head .section-label{border-top:0;padding-top:0}.kind-tabs .segmented{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.kind-tabs .segment{justify-content:center;height:36px}.detail-card .section-label,.incident-card .section-label{text-transform:uppercase}.detail-main{flex-direction:column;gap:16px;min-width:0;display:flex}.detail-main>.card{margin-top:0}.incident-card{flex-direction:column;gap:16px;padding:20px;display:flex}.incident-head,.history-head,.incident-actions,.packages-summary li{align-items:center;gap:10px;display:flex}.incident-head{justify-content:space-between;align-items:flex-start}.incident-titles{flex-direction:column;gap:6px;display:flex}.incident-card .section-label,.history-head .section-label{border:0;padding:0}.incident-card h2{margin:0;font-size:20px;font-weight:800}.incident-text{color:var(--ink-2);white-space:pre-line;margin:0;font-size:14px;line-height:1.45}.incident-people{background:var(--bg-2);border-radius:8px;grid-template-columns:1fr 1fr;gap:24px;padding:12px 16px;display:grid}.incident-people>div{flex-wrap:wrap;align-items:baseline;gap:3px 8px;display:flex}.incident-people span{color:var(--ink-3);flex-basis:100%;font-size:12px}.incident-people strong{font-size:14px}.incident-people small,.event-who small{color:var(--ink-3);font-size:12px}.incident-actions{flex-wrap:wrap}.incident-actions .spacer,.packages-summary .spacer{flex:1}.incident-actions .btn-secondary,.incident-actions .btn-primary{height:36px;font-size:14px}.incident-actions .btn-secondary{color:var(--ink-2);padding:0 14px}.incident-actions .btn-primary{padding:0 20px}.incident-resolution,.incident-summary{border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.incident-resolution{background:var(--ok-soft);color:var(--ok)}.incident-summary{background:var(--bg-2);color:var(--stop);align-items:center;gap:12px}.incident-summary .event-text{flex:1}.incident-resolution svg,.incident-summary svg{flex:none;margin-top:1px}.event-text{min-width:0;color:var(--ink-2);flex-direction:column;gap:3px;font-size:13px;display:flex}.event-text strong{color:var(--ink);font-size:14px}.event-text small{color:var(--ink-3);font-size:12px}.incident-history{border-top:1px solid var(--line);padding-top:16px}.history-head{justify-content:space-between;padding-bottom:8px}.history-lock{align-items:center;gap:6px;display:inline-flex}.incident-history ol{margin:0;padding:0;list-style:none}.incident-history li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.incident-history .event-text{flex:1}.event-icon{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.tone-stop{background:var(--stop-soft);color:var(--stop)}.tone-warn{background:var(--warn-soft);color:var(--warn)}.tone-acc{color:var(--acc);background:#e7f0f0}.tone-ok{background:var(--ok-soft);color:var(--ok)}.event-who{color:var(--ink-2);flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:13px;display:flex}.event-who strong{font-weight:600}.packages-summary ul{margin:0;padding:0 20px 8px;list-style:none}.packages-summary li{border-top:1px solid var(--line);gap:8px;padding:9px 0;font-size:13px}.packages-summary li strong{font-weight:600}.packages-summary .mono{color:var(--ink-2)}.summary-total{color:var(--ink-2);font-size:12px;font-weight:600}.damaged-mark{color:var(--stop);display:inline-flex}.photo figcaption.incident{color:var(--stop);font-weight:700}.field .field-label{color:var(--ink-2);font-size:13px;font-weight:600}.email-draft{gap:16px}.email-draft .textarea{min-height:264px;font-size:14px;line-height:1.45}.draft-photos{flex-direction:column;gap:8px;display:flex}.draft-photos .field-label{color:var(--ink-2);font-size:13px;font-weight:600}.draft-gallery{flex-wrap:wrap;gap:12px;display:flex}.draft-photo{width:109px;color:var(--ink-3);cursor:pointer;flex-direction:column;gap:6px;font-size:12px;display:flex;position:relative}.draft-photo .photo-img{opacity:.55;border:2px solid #0000;width:109px;height:76px}.draft-photo.chosen .photo-img{border-color:var(--acc);opacity:1}.draft-photo .strong{color:var(--ink);font-weight:700}.draft-photo input{width:18px;height:18px;accent-color:var(--acc);margin:0;position:absolute;top:8px;left:8px}.draft-foot{background:var(--bg-2);flex-direction:column;align-items:flex-end;gap:10px}.draft-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.draft-buttons .btn-primary{padding:0 20px}.draft-note{color:var(--ink-3);align-items:center;gap:6px;margin:0;font-size:12px;display:inline-flex}@media (width<=1100px){.reception-form,.detail-grid{grid-template-columns:minmax(0,1fr)}.modal-backdrop{padding:12px}}@page{size:A4;margin:0}@media print{.sidebar,.no-print,.banner{display:none!important}.shell{display:block}.content{padding:0}.label-stage{background:0 0;border:0;padding:0;overflow:visible}.label-sheet{min-height:0;box-shadow:none;margin:0}}.filter.date-filter{gap:8px}.filter.date-filter input{width:118px;color:var(--ink);font:700 13px var(--font-sans);background:0 0;border:0;outline:0}.floor{background:#fff;flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.floor-bar{background:var(--side);height:64px;color:var(--side-ink);align-items:center;gap:12px;padding:0 20px;display:flex}.floor-bar h1{flex:1;font-size:18px;font-weight:700}.floor-bar>span{color:var(--side-ink-2);font-size:14px;font-weight:600}.floor-back{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin:-10px;padding:0;display:grid}.floor-body,.floor-form{flex-direction:column;flex:1;gap:16px;display:flex}.floor-body{padding:20px}.floor-spacer{flex:1}.floor-btn{border:1px solid var(--line-2);height:64px;color:var(--ink-2);font:700 18px var(--font-sans);cursor:pointer;background:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:10px;text-decoration:none;display:flex}.floor-btn.primary{background:var(--acc);color:#fff;border:0}.floor-btn:disabled{opacity:.6;cursor:progress}.floor-btn.square{width:64px}.scanner-camera{text-align:center;background:#0b1416;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:320px;display:flex;position:relative;overflow:hidden}.scanner-camera video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.scanner-camera.live video{opacity:1}.scanner-guide{border:2px solid #fff;border-radius:12px;width:280px;max-width:80%;height:120px;position:relative}.scanner-prompt,.scanner-hint{text-shadow:0 1px 2px #0009;margin:0;padding:0 20px;position:relative}.scanner-prompt{color:#fff;font-size:19px;font-weight:700}.scanner-hint{color:var(--side-ink-2);margin-top:-8px;font-size:14px}.scanner-typed{gap:10px;display:flex}.scanner-typed input{border:1px solid var(--line-2);text-transform:uppercase;border-radius:12px;flex:1;min-width:0;height:64px;padding:0 16px;font-size:20px}.floor-notice{border-radius:12px;gap:12px;padding:16px;display:flex}.floor-notice.stop{background:var(--stop-soft);color:var(--stop)}.floor-notice.warn{background:var(--warn-soft);color:var(--warn)}.floor-notice svg{flex:none}.floor-notice strong{font-size:17px}.floor-notice p{color:var(--ink-2);margin:4px 0 0;font-size:15px;line-height:1.2}.floor-card{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.floor-card p{margin:0}.floor-label{color:var(--ink-3);font-size:12px;font-weight:700}.floor-code{font:700 28px var(--font-mono)}.floor-type{font-size:16px;font-weight:600}.floor-sizes{color:var(--ink-2);font-size:15px}.floor-row{color:var(--ink-3);justify-content:space-between;padding-top:8px;font-size:15px;display:flex}.floor-row strong{color:var(--ink);font-size:17px}.floor-row strong.mono{font-size:17px}.floor-chosen{color:var(--ink-2);background:#e7f0f0;border-radius:12px;flex-direction:column;gap:4px;padding:16px;font-size:14px;display:flex}.floor-chosen strong{color:var(--acc);font-size:17px}.floor-card.move{align-items:center;gap:12px;padding:24px}.floor-move{color:var(--ink-2);font:500 28px var(--font-mono);align-items:center;gap:14px;display:flex}.floor-move span{color:var(--ink-3)}.floor-move strong{color:var(--acc)}.floor-field{color:var(--ink-2);flex-direction:column;gap:8px;font-size:15px;font-weight:600;display:flex}.floor-field input{border:1px solid var(--line-2);height:56px;font:400 16px var(--font-sans);border-radius:10px;padding:0 16px}.floor-done{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.floor-done-icon{background:var(--ok-soft);width:96px;height:96px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.floor-done h2{margin:0;font-size:26px}.floor-done p{color:var(--ink-2);margin:0;font-size:17px}.floor-done small{color:var(--ink-3);font-size:14px}.package-sheet h1{font-family:var(--font-mono);font-weight:700}.sheet-columns{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.sheet-main,.sheet-side{flex-direction:column;gap:16px;display:flex}.sheet-main .card,.sheet-side .card{margin:0;padding:20px}.card-label{color:var(--ink-3);font:600 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;margin:0}.card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-head .small{font-size:12px}.sheet-head{justify-content:space-between;align-items:flex-end;display:flex}.sheet-total{align-items:baseline;gap:6px;margin:8px 0 0;display:flex}.sheet-total strong{font-size:32px}.sheet-total span{color:var(--ink-3);font-size:14px}.pill-brown{color:#584a42;background:#f3efec}.sheet-bar{background:var(--line);border-radius:6px;gap:2px;height:12px;margin:16px 0 12px;display:flex;overflow:hidden}.sheet-bar .used,.sheet-legend .used{background:var(--line-2)}.sheet-bar .left,.sheet-legend .left{background:var(--acc)}.sheet-legend{gap:24px;font-size:13px;display:flex}.sheet-legend span{align-items:center;gap:8px;display:inline-flex}.sheet-legend i{border-radius:2px;width:10px;height:10px}.older-note{background:var(--warn-soft);color:var(--warn);border-radius:12px;gap:12px;padding:14px 16px;display:flex}.older-note p{color:var(--ink-2);margin:0;font-size:14px}.older-note strong{color:var(--warn)}.older-note a{color:var(--acc)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:7px 0;display:flex}.timeline li:last-child{border-bottom:0}.timeline-icon{width:30px;height:30px;color:var(--acc);background:#e7f0f0;border-radius:50%;flex:none;place-items:center;display:grid}.timeline-icon.ok{background:var(--ok-soft);color:var(--ok)}.timeline-icon.warn{color:#584a42;background:#f3efec}.timeline-icon.stop{background:var(--stop-soft);color:var(--stop)}.timeline-text,.timeline-who{flex-direction:column;gap:2px;display:flex}.timeline-text{flex:1;font-size:14px}.timeline-text small,.timeline-who small{color:var(--ink-3);font-size:12px}.timeline-who{color:var(--ink-2);align-items:flex-end;font-size:13px}.data-card dl{flex-direction:column;gap:10px;margin:16px 0 0;display:flex}.data-card dl div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.data-card dt{color:var(--ink-3)}.data-card dd{text-align:right;margin:0;font-weight:600}.data-card dd.acc{color:var(--acc)}.data-card dd.stop{color:var(--stop)}.data-card dd a{color:inherit}@media (width<=1100px){.sheet-columns{grid-template-columns:1fr}}.move-body{flex-direction:column;gap:16px;display:flex}.move-package{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;align-items:center;gap:14px;padding:14px;display:flex}.move-package>div{flex-direction:column;flex:1;gap:2px;display:flex}.move-package strong{font-size:15px}.move-package small{color:var(--ink-3);font-size:12px}.move-package-icon{width:40px;height:40px;color:var(--acc);background:#e7f0f0;border-radius:8px;place-items:center;display:grid}.move-from-to{color:var(--ink-3);align-items:center;gap:10px;display:flex}.move-place{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:14px;display:flex}.move-place.next{border-color:var(--acc);background:#e7f0f0}.move-place strong{color:var(--ink);font-size:18px}.move-place.next strong{color:var(--acc)}.move-place small{color:var(--ink-2);font-size:12px}.move-label{font:600 10px var(--font-mono);letter-spacing:1.5px}.move-target{flex-direction:column;gap:8px;display:flex}.move-target-head{color:var(--ink-2);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.move-selects{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.move-selects.zone{grid-template-columns:1fr 3fr}.move-select{color:var(--ink-3);flex-direction:column;gap:4px;font-size:12px;display:flex}.move-note{color:var(--ink-2);background:#e7f0f0;border-radius:8px;align-items:center;gap:10px;margin:0;padding:10px 14px;font-size:12px;display:flex}.move-note svg{color:var(--acc)}.stock-table td{height:48px;padding-top:8px;padding-bottom:8px}.stock-table .col-chevron{width:16px;padding-right:0}.stock-table .group-row td{background:var(--bg-2);height:44px}.group-name{font:800 12px var(--font-mono)}.group-count{color:var(--ink-3);margin-left:8px;font-size:12px}.fold-btn{width:44px;height:44px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;margin:-14px;padding:0;display:grid}.group-row .fold-btn{color:var(--ink-2)}.muted-cell{color:var(--ink-3);font-size:13px}.group-row .muted-cell{font-size:12px}.same-count{color:var(--ink-3);margin:4px 0 8px;font-size:12px}.same-list{margin:0;padding:0;list-style:none}.same-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.same-list li:last-child{border-bottom:0}.same-list a{color:var(--ink);font-weight:700;text-decoration:none}.stock-table .group-row .num{font-weight:800}@media (width<=640px){.package-sheet h1{font-size:24px}.sheet-legend{flex-wrap:wrap;gap:8px 16px}.timeline li{flex-wrap:wrap}.timeline-text{flex-basis:calc(100% - 42px)}.timeline-who{flex-direction:row;gap:8px;margin-left:42px}.move-from-to{flex-direction:column;align-items:stretch}.move-from-to>svg{align-self:center;transform:rotate(90deg)}.move-selects,.move-selects.zone{grid-template-columns:repeat(2,minmax(0,1fr))}.move-target-head{flex-wrap:wrap;gap:8px}}.sidebar-head{justify-content:space-between;align-items:center;display:flex}.page-status,.filter-toggle{display:none}@media screen and (width<=900px){.shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.topbar{z-index:30;background:var(--side);height:56px;color:var(--side-ink);align-items:center;gap:12px;padding:0 6px 0 16px;display:flex;position:sticky;top:0}.topbar-logo{width:96px;height:auto}.topbar-divider{background:var(--side-3);width:1px;height:24px}.topbar-section{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.topbar-menu,.drawer-close{width:44px;height:44px;color:var(--side-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.topbar-menu:hover,.drawer-close:hover{background:var(--side-2)}.sidebar{z-index:46;visibility:hidden;gap:24px;width:min(300px,86vw);height:100dvh;padding:6px 12px 16px;transition:transform .2s,visibility 0s linear .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{visibility:visible;transition:transform .2s;transform:none}.sidebar nav{gap:24px}.sidebar-head{min-height:56px;padding-left:4px}.sidebar-logo{width:120px}.sidebar .menu-item{height:44px}.sidebar .icon-button{width:44px;height:44px}.drawer-scrim{z-index:45;background:#083c3f8c;position:fixed;inset:0}body.drawer-open{overflow:hidden}.content{padding:24px}.card{overflow-x:auto}.page-actions>*{white-space:nowrap;flex:none}.format-banner{flex-wrap:wrap}}@media screen and (width<=1100px){.content{padding:28px 24px}.table th,.table td{padding-left:8px;padding-right:8px}.table th:first-child,.table td:first-child{padding-left:16px}.table .cell-link,.table td.mono{white-space:nowrap}.table th{letter-spacing:.5px}.table td.num{white-space:normal}.table th.col-actions,.table td.col-actions{width:auto}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar.open{transition:none}}@media screen and (width<=640px){h1{font-size:24px}.content{gap:16px;padding:20px 16px}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-head>.page-title{flex-basis:auto}.page-actions{flex-wrap:wrap}.page-actions.sticky-actions{z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;gap:8px 12px;position:fixed;bottom:0;left:0;right:0}.page-actions.sticky-actions>.status-stack{flex-flow:wrap;flex:100%;align-items:center;gap:4px 8px}.page-actions.sticky-actions>:not(.status-stack){white-space:nowrap;flex:1 1 0;min-width:0;padding:0 12px}.page-actions.sticky-actions .pill{height:auto;min-height:24px;padding-block:3px;line-height:1.2}.page-actions>.btn-primary,.page-actions>.btn-secondary{flex:1 0 auto}.toolbar>.btn-link{flex:100%}.detail-card .table-card{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}main:has(.sticky-actions){padding-bottom:132px}.btn-small,.btn-small.btn-secondary,.btn-edit,.btn-delete,.btn-link{min-height:44px}.toolbar{gap:8px}.toolbar .spacer{display:none}.toolbar .search-box{flex:1 1 0;min-width:0;height:44px;width:auto!important}.filter-toggle{flex:none;display:inline-flex}.filter-count{background:var(--acc);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:grid}.toolbar .segmented{scrollbar-width:none;flex:100%;max-width:100%;margin-left:0;overflow-x:auto}.segment{white-space:nowrap;flex:none;height:38px}.segmented{min-height:44px}.filter,.tower-chip{height:44px}.filter-sheet .filter{width:100%}.filter-sheet .date-filter input{flex:1;width:auto;min-width:0}.filter-sheet+.modal-foot .btn-primary{flex:1}.table-card .table,.table-card .table thead,.table-card .table tbody,.table-card .table tbody tr,.table-card .table td{display:block}.table-card .table thead{border-bottom:1px solid var(--line);background:#f3f4f6}.table-card .table thead tr{scrollbar-width:none;align-items:center;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.table-card .table thead tr:before{content:"Ordenar";font:600 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);flex:none}.table-card .table thead th:not([aria-sort]){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-card .table thead:not(:has(th[aria-sort])){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-card .table thead th[aria-sort]{background:0 0;border:0;flex:none;padding:0}.table-card .sort-btn{border:1px solid var(--line-2);height:44px;color:var(--ink-2);font:700 12px var(--font-sans);letter-spacing:0;text-transform:none;white-space:nowrap;background:#fff;border-radius:22px;padding:0 12px}.table-card .sort-btn.sorted{border-color:var(--acc);background:#e7f0f0}.table-card .table tbody tr{border-bottom:1px solid var(--line);padding:14px 16px}.table-card .table tbody tr:last-child,.table-card .table tbody tr.has-note{border-bottom:0}.table-card .table tbody tr.note-row{padding-top:0}.table-card .table td,.table-card .table.rows-56 td,.table-card .table.rows-48 td{text-align:left;overflow-wrap:anywhere;border:0;width:auto;min-height:26px;padding:4px 0 4px 38%;position:relative}.table-card .table td:before{content:attr(data-label);width:calc(38% - 12px);font:600 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);position:absolute;top:8px;left:0}.table-card .table td:first-child,.table-card .table td:not([data-label]),.table-card .table td.col-actions{padding-left:0}.table-card .table td:first-child{padding-bottom:8px}.table-card .table td:first-child:before,.table-card .table td:not([data-label]):before,.table-card .table td.col-actions:before{content:none}.table-card .table td.col-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.table-card .table .col-sheets .input{width:110px;height:44px}.table-card .table td:has(>.switch){align-items:center;min-height:44px;display:flex}.table-card .table td:has(>.switch):before{top:50%;transform:translateY(-50%)}.switch:before{content:"";position:absolute;inset:-10px -2px}.status-stack{align-items:flex-start}.pagination{flex-wrap:wrap;gap:8px;height:auto;padding:10px 16px}.pagination>p{flex:100%}.pagination-right{flex:1;justify-content:flex-end}.page-size,.page-btn:not(.arrow),.page-gap{display:none}.page-status{color:var(--ink-2);white-space:nowrap;padding:0 8px;font-weight:600;display:inline}.page-btn.arrow{width:44px;height:44px}.modal-backdrop{padding:0}.modal{min-height:100dvh;box-shadow:none;border-radius:0;flex-direction:column;margin-block:0;display:flex;overflow:visible;width:100%!important}.modal>form{flex-direction:column;flex:1;display:flex}.modal>form>.modal-body,.modal>.modal-body{flex:1}.modal-head{z-index:2;background:#fff;padding:12px 8px 12px 16px;position:sticky;top:0}.modal-head>div{padding-top:10px}.icon-close{flex:none;width:44px;height:44px}.modal-body{padding:16px}.modal-foot{z-index:2;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;position:sticky;bottom:0}.modal-foot .foot-note{display:none}.modal-foot>button{white-space:nowrap;flex:auto;padding:0 16px}.field-row,.field-row.two,.field-row.name-code,.field-row.material-row,.field-row.block-row,.field-row.code-name,.role-group,.kind-cards{grid-template-columns:minmax(0,1fr)}.line-head,.line-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.line-head>:first-child,.line-row>:first-child{grid-column:1/-1}.line-row .input{height:44px}.icon-trash{width:44px;height:44px}.reveal{width:44px;height:44px;margin-right:-14px}.photo-remove:before{content:"";position:absolute;inset:-11px}.link-cards{gap:12px;margin-top:8px}.section-title{margin-top:16px}.format-banner,.format-parts{flex-wrap:wrap;gap:12px}.label-actions{flex-wrap:wrap;gap:8px}.label-stage{padding:12px}.stock-table .group-row td:last-child{display:none}.stock-table td,.stock-table .group-row td{height:auto}.stock-table tbody tr{position:relative}.stock-table tbody td:first-child{z-index:1;background:0 0;width:auto;padding:0;position:absolute;top:8px;right:8px}.stock-table .fold-btn{margin:0}}.size-inline{display:none}@media screen and (width<=1100px){.package-table th:nth-child(3),.package-table th:nth-child(4),.package-table td:nth-child(3),.package-table td:nth-child(4){display:none}.package-table .size-inline{display:inline}}.map-toolbar .segmented:first-child{margin-left:0}.map-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin:0 0 0 auto;padding:0;font-size:12px;list-style:none;display:flex}.map-legend li{align-items:center;gap:6px;display:inline-flex}.map-swatch{border:1px solid;border-radius:3px;flex:none;width:12px;height:12px;display:block}.map-swatch.swatch-empty{border:2px solid var(--acc);background:#fff}.map-swatch.swatch-full{border-color:var(--line-2);background:var(--line-2)}.map-swatch.swatch-transit{border-color:var(--warn);background:var(--warn-soft)}.map-swatch.swatch-dispatch{background:#f3f4f6;border-color:#a2a9b4}.map-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;margin-top:16px;display:grid}.map-body .card{margin-top:0}.map-plan{padding:20px 24px 0;overflow-x:auto}.map-floor{border:2px solid #767c7f;border-bottom:0;grid-template-columns:minmax(max-content,1fr) 150px minmax(max-content,1fr);min-height:520px;padding:16px 16px 20px;display:grid}.map-side{flex-direction:column;gap:20px;display:flex}.map-side-label{color:var(--ink-3);font:700 10px var(--font-mono);letter-spacing:1.5px;margin:0}.map-side.right .map-side-label{text-align:right}.map-row,.map-towers{align-items:center;gap:8px;display:flex}.map-side.right .map-row,.map-side.right .map-towers{flex-direction:row-reverse}.map-row-number{width:28px;color:var(--ink-3);text-align:right;flex:none;font-size:12px;font-weight:700}.map-side.right .map-row-number{text-align:left}.map-tower{border:1px solid var(--acc);width:64px;height:48px;color:var(--acc);font:600 10px var(--font-sans);cursor:pointer;background:#e7f0f0;border-radius:6px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:0;display:flex}.map-tower strong{color:var(--acc-2);font-size:11px}.map-tower.tower-empty{color:var(--ink-3);background:#fff;border-width:2px}.map-tower.tower-empty strong,.map-tower.tower-full strong{color:var(--ink-2)}.map-tower.tower-full{border-color:var(--line-2);background:var(--line-2);color:var(--ink-2)}.map-tower.selected{border:2px solid var(--acc);background:var(--acc);color:var(--side-ink)}.map-tower.selected strong{color:#fff}.map-tower:focus-visible,.map-package:focus-visible,.map-level:focus-visible{outline:2px solid var(--ok);outline-offset:2px}.map-spacer{flex:1}.map-zone{min-height:92px;color:var(--ink-2);background:#f3f4f6;border:1px solid #a2a9b4;border-radius:6px;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;font-size:12px;display:flex}.map-zone p{margin:0}.map-zone-title{font:700 10px var(--font-mono);letter-spacing:1.2px;align-items:center;gap:6px;display:flex}.map-zone.transit{border-color:var(--warn);background:var(--warn-soft)}.map-zone.transit .map-zone-title{color:var(--warn)}.map-street{color:#a2a9b4;border-left:1px solid #a2a9b4;border-right:1px solid #a2a9b4;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0 16px;display:flex}.map-street span{color:var(--ink-3);font:700 11px/1.5 var(--font-mono);letter-spacing:1.5px;text-align:center}.map-wall{grid-template-columns:1fr 182px 1fr;height:44px;display:grid}.map-wall span:first-child{border-bottom:2px solid #767c7f;border-left:2px solid #767c7f}.map-wall span:last-child{border-bottom:2px solid #767c7f;border-right:2px solid #767c7f}.map-entrance{color:var(--acc);font:700 11px var(--font-mono);letter-spacing:1.5px;justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.map-aside{flex-direction:column;gap:16px;display:flex}.map-panel{flex-direction:column;gap:6px;padding:20px;display:flex}.map-panel-head{justify-content:space-between;align-items:center;display:flex}.map-panel .eyebrow{font-size:10px}.map-help{color:var(--ink-3);margin:0;font-size:12px;line-height:1.4}.map-group{flex-direction:column;gap:6px;padding-top:4px;display:flex}.map-group-head{color:var(--ink-2);font:700 10px var(--font-mono);letter-spacing:1.2px;align-items:center;gap:6px;margin:0;display:flex}.map-group-head svg{color:var(--ink-3)}.map-group-count{color:var(--ink-3);margin-left:auto;font-size:11px;font-weight:600}.map-package{border:1px solid var(--line);min-height:44px;color:var(--ink-2);font:400 12px var(--font-sans);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:1px;padding:6px 12px;display:flex}.map-package small,.map-level small{font-size:12px}.map-package strong{color:var(--ink);font-size:13px}.map-package.transit{border-color:var(--warn);background:var(--warn-soft)}.map-package.selected{border:2px solid var(--acc);background:#e7f0f0}.map-scan{height:36px;margin-top:6px}.map-scanner{flex-direction:column;gap:12px;display:flex}.map-panel:has(.map-levels){gap:12px}.map-tower-title{flex-direction:column;gap:4px;display:flex}.map-tower-title h2{margin:0;font-size:22px;font-weight:800}.map-tower-title p{color:var(--ink-3);margin:0;font-size:12px}.map-levels{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.map-level{background:var(--bg-2);width:100%;min-height:36px;color:var(--ink-2);font:400 12px var(--font-sans);text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}button.map-level{cursor:pointer}.map-level-name{color:var(--ink-2);flex:none;font-size:12px;font-weight:800}.map-level-text{flex-direction:column;gap:6px;min-width:0;display:flex}.map-level-text>span{flex-direction:column;gap:2px;display:flex}.map-level-text strong{color:var(--ink);font-size:13px}.map-level.busy{background:#e7f0f0}.map-level.busy .map-level-name{color:var(--acc)}.map-level.target{background:#fbf1dc;border-color:#c98a1a}.map-level.target .map-level-name{color:var(--ink-2)}@media screen and (width>1100px){.map-aside{max-height:calc(100dvh - 32px);position:sticky;top:32px;overflow:auto}}@media screen and (width<=1100px){.map-body{grid-template-columns:minmax(0,1fr)}.map-legend{margin-left:0}}@media screen and (width<=640px){.map-plan{padding:12px 12px 0}.map-floor{grid-template-columns:minmax(max-content,1fr) 40px minmax(max-content,1fr);padding:12px 8px 16px}.map-street{margin:0 8px}.map-street span{display:none}}.sheet-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.sheet-actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-only{color:var(--ink-3);font:700 10px var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:6px;display:inline-flex}.package-card-count{flex-direction:column;align-items:flex-end;display:flex}.package-card-count strong{font-size:22px;font-weight:800}.package-card-count small{color:var(--ink-3);font-size:11px}.reason-fieldset{border:0;margin:0;padding:0}.reason-fieldset legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.reason-cards .kind-card{min-height:44px;color:var(--ink-2);padding:0 14px;font-size:14px;font-weight:400}.reason-cards .kind-card.selected{color:var(--ink);font-weight:700}.stepper{border:2px solid var(--acc);background:#fff;border-radius:8px;align-items:center;height:44px;display:flex}.stepper.compact{width:150px;padding:0 6px}.stepper.wide{width:100%}.stepper.invalid{border-color:var(--stop)}.stepper input{min-width:0;color:var(--ink);font:800 18px var(--font-sans);text-align:center;appearance:textfield;background:0 0;border:0;flex:1}.stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper input:focus{outline:none}.stepper:focus-within{box-shadow:0 0 0 3px #e7f0f0}.stepper button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.stepper.compact button{background:#f3f4f6;border-radius:6px;width:32px;height:32px}.stepper.wide button{width:44px;height:44px}.stepper button:disabled{color:var(--line-2);cursor:default}.stepper-row{align-items:center;gap:14px;display:flex}.stepper-result{font-size:16px;font-weight:800}.audit-note{color:var(--ink-2);background:#e7f0f0;border-radius:8px;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:12px;display:flex}.audit-note svg{color:var(--acc);flex:none}.wizard-steps{align-items:center;gap:14px;margin:0;padding:0;list-style:none;display:flex}.wizard-steps li{color:var(--ink-3);flex:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.wizard-steps li+li:before{content:"";background:var(--line-2);width:100px;height:2px;margin-right:6px}.wizard-steps li:not(:first-child){flex:1}.wizard-steps li+li:before{flex:1;width:auto}.wizard-steps li.done+li:before{background:var(--acc)}.wizard-steps li.done,.wizard-steps li.current{color:var(--ink)}.wizard-number{width:22px;height:22px;color:var(--ink-3);background:#f3f4f6;border-radius:11px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.wizard-steps .done .wizard-number{background:var(--ok);color:#fff}.wizard-steps .current .wizard-number{background:var(--acc);color:#fff}.older-choice{background:var(--warn-soft);border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.older-choice>p{gap:10px;margin:0;font-size:13px;display:flex}.older-choice>p svg{color:var(--warn);flex:none;margin-top:1px}.older-options{flex-wrap:wrap;gap:16px;padding-left:26px;display:flex}.older-options label{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.older-options input,.close-card input{appearance:none;border:1px solid var(--line-2);background:#fff;border-radius:50%;flex:none;width:18px;height:18px;margin:0}.older-options input:checked,.close-card input:checked{border:5px solid var(--acc)}.older-choice .field{padding-left:26px}.used-label{align-items:center;gap:8px;display:inline-flex}.used-label .pill{height:20px}.strong-help{color:var(--acc);font-weight:700}input.planned-input{text-align:center;font-size:18px;font-weight:800}.diff-note{background:var(--warn-soft);border-radius:8px;gap:10px;padding:10px 12px;display:flex}.diff-note svg{color:var(--warn);flex:none}.diff-note p,.consume-summary p{flex-direction:column;flex:1;gap:2px;margin:0;display:flex}.diff-note strong{font-size:14px}.diff-note span{color:var(--ink-2);font-size:12px}.consume-summary{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.consume-summary>svg{color:var(--ink-3);flex:none}.consume-summary strong{font-size:14px}.consume-summary small{color:var(--ink-3);font-size:12px}.close-fieldset{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.close-fieldset legend{float:left;width:100%;font-size:16px;font-weight:800}.close-card{border-color:var(--line);min-height:56px;padding:12px}.close-card.selected{border-width:1px}.close-card>svg{color:var(--ink-3);flex:none}.close-card.selected>svg{color:var(--acc)}.close-card .role-text{flex-direction:column;gap:2px;display:flex}.close-card small{color:var(--ink-3);font-size:12px}.close-card.off{cursor:not-allowed;opacity:.55}.close-zone{padding-left:40px}@media screen and (width<=640px){.wizard-steps{gap:8px}.wizard-steps li+li:before{margin-right:2px}.reason-cards{grid-template-columns:1fr}.sheet-actions{align-items:stretch}}.sheet-legend small{color:var(--ink-3);font-size:12px}
