@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{--bg:#f8fafc;--fg:#0f172a;--card:#fff;--primary:#10b981;--primary-hover:#059669;--primary-soft:#ecfdf5;--success:#059669;--success-soft:#ecfdf5;--info:#0284c7;--info-soft:#e0f2fe;--danger:#dc2626;--danger-soft:#fef2f2;--secondary:#f1f5f9;--secondary-fg:#475569;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--radius:.75rem;--radius-sm:.5rem;--shadow-sm:0 1px 2px 0 #0f172a0f;--shadow:0 10px 20px -12px #0f172a47;--shadow-lg:0 24px 60px -28px #0f172a73;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Poppins,sans-serif;font-size:14px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html.native-app{font-size:13px}body{color:var(--fg);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#10b9811f,#0000 30%),linear-gradient(#f8fafc,#eef2ff 44%,#f8fafc);line-height:1.6}img{max-width:100%}h1,h2,h3,h4{color:var(--fg);letter-spacing:-.02em;font-weight:700}p{color:var(--muted)}a{color:inherit}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100svh;display:grid}.app-shell--native{grid-template-columns:1fr}.sidebar{color:#f8fafc;background:linear-gradient(#0f172a,#111827 62%,#020617);flex-direction:column;gap:2rem;height:100vh;padding:2rem 1.25rem;display:flex;position:sticky;top:0}.brand-lockup{flex-direction:column;gap:.4rem;display:flex}.brand-lockup__eyebrow,.eyebrow{width:fit-content;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;background:#10b9811f;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.brand-lockup__title{color:#fff;letter-spacing:-.04em;font-size:1.5rem;font-weight:800}.sidebar-nav{flex-direction:column;gap:.5rem;display:flex}.sidebar-link,.icon-button,.text-button,.chip,.bottom-bar__item,.bottom-bar__center,.selection-option{appearance:none;font:inherit;cursor:pointer;background:0 0;border:none}.sidebar-link{border-radius:var(--radius-sm);color:#94a3b8;text-align:left;align-items:center;gap:.75rem;width:100%;padding:.8rem 1rem;font-weight:500;transition:all .2s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff0f}.sidebar-link--active{background:var(--primary);color:#fff;box-shadow:0 10px 24px -14px #10b981cc}.sidebar-actions{margin-top:auto}.sidebar-actions__primary{margin-bottom:.5rem}.sidebar-actions__logout{color:#fff;background:#ffffff0d;border-color:#ffffff1a}.sidebar-actions__logout:hover{color:#fff;background:#ffffff1a}.app-frame{flex-direction:column;min-width:0;display:flex}.app-topbar{z-index:30;min-height:calc(70px + var(--safe-top));padding:var(--safe-top) 2rem 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border-bottom:1px solid #e2e8f0e6;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-topbar__title h1{margin:0;font-size:1.45rem}.topbar-actions{align-items:center;gap:1rem;display:flex}.topbar-actions__logout{display:none}.user-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;align-items:flex-end;gap:.1rem;padding:.65rem .9rem;display:flex}.user-chip strong{font-size:.95rem}.user-chip span{color:var(--muted);text-transform:capitalize;font-size:.76rem}.page-shell{width:100%;max-width:1200px;padding:2.5rem 2.5rem calc(2.5rem + var(--safe-bottom));flex-direction:column;gap:2rem;margin:0 auto;display:flex}.panel{border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #e2e8f0e6;padding:2rem}.panel-loading{color:var(--muted);padding:.5rem 0}.panel-intro{color:var(--muted);margin-bottom:1rem}.section-heading{margin-bottom:1.5rem}.section-heading--compact{margin-bottom:1rem}.section-heading h2{font-size:1.5rem}.section-heading h3{font-size:1.2rem}.hero-banner{border-radius:var(--radius);color:#fff;background:radial-gradient(circle at 100% 0,#10b9814d,#0000 24%),linear-gradient(135deg,#0f172a,#1e293b);justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem;display:flex}.hero-banner h2{color:#fff;margin-bottom:.5rem;font-size:1.75rem}.hero-banner p{color:#94a3b8;max-width:60ch}.hero-banner__content{min-width:0}.hero-actions,.toolbar,.toolbar-actions,.dialog-actions,.pagination-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-actions{justify-content:flex-end}.toolbar{justify-content:space-between;margin-bottom:1.5rem}.toolbar-actions{justify-content:flex-end}.pagination-bar{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;margin-top:1.25rem;padding-top:1rem}.pagination-bar__summary,.pagination-bar__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pagination-bar__size{min-width:120px}.scan-bar{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.scan-bar__modes{flex-shrink:0}.scan-bar__serial{min-width:min(280px,100%)}.scan-bar__actions{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.scan-bar__hint{margin-top:1rem;font-size:.9rem}.scan-bar__hint strong{color:var(--fg)}.scanner-modal{width:min(100%,860px)}.scanner-modal__body{flex-direction:column;gap:1rem;display:flex}.scanner-stage{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#0f172a,#111827);min-height:340px;position:relative;overflow:hidden}.scanner-stage:after{content:"";pointer-events:none;border:2px solid #10b981f2;border-radius:1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #0f172a2e}.scanner-stage--barcode:after{width:min(82%,460px);height:min(30%,160px)}.scanner-stage--qrcode:after{aspect-ratio:1;width:min(72%,280px)}.scanner-reader,.scanner-reader>div{width:100%;height:100%;min-height:340px}.scanner-reader video,.scanner-reader canvas,.scanner-reader img{object-fit:cover;display:block;width:100%!important;height:100%!important}.scanner-stage__status{color:#fff;text-align:center;background:#0f172a5c;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.5rem;display:flex;position:absolute;inset:0}.scanner-stage__status span{color:#fffc}.scanner-helper,.scanner-error,.scanner-candidates{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);padding:1rem 1.1rem}.scanner-helper strong,.scanner-error strong,.scanner-candidates__header strong{color:var(--fg);margin-bottom:.2rem;display:block}.scanner-helper span,.scanner-candidates__header span{color:var(--muted);font-size:.9rem}.scanner-error p{margin:0}.scanner-candidates{flex-direction:column;gap:.9rem;display:flex}.selection-option__content{flex-direction:column;gap:.2rem;min-width:0;display:flex}.selection-option__content strong,.selection-option__content span{overflow-wrap:anywhere}.split-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;display:grid}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.dashboard-page{flex-direction:column;gap:2rem;min-width:0;display:flex}.dashboard-panel{min-width:0}.summary-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem}.summary-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.summary-card__label{color:var(--muted);font-size:.8rem;font-weight:600}.summary-card__icon{color:var(--primary);opacity:.2}.summary-card__value{margin-top:.5rem;font-size:2rem;font-weight:800;display:block}.summary-card__helper{margin-top:.25rem;font-size:.75rem}.button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.button--primary{color:#fff;background:#0f172a}.button--primary:hover{box-shadow:var(--shadow);background:#1e293b;transform:translateY(-1px)}.button--secondary{color:#475569;border-color:var(--border-strong);background:#fff}.button--secondary:hover{background:var(--secondary)}.button--ghost{color:var(--muted);background:0 0}.button--ghost:hover{background:var(--secondary);color:var(--fg)}.button--danger{background:var(--danger);color:#fff}.button--danger:hover{box-shadow:var(--shadow);background:#b91c1c;transform:translateY(-1px)}.button--block{width:100%}.button:active{transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--fg);background:#fff;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input::placeholder,textarea::placeholder{color:#94a3b8}textarea{resize:vertical;min-height:110px}.segmented-toggle{border-radius:var(--radius-sm);background:var(--secondary);gap:.25rem;padding:.25rem;display:inline-flex}.segmented-toggle button{border-radius:calc(var(--radius-sm) - .125rem);color:var(--muted);background:0 0;border:none;padding:.55rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.segmented-toggle button.is-active{color:var(--fg);box-shadow:var(--shadow-sm);background:#fff}.field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.field--compact{flex:0 220px;min-width:180px}.field--grow{flex:1}.field--full{grid-column:1/-1}.field-label{color:var(--fg);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.field-help{color:var(--muted);font-size:.8rem}.field-help--error{color:#b91c1c}.field--compact .field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.searchable-select,.searchable-select__control{position:relative}.searchable-select__control input{padding-right:5.75rem}.searchable-select__hint{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;pointer-events:none;font-size:.72rem;font-weight:700;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.searchable-select__dropdown{z-index:25;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:260px;box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:.45rem;padding:.6rem;display:flex;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow:auto}.searchable-select__option{border:1px solid var(--border);border-radius:calc(var(--radius-sm) - .1rem);text-align:left;background:linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;gap:.15rem;width:100%;padding:.85rem .95rem;display:flex}.searchable-select__option strong,.searchable-select__empty strong{color:var(--fg)}.searchable-select__option span,.searchable-select__empty span{color:var(--muted);font-size:.82rem}.searchable-select__option:hover,.searchable-select__option--active{background:var(--primary-soft);border-color:#10b98173}.searchable-select__create{border-radius:calc(var(--radius-sm) - .1rem);background:linear-gradient(135deg, #fff, var(--primary-soft));text-align:left;border:1px dashed #10b98173;flex-direction:column;gap:.15rem;width:100%;padding:.95rem 1rem;display:flex}.searchable-select__create strong{color:var(--fg)}.searchable-select__create span{color:var(--muted);font-size:.82rem}.searchable-select__create:hover{border-style:solid}.searchable-select__empty{border:1px dashed var(--border-strong);border-radius:calc(var(--radius-sm) - .1rem);background:#f8fafc;flex-direction:column;gap:.15rem;padding:.85rem .95rem;display:flex}.search-input{position:relative}.search-input__icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input__control{padding-left:40px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.stack-form{flex-direction:column;gap:1.25rem;display:flex}.hint-panel,.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);padding:1rem 1.1rem}.hint-panel strong,.empty-state strong{margin-bottom:.25rem;display:block}.empty-state{text-align:center}.empty-state__icon{color:var(--muted);opacity:.5;margin-bottom:1rem}.empty-state__icon svg{margin:0 auto;display:block}.empty-state--panel{padding:3rem}.empty-state--panel h4{margin-bottom:.5rem}.empty-state--panel p{font-size:.875rem}.empty-state--compact{text-align:left}.chip-row{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.chip{border:1px solid var(--border);color:var(--fg);background:#fff;border-radius:999px;padding:.55rem .85rem;font-weight:600}.chip:hover{color:var(--primary-hover);border-color:#10b98173}.notice{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.95rem 1rem;display:flex}.notice--success{background:var(--success-soft);color:var(--success);border-color:#0596692e}.notice--info{background:var(--info-soft);color:var(--info);border-color:#0284c72e}.notice--error{background:var(--danger-soft);color:#b91c1c;border-color:#dc26262e}.icon-button{border-radius:var(--radius-sm);color:var(--muted);padding:.6rem .8rem}.icon-button:hover{background:var(--secondary);color:var(--fg)}.text-button{color:var(--fg);text-align:left;font-weight:700}.text-button:hover{color:var(--primary-hover)}.muted{color:var(--muted)}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;display:grid}.detail-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;gap:.45rem;padding:1.2rem;display:flex}.detail-card span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:600}.detail-card strong{color:var(--fg);font-size:1rem}.folder-browser__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.folder-browser__card{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;gap:.85rem;padding:1rem;display:flex}.folder-browser__card-head,.folder-browser__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.folder-browser__card-head strong,.folder-detail__summary strong{color:var(--fg);font-size:1rem;display:block}.folder-browser__card-head span,.folder-browser__meta,.folder-browser__path,.folder-detail__eyebrow{color:var(--muted);font-size:.82rem}.folder-browser__path{word-break:break-word}.folder-detail__summary{flex-direction:column;gap:.2rem;min-width:0;display:flex}.folder-detail__eyebrow{text-transform:uppercase;letter-spacing:.06em;font-weight:700}.folder-panel__actions{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-top:1.25rem;display:grid}.folder-panel__create{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.folder-chip-list{gap:.85rem;display:grid}.folder-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.folder-chip__link{appearance:none;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:auto;gap:.2rem;min-width:0;padding:0;display:flex}.folder-chip__link:hover strong{color:var(--primary-hover)}.folder-chip__link:hover span{color:var(--fg)}.folder-chip__content,.folder-chip__link{flex-direction:column;gap:.2rem;min-width:0;display:flex}.folder-chip__content strong,.folder-chip__link strong{color:var(--fg)}.folder-chip__content span,.folder-chip__link span{color:var(--muted);word-break:break-word;font-size:.8rem}.condition-badge,.upload-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:.3rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.condition-badge--good,.upload-pill--uploaded{background:var(--success-soft);color:var(--success)}.condition-badge--bad,.upload-pill--error{background:var(--danger-soft);color:var(--danger)}.upload-pill--uploading{color:#b45309;background:#fef3c7}.status-pill{color:#334155;letter-spacing:.04em;text-transform:uppercase;background:#e2e8f0;border-radius:999px;align-items:center;width:fit-content;padding:.3rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-pill--active,.status-pill--matched{background:var(--success-soft);color:var(--success)}.status-pill--draft{color:#b45309;background:#fef3c7}.status-pill--completed,.status-pill--asset_registered{color:#166534;background:#dcfce7}.status-pill--cancelled,.status-pill--not_found{background:var(--danger-soft);color:var(--danger)}.workspace-list,.workspace-item-list{gap:1rem;display:grid}.workspace-card,.workspace-item-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;gap:1rem;padding:1.2rem;display:flex}.workspace-card__head,.workspace-item-card__head,.workspace-item-card__actions,.workspace-card__meta,.workspace-item-card__meta,.workspace-card__route{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.workspace-card__head h3,.workspace-item-card__head h4{margin-top:.45rem}.workspace-card__route{justify-content:flex-start;font-size:.95rem}.workspace-card__route span,.workspace-card__meta,.workspace-item-card__meta,.workspace-item-card__label,.workspace-card__notes,.workspace-item-card__notes{color:var(--muted)}.workspace-item-card__grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.9rem;display:grid}.workspace-item-card__grid strong{color:var(--fg);margin-top:.3rem;display:block}.workspace-item-card__label{letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:700;display:block}.workspace-scan-panel{gap:1.25rem}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;background:#fff;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#f8fafc;padding:.75rem 1rem;font-size:.7rem;font-weight:700}.data-table td{border-top:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.data-table tbody tr:hover td{background:#f8fafc}.table-thumb{border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:cover;width:44px;height:44px}.modal-backdrop{z-index:80;padding:calc(var(--safe-top) + 1rem) 1rem calc(var(--safe-bottom) + 1rem);overscroll-behavior:contain;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card,.drawer-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff}.modal-card{width:min(100%,720px);max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 2rem);padding:1.5rem;overflow:auto}.confirm-card{width:min(100%,400px);max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 2rem);overflow:auto}.confirm-card--info{width:min(100%,360px)}.confirm-card__body{margin-bottom:1.5rem}.confirm-card__body h3{margin-bottom:.75rem}.confirm-card__body p{font-size:.875rem}.confirm-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.drawer-card{width:min(100%,440px);max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 2rem);flex-direction:column;margin-left:auto;display:flex}.drawer-card__header,.drawer-card__body{padding:1.25rem 1.5rem}.drawer-card__header{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;display:flex}.drawer-card__body{overflow:auto}.selection-list{gap:.75rem;display:grid}.selection-option{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem 1.1rem;display:flex}.selection-option strong{color:var(--fg)}.selection-option span{color:var(--muted);font-size:.85rem}.selection-option:hover{background:var(--primary-soft);border-color:#10b98173}.scan-capture-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#e2e8f0;margin-bottom:1rem;position:relative;overflow:hidden}.scan-capture-preview--interactive{isolation:isolate}.scan-capture-preview img{width:100%;display:block}.scan-capture-overlay{position:absolute;inset:0}.scan-capture-overlay__target{background:#10b9811f;border:2px solid #10b981f2;border-radius:.7rem;justify-content:flex-start;align-items:flex-start;display:flex;position:absolute;box-shadow:0 0 0 999px #0f172a14}.scan-capture-overlay__target span{color:#fff;background:#0f172ae0;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;margin:.35rem;padding:0 .45rem;font-size:.78rem;font-weight:700;display:inline-flex}.barcode-selection-modal{width:min(100%,820px)}.photo-uploader{flex-direction:column;gap:1rem;display:flex}.upload-dropzone,.upload-inline{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);flex-direction:column;gap:.45rem;padding:1rem 1.1rem;display:flex}.upload-dropzone{cursor:pointer}.upload-dropzone input{display:none}.upload-inline input[type=file]::file-selector-button{border:1px solid var(--border-strong);border-radius:calc(var(--radius-sm) - .1rem);color:var(--fg);font:inherit;cursor:pointer;background:#fff;margin-right:.75rem;padding:.6rem .9rem;font-weight:600}.photo-grid,.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.photo-card,.gallery-card{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.photo-card img,.gallery-card img{aspect-ratio:4/3;object-fit:cover;background:#e2e8f0;width:100%;display:block}.photo-card__body,.gallery-card__body{flex-direction:column;gap:.35rem;padding:1rem;display:flex}.photo-card__body span,.gallery-card__body span{color:var(--muted);font-size:.82rem}.photo-card__body p{font-size:.78rem}.photo-card__actions,.gallery-card__actions{gap:.75rem;padding:0 1rem 1rem;display:flex}.photo-card__actions>*,.gallery-card__actions>*{flex:1}.timeline{flex-direction:column;gap:1rem;display:flex}.timeline-item{grid-template-columns:14px minmax(0,1fr);gap:.9rem;display:grid}.timeline-item__dot{background:var(--primary);border-radius:999px;width:14px;height:14px;margin-top:.35rem;box-shadow:0 0 0 5px #10b98124}.timeline-item__body{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;min-width:0;padding:1rem}.timeline-item__meta{flex-wrap:wrap;gap:.55rem 1rem;margin-bottom:.45rem;display:flex}.timeline-item__meta span,.timeline-item__body small,.timeline-arrow{color:var(--muted)}.timeline-change{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-width:0;display:flex}.timeline-summary{color:var(--fg);overflow-wrap:anywhere;margin:0;font-weight:600}.timeline-value{max-width:100%;color:var(--fg);overflow-wrap:anywhere;font-weight:600}.timeline-arrow{letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.list-stack{flex-direction:column;gap:.75rem;display:flex}.list-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff,#f8fafc);padding:.9rem 1rem}.login-shell{min-height:100svh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);background:radial-gradient(circle at 0 0,#10b9812e,#0000 38%),linear-gradient(135deg,#f8fafc,#e2e8f0 55%,#f8fafc);grid-template-columns:minmax(0,1.15fr) minmax(340px,420px);display:grid}.login-panel{padding:3rem}.login-panel--hero{color:#fff;background:linear-gradient(135deg,#0f172af5,#0f172ad6),url(/assets/hero-5sT3BiRD.png) 50%/cover no-repeat;flex-direction:column;justify-content:center;gap:1rem;display:flex}.login-panel--hero h1{color:#fff;max-width:10ch;font-size:clamp(2rem,3vw,2.8rem)}.login-panel:not(.login-panel--hero){-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;flex-direction:column;justify-content:center;gap:1rem;display:flex}.login-hint-panel{gap:.75rem}.login-hint-panel .chip-row{margin-top:0}.bottom-bar{z-index:100;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-bar__container{justify-content:space-around;align-items:center;height:70px;display:flex}.bottom-bar__item{min-width:54px;color:var(--muted);flex-direction:column;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.bottom-bar__item--active{color:var(--primary)}.bottom-bar__icon{justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.bottom-bar__center{flex-direction:column;align-items:center;gap:.1rem;display:flex}.bottom-bar__scan-label{color:#09090b;margin-top:2px;font-size:.65rem;font-weight:700}.bottom-bar__scan-icon{color:#fff;width:64px;height:64px;box-shadow:var(--shadow-lg);background:#0f172a;border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;margin-top:-3.5rem;display:flex}.app-shell--native .sidebar{display:none}.app-shell--native .bottom-bar{display:block}.app-shell--native .page-shell{padding:1rem 1rem calc(92px + var(--safe-bottom));gap:1.1rem}.app-shell--native .app-topbar{min-height:calc(62px + var(--safe-top));padding:var(--safe-top) 1rem 0}.app-shell--native .split-grid{grid-template-columns:1fr}.app-shell--native .app-topbar__title h1{font-size:1.1rem}.app-shell--native .topbar-actions{display:flex}.app-shell--native .topbar-actions .user-chip{display:none}.app-shell--native .topbar-actions__logout{padding-inline:1rem;display:inline-flex}.app-shell--native .dashboard-page{gap:1.1rem}.app-shell--native .dashboard-panel,.app-shell--native .panel,body.native-app .login-panel,body.native-app .login-panel--hero{padding:1rem}.app-shell--native .section-heading{margin-bottom:.85rem}.app-shell--native .section-heading h2{font-size:1.15rem}.app-shell--native .section-heading h3{font-size:1rem}.app-shell--native .hero-banner,body.native-app .hero-banner{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.app-shell--native .hero-banner h2,body.native-app .hero-banner h2{font-size:1.25rem}.app-shell--native .hero-banner p,body.native-app .hero-banner p{max-width:100%}.app-shell--native .toolbar,.app-shell--native .toolbar-actions,.app-shell--native .hero-actions,.app-shell--native .dialog-actions,.app-shell--native .pagination-bar{align-items:stretch}.app-shell--native .toolbar>*,.app-shell--native .toolbar-actions>*,.app-shell--native .hero-actions>*,.app-shell--native .dialog-actions>*,.app-shell--native .pagination-bar__actions>*{width:100%;min-width:0}.app-shell--native .toolbar-actions--history{width:100%}.app-shell--native .toolbar-actions--history .field--compact{flex:100%;min-width:0}.app-shell--native .scan-bar{grid-template-columns:1fr;align-items:stretch;gap:.8rem;display:grid}.app-shell--native .scan-bar__modes,.app-shell--native .scan-bar__serial,.app-shell--native .scan-bar__actions{width:100%;min-width:0}.app-shell--native .scan-bar__modes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-shell--native .scan-bar__modes button{width:100%}.app-shell--native .scan-bar__actions{grid-template-columns:1fr;display:grid}.app-shell--native .scan-bar__actions>*{width:100%}.app-shell--native .scanner-stage,.app-shell--native .scanner-reader,.app-shell--native .scanner-reader>div{min-height:260px}.app-shell--native .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.app-shell--native .summary-card{padding:.95rem}.app-shell--native .summary-card__value{font-size:1.35rem}.app-shell--native .button{text-align:center;white-space:normal;padding:.72rem 1rem;font-size:.84rem;line-height:1.2}.app-shell--native .field-label{font-size:.8rem}.app-shell--native .field-help,.app-shell--native .searchable-select__option span,.app-shell--native .searchable-select__create span,.app-shell--native .searchable-select__empty span{font-size:.78rem}.app-shell--native .form-grid,body.native-app .login-shell{grid-template-columns:1fr}.app-shell--native .stack-form{gap:1rem}.app-shell--native .chip{padding:.45rem .7rem;font-size:.8rem}.app-shell--native .modal-backdrop{inset:calc(var(--safe-top) + 62px) 0 calc(var(--safe-bottom) + 74px) 0;align-items:flex-start;padding:.75rem}.app-shell--native .modal-card,.app-shell--native .confirm-card,.app-shell--native .drawer-card{width:min(100%,640px);max-height:100%}.app-shell--native .confirm-card--info{width:min(100%,340px)}.app-shell--native .drawer-card{border-radius:1rem;width:min(100%,420px)}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.bottom-bar{display:block}.page-shell{padding:1.25rem 1.25rem calc(100px + var(--safe-bottom))}.app-topbar{padding:var(--safe-top) 1.25rem 0}.split-grid{grid-template-columns:1fr}}@media (width<=768px){.login-shell,.form-grid{grid-template-columns:1fr}.app-topbar{align-items:flex-end}.app-topbar__title h1{font-size:1.1rem}.topbar-actions{display:flex}.topbar-actions .user-chip{display:none}.topbar-actions__logout{padding-inline:1rem;display:inline-flex}.login-panel,.login-panel--hero{padding:2rem 1.5rem}.hero-banner{flex-direction:column;align-items:flex-start;gap:1.25rem;padding:1.25rem}.hero-banner h2{font-size:1.35rem}.hero-banner p{max-width:100%}.toolbar,.toolbar-actions,.hero-actions,.dialog-actions,.pagination-bar{align-items:stretch}.folder-panel__actions{grid-template-columns:1fr}.folder-browser__meta{flex-direction:column;align-items:flex-start}.toolbar>*,.toolbar-actions>*,.hero-actions>*,.dialog-actions>*,.pagination-bar__actions>*,.toolbar-actions--history{width:100%}.toolbar-actions--history .field--compact{flex:100%;min-width:0}.searchable-select__dropdown{max-height:220px}.scan-bar{grid-template-columns:1fr;align-items:stretch;gap:.9rem;display:grid}.scan-bar__modes,.scan-bar__serial,.scan-bar__actions{width:100%;min-width:0}.scan-bar__modes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.scan-bar__modes button{width:100%}.scan-bar__actions{grid-template-columns:1fr;display:grid}.scan-bar__actions>*{width:100%}.scanner-stage,.scanner-reader,.scanner-reader>div{min-height:280px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.summary-card{padding:1rem}.summary-card__value{font-size:1.45rem}.dashboard-page,.page-shell{gap:1.25rem}.dashboard-panel,.panel{padding:1.1rem}.section-heading{margin-bottom:1rem}.section-heading h2{font-size:1.25rem}.section-heading h3{font-size:1.05rem}.drawer-card{width:100%;max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - .75rem);border-radius:1rem 1rem 0 0;align-self:flex-end}.modal-backdrop{padding:calc(var(--safe-top) + .75rem) .75rem calc(var(--safe-bottom) + .75rem);align-items:flex-start}.modal-card,.confirm-card,.drawer-card{width:100%}.modal-card,.confirm-card{max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 1.5rem)}.gallery-card__actions,.photo-card__actions,.confirm-card__actions,.notice{flex-direction:column}}@media (width<=520px){.page-shell{padding:1rem 1rem calc(96px + var(--safe-bottom))}.app-topbar{min-height:calc(62px + var(--safe-top));padding:var(--safe-top) 1rem 0}.segmented-toggle{width:100%}.segmented-toggle button{padding-inline:.8rem}.scanner-modal{padding:1rem}.scan-capture-overlay__target{border-radius:.55rem}.scan-capture-overlay__target span{min-width:24px;height:24px;margin:.25rem;font-size:.72rem}.scanner-stage,.scanner-reader,.scanner-reader>div{min-height:240px}.scanner-stage--barcode:after{width:min(86%,360px);height:min(28%,120px)}.summary-grid{grid-template-columns:1fr}}
