*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #111;--color-surface: #1e1e1e;--color-border: #333;--color-text: #f0f0f0;--color-text-muted: #888;--color-accent: #6c63ff;--color-selected: #6c63ff;--color-minor: #f59e0b;--color-needs-attention: #f97316;--color-down: #ef4444;--color-active: #22c55e;--radius: 10px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html,body,#root{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit}textarea{font-family:inherit;font-size:inherit}.page-loading,.page-error,.empty-msg{padding:2rem;text-align:center;color:var(--color-text-muted)}.status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;background:var(--color-border);color:var(--color-text-muted)}.status-badge.status-active{background:#14532d;color:var(--color-active)}.status-badge.status-needs_attention{background:#431407;color:var(--color-needs-attention)}.status-badge.status-down{background:#450a0a;color:var(--color-down)}.status-badge.status-inactive{background:#1c1c1c;color:var(--color-text-muted)}.asset-list-page{display:flex;flex-direction:column;min-height:100%}.page-header{padding:1.25rem 1rem .75rem;border-bottom:1px solid var(--color-border)}.page-header h1{font-size:1.25rem;font-weight:700}.asset-list{flex:1;overflow-y:auto}.asset-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem;background:none;border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;transition:background .15s}.asset-list-item:active{background:var(--color-surface)}.asset-list-name{font-size:1rem;font-weight:500}.quick-log-page{display:flex;flex-direction:column;min-height:100%}.log-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.back-btn{background:none;color:var(--color-accent);font-size:.9rem;padding:.25rem .5rem;border-radius:var(--radius)}.asset-name{font-size:1.1rem;font-weight:700;flex:1}.log-body{flex:1;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.log-footer{padding:1rem;border-top:1px solid var(--color-border)}.section-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.5rem}.event-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.event-type-btn{padding:1.1rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem;font-weight:600;transition:border-color .15s,background .15s}.event-type-btn.selected{border-color:var(--color-selected);background:#2d2a50}.issue-flow,.severity-picker{display:flex;flex-direction:column;gap:.5rem}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.option-btn{padding:.75rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9rem;font-weight:500;transition:border-color .15s}.option-btn.selected{border-color:var(--color-selected);background:#2d2a50}.severity-options{display:flex;flex-direction:column;gap:.5rem}.severity-btn{padding:.9rem;border:2px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-weight:600;background:var(--color-surface);color:var(--color-text);transition:border-color .15s,background .15s}.severity-btn.severity-minor.selected{border-color:var(--color-minor);background:#292008;color:var(--color-minor)}.severity-btn.severity-needs_attention.selected{border-color:var(--color-needs-attention);background:#1f1106;color:var(--color-needs-attention)}.severity-btn.severity-down.selected{border-color:var(--color-down);background:#1c0505;color:var(--color-down)}.optional-note{display:flex;flex-direction:column;gap:.5rem}.note-input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.75rem;width:100%;resize:none;transition:border-color .15s}.note-input:focus{outline:none;border-color:var(--color-accent)}.submit-btn{width:100%;padding:1rem;background:var(--color-accent);color:#fff;font-size:1rem;font-weight:700;border-radius:var(--radius);transition:opacity .15s}.submit-btn:disabled{opacity:.35;cursor:not-allowed}.error-msg{color:var(--color-down);font-size:.9rem;text-align:center}.page-header{display:flex;align-items:center;justify-content:space-between}.tickets-nav-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-accent);font-size:.9rem;font-weight:600;padding:.4rem .9rem}.ticket-list-page{display:flex;flex-direction:column;min-height:100%}.ticket-count{display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;background:var(--color-down);color:#fff;font-size:.75rem;font-weight:700;border-radius:999px;min-width:1.4rem;height:1.4rem;padding:0 .4rem}.ticket-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0}.ticket-card{padding:1rem;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.4rem}.ticket-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ticket-asset-name{font-size:1rem;font-weight:700}.ticket-meta{display:flex;gap:.75rem;font-size:.85rem;color:var(--color-text-muted);text-transform:capitalize}.severity-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:capitalize}.severity-badge.severity-minor{background:#292008;color:var(--color-minor)}.severity-badge.severity-needs_attention{background:#1f1106;color:var(--color-needs-attention)}.severity-badge.severity-down{background:#1c0505;color:var(--color-down)}.resolve-btn{align-self:flex-start;margin-top:.25rem;padding:.45rem 1rem;background:none;border:1.5px solid var(--color-active);border-radius:var(--radius);color:var(--color-active);font-size:.875rem;font-weight:600;transition:opacity .15s}.resolve-btn:disabled{opacity:.4;cursor:not-allowed}.status-badge.status-open{background:#1c0505;color:var(--color-down)}.status-badge.status-resolved{background:#14532d;color:var(--color-active)}.header-actions{display:flex;gap:.5rem}.staff-dashboard,.admin-dashboard{display:flex;flex-direction:column;min-height:100%}.dashboard-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.metrics-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.metric-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1.25rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:default}.metric-card.clickable{cursor:pointer;transition:border-color .15s}.metric-card.clickable:active{border-color:var(--color-accent)}.metric-value{font-size:2rem;font-weight:800;line-height:1}.metric-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.dashboard-section{display:flex;flex-direction:column;gap:.5rem}.dashboard-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.problem-asset-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.problem-asset-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left}.problem-asset-row:last-child{border-bottom:none}.problem-asset-row:active{background:var(--color-surface)}.problem-asset-name{font-size:.95rem;font-weight:600}.event-feed{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.event-feed-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);font-size:.9rem}.event-feed-item:last-child{border-bottom:none}.event-feed-asset{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-feed-type{color:var(--color-text-muted);text-transform:capitalize;font-size:.8rem}.event-feed-time{color:var(--color-text-muted);font-size:.8rem;white-space:nowrap}.asset-detail-page{display:flex;flex-direction:column;min-height:100%}.asset-detail-header{display:flex;align-items:center;gap:.6rem;flex:1}.asset-detail-name{font-size:1.1rem;font-weight:700}.log-event-btn{flex:1;padding:.9rem;background:var(--color-accent);color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:var(--radius)}.asset-detail-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.asset-detail-header-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.delete-zone{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.delete-btn{padding:.75rem 1.5rem;background:transparent;border:1.5px solid var(--color-down);color:var(--color-down);border-radius:var(--radius);font-weight:600;font-size:.95rem;transition:background .15s,color .15s}.delete-btn:hover:not(:disabled){background:var(--color-down);color:#fff}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.delete-btn--confirm{flex:1}.delete-confirm{display:flex;flex-direction:column;gap:1rem}.delete-confirm-warning{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.event-history-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.event-history-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.event-history-item:last-child{border-bottom:none}.event-history-left{display:flex;flex-direction:column;gap:.15rem;min-width:0}.event-history-type{font-size:.9rem;font-weight:600;text-transform:capitalize;color:var(--color-text-muted)}.event-history-meta{font-size:.78rem;color:var(--color-text-muted);text-transform:capitalize}.event-history-time{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.resolve-note-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.resolve-note-input{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.6rem .75rem;font-family:inherit;font-size:.9rem;resize:none;width:100%}.resolve-note-input:focus{outline:none;border-color:var(--color-accent)}.resolve-note-actions{display:flex;gap:.5rem}.resolve-cancel-btn{flex:1;padding:.55rem;background:none;border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.875rem;font-weight:600}.resolve-confirm-btn{flex:2;padding:.55rem;background:none;border:1.5px solid var(--color-active);border-radius:var(--radius);color:var(--color-active);font-size:.875rem;font-weight:600;transition:opacity .15s}.resolve-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.app-shell{display:flex;flex-direction:column;height:100dvh}.page-area{flex:1;overflow-y:auto;padding-top:92px}.app-header{position:fixed;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:101}.app-header-brand{display:flex;align-items:center;gap:.5rem}.app-header-logo{font-size:1.2rem;line-height:1}.app-header-org{font-size:.9rem;font-weight:700;color:var(--color-text)}.app-header-actions{display:flex;align-items:center;gap:.75rem}.staff-view-btn{font-size:.72rem;font-weight:600;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:999px;padding:.2rem .6rem;transition:color .15s,border-color .15s}.staff-view-btn--active{color:var(--color-needs-attention);border-color:var(--color-needs-attention)}.profile-btn{display:flex;align-items:center;gap:.35rem;background:none;color:var(--color-text);font-size:.85rem;font-weight:600;padding:.25rem .4rem;border-radius:var(--radius)}.profile-btn-icon{font-size:1rem;line-height:1}.profile-btn-name{color:var(--color-text-muted);font-size:.8rem}.top-nav{position:fixed;top:44px;left:0;right:0;height:48px;display:flex;background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.8rem;font-weight:600;text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.nav-item.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.resolve-page{min-height:100%}.resolve-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.resolve-issue-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.4rem}.resolve-issue-asset{font-size:1rem;font-weight:700;color:var(--color-text)}.resolve-issue-row{display:flex;align-items:center;gap:.5rem}.resolve-issue-type{font-size:.9rem;color:var(--color-text);text-transform:capitalize}.resolve-issue-time{font-size:.8rem;color:var(--color-text-muted)}.resolve-note-label{font-size:.875rem;font-weight:600;color:var(--color-text)}.resolve-note-required{width:100%;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.75rem;resize:vertical}.resolve-note-required:focus{outline:none;border-color:var(--color-accent)}.resolve-actions{display:flex;gap:.75rem}.resolve-submit-btn{flex:2;padding:.75rem;background:var(--color-accent);border-radius:var(--radius);color:#fff;font-weight:700;font-size:.95rem;transition:opacity .15s}.resolve-submit-btn:disabled{opacity:.35;cursor:not-allowed}.event-detail-page{min-height:100%}.event-detail-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.event-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.event-detail-asset{font-size:1.1rem;font-weight:700}.event-type-badge{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;text-transform:capitalize;color:var(--color-text-muted)}.event-detail-time{font-size:.85rem;color:var(--color-text-muted)}.event-detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.35rem}.event-detail-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.event-detail-label:first-child{margin-top:0}.event-detail-row{display:flex;align-items:center;gap:.5rem}.event-detail-value{font-size:.95rem;color:var(--color-text);text-transform:capitalize}.event-detail-resolved{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.event-history-item{width:100%;background:none;border:none;text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:background .1s}.event-history-item:active{background:var(--color-surface)}.resolve-issue-label{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.resolve-issue-desc{font-size:.9rem;color:var(--color-text);line-height:1.4}.asset-tickets-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}.asset-ticket-row{width:100%;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;transition:background .1s}.asset-ticket-row:last-child{border-bottom:none}.asset-ticket-row:active{background:var(--color-border)}.asset-ticket-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.asset-ticket-type{font-size:.9rem;color:var(--color-text);text-transform:capitalize}.asset-ticket-time{font-size:.8rem;color:var(--color-text-muted)}.asset-ticket-arrow{font-size:1.2rem;color:var(--color-text-muted);flex-shrink:0}.asset-schedule-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}.asset-schedule-row{width:100%;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:.5rem;transition:background .1s}.asset-schedule-row:last-child{border-bottom:none}.asset-schedule-row:active{background:var(--color-border)}.schedule-list-page{display:flex;flex-direction:column;height:100%}.schedule-list-body{flex:1;overflow-y:auto;padding:1rem}.add-btn{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius);padding:.4rem .9rem;font-size:.9rem;font-weight:600}.schedule-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.schedule-item{width:100%;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);padding:.85rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;cursor:pointer;text-align:left;gap:.75rem;transition:background .1s}.schedule-item:last-child{border-bottom:none}.schedule-item:active{background:var(--color-border)}.schedule-item--overdue{border-left:4px solid var(--color-down);background:#ef44440f}.schedule-item--due-soon{border-left:4px solid var(--color-needs-attention);background:#f973160f}.schedule-group-header{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);padding:.75rem 0 .35rem}.schedule-group-header--overdue{color:var(--color-down)}.schedule-list--overdue{margin-bottom:.25rem}.schedule-item-left{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.schedule-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.schedule-item-asset{font-size:.95rem;font-weight:600;color:var(--color-text)}.schedule-item-type{font-size:.8rem;color:var(--color-text-muted);text-transform:capitalize}.schedule-item-desc{font-size:.8rem;color:var(--color-text-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.schedule-item-time{font-size:.8rem;color:var(--color-text)}.schedule-item-suspense{font-size:.75rem;color:var(--color-text-muted)}.recurring-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:capitalize;background:#2d2d4e;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:4px;padding:.1rem .4rem;margin-top:.1rem}.new-schedule-page{display:flex;flex-direction:column;height:100%}.schedule-form-body{flex:1;overflow-y:auto;padding:1rem}.schedule-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.form-static{color:var(--color-text-muted);font-size:.95rem}.form-control{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.65rem .85rem;font-size:1rem;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control:focus{outline:none;border-color:var(--color-accent)}.form-control--error{border-color:var(--color-down)}.form-error{font-size:.8rem;color:var(--color-down)}.recurring-toggle{display:flex;gap:.5rem}.toggle-btn{flex:1;padding:.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.95rem;font-weight:600;transition:all .15s}.toggle-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.schedule-form-actions{display:flex;gap:.75rem;padding-top:.5rem}.schedule-detail-page{display:flex;flex-direction:column;height:100%}.schedule-detail-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.schedule-detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.4rem}.schedule-detail-asset{font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.schedule-detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:.5rem}.schedule-detail-value{font-size:.95rem;color:var(--color-text)}.complete-btn{flex:1;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius);padding:.85rem;font-size:1rem;font-weight:600;transition:opacity .15s}.complete-btn:disabled{opacity:.4;cursor:not-allowed}.available-msg{text-align:center;color:var(--color-text-muted);padding:1.5rem 0;font-size:.95rem}.inventory-list-page{display:flex;flex-direction:column;height:100%}.category-filters{display:flex;gap:.5rem;padding:.75rem 1rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.category-filters::-webkit-scrollbar{display:none}.category-pill{flex-shrink:0;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.82rem;font-weight:500;white-space:nowrap}.category-pill--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.inventory-list-body{flex:1;overflow-y:auto;padding:.75rem 1rem 1rem}.inventory-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.inventory-item-row{width:100%;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:.75rem;transition:background .1s}.inventory-item-row:last-child{border-bottom:none}.inventory-item-row:active{background:var(--color-border)}.inventory-item-left{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.inventory-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.inventory-item-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.inventory-item-category{font-size:.8rem;color:var(--color-text-muted)}.inventory-qty{font-size:.85rem;color:var(--color-text-muted)}.stock-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .45rem}.stock-badge--ok{background:#22c55e26;color:var(--color-active);border:1px solid var(--color-active)}.stock-badge--low{background:#f9731626;color:var(--color-needs-attention);border:1px solid var(--color-needs-attention)}.stock-badge--below{background:#ef444426;color:var(--color-down);border:1px solid var(--color-down)}.on-order-badge{display:inline-block;font-size:.7rem;font-weight:600;background:#2d2d4e;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:4px;padding:.1rem .4rem}.inventory-detail-page{display:flex;flex-direction:column;height:100%}.inventory-detail-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.inventory-info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.35rem}.inventory-info-row{display:flex;justify-content:space-between;align-items:center}.inventory-qty-display{display:flex;align-items:baseline;gap:.4rem;margin:.5rem 0 .25rem}.inventory-qty-large{font-size:2.5rem;font-weight:700;color:var(--color-text);line-height:1}.inventory-qty-min{font-size:1rem;color:var(--color-text-muted)}.inventory-action-row{display:flex;gap:.75rem}.consume-btn{flex:1;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);font-size:.95rem;font-weight:600;transition:all .15s}.consume-btn--active{background:var(--color-accent);color:#fff}.order-btn{flex:1;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.95rem;font-weight:600}.consume-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:1rem}.orders-list{display:flex;flex-direction:column;gap:.5rem}.order-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.order-row-meta{display:flex;flex-direction:column;gap:.2rem;flex:1}.order-progress{font-size:.9rem;color:var(--color-text)}.receive-btn{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius);padding:.4rem .85rem;font-size:.85rem;font-weight:600;flex-shrink:0}.transaction-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.transaction-row{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.transaction-row:last-child{border-bottom:none}.transaction-meta{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.transaction-detail{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.transaction-qty{font-size:1rem;font-weight:700;color:var(--color-down);flex-shrink:0}.low-stock-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.low-stock-row{width:100%;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:.75rem;transition:background .1s}.low-stock-row:last-child{border-bottom:none}.low-stock-row:active{background:var(--color-border)}.low-stock-name{font-size:.95rem;font-weight:500;color:var(--color-text);flex:1}.low-stock-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.low-stock-qty{font-size:.82rem;color:var(--color-text-muted)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--color-bg)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem 1.5rem}.login-logo{font-size:2.5rem;text-align:center;line-height:1}.login-title{font-size:1.5rem;font-weight:800;text-align:center;color:var(--color-text);margin:0}.login-subtitle{font-size:.9rem;color:var(--color-text-muted);text-align:center;margin-top:-.75rem}.login-form{display:flex;flex-direction:column;gap:1rem}.onboarding-profile-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.5rem}.profile-preview-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.profile-preview-label{color:var(--color-text-muted);font-size:.8rem}.profile-preview-username{color:var(--color-accent);font-weight:600}.profile-page{min-height:100%;display:flex;flex-direction:column}.profile-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.profile-avatar-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase}.profile-full-name{font-size:1.1rem;font-weight:700;color:var(--color-text)}.profile-username{font-size:.9rem;color:var(--color-accent);font-weight:600;margin-top:.1rem}.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.profile-field:last-child{border-bottom:none}.profile-field-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.profile-field-value{font-size:.9rem;color:var(--color-text)}.logout-btn{width:100%;padding:.85rem;background:none;border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.95rem;font-weight:600;margin-top:.5rem;transition:border-color .15s,color .15s}.logout-btn:active{border-color:var(--color-down);color:var(--color-down)}.user-management-page{min-height:100%}.user-management-body{padding:1rem}.user-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.user-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--color-border);gap:.75rem;background:var(--color-surface)}.user-row:last-child{border-bottom:none}.user-row-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.user-row-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.user-row-username{font-size:.8rem;color:var(--color-accent)}.user-row-position{font-size:.78rem;color:var(--color-text-muted)}.user-row-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.role-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.role-badge--owner{background:#6c63ff26;color:var(--color-accent);border:1px solid var(--color-accent)}.role-badge--admin{background:#f59e0b26;color:var(--color-minor);border:1px solid var(--color-minor)}.role-badge--staff{background:var(--color-border);color:var(--color-text-muted);border:1px solid var(--color-border)}.pending-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;background:#ef44441a;color:var(--color-down);border:1px solid var(--color-down)}.resend-btn{font-size:.78rem;font-weight:600;color:var(--color-accent);background:none;border:1px solid var(--color-accent);border-radius:var(--radius);padding:.25rem .6rem;transition:opacity .15s}.resend-btn:disabled{opacity:.4;cursor:not-allowed}.username-preview{font-size:.95rem;color:var(--color-accent);font-weight:600;padding:.4rem 0}.page-header-actions{display:flex;align-items:center;gap:.5rem}.asset-detail-action{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.qr-btn{padding:.9rem 1.25rem;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem;font-weight:600;flex-shrink:0}.qr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:200}.qr-modal-content{background:#fff;border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;min-width:280px}.qr-modal-close{position:absolute;top:.6rem;right:.75rem;background:none;border:none;font-size:1.4rem;color:#333;line-height:1;padding:.25rem}.qr-modal-name{font-size:1rem;font-weight:700;color:#111;text-align:center}.qr-modal-print{padding:.6rem 1.5rem;background:#111;color:#fff;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600}.print-qr-page{display:flex;flex-direction:column;min-height:100%}.qr-filter-row{display:flex;gap:.5rem;padding:.75rem 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;border-bottom:1px solid var(--color-border)}.qr-filter-row::-webkit-scrollbar{display:none}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:1rem}.qr-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border-radius:var(--radius);page-break-inside:avoid;break-inside:avoid}.qr-card-name{font-size:.85rem;font-weight:700;color:#111;text-align:center}.qr-card-zone{font-size:.75rem;color:#555;text-align:center}.qr-scan-page{display:flex;flex-direction:column;min-height:100%}.qr-scan-body{flex:1;padding:1rem;display:flex;flex-direction:column;gap:1rem}.qr-scan-error{text-align:center;color:var(--color-down);font-size:.95rem;font-weight:600}.asset-detail-action{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.asset-action-btn{flex:1;padding:.75rem .5rem;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9rem;font-weight:600;text-align:center;transition:border-color .15s}.asset-action-btn--ticket{border-color:var(--color-down);color:var(--color-down)}.asset-action-btn:active{background:var(--color-border)}.asset-inline-panel{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;gap:.75rem}.asset-inline-panel-msg{font-size:.9rem;color:var(--color-text-muted)}.asset-inline-panel-actions{display:flex;gap:.75rem}.asset-inline-note{width:100%;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.65rem .75rem;font-family:inherit;font-size:.95rem;resize:none}.asset-inline-note:focus{outline:none;border-color:var(--color-accent)}.form-label-optional{font-weight:400;color:var(--color-text-muted);text-transform:none;letter-spacing:0}input[type=date].form-control,input[type=datetime-local].form-control{color-scheme:dark}@media print{.print-hide,.app-header,.top-nav,.qr-modal-close,.qr-modal-print{display:none!important}body,#root{background:#fff;color:#000}.app-shell,.page-area,.print-qr-page{height:auto!important;overflow:visible!important}.page-area{padding-top:0!important}.qr-modal-overlay{position:static;background:none;display:block}.qr-modal-content{margin:2rem auto;box-shadow:none}.qr-grid{grid-template-columns:repeat(3,1fr)}.qr-card{break-inside:avoid;page-break-inside:avoid}}
