@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700&display=swap";
:root{--bg:#f5f5f7;--bg-deep:#ebebef;--card:#fff;--fg:#111;--muted:#6e6e73;--border:#11111124;--accent:#ff5a00;--accent-dark:#db4d00;--accent-soft:#ff5a001f;--ink:#000;--ok:#0f766e;--ok-soft:#0f766e1f;--warn:#b45309;--warn-soft:#b453091f;--danger:#b91c1c;--danger-soft:#b91c1c1a;--radius:14px;--radius-sm:10px;--shadow:0 10px 28px -16px #0000002e;--nav-h:72px;--top-h:56px;--font:"IBM Plex Sans", "Segoe UI", sans-serif;--display:"Barlow Condensed", "IBM Plex Sans", sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--content-max:560px}*{box-sizing:border-box}html,body{min-height:100%;margin:0;overflow-x:hidden}::selection{color:var(--fg);background:#ff5a0038}body{font-family:var(--font);background:radial-gradient(1200px 480px at 10% -10%, #ff5a001a, transparent 55%), radial-gradient(900px 420px at 100% 0%, #1111110d, transparent 50%), var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,.display{font-family:var(--display);letter-spacing:.02em;overflow-wrap:anywhere;font-weight:700}.shell{min-height:100dvh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 1rem)}.topbar{z-index:20;min-height:var(--top-h);padding:calc(.65rem + var(--safe-top)) .85rem .65rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;align-items:center;gap:.65rem;display:flex;position:sticky;top:0}.brand-mark{background:var(--ink);color:#fff;width:34px;height:34px;font-family:var(--display);border-radius:10px;flex-shrink:0;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.brand-copy{flex:1;min-width:0;overflow:hidden}.brand-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;line-height:1.2;display:block;overflow:hidden}.brand-copy span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:600;display:block;overflow:hidden}.shell-main{width:min(var(--content-max), 100%);margin:0 auto;padding:1.1rem .85rem 0}.bottom-nav{z-index:30;padding:.4rem .5rem calc(.4rem + var(--safe-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-around;align-items:stretch;gap:.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:0;max-width:8rem;min-height:48px;color:var(--muted);border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.15rem;font-size:.72rem;font-weight:600;transition:background .16s,color .16s,transform .16s;display:flex}.bottom-nav a svg{flex-shrink:0;width:22px;height:22px}.bottom-nav a.active{background:var(--accent-soft);color:var(--accent-dark)}.btn-signout{flex-shrink:0;min-height:36px;padding:.35rem .65rem;font-size:.78rem;font-weight:600}.bottom-nav a:active{transform:scale(.98)}.page-head{flex-direction:column;align-items:stretch;gap:.35rem;min-width:0;margin-bottom:1rem;display:flex}.page-head h1{margin:0;font-size:clamp(1.45rem,5vw,1.85rem);line-height:1.1}.page-head p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.4}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1rem;overflow:hidden}.btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.45rem;min-height:48px;padding:.8rem 1rem;font-weight:700;transition:background .16s,transform .12s,opacity .12s;display:inline-flex}.btn:hover{background:var(--accent-dark)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:var(--ink)}.btn-secondary:hover{background:#222}.btn-ghost{color:var(--fg);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-deep)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#991b1b}.btn-block{width:100%}.btn-sm{min-height:40px;padding:.45rem .75rem;font-size:.85rem}.input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:100%;min-height:48px;color:var(--fg);background:#fff;padding:.8rem .85rem}.input:focus{outline-offset:1px;border-color:var(--accent);outline:2px solid #ff5a0059}.label{margin-bottom:.75rem;display:block}.label>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.chip{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-deep);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;max-width:100%;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex;overflow:hidden}.chip-offer{background:var(--accent-soft);color:var(--accent-dark)}.chip-active{background:var(--ok-soft);color:var(--ok)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-muted{background:var(--bg-deep);color:var(--muted)}.alert{border-radius:var(--radius-sm);overflow-wrap:anywhere;margin-bottom:.85rem;padding:.75rem .85rem;font-size:.9rem}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid #b91c1c33}.alert-ok{background:var(--ok-soft);color:var(--ok);border:1px solid #0f766e33}.alert-info{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #ff5a0038}.empty{text-align:center;max-width:28rem;color:var(--muted);margin-left:auto;margin-right:auto;padding:2rem 1.25rem}.empty h2{color:var(--fg);margin:0 0 .4rem;font-size:1.45rem}.empty p{max-width:22rem;margin-left:auto;margin-right:auto;line-height:1.5}.stack{gap:.75rem;display:grid}.muted{color:var(--muted)}.lede{color:var(--muted);font-size:.95rem;line-height:1.45}.job-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.job-card{gap:.85rem;display:grid}.job-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.job-card-top>*{min-width:0}.job-meta{gap:.35rem;min-width:0;font-size:.92rem;display:grid}.job-meta strong{overflow-wrap:anywhere;font-size:1.05rem}.job-actions{gap:.5rem;display:grid}.job-actions.row{grid-template-columns:1fr 1fr}.job-actions.wrap{flex-wrap:wrap;gap:.45rem;display:flex}.auth-screen{place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.auth-card{width:min(440px,100%);position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--ink));height:4px;position:absolute;inset:0 0 auto}.auth-kicker{color:var(--accent-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.auth-card h1{margin:0;font-size:clamp(1.65rem,6vw,2rem);line-height:1.05}.auth-card .lede{margin:.55rem 0 1.15rem}.profile-grid{gap:.75rem;display:grid}.profile-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;padding:.65rem 0;font-size:.95rem;display:flex}.profile-row:last-child{border-bottom:0}.profile-row span{color:var(--muted);flex-shrink:0}.profile-row strong{text-align:right;overflow-wrap:anywhere;min-width:0}.region-list{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.ghost-link{color:var(--accent-dark);font-size:.9rem;font-weight:600}.ops-loc-select{margin-bottom:.85rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.stat-tile{background:var(--bg-deep);border-radius:var(--radius-sm);min-width:0;padding:.75rem .85rem}.stat-tile dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.stat-tile dd{font-size:1.25rem;font-weight:700;font-family:var(--display);overflow-wrap:anywhere;margin:.25rem 0 0;line-height:1.1}.ops-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;display:flex}.ops-toolbar .input{flex:140px;min-height:44px;padding:.55rem .75rem}.table-scroll{-webkit-overflow-scrolling:touch;margin:0 -.15rem;padding:0 .15rem;overflow-x:auto}.ops-table{border-collapse:collapse;width:100%;min-width:320px;font-size:.85rem}.ops-table th,.ops-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .4rem}.ops-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.7rem;font-weight:700}.ops-table td{overflow-wrap:anywhere}.pager{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;font-size:.85rem;display:flex}@media (min-width:720px){:root{--content-max:720px}.shell-main{padding-left:1.25rem;padding-right:1.25rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.page-head{flex-direction:row;justify-content:space-between;align-items:flex-end}}@media (min-width:1024px){:root{--content-max:880px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.shell[data-lane=store]{--accent:#0f766e;--accent-dark:#115e56;--accent-soft:#0f766e1f}.shell[data-lane=installer]{--accent:#7c3aed;--accent-dark:#6528d6;--accent-soft:#7c3aed1f}.shell[data-lane=supplier]{--accent:#4338ca;--accent-dark:#362ea5;--accent-soft:#4338ca1f}.card-title{margin:0 0 .6rem;font-size:1.1rem;font-weight:700}.field-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.row-link{color:inherit;text-decoration:none;display:block}.row-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.job-card:has(.row-link):hover{border-color:var(--accent)}.duty-box{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.duty-box.on{background:var(--ok-soft)}.duty-box.off{background:var(--warn-soft)}.duty-copy{margin:.25rem 0 0;font-size:.85rem}.profile-name{margin:0;font-size:1.6rem}.profile-role{margin:.35rem 0 0}.bottom-nav a{white-space:nowrap;padding-inline:.15rem}.bottom-nav:has(a:nth-child(5)) a{font-size:.66rem}.install-row+.install-row{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.credential-card{border-color:var(--accent);background:var(--accent-soft)}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
