:root{--red:#c72d27;--red-dark:#8f1f1b;--red-soft:#fff0ee;--ink:#17191c;--muted:#6c727a;--line:#e3e6ea;--paper:#fff;--bg:#f4f5f7;--dark:#111317;--green:#217a4d;--amber:#a86f00;--blue:#2461a8;--shadow:0 10px 28px rgba(20,24,32,.07);--radius:18px;--sidebar:246px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.preline{white-space:pre-line}.small-text{font-size:.78rem}.danger-text{color:#a5201b;font-weight:700}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);background:var(--dark);color:#e8eaed;position:fixed;inset:0 auto 0 0;padding:18px 14px;overflow:auto;z-index:50}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px;border-bottom:1px solid #2b2f35;margin-bottom:16px}.brand img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:11px;padding:3px}.brand b{display:block;font-size:1.03rem}.brand small{display:block;color:#989fa8;font-size:.72rem;margin-top:2px}.nav-group{display:grid;gap:3px;margin:18px 0}.nav-label{font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:#777f88;padding:0 10px 7px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 11px;border-radius:11px;color:#c4c9cf;font-size:.9rem;transition:.15s}.nav-item:hover{background:#24282e;color:#fff}.sidebar-foot{font-size:.72rem;color:#7f8790;padding:16px 10px;border-top:1px solid #2b2f35;margin-top:20px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#38b76b;margin-right:7px;box-shadow:0 0 0 4px rgba(56,183,107,.12)}.main-wrap{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0}.topbar{height:70px;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:40}.topbar-title b{display:block;font-size:.96rem}.topbar-title small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.top-actions{display:flex;align-items:center;gap:9px}.icon-btn,.ghost-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;min-width:40px;height:40px;padding:0 12px;display:inline-grid;place-items:center}.notif{position:relative;font-size:.7rem;color:var(--red)}.notif span{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;font-size:.67rem;border:2px solid #fff}.user-chip{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:12px}.avatar{width:34px;height:34px;border-radius:11px;background:var(--red-soft);color:var(--red-dark);display:grid;place-items:center;font-weight:800;text-transform:uppercase}.avatar.large{width:52px;height:52px;border-radius:16px;font-size:1.15rem}.user-meta b,.user-meta small{display:block}.user-meta b{font-size:.84rem}.user-meta small{font-size:.7rem;color:var(--muted)}.menu-btn{display:none}.content{padding:28px;max-width:1600px;margin:0 auto}.footer{font-size:.73rem;color:#8a9097;text-align:center;padding:34px 0 10px}.footer a{text-decoration:underline}.messages{display:grid;gap:8px;margin-bottom:16px}.message{padding:12px 14px;border-radius:12px;background:#eef6ff;border:1px solid #cce1f7}.message.success{background:#edf9f2;border-color:#c9ead7;color:#155f39}.message.error{background:#fff0ee;border-color:#f0c3bf;color:#8d211c}.eyebrow{font-size:.69rem;letter-spacing:.13em;font-weight:800;color:var(--red);text-transform:uppercase}.eyebrow.light{color:#ffafa9}.hero-strip{background:linear-gradient(135deg,#16191d 0%,#24282e 72%,#401817 140%);color:#fff;padding:28px 30px;border-radius:24px;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:18px;position:relative;overflow:hidden}.hero-strip:after{content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(199,45,39,.14);border-radius:50%;right:-80px;top:-95px}.hero-strip h1,.page-head h1,.form-intro h1{font-size:clamp(1.65rem,3vw,2.35rem);margin:6px 0 5px;letter-spacing:-.035em}.hero-strip p{margin:0;color:#bcc2c8}.hero-actions,.button-row,.form-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;position:relative;z-index:2}.primary-btn,.secondary-btn,.danger-btn{border-radius:11px;padding:10px 14px;border:1px solid transparent;font-weight:750;font-size:.86rem;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary-btn{background:var(--red);color:#fff;box-shadow:0 4px 12px rgba(199,45,39,.2)}.primary-btn:hover{background:#b62520}.secondary-btn{background:#fff;border-color:var(--line);color:var(--ink)}.secondary-btn:hover{background:#f7f8f9}.danger-btn{background:#fff0ee;color:#981f1a;border-color:#efc4c0}.wide{width:100%}.small{padding:7px 10px;font-size:.75rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.metrics.six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 16px;min-width:0;transition:.15s}.metric:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.metric span,.metric small,.detail-grid span{display:block;color:var(--muted);font-size:.72rem}.metric b{display:block;font-size:1.65rem;letter-spacing:-.04em;margin:5px 0}.grid-2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:16px;margin:16px 0}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.panel,.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:0 1px 2px rgba(0,0,0,.015)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-head h2,.panel h2{font-size:1.05rem;margin:4px 0}.panel-head a{font-size:.78rem;color:var(--red);font-weight:700}.stack-list{display:grid}.stack-row{display:flex;align-items:center;gap:11px;padding:12px 5px;border-top:1px solid #eef0f2;min-width:0}.stack-row:first-child{border-top:0}.stack-row>div:nth-child(2),.stack-row>div:first-child{min-width:0;flex:1}.stack-row b,.stack-row small{display:block}.stack-row b{font-size:.86rem;white-space:normal}.stack-row small{font-size:.73rem;color:var(--muted);margin-top:3px}.row-tail{margin-left:auto;text-align:right!important;flex:0 0 auto!important}.status-rail{width:4px;height:35px;border-radius:99px;background:#aab0b6;flex:0 0 auto}.status-rail.high,.status-rail.urgent{background:var(--red)}.status-rail.low{background:#6b9f86}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#eef1f3;color:#545b63;font-size:.69rem;font-weight:800;white-space:nowrap}.badge.complete,.badge.approved,.badge.active,.badge.reusable,.badge.sold,.badge.paid{background:#e8f6ed;color:#17653b}.badge.in_progress,.badge.scheduled,.badge.testing,.badge.contacted,.badge.survey{background:#eaf2fb;color:#1e5d9a}.badge.pending,.badge.waiting,.badge.quoted,.badge.repair,.badge.due,.badge.needs_receipt{background:#fff5dd;color:#885f00}.badge.cancelled,.badge.declined,.badge.rejected,.badge.expired,.badge.stop,.badge.urgent{background:#ffebe9;color:#8b211b}.badge.priority-high,.badge.priority-urgent{background:#ffebe9;color:#8b211b}.badge.priority-low{background:#edf6f1;color:#246443}.mini-row{display:flex;align-items:center;gap:10px;border-top:1px solid #eef0f2;padding:10px 0}.mini-row:first-of-type{border-top:0}.mini-row b,.mini-row small{display:block;font-size:.82rem}.mini-row small{color:var(--muted);margin-top:2px}.notice{border-top:1px solid #eef0f2;padding:11px 0}.notice:first-of-type{border-top:0}.notice b{font-size:.86rem}.notice p{font-size:.79rem;color:#50565d;margin:4px 0}.notice small{color:#8d9399;font-size:.7rem}.quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin:16px 0}.quick-grid a{padding:15px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:.15s}.quick-grid a:hover{border-color:#d3a7a4;transform:translateY(-1px)}.quick-grid b,.quick-grid span{display:block}.quick-grid b{font-size:.84rem}.quick-grid span{font-size:.72rem;color:var(--red);margin-top:4px}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.empty{padding:22px;text-align:center;color:#8a9096;font-size:.84rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.page-head h1{margin:5px 0}.page-head p{margin:0;color:var(--muted);max-width:780px}.filterbar{display:flex;gap:8px;background:#fff;padding:9px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px}.filterbar input,.filterbar select{border:0;outline:0;background:#f6f7f8;padding:9px 11px;border-radius:9px;min-width:0}.filterbar input{flex:1}.table-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th{text-align:left;background:#f8f9fa;color:#6e747b;font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;padding:11px 13px;border-bottom:1px solid var(--line)}td{padding:12px 13px;border-bottom:1px solid #eef0f2;font-size:.81rem;vertical-align:top}td small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}tr:last-child td{border-bottom:0}.strong-link{font-weight:850;color:var(--red)}.job-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.65fr);gap:16px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{padding:10px;background:#f8f9fa;border-radius:11px}.detail-grid b{display:block;font-size:.84rem;margin-top:4px}.panel hr,.form-card hr{border:0;border-top:1px solid #eef0f2;margin:17px 0}.panel h3{font-size:.92rem;margin:14px 0 6px}.people-chips{display:flex;gap:7px;flex-wrap:wrap}.people-chips span{padding:6px 9px;background:#f2f3f5;border-radius:999px;font-size:.75rem}.action-list{display:grid;gap:8px;margin-top:12px}.action-list a{border:1px solid var(--line);padding:11px;border-radius:12px}.action-list b,.action-list small{display:block}.action-list b{font-size:.82rem}.action-list small{font-size:.71rem;color:var(--muted);margin-top:3px}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-grid a{border:1px solid var(--line);border-radius:12px;padding:11px;min-width:0}.media-grid b,.media-grid small{display:block;overflow:hidden;text-overflow:ellipsis}.media-grid b{font-size:.76rem;white-space:nowrap}.media-grid small{font-size:.67rem;color:var(--muted)}.file-icon{font-size:1.3rem;color:var(--red)}.compact-form{display:grid;gap:9px}.compact-form textarea,.compact-form input,.compact-form select,.compact-form p input,.compact-form p select,.compact-form p textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px}.timeline{margin-top:14px}.timeline-item{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:7px 0}.timeline-item>span{width:8px;height:8px;border-radius:50%;background:var(--red);margin-top:5px}.timeline-item b,.timeline-item small{font-size:.75rem}.timeline-item small{color:var(--muted);margin-left:7px}.timeline-item p{font-size:.8rem;margin:5px 0}.title-line{display:flex;gap:6px}.form-shell{max-width:980px;margin:0 auto}.form-intro{margin-bottom:16px}.form-intro p{color:var(--muted);margin:0}.form-card{padding:22px}.field,.form-card p{display:grid;gap:6px;margin:0 0 14px}.field label,.form-card p label,.auth-card label{font-size:.78rem;font-weight:750}.field-control,.form-card p input,.form-card p select,.form-card p textarea,.auth-card input,.public-form input,.public-form select,.public-form textarea{width:100%;min-width:0;border:1px solid #d9dde1;background:#fff;border-radius:10px;padding:10px 11px;outline:none}.field-control:focus,.form-card p input:focus,.form-card p select:focus,.form-card p textarea:focus,.auth-card input:focus{border-color:#c77974;box-shadow:0 0 0 3px rgba(199,45,39,.08)}textarea{resize:vertical;min-height:92px}.field small,.form-card p .helptext{font-size:.69rem;color:var(--muted)}.field-error,.errorlist{color:#9b211b;font-size:.73rem;margin:0;padding:0;list-style:none}.req{color:var(--red)}.check-field{grid-template-columns:auto 1fr;align-items:center}.check-field label{grid-column:2}.check-field input[type=checkbox]{grid-column:1;grid-row:1;width:18px;height:18px}.form-actions{margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.wide-card{max-width:none}.section-title h2{font-size:1.15rem;margin:4px 0 13px}.hazard-list{display:grid;gap:11px}.hazard-card{position:relative;background:#f8f9fa;border:1px solid var(--line);border-radius:15px;padding:15px 15px 12px 48px}.hazard-number{position:absolute;left:13px;top:15px;width:26px;height:26px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:850}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-live{text-align:right;font-size:.73rem;color:var(--muted)}.risk-live b{display:inline-grid;place-items:center;min-width:29px;height:25px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--ink)}.risk-key{display:flex;gap:6px;flex-wrap:wrap}.risk-key span{font-size:.67rem;padding:5px 8px;background:#fff;border:1px solid var(--line);border-radius:999px}.risk-total{background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 17px;text-align:center}.risk-total span,.risk-total small{display:block;font-size:.68rem;color:var(--muted)}.risk-total b{font-size:1.65rem}.stop-banner{display:flex;gap:14px;align-items:center;background:#9e211c;color:#fff;border-radius:15px;padding:13px 16px;margin-bottom:13px}.stop-banner b{font-size:.82rem}.stop-banner span{font-size:.77rem}.hazard-display{display:grid;gap:10px;margin:14px 0}.hazard-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.hazard-top h3{margin:0}.risk-chip,.risk-score{display:inline-grid;place-items:center;min-width:34px;height:30px;border-radius:9px;background:#f2f3f5;font-weight:850}.score-low{background:#e7f5ec;color:#17613a}.score-medium{background:#fff4dc;color:#805a00}.score-high,.score-critical{background:#ffebe9;color:#8c211b}.kanban-list{display:grid;gap:9px}.task-card{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px}.task-card h3{font-size:.9rem;margin:7px 0 3px}.task-card p{font-size:.78rem;color:#555c63;margin:0 0 5px}.task-card small{font-size:.7rem;color:var(--muted)}.task-card.complete{opacity:.65}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.vehicle-card{background:linear-gradient(145deg,#fff,#f8f9fa);border:1px solid var(--line);border-radius:18px;padding:18px}.vehicle-card .reg{font-family:ui-monospace,monospace;font-weight:900;background:#f8d93d;padding:5px 9px;border-radius:6px;color:#121212}.vehicle-card h2{font-size:1.08rem;margin:13px 0 3px}.vehicle-card p{color:var(--muted);font-size:.78rem}.vehicle-dates{display:grid;gap:6px;margin-top:12px}.vehicle-dates span{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.vehicle-dates b{color:var(--ink)}.tiny-actions{display:flex;gap:4px;margin-top:5px}.tiny-actions form{display:inline}.tiny-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 6px;font-size:.63rem}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doc-card{display:flex;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}.doc-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);border-radius:12px;font-size:1.2rem;flex:0 0 auto}.doc-body{min-width:0}.doc-body h3{font-size:.9rem;margin:4px 0}.doc-body p{font-size:.72rem;color:var(--muted);margin:0 0 9px}.pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.enquiry-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;transition:.15s}.enquiry-card:hover{border-color:#d7aaa7;transform:translateY(-1px)}.enquiry-card>div{display:flex;justify-content:space-between;gap:8px}.enquiry-card h3{font-size:.95rem;margin:11px 0 3px}.enquiry-card p{font-size:.77rem;color:#555b62;margin:4px 0}.enquiry-card small{font-size:.68rem;color:var(--muted)}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.person-card{display:flex;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.person-card h3{margin:2px 0;font-size:.95rem}.person-card p{margin:0 0 8px;font-size:.77rem;color:var(--muted)}.person-meta{display:flex;gap:5px;flex-wrap:wrap}.person-meta span{font-size:.65rem;background:#f1f3f4;padding:4px 7px;border-radius:999px}.person-card small{display:block;margin-top:8px;color:var(--muted);font-size:.68rem}.secret-box{font-family:ui-monospace,monospace;letter-spacing:.12em;background:#16191d;color:#fff;padding:14px;border-radius:11px;word-break:break-all;margin:12px 0}.auth-body{background:#111317;min-height:100vh}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-brand{background:radial-gradient(circle at 75% 25%,rgba(199,45,39,.27),transparent 32%),#15181c;color:#fff;padding:8vh 8vw;display:flex;flex-direction:column;justify-content:space-between}.auth-brand img{width:190px;background:#fff;border-radius:18px;padding:8px}.auth-brand h1{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.055em;line-height:.98;margin:14px 0}.auth-brand p{color:#b3bac1;max-width:620px;font-size:1.02rem}.auth-brand small{color:#747d86}.auth-panel{background:#f5f6f8;display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 20px 55px rgba(0,0,0,.15)}.auth-card h2{font-size:1.7rem;letter-spacing:-.035em;margin:7px 0}.auth-card p{font-size:.84rem}.auth-card label{display:grid;gap:6px;margin:14px 0}.text-link{display:block;text-align:center;color:var(--red);font-size:.77rem;font-weight:700;margin-top:14px}.center-auth{min-height:100vh;display:grid;place-items:center;padding:20px}.mini-logo{width:105px;display:block;margin:0 auto 18px}.otp{text-align:center;font-size:1.35rem!important;letter-spacing:.22em}.public-body{background:#f5f6f8}.public-head{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px max(5vw,18px)}.public-head img{height:57px}.public-head a{font-weight:850;color:var(--red)}.public-main{max-width:1180px;margin:8vh auto;padding:0 20px;display:grid;grid-template-columns:1fr .8fr;gap:7vw;align-items:start}.public-main h1{font-size:clamp(2.4rem,6vw,4.8rem);line-height:.95;letter-spacing:-.06em;margin:13px 0}.public-main>section>p{font-size:1rem;color:#626970;max-width:650px}.trust-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px}.trust-row span{background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px;font-size:.72rem}.public-form small{color:var(--muted);font-size:.68rem}.success-page{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;padding:25px}.success-page img{width:190px}.success-page h1{font-size:2.6rem;margin:6px}.success-page p{color:var(--muted)}.success-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e8f6ed;color:var(--green);font-size:2rem;margin:25px 0 6px}.offline-body{min-height:100vh;background:#f4f5f7;display:grid;place-items:center}.offline-card{max-width:520px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;text-align:center}.offline-card img{width:150px}.scrim,.mobile-nav{display:none}@media(max-width:1180px){.metrics.six{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}.doc-grid,.pipeline,.people-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){:root{--sidebar:250px}.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 35px rgba(0,0,0,.25)}.scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:45;opacity:0;pointer-events:none;transition:.2s}.scrim.show{opacity:1;pointer-events:auto}.main-wrap{margin-left:0;width:100%}.menu-btn{display:grid}.content{padding:20px 18px 86px}.grid-2,.grid-3,.job-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}.vehicle-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:10px;height:62px;background:rgba(20,23,27,.96);backdrop-filter:blur(15px);border:1px solid #343940;border-radius:18px;z-index:44;padding:5px}.mobile-nav a{color:#b7bdc4;display:grid;place-items:center;align-content:center;gap:1px;font-size:.95rem}.mobile-nav a span{font-size:.6rem}.mobile-nav .quick{background:var(--red);color:#fff;border-radius:13px;margin:-14px 4px 2px;font-size:1.35rem;box-shadow:0 7px 16px rgba(199,45,39,.3)}.mobile-nav .quick span{font-size:.57rem}.auth-layout{grid-template-columns:1fr}.auth-brand{display:none}.public-main{grid-template-columns:1fr;gap:25px;margin:5vh auto}}@media(max-width:640px){.topbar{padding:0 12px;height:62px}.topbar-title small,.user-meta,.ghost-btn{display:none}.content{padding:15px 12px 84px}.hero-strip{padding:21px 18px;align-items:flex-start;flex-direction:column}.hero-strip h1{font-size:1.75rem}.hero-actions{width:100%}.hero-actions a{flex:1}.metrics,.metrics.six{grid-template-columns:repeat(2,1fr)}.metric{padding:12px}.metric b{font-size:1.35rem}.quick-grid,.compact-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}.page-head>.primary-btn{width:100%}.filterbar{flex-wrap:wrap}.filterbar input{flex-basis:100%}.filterbar select{flex:1}.detail-grid,.form-grid,.form-grid.compact{grid-template-columns:1fr}.vehicle-grid,.doc-grid,.pipeline,.people-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.task-card{align-items:flex-start;flex-direction:column}.task-card form,.task-card button{width:100%}.risk-key{display:none}.hazard-card{padding-left:15px;padding-top:50px}.hazard-number{left:14px}.public-head img{height:47px}.public-main{padding:0 15px}.public-main h1{font-size:3rem}.form-card{padding:17px}.auth-card{padding:22px;border-radius:18px}.stop-banner{align-items:flex-start;flex-direction:column}.top-actions{gap:5px}.icon-btn{min-width:37px;height:37px}.user-chip{padding-left:6px;border-left:0}}

/* Planner and equipment register */
.planner-columns{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px;margin-bottom:20px}.planner-col{background:var(--panel,#fff);border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:12px;min-height:180px}.planner-job{display:block;text-decoration:none;color:inherit;border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:11px;margin-top:9px;background:#fff}.planner-job>b,.planner-job>span,.planner-job>small{display:block}.planner-job>span{margin-top:3px}.planner-job>small{margin-top:5px;color:#667085}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.equipment-card{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:16px}.equipment-card:hover,.planner-job:hover{border-color:#c72d27}.asset-tag{display:inline-block;font-weight:800;letter-spacing:.06em;color:#c72d27;font-size:.8rem}.equipment-card h3{margin:5px 0 0}.equipment-card p{margin:0;color:#667085}.small-btn{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}.text-link{display:inline-block;margin-top:10px}.filter-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 16px}.search-form{display:flex;gap:8px;flex:1}.search-form .field-control{max-width:340px}.compact{padding:12px}.form-grid p{margin:0 0 12px}.form-grid label{font-weight:600;display:block;margin-bottom:4px}@media(max-width:820px){.planner-columns{grid-template-columns:repeat(5,76vw)}.filter-bar,.search-form{align-items:stretch;flex-direction:column}.search-form .field-control{max-width:none}}

/* Shared team calendar */
.calendar{padding:0;overflow:hidden}.calendar-head,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head{background:#15181c;color:#fff}.calendar-head b{padding:10px 12px;font-size:.72rem;text-align:center}.calendar-day{min-height:150px;border-right:1px solid var(--line);border-top:1px solid var(--line);padding:9px;min-width:0;background:#fff}.calendar-day:nth-child(7){border-right:0}.calendar-day.outside{background:#f6f7f8;color:#979da4}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--red)}.calendar-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.calendar-date b{font-size:.78rem}.calendar-date span{font-size:.57rem;background:var(--red);color:#fff;border-radius:999px;padding:3px 6px}.cal-event{display:block;border-radius:8px;padding:6px 7px;margin:5px 0;background:#f3f5f7;font-size:.66rem;overflow:hidden}.cal-event b,.cal-event span,.cal-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event span{margin-top:1px}.cal-event small{color:var(--muted);margin-top:2px}.cal-event.job{border-left:3px solid var(--red)}.cal-event.leave{background:#fff7df;border-left:3px solid #c78b19}.cal-event.birthday{background:#fff0ee;border-left:3px solid #c72d27}@media(max-width:780px){.calendar{background:transparent;border:0}.calendar-head{display:none}.calendar-week{display:block}.calendar-day{min-height:0;border:1px solid var(--line);border-radius:14px;margin:8px 0}.calendar-day.outside:empty{display:none}.calendar-day.outside{opacity:.6}.calendar-day:not(:has(.cal-event)):not(.today){display:none}}
.attention-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff7df;border:1px solid #ead394;border-left:5px solid #b77800;border-radius:14px;padding:12px 15px;margin:0 0 16px}.attention-strip b,.attention-strip span{display:block}.attention-strip b{font-size:.84rem}.attention-strip span{font-size:.72rem;color:#6b6250;margin-top:2px}.attention-strip strong{font-size:.75rem;white-space:nowrap;color:#805400}

/* v0.2 Field app, workflow, stock and management control */
.field-hero{background:linear-gradient(135deg,#16191d 0%,#22262c 68%,#6f1b18 100%);color:#fff;border-radius:24px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.field-hero h1{font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.02;letter-spacing:-.045em;margin:5px 0}.field-hero p{color:#c7cbd0;margin:0}.field-alert{width:74px;height:74px;border-radius:20px;background:#c72d27;color:#fff;display:grid;place-items:center;align-content:center;text-align:center}.field-alert b{font-size:1.45rem}.field-alert span{font-size:.65rem}.field-section{margin:20px 0}.field-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.field-section-head h2{margin:2px 0;font-size:1.05rem}.field-section-head>a,.field-section-head>strong{font-size:.72rem;color:var(--red);font-weight:800}.field-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.field-tiles>a{min-height:116px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;color:inherit}.field-tiles>a>span{font-size:1.4rem;margin-bottom:auto;color:var(--red)}.field-tiles b{font-size:.84rem}.field-tiles small{font-size:.63rem;color:var(--muted);margin-top:3px}.field-assignment-list,.field-job-list{display:grid;gap:8px}.field-assignment,.field-job{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit}.field-assignment{border-left:5px solid var(--red)}.field-assignment>div,.field-job>div{min-width:0}.field-assignment b,.field-assignment span,.field-assignment small,.field-job b,.field-job span,.field-job small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-assignment b,.field-job b{font-size:.82rem}.field-assignment span,.field-job span{font-size:.7rem;margin-top:2px}.field-assignment small,.field-job small{font-size:.65rem;color:var(--muted);margin-top:3px}.field-assignment>strong{font-size:.68rem;color:var(--red)}.field-icon{width:40px;height:40px;border-radius:12px;background:#fff0ee;color:var(--red);display:grid;place-items:center;font-size:1rem}.field-time{font-weight:900;font-size:.73rem!important;background:#f0f2f4;padding:8px;border-radius:10px;text-align:center}.field-empty{background:#fff;border:1px dashed var(--line);border-radius:16px;padding:20px;color:var(--muted);font-size:.78rem}.field-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.field-mini-grid>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.field-mini-grid span,.field-mini-grid b{display:block}.field-mini-grid span{font-size:.62rem;color:var(--muted)}.field-mini-grid b{font-size:.9rem;margin-top:4px}.mobile-job-hero{background:#171a1f;color:#fff;padding:22px;border-radius:22px;margin-bottom:12px}.mobile-job-top{display:flex;justify-content:space-between;align-items:center}.mobile-job-top>b{font-size:.8rem;color:#d0d5da}.mobile-job-hero h1{font-size:1.7rem;letter-spacing:-.035em;margin:10px 0 2px}.mobile-job-hero p{margin:0;color:#fff}.mobile-job-hero small{display:block;color:#aeb5bd;margin-top:5px}.job-progress-track{height:7px;background:#343a42;border-radius:99px;overflow:hidden;margin-top:16px}.job-progress-track span{display:block;height:100%;background:var(--red)}.field-decision{background:#fff7df;border:1px solid #ead394;border-radius:18px;padding:17px;margin:12px 0}.field-decision h2{margin:4px 0}.field-decision p{font-size:.78rem}.field-decision textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px;min-height:65px}.decision-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.mobile-action-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0}.mobile-action-bar a{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:58px;display:grid;place-items:center;align-content:center;color:inherit;font-size:1.05rem}.mobile-action-bar a span{font-size:.57rem;margin-top:2px}.status-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.status-actions form{margin:0}.status-actions button{width:100%;height:48px;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:750;font-size:.68rem}.status-actions .complete-action{background:#17251d;color:#dff3e7;border-color:#274533}.workflow-list{display:grid;gap:8px}.workflow-step{display:grid;grid-template-columns:auto 1fr auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;align-items:start}.workflow-step.done{background:#f7fbf8}.workflow-mark{width:30px;height:30px;border-radius:50%;background:#f0f2f4;display:grid;place-items:center;font-size:.67rem;font-weight:900}.workflow-step.done .workflow-mark{background:#e0f1e5;color:#26733e}.workflow-step b,.workflow-step small,.workflow-step em{display:block}.workflow-step b{font-size:.79rem}.workflow-step small{font-size:.61rem;color:var(--muted);margin-top:2px}.workflow-step p{font-size:.69rem;color:#555e67;margin:6px 0 0}.workflow-step em{font-size:.6rem;color:#418056;font-style:normal;margin-top:4px}.workflow-action a,.workflow-action button{border:0;background:#fff0ee;color:var(--red);font-size:.62rem;font-weight:800;border-radius:9px;padding:7px 8px;white-space:nowrap}.field-copy{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;font-size:.8rem}.stock-header{display:flex;align-items:center;justify-content:space-between;background:#171a1f;color:#fff;border-radius:17px;padding:14px 16px}.stock-header h2{margin:3px 0}.stock-list{display:grid;gap:7px;margin-top:9px}.stock-row{display:grid;grid-template-columns:1fr auto auto auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.stock-row.low{border-left:5px solid #b77800}.stock-row b,.stock-row small,.stock-row strong,.stock-row span{display:block}.stock-row small{font-size:.61rem;color:var(--muted)}.stock-row strong{text-align:right}.stock-warning{background:#fff1d6;color:#855800;padding:4px 7px;border-radius:99px;font-size:.58rem;font-weight:900}.workflow-template-grid,.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workflow-admin-list{margin:8px 0;padding-left:20px}.workflow-admin-list li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.75rem}.workflow-admin-list li span{display:block;color:var(--muted);font-size:.62rem}.control-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);color:inherit}.control-row b,.control-row span{display:block}.control-row b{font-size:.75rem}.control-row span,.control-row small{font-size:.62rem;color:var(--muted)}.control-link{color:inherit}.vehicle-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.vehicle-actions a{font-size:.62rem;padding:5px 7px;border-radius:7px;background:#f2f3f5}.signoff-card{max-width:760px}.signature-label{display:block;font-weight:800;margin:15px 0 6px}.signature-label small{display:block;font-weight:400;color:var(--muted);font-size:.65rem}.signoff-card canvas{width:100%;height:210px;border:2px dashed #aeb4bb;border-radius:14px;background:#fff;touch-action:none;margin-bottom:8px}.due-row td{background:#fffaf0}
@media(max-width:1000px){.field-tiles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.field-hero{padding:18px;border-radius:18px}.field-hero h1{font-size:1.65rem}.field-alert{width:60px;height:60px;border-radius:16px}.field-tiles{grid-template-columns:repeat(3,1fr)}.field-tiles>a{min-height:104px;padding:11px}.field-job{grid-template-columns:54px 1fr}.field-job>.badge{grid-column:2;justify-self:start}.field-mini-grid{grid-template-columns:repeat(2,1fr)}.mobile-action-bar{grid-template-columns:repeat(5,1fr)}.status-actions{grid-template-columns:repeat(2,1fr)}.workflow-step{grid-template-columns:auto 1fr}.workflow-action{grid-column:2}.stock-row{grid-template-columns:1fr auto auto}.stock-warning{grid-column:1/4;justify-self:start}.workflow-template-grid,.control-grid{grid-template-columns:1fr}.decision-buttons{grid-template-columns:1fr}.signoff-card canvas{height:180px}}

.compact-field{padding:20px 22px}.job-filter-pills{display:flex;gap:7px;overflow:auto;padding:2px 0 10px}.job-filter-pills a{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:.68rem;font-weight:800}.job-filter-pills a.active{background:#171a1f;color:#fff;border-color:#171a1f}.mobile-search{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:12px}.mobile-search input{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.mobile-search button{border:0;border-radius:12px;background:var(--red);color:#fff;padding:0 16px;font-weight:800}.dynamic-form{display:grid;gap:14px}.dynamic-field{display:grid;gap:6px}.dynamic-field b{font-size:.78rem}.dynamic-field small{font-size:.65rem;color:var(--muted)}.dynamic-field input:not([type=checkbox]),.dynamic-field select,.dynamic-field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}.dynamic-field em{font-style:normal;color:#a5201b;font-size:.64rem}.required-star{color:var(--red)}.form-disclaimer{background:#fff7df;border:1px solid #ead394;border-radius:12px;padding:11px;font-size:.68rem}.submission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.submission-grid>div{background:#fff;padding:13px}.submission-grid span,.submission-grid b{display:block}.submission-grid span{font-size:.61rem;color:var(--muted)}.submission-grid b{margin-top:4px;font-size:.78rem}.asset-list{margin-top:10px}@media(max-width:650px){.submission-grid{grid-template-columns:1fr}.mobile-job-hero h1{font-size:1.5rem}}

/* v0.3 productisation: reusable filters, actions, search and onboarding */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2461a8;outline-offset:3px}.global-search{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden}.global-search input{width:190px;border:0;padding:9px 10px;outline:0}.global-search button{width:38px;height:38px;border:0;background:#fff;font-size:1.1rem}.action-indicator{font-weight:900;color:var(--red)}.view-groups{display:grid;gap:4px;margin-bottom:10px}.view-groups>div>b{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(130px,1fr));align-items:end}.filter-grid label,.filterbar label{display:grid;gap:4px;min-width:0}.filter-grid label>span,.filterbar label>span{font-size:.65rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.filter-grid input,.filter-grid select{width:100%}.filter-actions{display:flex;gap:7px}.saved-views{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}.saved-views>span{font-size:.68rem;font-weight:800;color:var(--muted)}.saved-views>a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.7rem}.saved-views form{display:inline}.saved-views button{border:0;background:transparent;color:var(--red);font-size:1rem}.save-view{margin:9px 0 13px;font-size:.74rem}.save-view summary{cursor:pointer;color:var(--red);font-weight:800}.save-view form{display:flex;gap:7px;margin-top:8px;max-width:420px}.save-view input{flex:1;border:1px solid var(--line);border-radius:9px;padding:8px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:13px 0;font-size:.75rem;color:var(--muted)}.pagination>div{display:flex;gap:6px}.empty-state{background:#fff;border:1px dashed #cfd4da;border-radius:16px;padding:28px;text-align:center}.empty-state b,.empty-state span{display:block}.empty-state span{color:var(--muted);font-size:.77rem;margin-top:5px}.action-stack{display:grid;gap:10px}.action-card{display:block;background:#fff;border:1px solid var(--line);border-left:5px solid #8b929a;border-radius:16px;padding:15px 17px}.action-card.priority-high{border-left-color:#b77800}.action-card.priority-critical{border-left-color:var(--red)}.action-card h2{font-size:.98rem;margin:8px 0 3px}.action-card p{font-size:.78rem;color:#596068;margin:0}.action-card-head{display:flex;gap:6px;align-items:center}.action-card-head small{margin-left:auto;color:var(--muted)}.action-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:.68rem;color:var(--muted)}.action-meta b{color:var(--ink)}.action-resolution{margin-top:16px}.embedded-form{box-shadow:none;margin-top:12px}.bulk-action-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#171a1f;color:#fff;padding:9px 12px;border-radius:12px;margin-bottom:9px}.bulk-action-bar b{font-size:.75rem}.bulk-action-bar select{border:0;border-radius:8px;padding:7px}.warning-tag{display:inline-block;margin-top:5px;background:#fff5dd;color:#805a00;border-radius:999px;padding:3px 6px;font-size:.61rem;font-weight:800}.global-search-page{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:900px;margin:15px 0 22px}.global-search-page input{border:1px solid var(--line);border-radius:13px;padding:13px;font-size:1rem}.search-groups{display:grid;gap:13px}.search-result{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eef0f2;padding:11px 2px}.search-result b,.search-result small{display:block}.search-result b{font-size:.84rem}.search-result small{font-size:.7rem;color:var(--muted);margin-top:3px}.search-result>span{color:var(--red);font-size:.72rem;font-weight:800}.insight-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px 0;border-top:1px solid #eef0f2;align-items:center;font-size:.78rem}.insight-row small{color:var(--muted)}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;list-style:none;padding:0;margin:0 0 12px}.wizard-progress li{padding:9px;border-radius:10px;background:#e9ecef;color:#697079;text-align:center;font-size:.7rem;font-weight:800}.wizard-progress li.active{background:#171a1f;color:#fff}.onboarding-step h2{margin:5px 0 18px}.wizard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.archive-control{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.badge.closed,.badge.ready_accounting,.badge.synced{background:#e8f6ed;color:#17653b}.badge.office_review,.badge.awaiting_invoice,.badge.awaiting_parts,.badge.awaiting_customer,.badge.snoozed{background:#fff5dd;color:#805a00}
@media(max-width:1250px){.filter-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.global-search input{width:150px}}@media(max-width:900px){.global-search{display:none}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid label:first-of-type{grid-column:1/-1}}@media(max-width:640px){button,.primary-btn,.secondary-btn,.danger-btn{min-height:44px}.filter-grid{grid-template-columns:1fr}.filter-grid label:first-of-type{grid-column:auto}.filter-actions,.filter-actions>*{width:100%}.pagination{align-items:stretch;flex-direction:column}.pagination>div{display:grid;grid-template-columns:repeat(2,1fr)}.pagination a{text-align:center}.action-meta{display:grid;gap:4px}.wizard-progress li{font-size:.6rem;padding:8px 3px}.global-search-page{grid-template-columns:1fr}.global-search-page button{width:100%}.insight-row{grid-template-columns:1fr auto}.insight-row small{grid-column:1/3}}

/* Guard every mobile workflow against intrinsic-width page overflow. */
html,body{max-width:100%;overflow-x:hidden}.app-shell,.main-wrap,.content{min-width:0;max-width:100%}.topbar-title{min-width:0}
.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.integration-card .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-list{margin:8px 0 14px;padding-left:20px;color:var(--muted);font-size:.78rem}.compact-list li{margin:5px 0}.badge.mock_ready{background:#eaf2fb;color:#1e5d9a}.badge.error{background:#ffebe9;color:#8b211b}
@media(max-width:640px){.topbar-title{flex:1;text-align:center;overflow:hidden}.topbar-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions .user-chip{display:none}.page-head,.page-head>div,.form-shell,.form-card,.onboarding-step,.filterbar,.filter-grid,.bulk-action-bar{min-width:0;max-width:100%}.wizard-progress{grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.wizard-progress li{min-width:0;white-space:normal}.job-filter-pills{max-width:100%}.bulk-action-bar select{min-width:0;max-width:100%}}
@media(max-width:900px){.integration-grid{grid-template-columns:1fr}}@media(max-width:640px){.integration-card .detail-grid{grid-template-columns:1fr}}

/* v0.3 P1 controls: compliance calendar and review-only recurring actions */
.filter-bar{display:flex;gap:8px;background:#fff;padding:9px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;flex-wrap:wrap}.filter-bar input{flex:1;min-width:220px}.filter-bar input,.filter-bar select{border:0;outline:0;background:#f6f7f8;padding:9px 11px;border-radius:9px}.link-button{border:0;background:transparent;color:var(--red);font:inherit;font-size:.78rem;font-weight:800;padding:0}.calendar-scroll{overflow:auto}.compliance-calendar{table-layout:fixed;min-width:720px}.compliance-calendar td{height:110px;width:14.28%}.compliance-calendar td>b{display:block;margin-bottom:5px}.compliance-calendar td>a{display:block;background:var(--red-soft);color:var(--red-dark);border-radius:7px;padding:5px;margin:4px 0;font-size:.66rem;overflow:hidden;text-overflow:ellipsis}.attention-strip small{display:block;color:#6b6250;margin-top:4px}.empty-state .primary-btn{display:inline-flex;margin-top:14px}
@media(max-width:640px){.filter-bar{display:grid;grid-template-columns:1fr}.filter-bar input,.filter-bar select,.filter-bar button{width:100%;min-width:0}.compliance-calendar td{height:88px}.page-head .button-row form,.page-head .button-row form button{width:100%}}

/* Keep management controls inside a narrow handset viewport; wide datasets scroll only in their cards. */
@media(max-width:640px){.content>*:not(.table-card),.panel,.attention-strip,.metrics,.grid-2,.grid-3,.page-head .button-row{min-width:0;max-width:100%}.page-head .button-row{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.page-head .button-row>*{width:100%;min-width:0;white-space:normal;text-align:center}.page-head .button-row>*:only-child{grid-column:1/-1}.panel-head{align-items:flex-start;flex-direction:column;min-width:0}.panel-head>div,.attention-strip>div{min-width:0;max-width:100%}.panel-head form{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.panel-head form input,.panel-head form select{width:100%;min-width:0}.attention-strip span,.attention-strip small,.page-head p{overflow-wrap:anywhere}.table-card,.calendar-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto}}

/* Half-width management panels need room for real-world currency values. */
.pipeline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-metrics .metric b{font-size:clamp(1.15rem,2vw,1.65rem);overflow-wrap:anywhere}

/* Mission 05 professional shell and P0 workflows */
.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:#fff;color:#111;padding:10px 14px;border:2px solid var(--red);border-radius:8px}.skip-link:focus{top:12px}.network-banner{position:fixed;left:var(--sidebar);right:0;top:0;z-index:100;background:#7a2e0e;color:#fff;padding:9px;text-align:center;font-weight:750}.nav-item[aria-current=page]{background:#343940;color:#fff;box-shadow:inset 3px 0 var(--red)}.breadcrumbs{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:.74rem;margin:-8px 0 18px}.breadcrumbs a{color:var(--red);font-weight:750}.command-trigger kbd{border:1px solid #d0d5dd;border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:.65rem}.command-palette{position:fixed;inset:0;z-index:120;background:#111820aa;display:grid;place-items:start center;padding-top:10vh}.command-palette[hidden]{display:none}.command-panel{width:min(620px,calc(100% - 24px));background:#fff;border-radius:18px;padding:18px;box-shadow:0 28px 80px #0006}.command-panel>label{display:block;font-size:.76rem;font-weight:750;margin:8px 0 5px}.command-list{display:grid;margin-top:10px;max-height:50vh;overflow:auto}.command-list a{padding:12px;border-top:1px solid var(--line);font-weight:700}.command-list a:hover,.command-list a:focus{background:var(--red-soft);color:var(--red-dark)}.privacy-banner{display:flex;justify-content:space-between;gap:12px;background:#eef4f8;border:1px solid #cbd9e3;border-left:5px solid #365f78;border-radius:14px;padding:13px 15px;margin-bottom:16px}.privacy-banner span{color:#4d606d;font-size:.78rem}.fleet-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,1.3fr);gap:16px}.fleet-map{position:sticky;top:88px;height:max-content}.coordinate-map{position:relative;min-height:460px;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,#eef1f3 1px,transparent 1px),linear-gradient(#eef1f3 1px,transparent 1px),#fafbfc;background-size:36px 36px}.map-point{position:absolute;transform:translate(-50%,-50%);z-index:2;border:2px solid #fff;background:var(--red);color:#fff;border-radius:999px;padding:7px 9px;font-size:.68rem;font-weight:850;box-shadow:0 5px 16px #0003}.map-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);padding:30px;text-align:center}.fleet-cards{display:grid;gap:12px}.fleet-card,.mini-card,.account-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.fleet-card h2,.mini-card h2,.account-card h3{margin:5px 0;font-size:1rem}.compact-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.compact-dl div{background:#f7f8f9;border-radius:10px;padding:9px;min-width:0}.compact-dl dt{color:var(--muted);font-size:.67rem}.compact-dl dd{margin:3px 0 0;font-size:.8rem;font-weight:700;overflow-wrap:anywhere}.card-grid,.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.mini-card{display:grid;gap:8px}.mini-card p,.mini-card small{margin:0;color:var(--muted);font-size:.75rem}.vehicle-check-form{display:grid;gap:15px}.vehicle-check-form section{border:1px solid var(--line);border-radius:15px;padding:16px}.vehicle-check-form section h2{margin:0 0 14px;font-size:1.05rem}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.safety-declaration{background:#fff9f8;border-color:#edc8c4!important}.photo-slot-guide{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.photo-slot-guide span{font-size:.68rem;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#fff}.upload-tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;background:#f7f8f9;border:1px dashed #b9c0c7;border-radius:13px;padding:11px;min-height:76px}.upload-item{position:relative;display:grid;gap:5px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:.67rem;overflow:hidden}.upload-item img{width:100%;height:100px;object-fit:cover;border-radius:7px}.upload-item button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px}.mobile-action-bar{position:sticky;bottom:10px;z-index:12;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 12px 35px #18223026}.mobile-action-bar span{margin-left:auto;color:var(--muted);font-size:.7rem}.error-summary{padding:13px;background:#fff0ee;border:1px solid #f0c3bf;border-radius:10px;color:#8d211c}.viewer-shell{min-height:68vh;background:#3b4046;border-radius:16px;overflow:hidden;display:grid;place-items:center}.viewer-shell iframe{border:0;width:100%;height:75vh;background:#fff}.viewer-shell img{display:block;max-width:100%;max-height:75vh;margin:auto}.viewer-shell .empty{background:#fff;border-radius:14px;margin:20px;max-width:600px}.document-meta code{font-size:.66rem;word-break:break-all}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.leave-calendar{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:18px}.leave-calendar .calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.leave-calendar .headings{background:#17191c;color:#fff}.leave-calendar .headings>div{padding:9px;text-align:center;font-size:.72rem;font-weight:800}.leave-calendar .calendar-day{min-height:130px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:8px}.leave-calendar .calendar-day time{display:block;font-size:.75rem;font-weight:800;margin-bottom:5px}.leave-event{display:grid;gap:1px;background:#eaf2fb;border-left:3px solid #2461a8;border-radius:6px;padding:5px;margin:4px 0;font-size:.64rem}.leave-event.pending{background:#fff5dd;border-left-color:#a86f00}.leave-event span{color:#59616a}.date-range-preview{background:#eef6ff;border:1px solid #cce1f7;border-radius:10px;padding:12px;margin:10px 0 16px}.responsive-table{overflow:auto;width:100%}.line-formset{display:grid;gap:10px}.line-card{border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.line-card legend{font-weight:800;color:var(--red);padding:0 5px}.line-card p:first-of-type{grid-column:1/-1}.tab-row,.chip-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.tab-row a,.chip-list .badge{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:750}.account-card{display:flex;gap:12px}.account-card.disabled{opacity:.65}.account-card p{margin:3px 0 8px;color:var(--muted);font-size:.75rem}.reg{font-family:ui-monospace,monospace;font-weight:900;background:#f8d93d;padding:5px 9px;border-radius:6px;color:#121212}.badge.out_of_service,.badge.critical,.badge.under_repair,.badge.failed,.badge.rejected{background:#ffebe9;color:#8b211b}.badge.in_stock,.badge.available,.badge.current{background:#e8f6ed;color:#17653b}.badge.assigned,.badge.in_use,.badge.moving,.badge.on_job{background:#eaf2fb;color:#1e5d9a}.badge.offline,.badge.review,.badge.needs_info,.badge.part_received{background:#fff5dd;color:#885f00}
@media(max-width:1050px){.fleet-layout{grid-template-columns:1fr}.fleet-map{position:static}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.command-trigger{display:none}}
@media(max-width:700px){.network-banner{left:0}.privacy-banner{display:grid}.coordinate-map{min-height:310px}.compact-dl,.check-grid{grid-template-columns:1fr}.leave-calendar{border:0;background:transparent;overflow:visible}.leave-calendar .headings{display:none}.leave-calendar .calendar-week{display:block}.leave-calendar .calendar-day{min-height:0;border:1px solid var(--line);border-radius:12px;margin:7px 0;background:#fff}.leave-calendar .calendar-day.outside:not(:has(.leave-event)){display:none}.line-card{grid-template-columns:1fr}.mobile-action-bar{bottom:78px;display:grid;grid-template-columns:1fr}.mobile-action-bar span{margin:0}.global-search{display:none}.viewer-shell iframe{height:65vh}.account-grid,.card-grid{grid-template-columns:1fr}}
.upload-tray.dragging{border-color:var(--red);background:var(--red-soft)}.upload-status{grid-column:1/-1;margin:0;color:var(--muted);font-size:.72rem}.upload-status.uploading{color:var(--blue);font-weight:750}.upload-status.failed{color:var(--red-dark);font-weight:750}.upload-status.complete{color:var(--green);font-weight:750}.upload-controls{display:flex;gap:5px}.upload-controls button{flex:1}
.media-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:7px}
.planner-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.planner-filter>label{display:grid;gap:5px;font-size:.72rem;font-weight:750}.planner-filter input[type=date],.planner-filter select{border:1px solid var(--line);border-radius:9px;padding:8px}.planner-filter fieldset{display:flex;gap:8px;flex-wrap:wrap;border:0;margin:0;padding:0}.planner-filter legend{width:100%;font-size:.7rem;font-weight:800}.planner-filter fieldset label{font-size:.7rem;display:flex;gap:4px;align-items:center}.planner-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.planner-day{border:1px solid var(--line);border-radius:12px;padding:10px;min-height:110px}.planner-day.today{border-color:var(--red);box-shadow:inset 0 3px var(--red)}.planner-day h3{font-size:.78rem;margin:0 0 7px}.planner-event{display:grid;gap:3px;border-top:1px solid #eef0f2;padding:8px 0}.planner-event b{font-size:.75rem}.planner-event small{font-size:.67rem;color:var(--muted)}.planner-event .badge{justify-self:start}

.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.signature-pad,#signaturePad{display:block;width:100%;height:180px;border:2px solid #aeb6bf;border-radius:12px;background:#fff;touch-action:none;margin:8px 0}.signature-image{display:block;max-width:100%;height:100px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;margin-top:8px}.danger-panel{border-left:5px solid var(--red)}
@media(max-width:700px){.signature-grid{grid-template-columns:1fr}}

/* Keep keyboard focus visible after component-specific outline resets. */
.global-search input:focus-visible,.filterbar input:focus-visible,.filterbar select:focus-visible,.filter-bar input:focus-visible,.filter-bar select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.topbar-logout{margin:0}
@media(max-width:700px){button,.primary-btn,.secondary-btn,.danger-btn,.icon-btn,input,select{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
