.shell{display:flex;min-height:100%}.login-shell{min-height:100%;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:var(--color-void)}.login-panel{width:min(424px,100%);display:grid;gap:var(--space-lg)}.login-brand-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.login-logo{width:132px;height:auto;display:block}.login-portal-label{padding:5px 10px;border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.login-heading{display:grid;gap:var(--space-sm)}.login-heading h1{font-size:1.7rem;line-height:1.12}.login-heading p{margin:0;color:var(--color-ink-muted)}.login-card{padding:var(--space-lg);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 18px 70px #00000073}.login-form{display:grid;gap:var(--space-md)}.login-submit{width:100%;margin-top:2px}.sidebar{display:none}.content{flex:1;min-width:0;padding:16px 14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:var(--space-md);margin:-16px -14px var(--space-lg);padding:14px;border-bottom:1px solid var(--color-line);background:var(--color-void)}.topbar h1{font-size:1.25rem;line-height:1.18;letter-spacing:0;overflow-wrap:anywhere}.brand-mark{height:28px;width:auto;display:block}.brand-mark-mobile{height:24px}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;gap:6px;background:var(--color-surface);border-top:1px solid var(--color-line);padding:10px 8px calc(10px + env(safe-area-inset-bottom));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;z-index:20}.tabbar a{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;flex-basis:76px;min-width:68px;min-height:44px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-ink-muted);text-decoration:none;padding:8px;border-radius:var(--radius-sm);scroll-snap-align:center;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.tabbar a.active{color:var(--color-ink);background:var(--color-surface-tint)}.tabbar a:active{transform:scale(.97)}.admin-shell .tabbar{gap:1px;padding-left:6px;padding-right:6px}.admin-shell .tabbar a{flex-basis:44px;min-width:44px;padding-left:2px;padding-right:2px;font-size:9px;letter-spacing:0}@media(min-width:768px){.tabbar{display:none}.sidebar{display:flex;flex-direction:column;width:220px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-line);padding:var(--space-lg) var(--space-md);gap:var(--space-xl)}.content{padding:var(--space-xl);padding-bottom:var(--space-xl)}.topbar{margin:0 0 var(--space-lg);padding:0;border-bottom:0;background:transparent}.brand-mark-mobile{display:none}.nav{display:flex;flex-direction:column;gap:4px}.nav a{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-ink-muted);text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.nav a.active{background:var(--color-surface-tint);color:var(--color-ink)}.nav a:active{transform:scale(.98)}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--color-command-blue);opacity:0}.nav a.active .nav-dot{opacity:1}}.admin-user-block{padding:var(--space-md);background:var(--color-surface-tint);border:1px solid var(--color-line);border-radius:var(--radius-md)}.admin-user-name{font-size:14px;font-weight:700}.admin-user-role{color:var(--color-ink-muted);font-size:12px;margin-top:2px}.admin-grid{display:grid;gap:var(--space-lg)}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.metric-card{min-height:112px}.metric-value{font-size:2rem;font-weight:700;line-height:1}.metric-label{color:var(--color-ink-muted);font-size:13px;font-weight:600;margin-top:10px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.admin-table{display:grid;gap:0}.admin-table-row{display:grid;grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--color-line)}.row-title{font-weight:700}.row-meta{align-self:center;color:var(--color-ink-muted);font-weight:700}.admin-row-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.admin-review-panel{display:grid;gap:var(--space-sm);min-width:0}.admin-enquiry-detail{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.enquiry-form-grid{display:grid;gap:var(--space-sm)}.admin-note-label{color:var(--color-ink-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.admin-note{min-height:76px;resize:vertical}.admin-review-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.control-list{display:grid;gap:var(--space-sm);margin-top:var(--space-md);color:var(--color-ink-muted)}.admin-workspace{display:grid;gap:var(--space-lg)}.admin-list{display:grid;gap:var(--space-sm)}.admin-list-item{display:flex;justify-content:space-between;gap:var(--space-md);width:100%;background:transparent;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);cursor:pointer;min-height:56px;padding:var(--space-md);text-align:left;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.admin-list-item span{display:grid;gap:2px}.admin-list-item span span{color:var(--color-ink-muted);font-size:13px}.admin-list-item.active{background:var(--color-surface-tint);border-color:var(--color-line-strong)}.admin-list-item:active{transform:scale(.99)}.admin-list-status{display:flex;justify-content:flex-end;align-items:center}.quote-line-editor{display:grid;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-line)}.quote-approval-footer{display:grid;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.quote-approval-footer div{display:grid;gap:2px}.quote-approval-footer span{color:var(--color-ink-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.quote-approval-footer strong{font-size:14px;overflow-wrap:anywhere}.quote-approval-reason{border-top:1px solid var(--color-line);padding-top:var(--space-sm)}.quotation-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.approval-panel{display:grid;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.approval-history{display:grid;gap:var(--space-sm);color:var(--color-ink-muted)}.quote-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr}.quote-save-row{display:grid;gap:var(--space-md)}.admin-order-detail,.admin-document-detail,.admin-approval-detail,.admin-credit-detail,.admin-sql-detail{display:grid;gap:var(--space-lg)}.sql-result-grid{display:grid;gap:var(--space-md)}.sql-payload{display:grid;gap:var(--space-sm)}.sql-payload pre{max-height:340px;overflow:auto;margin:0;padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-ink-muted);font-size:12px;white-space:pre-wrap}.credit-meter{display:grid;gap:var(--space-sm)}.credit-meter-label{display:flex;justify-content:space-between;gap:var(--space-md);color:var(--color-ink-muted);font-size:13px;font-weight:700}.credit-meter-track{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-surface-tint)}.credit-meter-bar{height:100%;border-radius:inherit;background:var(--color-command-blue)}.credit-form-grid{display:grid;gap:var(--space-md)}.admin-order-grid{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.admin-order-grid div{display:grid;gap:2px}.admin-order-grid span{color:var(--color-ink-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.admin-order-grid strong{font-size:14px;overflow-wrap:anywhere}.document-vault{display:grid;gap:var(--space-lg)}.notification-list{display:grid;gap:var(--space-sm);margin-top:var(--space-md)}.notification-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.notification-item strong{display:block;margin-bottom:4px}.notification-critical{border-color:var(--color-status-red)}.notification-warning{border-color:var(--color-status-amber)}.notification-success{border-color:var(--color-status-green)}.document-upload,.document-form-grid,.document-toolbar,.document-list-card{display:grid;gap:var(--space-md)}.document-list{display:grid;gap:var(--space-sm)}.document-row{display:grid;gap:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--color-line)}.document-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.document-file-name{margin:0 0 4px;font-size:16px;overflow-wrap:anywhere}.document-date{color:var(--color-ink-faint);font-size:13px;margin:6px 0 0}.orders-page{display:grid;gap:var(--space-lg)}.order-card,.order-header{display:grid;gap:var(--space-md)}.order-header .badge{justify-self:start}.order-subtext,.order-event-date{color:var(--color-ink-faint);font-size:13px;margin:6px 0 0}.order-progress{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-surface-tint)}.order-progress-bar{height:100%;border-radius:inherit;background:var(--color-command-blue)}.order-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;color:var(--color-ink-faint);font-size:12px;font-weight:700}.order-stages span{overflow-wrap:anywhere}.order-stages span.active{color:var(--color-ink)}.order-meta-grid{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.order-meta-grid div{display:grid;gap:2px}.order-meta-grid span{color:var(--color-ink-muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.order-meta-grid strong{font-size:14px;overflow-wrap:anywhere}.order-timeline{display:grid;gap:var(--space-md)}.order-event{display:grid;grid-template-columns:14px minmax(0,1fr);gap:var(--space-sm)}.order-event-dot{width:10px;height:10px;margin-top:7px;border:2px solid var(--color-command-blue);border-radius:50%;background:var(--color-surface)}.order-event-title{font-weight:700}@media(min-width:768px){.topbar h1{font-size:2rem}.admin-shell .sidebar{width:248px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-table-row{grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:start}.admin-row-actions{justify-content:flex-end}.admin-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}.quote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enquiry-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-save-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-order-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-form-grid,.sql-result-grid,.document-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-toolbar{grid-template-columns:minmax(0,1fr) 220px;align-items:end}.document-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.document-row-actions{justify-content:end}.order-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.order-header .badge{justify-self:end}.order-stages{grid-template-columns:repeat(6,minmax(0,1fr))}.order-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--color-void: #000000;--color-surface: #1c1c1e;--color-surface-raised: #252528;--color-surface-tint: #2c2c2e;--color-ink: #f5f5f7;--color-ink-muted: #b8bbc2;--color-ink-faint: #7f838a;--color-line: rgba(255, 255, 255, .13);--color-line-strong: rgba(255, 255, 255, .2);--color-command-blue: #007aff;--color-command-blue-hover: #1a88ff;--color-brand-gold: #e5c565;--color-status-green: #2e7d58;--color-status-green-bg: rgba(46, 125, 88, .18);--color-status-green-fg: #4fce8e;--color-status-red: #b4434a;--color-status-red-bg: rgba(180, 67, 74, .18);--color-status-red-fg: #ff8a90;--color-status-amber: #9a6713;--color-status-amber-bg: rgba(154, 103, 19, .18);--color-status-amber-fg: #ffd28a;--color-status-purple: #7752b3;--color-status-purple-bg: rgba(119, 82, 179, .18);--color-status-purple-fg: #c8b7ff;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--ease-standard: cubic-bezier(.22, 1, .36, 1);--duration-fast: .12s;--duration-standard: .22s}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-void);color:var(--color-ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-sans);font-weight:600;margin:0;text-wrap:balance}p{text-wrap:pretty;max-width:70ch}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-command-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);padding:10px 18px;min-height:44px;font-weight:600;font-size:15px;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--color-command-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-command-blue-hover)}.btn-secondary{background:var(--color-surface-tint);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){background:#3a3a3c}.btn:focus-visible{outline:2px solid var(--color-command-blue);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-ink-muted)}.input{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:10px 12px;font-size:15px;min-height:46px;min-width:0;width:100%;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.input::placeholder{color:var(--color-ink-muted)}.input:focus{outline:none;background:var(--color-surface-raised);border-color:var(--color-command-blue)}.input-error{border-color:var(--color-status-red)}.error-text{color:var(--color-status-red-fg);font-size:13px}.success-text{color:var(--color-status-green-fg);font-size:13px;margin:0}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);min-width:0;padding:var(--space-lg);transition:background var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard)}.card-title{font-size:17px;font-weight:600;margin:0 0 8px}.card-body{font-size:15px;color:var(--color-ink-muted);margin:0}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.badge-green{background:var(--color-status-green-bg);color:var(--color-status-green-fg)}.badge-red{background:var(--color-status-red-bg);color:var(--color-status-red-fg)}.badge-amber{background:var(--color-status-amber-bg);color:var(--color-status-amber-fg)}.badge-purple{background:var(--color-status-purple-bg);color:var(--color-status-purple-fg)}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
