*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#142033;background:#eef2f7;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.screen{min-height:100vh}.auth-screen{background:radial-gradient(circle at 0 0,#2563eb29,#0000 28%),linear-gradient(160deg,#0f172a 0%,#1e293b 40%,#eef2f7 40% 100%);justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{background:#fff;border-radius:20px;width:100%;max-width:460px;padding:32px;box-shadow:0 24px 60px #0f172a33}.auth-card--compact{text-align:center;max-width:320px}.brand-lockup{align-items:center;gap:16px;margin-bottom:24px;display:flex}.brand-mark{object-fit:contain;flex:none;width:64px;height:64px}.brand-mark--centered{margin:0 auto 16px;display:block}.brand-title{margin:0;font-size:28px;line-height:1.05}.brand-subtitle{color:#526072;margin:6px 0 0;font-size:14px;line-height:1.5}.brand-subtitle--centered{margin:0}.auth-form{gap:16px;display:grid}.field{gap:8px;display:grid}.field span{color:#334155;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:600}.field input,.field textarea,.field select{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:14px 16px;transition:border-color .12s,box-shadow .12s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 4px #2563eb1f}.password-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.text-button,.secondary-button,.primary-button{border:0;border-radius:12px;padding:14px 18px;font-weight:700}.text-button{color:#2563eb;background:0 0;padding:0 4px}.primary-button{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d)}.primary-button:disabled{opacity:.65;cursor:not-allowed}.secondary-button{color:#0f172a;background:#fff;border:1px solid #cbd5e1}.info-banner,.error-banner,.success-banner,.requirements-card{border-radius:14px;margin-bottom:18px;padding:14px 16px}.info-banner{color:#1d4ed8;background:#eff6ff}.error-banner{color:#b91c1c;background:#fef2f2}.success-banner{color:#166534;background:#f0fdf4}.requirements-card{background:#f8fafc;border:1px solid #e2e8f0}.requirements-title{color:#334155;margin:0 0 10px;font-size:13px;font-weight:700}.requirements-list{color:#64748b;gap:8px;margin:0;padding-left:18px;font-size:14px;display:grid}.requirements-list li.ok{color:#166534}.post-password-page{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.post-password-card{background:#fff;border-radius:24px;grid-template-columns:minmax(0,1.2fr) 320px;gap:28px;width:100%;max-width:980px;padding:36px;display:grid;box-shadow:0 24px 60px #0f172a24}.post-password-copy{align-content:start;gap:16px;display:grid}.post-password-eyebrow{color:#2563eb;text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:12px;font-weight:700}.post-password-title{margin:0;font-size:42px;line-height:.98}.post-password-text,.post-password-help,.post-password-qr-caption{color:#526072;margin:0;line-height:1.6}.post-password-actions{flex-wrap:wrap;gap:12px;display:flex}.install-note{background:#f8fafc;border:1px solid #dbe2ea;border-radius:16px;gap:6px;padding:16px 18px;display:grid}.install-note__title{text-transform:uppercase;letter-spacing:.08em;color:#334155;margin:0;font-size:13px;font-weight:700}.install-note__text{color:#526072;margin:0;line-height:1.55}.post-password-download,.post-password-continue{border:0;border-radius:14px;justify-content:center;align-items:center;min-height:52px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.post-password-download{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.post-password-continue{color:#0f172a;background:#e2e8f0}.post-password-qr-panel{background:#f8fafc;border-radius:18px;align-content:center;justify-items:center;gap:14px;padding:24px;display:grid}.post-password-qr{background:#fff;border-radius:16px;width:220px;height:220px;padding:14px}.app-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app-header{background:#fff;border-bottom:1px solid #dbe2ea;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.app-eyebrow{color:#64748b;text-transform:uppercase;letter-spacing:.12em;margin:0 0 4px;font-size:12px;font-weight:700}.app-title{margin:0;font-size:28px}.app-header-actions{align-items:center;gap:12px;display:flex}.app-nav{background:#f8fafc;border:1px solid #dbe2ea;border-radius:14px;align-items:center;gap:6px;padding:4px;display:flex}.nav-button{color:#334155;background:0 0;border:0;border-radius:10px;min-height:38px;padding:0 12px;font-weight:700}.nav-button--active{color:#0f172a;background:#fff;box-shadow:0 3px 10px #0f172a14}.user-chip{background:#f8fafc;border:1px solid #dbe2ea;border-radius:14px;gap:2px;padding:10px 14px;display:grid}.user-chip__name{font-weight:700}.user-chip__role{color:#64748b;font-size:13px}.profile-layout{grid-template-columns:minmax(0,720px);align-items:start;gap:24px;display:grid}.profile-card,.capability-card{margin-bottom:0}.profile-card__title,.capability-card__title{color:#0f172a;margin:0;font-size:28px}.profile-card__subtitle,.capability-card__note{color:#526072;margin:8px 0 0;line-height:1.6}.profile-actions{flex-wrap:wrap;gap:12px;display:flex}.capability-list{color:#334155;gap:10px;margin:18px 0 0;padding-left:18px;display:grid}.inventory-card{width:100%;margin-bottom:0}.inventory-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:18px;display:grid}.inventory-section{background:#fbfdff;border:1px solid #dbe2ea;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:14px;display:grid}.inventory-section legend{color:#334155;letter-spacing:.12em;text-transform:uppercase;padding:0 8px;font-size:12px;font-weight:800}.inventory-description,.inventory-note,.inventory-status{color:#526072;margin:0;font-size:13px;line-height:1.45}.inventory-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px}.inventory-button-row,.scanner-actions{flex-wrap:wrap;gap:10px;display:flex}.inventory-button-row .secondary-button{flex:150px}.inventory-action-footer{z-index:5;background:#fffffff5;border:1px solid #dbe2ea;border-radius:16px;grid-column:1/-1;justify-content:flex-end;padding:10px;display:flex;position:sticky;bottom:16px;box-shadow:0 10px 24px #0f172a14}.inventory-action-footer .primary-button{min-width:180px}.asset-list{gap:10px;margin-top:22px;display:grid}.asset-list h3{margin:0}.asset-row{background:#f8fafc;border:1px solid #dbe2ea;border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(240px,1.5fr);gap:14px;padding:10px 12px;display:grid}.asset-row span{color:#526072}.tech-card{background:#fff;border:1px solid #dbe2ea;border-radius:18px;margin-bottom:16px;padding:18px;box-shadow:0 10px 24px #0f172a0f}.scanner-modal{z-index:80;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.scanner-card{background:#fff;border-radius:18px;gap:12px;width:min(100%,560px);padding:16px;display:grid;box-shadow:0 24px 60px #0f172a47}.scanner-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scanner-card__header h3{margin:0}.scanner-preview{object-fit:cover;background:#0f172a;border-radius:14px;width:100%;min-height:260px;max-height:52vh}.tech-loading,.tech-error{background:#fff;border:1px solid #dbe2ea;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:240px;display:flex}.tech-btn-primary,.tech-btn-secondary{border:0;border-radius:14px;flex:1;min-height:50px;padding:0 18px;font-weight:700}.tech-btn-primary{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d)}.tech-btn-secondary{color:#0f172a;background:#fff;border:1px solid #cbd5e1}.animate-spin{animation:.9s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.post-password-card,.profile-layout,.inventory-form,.inventory-section{grid-template-columns:1fr}}@media (width<=720px){.auth-screen,.post-password-page,.app-content{padding:16px}.auth-card,.post-password-card{padding:24px}.brand-lockup,.app-header{grid-template-columns:1fr;display:grid}.app-header-actions{flex-wrap:wrap;justify-content:stretch}.app-nav{width:100%;overflow-x:auto}.nav-button,.primary-button,.secondary-button{min-height:44px}.user-chip,.secondary-button{width:100%}.tech-card{border-radius:14px;padding:12px}.profile-card__title,.capability-card__title{font-size:22px}.field{gap:5px}.field span{font-size:11px}.field input,.field textarea,.field select{border-radius:10px;min-height:44px;padding:10px 12px}.inventory-form{gap:12px}.inventory-section{border-radius:14px;gap:10px;padding:12px}.inventory-action-footer{bottom:max(10px, env(safe-area-inset-bottom));justify-content:stretch}.inventory-action-footer .primary-button{width:100%}.asset-row{grid-template-columns:1fr;gap:4px}.scanner-preview{min-height:220px}}.app-header{gap:8px;min-height:50px;padding:6px 12px}.app-header .app-eyebrow{display:none}.app-title{font-size:20px;line-height:1}.app-header-actions{gap:6px}.app-nav{border-radius:9px;gap:2px;padding:2px}.nav-button{border-radius:7px;min-height:34px;padding:0 10px;font-size:15px}.user-chip{border-radius:8px;gap:0;padding:5px 9px}.user-chip__name{font-size:14px;line-height:1.05}.user-chip__role{font-size:11px;line-height:1.05}.app-header .secondary-button{border-radius:8px;min-height:34px;padding:0 11px;font-size:14px}.app-content{padding:8px 12px}.tech-card{border-radius:12px;margin-bottom:8px;padding:10px 12px;box-shadow:0 5px 16px #0f172a0e,0 1px 2px #0f172a09}.profile-card__header{margin-bottom:6px}.profile-card__title,.capability-card__title{font-size:22px;line-height:1.05}.profile-card__subtitle,.capability-card__note{margin-top:3px;font-size:14px;line-height:1.25}.inventory-form{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:7px;margin-top:7px}.inventory-form>.inventory-section{grid-column:auto}.inventory-section{background:#fbfdff;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px 7px 7px;box-shadow:0 2px 7px #0f172a0a,inset 0 1px #ffffffb8}.inventory-section legend{letter-spacing:.09em;padding:0 4px;font-size:11px;line-height:1}.inventory-section__wide,.inventory-description,.inventory-note,.inventory-status{grid-column:1/-1}.inventory-section .field{min-width:0;display:block}.inventory-section .field>span:not(.date-field__placeholder){display:none}.inventory-section input,.inventory-section select{color:#0f172a;background:#fff;border:1px solid #c7d2df;border-radius:8px;width:100%;height:42px;min-height:42px;padding:5px 32px 5px 11px;font-size:16px;line-height:20px;box-shadow:0 1px 3px #0f172a12,inset 0 1px 1px #0f172a05}.inventory-section input{padding-right:11px}.inventory-section textarea{color:#0f172a;resize:vertical;background:#fff;border:1px solid #c7d2df;border-radius:8px;width:100%;height:54px;min-height:54px;padding:7px 11px;font-size:16px;line-height:20px;box-shadow:0 1px 3px #0f172a12,inset 0 1px 1px #0f172a05}.inventory-section input::placeholder,.inventory-section textarea::placeholder,.inventory-section .select-placeholder{color:#5f6b7a;opacity:1}.inventory-section input:hover,.inventory-section select:hover,.inventory-section textarea:hover{border-color:#a9b8c9;box-shadow:0 2px 5px #0f172a14,inset 0 1px 1px #0f172a05}.inventory-section input:focus,.inventory-section select:focus,.inventory-section textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f,0 2px 6px #0f172a14}.inventory-section select:disabled,.inventory-section input:disabled{color:#7a8593;cursor:not-allowed;background:#f4f6f8}.date-field{position:relative}.date-field__placeholder{z-index:2;color:#5f6b7a;pointer-events:none;text-transform:none;letter-spacing:0;font-size:16px;font-weight:400;line-height:20px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.date-field:focus-within .date-field__placeholder{display:none}.inventory-description,.inventory-note,.inventory-status{margin:0;font-size:13px;line-height:1.2}.inventory-note{border-radius:7px;padding:6px 8px}.inventory-button-row,.scanner-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.inventory-button-row .secondary-button,.scanner-actions .secondary-button{border-radius:8px;width:100%;min-height:42px;padding:4px 8px;font-size:15px}.primary-button,.secondary-button{border-radius:8px;min-height:42px;padding:4px 11px;font-size:16px}.primary-button{box-shadow:0 3px 8px #15803d2b,inset 0 1px #ffffff29}.inventory-action-footer{box-shadow:none;background:0 0;border:0;border-radius:0;grid-column:1/-1;padding:0;position:static;bottom:auto}.inventory-action-footer .primary-button{width:100%;min-width:0}.asset-list{gap:5px;margin-top:8px}.asset-list h3{font-size:18px;line-height:1.1}.asset-row{border-radius:8px;gap:7px;padding:6px 8px;font-size:14px;box-shadow:0 1px 3px #0f172a0a}@media (width>=901px){.inventory-card{min-height:0}.inventory-section{align-content:start}}@media (width<=900px){.inventory-form{grid-template-columns:1fr}.inventory-form>.inventory-section{grid-column:1}}@media (width<=720px){.app-header{min-height:0;padding:4px 6px;display:block}.app-header .app-title,.app-header .app-eyebrow{display:none}.app-header-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.app-nav{width:auto;min-width:0;overflow-x:auto}.nav-button{white-space:nowrap;min-height:34px;padding:0 9px;font-size:15px}.user-chip{display:none}.app-header .secondary-button{width:auto;min-height:34px;padding:0 9px}.app-content{padding:5px}.tech-card{border-radius:10px;margin-bottom:5px;padding:7px}.inventory-card .profile-card__header{margin-bottom:4px}.inventory-card .app-eyebrow{display:none}.inventory-card .profile-card__title{font-size:20px}.inventory-card .profile-card__subtitle{display:none}.inventory-form{gap:5px;margin-top:5px}.inventory-section{border-radius:8px;grid-template-columns:1fr;gap:5px;padding:5px 6px 6px}.inventory-section legend{font-size:11px}.inventory-section input,.inventory-section select{height:42px;min-height:42px;padding-top:5px;padding-bottom:5px;font-size:16px}.inventory-section textarea{height:50px;min-height:50px;font-size:16px}.inventory-description,.inventory-note,.inventory-status{font-size:13px}.inventory-button-row,.scanner-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-action-footer{margin-top:0}.asset-list{margin-top:6px}.asset-row{grid-template-columns:1fr;gap:2px;padding:6px 8px}}.date-field:not(.date-field--filled) input[type=date]{color:#0000}.date-field:not(.date-field--filled) input[type=date]::-webkit-datetime-edit{color:#0000}.date-field:not(.date-field--filled) input[type=date]::-webkit-datetime-edit-fields-wrapper{color:#0000}.date-field:not(.date-field--filled) input[type=date]::-webkit-datetime-edit-text{color:#0000}.date-field:not(.date-field--filled) input[type=date]::-webkit-datetime-edit-month-field{color:#0000}.date-field:not(.date-field--filled) input[type=date]::-webkit-datetime-edit-day-field{color:#0000}.date-field:not(.date-field--filled) input[type=date]::-webkit-datetime-edit-year-field{color:#0000}.date-field:not(.date-field--filled):focus-within input[type=date],.date-field--filled input[type=date]{color:#0f172a}.date-field:not(.date-field--filled):focus-within input[type=date]::-webkit-datetime-edit{color:#0f172a}.date-field:not(.date-field--filled):focus-within input[type=date]::-webkit-datetime-edit-fields-wrapper{color:#0f172a}.date-field:not(.date-field--filled):focus-within input[type=date]::-webkit-datetime-edit-text{color:#0f172a}.date-field:not(.date-field--filled):focus-within input[type=date]::-webkit-datetime-edit-month-field{color:#0f172a}.date-field:not(.date-field--filled):focus-within input[type=date]::-webkit-datetime-edit-day-field{color:#0f172a}.date-field:not(.date-field--filled):focus-within input[type=date]::-webkit-datetime-edit-year-field{color:#0f172a}.date-field--filled input[type=date]::-webkit-datetime-edit{color:#0f172a}.date-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8}
