:root{font-family:Segoe UI,Helvetica Neue,sans-serif;color:#142033;background:radial-gradient(circle at top left,rgba(19,78,94,.08),transparent 28%),linear-gradient(180deg,#f4f7fb,#eef3f8);line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: rgba(255, 255, 255, .92);--surface-muted: #f8fafc;--border: #d6dee8;--text: #142033;--text-muted: #5c6775;--primary: #0b5cad;--primary-dark: #093f75;--danger: #b42318;--success: #157347;--warning-bg: #eef6ff;--shadow: 0 16px 45px rgba(20, 32, 51, .08);--radius: 18px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}mark{font:inherit}#root,.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(214,222,232,.8);background:#f4f7fbe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar__inner,.page-shell{width:min(1200px,calc(100% - 32px));margin:0 auto}.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.topbar__title,.hero-card__title,.section-header__title{margin:0}.topbar__title{font-size:clamp(1.15rem,2vw,1.55rem)}.page-shell{padding:28px 0 40px}.page,.stack-lg,.stack-md{display:grid}.page,.stack-lg{gap:24px}.stack-md{gap:18px}.hero-card,.card,.modal{background:var(--surface);border:1px solid rgba(214,222,232,.85);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:28px}.hero-card--compact{padding-bottom:22px}.hero-card__title{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:8px}.eyebrow,.section-header__eyebrow,.table-header__meta,.detail-tile__label{color:var(--text-muted)}.eyebrow,.section-header__eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700}.card{padding:24px}.card--muted{background:linear-gradient(180deg,#f8fafcf2,#fffffff2)}.grid{display:grid;gap:18px}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:grid;gap:8px}.field--checkbox{margin-top:4px}.field__label{font-weight:600}.field__required{color:var(--danger)}.field__error{margin:0;font-size:.9rem;color:var(--danger)}.input{width:100%;min-height:46px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #0b5cad1f}.input--error{border-color:#b4231899}.autocomplete{position:relative}.autocomplete__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;display:grid;padding:6px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.autocomplete__option,.autocomplete__empty{padding:10px 12px;border-radius:10px;text-align:left}.autocomplete__option{border:0;background:transparent}.autocomplete__option:hover{background:var(--surface-muted)}.autocomplete__empty{color:var(--text-muted)}.checkbox{display:inline-flex;align-items:center;gap:10px;font-weight:500}.serial-grid,.toolbar,.inline-actions,.details-grid,.items-list{display:flex;gap:12px}.serial-grid{flex-wrap:wrap}.serial-grid .input{min-width:180px;flex:1 1 180px}.toolbar{flex-wrap:wrap;align-items:center}.toolbar--center{justify-content:center;margin-top:20px}.inline-actions{flex-wrap:wrap}.button{min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:12px;background:linear-gradient(180deg,var(--primary),var(--primary-dark));color:#fff;font-weight:600;box-shadow:0 10px 24px #0b5cad29}.button:disabled{cursor:not-allowed;opacity:.65;box-shadow:none}.button--secondary{background:#fff;color:var(--primary-dark);border-color:#0b5cad38;box-shadow:none}.button--ghost,.button--ghost-danger{background:transparent;color:var(--text);border-color:var(--border);box-shadow:none}.button--ghost-danger{color:var(--danger);border-color:#b4231833}.nav{display:flex;gap:10px;flex-wrap:wrap}.nav__link{padding:10px 14px;border-radius:999px;color:var(--text-muted);font-weight:600}.nav__link--active{background:#0b5cad1a;color:var(--primary-dark)}.section-header,.table-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.status-banner{padding:14px 16px;border-radius:14px;font-weight:500}.status-banner--success{background:#1573471a;color:var(--success)}.status-banner--error{background:#b4231814;color:var(--danger)}.status-banner--info{background:var(--warning-bg);color:var(--primary-dark)}.loading-block{display:inline-flex;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.loading-block__spinner{width:18px;height:18px;border:2px solid rgba(11,92,173,.18);border-top-color:var(--primary);border-radius:999px;animation:spin .8s linear infinite}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:16px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{color:var(--text-muted);font-size:.9rem}.table__empty{text-align:center;color:var(--text-muted)}.matched-serials{display:grid;gap:4px;margin-top:8px;font-size:.9rem;color:var(--text-muted)}.highlight-mark{padding:0 3px;border-radius:4px;background:#fff1a8;color:var(--text)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#14203373}.modal{width:min(880px,100%);max-height:90vh;overflow:auto;padding:24px}.details-grid{flex-wrap:wrap;margin:22px 0}.detail-tile{flex:1 1 180px;display:grid;gap:6px;padding:16px;border-radius:14px;background:var(--surface-muted);border:1px solid var(--border)}.detail-row{display:flex;justify-content:space-between;gap:14px}.simple-list{margin:0;padding-left:18px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.grid--4,.grid--2{grid-template-columns:1fr}.topbar__inner,.section-header,.table-header{flex-direction:column}.topbar{position:static}}@media(max-width:640px){.page-shell,.topbar__inner{width:min(100% - 20px,1200px)}.hero-card,.card,.modal{padding:18px}.nav{width:100%}.nav__link{flex:1 1 0;text-align:center}.button,.button--secondary,.button--ghost,.button--ghost-danger{width:100%}}
