:root{--bg:#0c1117;--panel:#121923;--panel2:#172231;--text:#f2f6fb;--muted:#9fb0c3;--line:#263447;--accent:#d8a23a;--ok:#47c27e;--bad:#e25d5d}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(12,17,23,.94);backdrop-filter:blur(10px)}.brand{display:block}.brand-mark{font-weight:950;letter-spacing:.08em;color:var(--accent)}.brand-sub{font-size:12px;color:var(--muted)}nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}nav a,.button,button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:800}button{background:var(--accent);color:#15110a;border-color:var(--accent)}.page{width:min(1280px,100%);margin:0 auto;padding:20px}.login-card{width:min(430px,calc(100% - 32px));margin:9vh auto;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.brand-big{font-size:30px;font-weight:950;letter-spacing:.1em;color:var(--accent)}.hero,.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px;margin-bottom:18px}.hero h1,.card h1{margin-top:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span2{grid-column:span 2}.stat{display:block;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px}.stat b{display:block;font-size:38px;color:var(--accent)}.stat span{color:var(--muted)}.form{display:grid;gap:14px}label{display:grid;gap:7px;color:#aac7ec;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#0b1017;color:var(--text);padding:12px;font:inherit}.item{border:1px solid var(--line);background:#0e151f;border-radius:18px;padding:16px;margin:12px 0}.inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline select{width:auto;min-width:180px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--accent);background:#0e151f}.calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.cal-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{color:var(--accent);font-weight:950;margin:16px 0 8px}.calendar-weekdays div{padding:8px;text-align:center}.cal-cell{min-height:132px;border:1px solid var(--line);border-radius:16px;background:#0b1017;padding:10px;display:block}.cal-cell:hover{border-color:var(--accent)}.cal-empty{opacity:.25;pointer-events:none}.cal-selected{outline:2px solid var(--accent)}.cal-day{font-weight:950;color:var(--text);margin-bottom:8px}.cal-events{display:grid;gap:5px}.cal-event{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;padding:5px 7px;font-size:12px}.cal-more{color:var(--muted);font-size:12px}.status,.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-weight:950;font-size:12px;background:#172231;color:var(--text)}.status-requested{background:#2a2330;color:#f2c66d;border-color:#73551e}.status-assigned,.status-scheduled{background:#172941;color:#9cc9ff;border-color:#285780}.status-in-progress{background:#142b2a;color:#7be3ce;border-color:#24756b}.status-work-completed,.status-submitted,.status-paid,.status-closed{background:#142b1d;color:#8df2aa;border-color:#2a7a45}.status-canceled,.status-rejected,.status-overdue{background:#351a1d;color:#ff9aa5;border-color:#8a303a}.notice{padding:12px;border-radius:14px;border:1px solid var(--line);background:#101b29;color:var(--muted)}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}nav{justify-content:flex-start}.grid,.grid2{grid-template-columns:1fr}.span2{grid-column:auto}.page{padding:14px}.inline{display:grid}.inline select{width:100%}.calendar-grid{gap:5px}.cal-cell{min-height:88px;padding:6px;border-radius:10px}.cal-event{font-size:10px;padding:3px 5px}.calendar-weekdays div{font-size:12px;padding:4px}}


/* v0.3 major StreamForms */
.req{color:#e2ac39}.error{border-color:#8a303a}.static-block{border:1px dashed var(--line);border-radius:14px;padding:14px;background:#0b1017;color:var(--muted);white-space:pre-wrap}.checkline{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#0b1017}.signature-field{grid-column:1/-1;border:1px solid var(--line);border-radius:16px;padding:12px;background:#0b1017}.sig-pad{width:100%;max-width:720px;height:190px;background:#fff;border-radius:10px;touch-action:none;display:block;margin:10px 0}.file-list{margin-top:8px;display:grid;gap:6px}.file-list a{color:var(--accent)}.form-section h2{margin-bottom:16px}.action-bar{position:sticky;bottom:0;z-index:5;display:flex;gap:12px;flex-wrap:wrap;background:rgba(14,22,33,.96);backdrop-filter:blur(8px)}.review-row{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:#0b1017}.gps-field{border:1px solid var(--line);border-radius:14px;padding:12px;background:#0b1017}.streamform input[type=file]{padding:12px;background:#0b1017}.pill{margin-right:6px}
@media(max-width:760px){.sig-pad{height:150px}.action-bar{margin-left:-12px;margin-right:-12px;border-radius:0}.streamform .grid2{grid-template-columns:1fr}}


/* v0.4 report packets and invoice detail */
.report-cover { background: linear-gradient(135deg, #111a26, #0b1017); border: 1px solid var(--line); border-radius: 24px; padding: 28px; margin-bottom: 18px; }
.review-row { display: grid; grid-template-columns: 260px 1fr; gap: 14px; border-bottom: 1px solid var(--line); padding: 12px 0; }
.review-row:last-child { border-bottom: 0; }
.signature-preview img { max-width: 420px; background: #fff; border-radius: 10px; margin-top: 8px; }
.print-actions { display:flex; gap: 10px; align-items:center; flex-wrap:wrap; margin-bottom: 16px; }
.grid3 { display:grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; }
@media (max-width: 760px) { .review-row { grid-template-columns: 1fr; } .grid3 { grid-template-columns: 1fr; } }
@media print { .topbar, .no-print, nav, .action-bar { display:none !important; } body { background:#fff; color:#000; } .page { max-width: none; padding:0; } .card, .report-cover { border:1px solid #999; background:#fff; color:#000; break-inside: avoid; } a { color:#000; } .status,.pill { border:1px solid #777; color:#000; background:#fff; } }

/* v0.5.0 Comms */
.comms-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 18px; align-items: start; }
.comm-sidebar { border: 1px solid var(--line); background: var(--panel); border-radius: 22px; padding: 16px; position: sticky; top: 92px; max-height: calc(100vh - 120px); overflow: auto; }
.comm-channel { display: block; border: 1px solid var(--line); background: #0b1017; border-radius: 14px; padding: 12px; margin: 10px 0; color: var(--text); position: relative; }
.comm-channel.active, .comm-channel:hover { border-color: var(--accent); }
.comm-channel small { display:block; color: var(--muted); margin-top: 4px; }
.comm-channel p { margin: 6px 0 0; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.unread { position: absolute; right: 10px; top: 10px; background: var(--accent); color: #111; border-radius: 999px; min-width: 24px; text-align: center; font-weight: 900; padding: 2px 7px; }
.comm-main { min-width: 0; }
.comm-head { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-start; }
.comm-messages { display: grid; gap: 10px; max-height: 58vh; overflow: auto; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: #070b10; }
.comm-msg { border: 1px solid var(--line); background: #101823; border-radius: 16px; padding: 12px; max-width: 82%; }
.comm-msg.mine { margin-left: auto; border-color: rgba(226,170,59,.55); background: #171d22; }
.comm-msg p { margin: 6px 0 0; }
.comm-compose { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 12px; align-items: stretch; }
.comm-compose textarea { min-height: 72px; }
.card-mini { border: 1px solid var(--line); border-radius: 16px; padding: 12px; margin-top: 12px; background: #0b1017; }
@media (max-width: 900px) { .comms-layout { grid-template-columns: 1fr; } .comm-sidebar { position: static; max-height: none; } .comm-msg { max-width: 100%; } .comm-compose { grid-template-columns: 1fr; } }


/* v0.6 comms live polish */
.nav-badge,.unread{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#f2c66d;color:#0b1017;font-size:11px;font-weight:900;margin-left:4px}
.comm-messages{max-height:58vh;overflow:auto;scroll-behavior:smooth}
.comm-msg{animation:commIn .18s ease-out}
@keyframes commIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.comm-compose textarea{resize:vertical}


/* v0.7 notifications and dashboard polish */
.dashboard-hero { position: relative; overflow: hidden; }
.dashboard-hero:after { content:""; position:absolute; inset:auto -10% -40% auto; width:380px; height:180px; background: radial-gradient(circle, rgba(216,162,58,.16), transparent 70%); pointer-events:none; }
.quick-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:12px; }
.stat-card small { display:block; color:var(--muted); margin-top:8px; font-size:12px; }
.notification-item { display:block; transition: transform .12s ease, border-color .12s ease; }
.notification-item:hover { transform: translateY(-1px); border-color: var(--accent); }
.notification-item b { margin-left:8px; }
.nav-badge[hidden] { display:none !important; }
@media(max-width:760px){ .quick-actions .button,.quick-actions button{width:100%; text-align:center;} .grid{grid-template-columns:1fr;} }


/* v0.8 work order hub */
.workorder-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.workorder-grid .stat b{font-size:24px;word-break:break-word}.timeline-item{border-left:3px solid var(--accent);padding:10px 12px;margin:10px 0;background:#0b1017;border-radius:0 14px 14px 0}.timeline-item p{margin:6px 0}.workorder-hero .quick-actions{justify-content:flex-end}.stat-card b{line-height:1.1}@media(max-width:760px){.workorder-hero .quick-actions{width:100%;justify-content:stretch}.workorder-hero .quick-actions .button{width:100%}}


/* v0.9 organization/admin controls */
.main-nav { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.nav-group { position:relative; }
.nav-group summary { cursor:pointer; padding:9px 11px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:#101823; list-style:none; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group[open] summary { border-color:var(--accent); }
.nav-group div { position:absolute; top:42px; left:0; z-index:50; min-width:210px; display:grid; gap:6px; padding:10px; border:1px solid var(--line); border-radius:14px; background:#07101a; box-shadow:0 14px 40px rgba(0,0,0,.45); }
.nav-group div a { display:block; padding:8px 10px; }
.admin-controls { border-color:rgba(255,180,60,.35); }
.danger, button.danger { background:#4b161d; border-color:#9b3444; color:#ffd7dc; }
.danger-inline { margin-top:8px; }
.item.compact { padding:10px; }
@media (max-width:760px){ .nav-group div { position:static; box-shadow:none; margin-top:6px; } .topbar nav { align-items:stretch; } }


/* v1.1 Work order board / admin polish */
.wo-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; align-items: start; }
.board-column { border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.025); padding: 12px; min-height: 160px; }
.board-column h2 { font-size: 14px; letter-spacing: .04em; margin: 0 0 10px; color: var(--accent); }
.danger-card { border-color: #8a303a; background: rgba(120, 25, 35, .12); }
.item.compact h3 { margin-bottom: 4px; }

/* v1.2.0 offline field mode */
.offline-status { position: sticky; top: 0; z-index: 9999; padding: 9px 14px; text-align: center; font-weight: 900; border-bottom: 1px solid var(--line); }
.offline-status.online { background: #10291b; color: #a8f0bd; }
.offline-status.offline { background: #3b1c1c; color: #ffb4b4; }
.offline-status.queued { background: #33260c; color: #ffe1a3; }
.error-text { color: #ff9aa5; font-weight: 800; }


/* v1.3.0 UI/UX Polish + Branding */
:root{--brand-blue:#0f2740;--brand-sky:#69b7e8;--soft-panel:#101821;--soft-panel2:#151f2c;--radius:18px}body{background:radial-gradient(circle at 80% -10%,rgba(69,139,185,.08),transparent 34%),var(--bg);padding-bottom:26px}.page{width:min(1320px,100%);padding:24px 20px 48px}.topbar{top:0;z-index:1000;min-height:72px;padding:12px 20px;background:rgba(9,14,20,.96)}.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brand-logo{display:block;width:180px;max-height:52px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.brand-sub{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.brand-mark{display:none}.main-nav{gap:8px}.main-nav>a,.nav-group summary,nav a,.button,button{border-radius:13px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;transition:transform .12s ease,border-color .12s ease,background .12s ease}.main-nav>a:hover,.nav-group summary:hover,.button:hover,button:hover{transform:translateY(-1px);border-color:rgba(216,162,58,.75)}.main-nav>a[href="/logout"],nav a[href="/logout"]{margin-left:4px;background:#1c2736}.nav-group summary:after{content:'⌄';font-size:12px;margin-left:8px;color:var(--muted)}.nav-group[open] summary:after{content:'⌃'}.nav-group div{top:50px;background:#0b121b;border-color:#304158;border-radius:16px;padding:10px;min-width:230px}.nav-group div a{justify-content:flex-start;border-radius:12px;background:#162231}.offline-status{position:fixed;top:auto;right:18px;bottom:14px;z-index:2000;border:1px solid var(--line);border-radius:999px;padding:8px 13px;box-shadow:0 12px 36px rgba(0,0,0,.35);font-size:13px;max-width:min(92vw,360px)}.offline-status.online{background:#10291b;color:#a8f0bd}.offline-status.online::before{content:'● ';}.offline-status.offline::before{content:'● ';}.offline-status.queued::before{content:'● ';}.login-card.login-polished{margin:7vh auto;padding:32px;background:linear-gradient(180deg,rgba(18,25,35,.98),rgba(13,19,27,.98));border-color:#314158}.login-logo{display:block;width:100%;max-width:360px;max-height:110px;object-fit:contain;margin:0 auto 18px}.login-card h1{margin:0 0 10px}.login-foot{font-size:13px;margin-top:14px;text-align:center}.hero,.card{border-radius:24px;background:linear-gradient(180deg,rgba(18,25,35,.98),rgba(15,22,31,.98));border-color:#2a3a50}.hero{padding:24px}.hero h1,.card h1{letter-spacing:-.02em}.dashboard-hero:after{opacity:.75}.quick-actions .button{background:#172231}.stat{background:linear-gradient(180deg,#111a25,#0f1721);border-color:#2a3a50}.stat:hover{border-color:#3d526c}.stat b{font-size:34px}.stat-card b{font-size:24px;color:var(--accent)}.grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.grid2{gap:18px}.form{gap:16px}label{font-size:15px}input,select,textarea{background:#080d14;border-color:#2a3b50;border-radius:13px;min-height:46px}textarea{line-height:1.45}.check-option,label:has(> input[type="checkbox"]){display:flex!important;align-items:center;gap:10px;border:1px solid var(--line);background:#0b1017;border-radius:13px;padding:11px 12px;color:var(--text)}input[type="checkbox"],input[type="radio"]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex:0 0 auto}.checkline{align-items:flex-start}.checkline input{margin-top:2px}.collapsible-card>summary{cursor:pointer;list-style:none}.collapsible-card>summary::-webkit-details-marker{display:none}.collapsible-card>summary h2{margin:0}.table-wrap{border-radius:18px;background:#0b1017}th{font-size:14px;letter-spacing:.02em}td{vertical-align:middle}.status,.pill{letter-spacing:.01em;text-transform:none}.item{border-radius:18px;background:#0b111a}.item h3{margin-top:0}.wo-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}.board-column{min-width:245px;min-height:128px}.board-column h2{text-transform:none}.calendar-card .calendar-head{align-items:center}.cal-cell{min-height:108px}.cal-event{background:#123522;border-color:#2a7a45}.review-row{grid-template-columns:minmax(180px,260px) 1fr}.admin-controls{border-color:rgba(216,162,58,.55)}.danger-card{border-color:rgba(226,93,93,.6)}.danger,button.danger{background:#531923;border-color:#a13a49}.comm-sidebar{top:96px}.comm-msg.mine{background:#18202b}.sig-pad{border:2px solid #d7e4f6}.action-bar{border:1px solid var(--line);border-radius:18px;margin-top:18px;padding:14px}.streamform .card,.streamform.card{max-width:1120px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.topbar{position:relative;align-items:flex-start;flex-direction:column}.brand-logo{width:150px}.main-nav{justify-content:flex-start}.page{padding:16px}.offline-status{left:12px;right:12px;bottom:10px;text-align:center}.hero,.card{padding:18px}.grid2{grid-template-columns:1fr}.span2{grid-column:auto}.cal-cell{min-height:82px}.table-wrap table{min-width:760px}.workorder-grid{grid-template-columns:1fr}.brand{min-width:0}}
@media(max-width:560px){.main-nav>a,.nav-group summary,nav a,.button,button{width:100%}.nav-group{width:100%}.nav-group div{position:static;min-width:0}.login-card.login-polished{margin:32px auto}.brand-logo{width:135px}.stat b{font-size:28px}.comm-compose{grid-template-columns:1fr}}

/* v1.4 operations workflow polish */
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.filter-bar{align-items:end}
.filter-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
@media(max-width:980px){.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid4{grid-template-columns:1fr}.filter-actions{align-items:stretch}.filter-actions .button,.filter-actions button{width:100%}}

/* v1.5.0 UI System + Mobile Readiness Pass */
:root{
  --app-shell-h:76px;
  --field-gap:12px;
  --card-pad:18px;
}
html{scroll-padding-top:96px;}
body.polished-ui{overflow-x:hidden;}
.topbar{
  display:grid;
  grid-template-columns:minmax(160px,240px) auto;
  align-items:center;
  gap:14px;
  padding:10px clamp(12px,2vw,22px);
  min-height:var(--app-shell-h);
}
.brand{min-width:0;gap:12px;}
.brand-logo{width:clamp(116px,11vw,160px);max-height:58px;opacity:.9;}
.brand-sub{white-space:nowrap;font-size:11px;letter-spacing:.16em;margin-left:4px;color:#b7c6d8;}
.main-nav{
  justify-content:flex-end;
  flex-wrap:nowrap;
  overflow:visible;
  min-width:0;
}
.main-nav>a,.nav-group summary,nav a,.button,button{
  min-height:40px;
  padding:9px 13px;
  white-space:nowrap;
}
.nav-group div{
  right:0;
  left:auto;
  max-height:min(72vh,540px);
  overflow:auto;
  scrollbar-color:#42556f #0b121b;
}
.mobile-nav-toggle{display:none;background:#172231;color:var(--text);border:1px solid var(--line);border-radius:13px;min-height:40px;font-weight:900;}
.page{width:min(1420px,100%);padding:22px clamp(14px,3vw,32px) 64px;}
.hero,.card{padding:clamp(16px,2vw,24px);margin-bottom:16px;}
.hero h1,.card h1{font-size:clamp(30px,3vw,42px);line-height:1.05;margin-bottom:14px;}
.card h2{font-size:clamp(22px,2vw,30px);line-height:1.1;}
.quick-actions{gap:8px;}
.grid,.grid2,.grid4{gap:14px;}
.stat{min-height:104px;padding:18px;}
.stat b{font-size:clamp(28px,3vw,38px);}
.form.grid2,.form.grid4{display:grid;align-items:end;}
.form.grid2{grid-template-columns:repeat(2,minmax(0,1fr));}
.form.grid4{grid-template-columns:repeat(4,minmax(0,1fr));}
.form label{min-width:0;}
input,select,textarea{font-size:16px;}
textarea{min-height:92px;}
.check-option,label:has(> input[type="checkbox"]),label:has(> input[type="radio"]){
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start;
  gap:10px;
  min-height:44px;
}
.table-wrap{overflow:auto;max-width:100%;}
table{width:100%;border-collapse:separate;border-spacing:0;}
th,td{padding:13px 14px;}
.status,.pill{font-size:12px;padding:5px 9px;}
.offline-status{
  bottom:18px;
  right:18px;
  left:auto;
  font-size:13px;
  opacity:.94;
  max-width:340px;
  pointer-events:auto;
}
.offline-status:hover{opacity:1;}
/* Work order board: wrap cleanly on desktop, horizontal only on narrow screens */
.wo-board{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
  overflow:visible;
  padding-bottom:0;
}
.board-column{min-width:0;min-height:128px;}
.board-column h2{font-size:15px;text-transform:none;letter-spacing:.02em;}
/* Calendar uses space better */
.calendar-card{overflow:hidden;}
.calendar-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.calendar-grid{gap:8px;}
.cal-cell{min-height:96px;padding:10px;border-radius:15px;}
.cal-event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Work order hub and admin controls are less dump-like */
.workorder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.admin-controls{box-shadow:0 0 0 1px rgba(216,162,58,.08) inset;}
.timeline-item{padding:12px 14px;margin:8px 0;}
/* Comms and split pages */
.comms-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);}
.comm-sidebar{max-height:calc(100vh - 130px);}
.comm-room{min-width:0;}
/* Reduce dead space on empty states */
.item,.card-mini{padding:14px;}
.item.compact{padding:12px;}
/* Better horizontal scrollbars when needed */
*{scrollbar-color:#51617a #101821;scrollbar-width:thin;}
::-webkit-scrollbar{height:10px;width:10px;}
::-webkit-scrollbar-track{background:#101821;border-radius:999px;}
::-webkit-scrollbar-thumb{background:#51617a;border-radius:999px;}
::-webkit-scrollbar-thumb:hover{background:#6b7e9b;}
@media(max-width:1100px){
  .topbar{grid-template-columns:1fr auto;align-items:center;}
  .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:end;}
  .main-nav{display:none;grid-column:1/-1;width:100%;justify-content:flex-start;overflow-x:auto;padding:8px 0 2px;}
  body.nav-open .main-nav{display:flex;}
  .nav-group div{position:static;box-shadow:none;margin-top:6px;max-height:none;}
  .brand-logo{width:130px;}
  .brand-sub{font-size:10px;}
}
@media(max-width:760px){
  :root{--app-shell-h:64px;}
  .topbar{position:sticky;top:0;padding:8px 10px;}
  .page{padding:14px 10px 74px;}
  .hero,.card{border-radius:18px;padding:15px;margin-bottom:12px;}
  .hero h1,.card h1{font-size:28px;}
  .card h2{font-size:22px;}
  .main-nav{gap:6px;}
  .main-nav>a,.nav-group summary,nav a,.button,button{min-height:42px;padding:9px 11px;font-size:15px;}
  .grid,.grid2,.grid4,.form.grid2,.form.grid4{grid-template-columns:1fr!important;}
  .stat{min-height:88px;}
  .quick-actions .button,.quick-actions button{width:auto;flex:1 1 140px;}
  .wo-board{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;}
  .board-column{min-width:82vw;scroll-snap-align:start;}
  .calendar-grid{gap:5px;}
  .cal-cell{min-height:72px;padding:7px;border-radius:12px;font-size:13px;}
  .calendar-weekdays{font-size:13px;}
  .comm-sidebar{position:static;max-height:none;}
  .comms-layout{grid-template-columns:1fr;}
  .offline-status{left:10px;right:10px;bottom:10px;text-align:center;max-width:none;}
  .table-wrap{border:0;background:transparent;}
  .table-wrap table{min-width:0;display:block;}
  .table-wrap thead{display:none;}
  .table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%;}
  .table-wrap tr{border:1px solid var(--line);border-radius:16px;background:#0b1017;margin:0 0 12px;overflow:hidden;}
  .table-wrap td{border:0;border-bottom:1px solid rgba(255,255,255,.06);padding:10px 12px;}
  .table-wrap td:last-child{border-bottom:0;}
  .table-wrap td:before{content:attr(data-label);display:block;color:var(--accent);font-weight:900;font-size:12px;margin-bottom:3px;}
}
@media(max-width:460px){
  .brand-logo{width:112px;}
  .brand-sub{display:none;}
  .mobile-nav-toggle{min-width:86px;}
  .quick-actions{display:grid;grid-template-columns:1fr 1fr;}
  .quick-actions .button,.quick-actions button{width:100%;}
}

/* v1.6.2 visual StreamForm template builder */
.template-builder-card { border: 1px solid var(--line); border-radius: 18px; padding: 16px; background: rgba(255,255,255,.025); }
.template-builder-root { display: grid; gap: 14px; margin-top: 14px; }
.builder-section, .template-section { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: rgba(0,0,0,.12); }
.builder-section-head { margin-bottom: 10px; }
.builder-fields, .template-fields-list { display: grid; gap: 10px; margin: 12px 0; }
.builder-field-row { display: grid; grid-template-columns: 1.2fr 1fr .9fr 1.2fr auto auto; gap: 10px; align-items: end; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.03); }
.nested-builder { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.nested-builder > summary { cursor: pointer; font-weight: 800; color: var(--accent); }
.button.mini, button.mini { padding: 7px 10px; min-height: auto; font-size: 12px; }
@media (max-width: 980px){ .builder-field-row { grid-template-columns: 1fr; } }

/* v1.8 StreamForms field app workflow polish */
.streamform-shell { --sf-progress: 0%; }
.streamform-hero { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:16px; align-items:stretch; padding:20px; margin-bottom:16px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(135deg, rgba(216,162,58,.13), rgba(18,25,35,.98) 42%, rgba(15,23,42,.96)); }
.streamform-hero h1 { margin:0 0 6px; font-size:clamp(1.55rem, 2.2vw, 2.35rem); line-height:1.05; }
.eyebrow { margin:0 0 5px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; font-size:.74rem; color:var(--accent); }
.pill-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.streamform-status-card { display:flex; flex-direction:column; gap:8px; border:1px solid var(--line); border-radius:18px; background:rgba(8,12,18,.58); padding:14px; min-width:0; }
.streamform-status-card strong { color:var(--accent); font-size:1.05rem; }
.streamform-status-card span { color:var(--muted); font-size:.92rem; line-height:1.35; }
.streamform-status-card::before { content:""; display:block; height:7px; border-radius:999px; background:linear-gradient(90deg, var(--accent) var(--sf-progress), rgba(255,255,255,.08) var(--sf-progress)); }
.streamform-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
.streamform-nav { position:sticky; top:82px; max-height:calc(100dvh - 112px); overflow:auto; }
.section-nav-list { display:grid; gap:7px; margin-top:10px; }
.section-nav-link { display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; align-items:center; padding:9px; border:1px solid var(--line); border-radius:14px; color:var(--text); background:#0b1017; font-weight:800; font-size:.9rem; }
.section-nav-link span { display:grid; place-items:center; width:26px; height:26px; border-radius:999px; background:var(--panel2); color:var(--accent); }
.section-nav-link.active, .section-nav-link:hover { border-color:var(--accent); background:#111b27; }
.streamform-main { display:grid; gap:16px; min-width:0; }
.section-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; border-bottom:1px solid var(--line); padding-bottom:12px; }
.section-title-row h2 { margin:0; }
.section-count { white-space:nowrap; border:1px solid var(--line); color:var(--muted); border-radius:999px; padding:5px 9px; font-weight:800; font-size:.8rem; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.stream-field { border:1px solid var(--line); background:#0b1017; border-radius:18px; padding:13px; display:grid; gap:10px; min-width:0; }
.stream-field.compact-field { align-content:center; }
.stream-field.field-complete { border-color:rgba(71,194,126,.45); }
.stream-field.field-missing { border-color:rgba(226,93,93,.55); box-shadow:0 0 0 1px rgba(226,93,93,.12) inset; }
.stream-field.field-attention { animation:fieldAttention 1.4s ease; }
@keyframes fieldAttention { 0%,100%{transform:none} 35%{transform:translateX(-4px)} 70%{transform:translateX(4px)} }
.field-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.field-label { display:block; color:var(--text); font-weight:950; letter-spacing:.01em; }
.field-help { margin:4px 0 0; color:var(--muted); font-size:.86rem; line-height:1.35; }
.field-meta { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; min-width:96px; font-size:.72rem; color:var(--muted); }
.req-chip, .optional-chip { display:inline-block; border-radius:999px; padding:3px 7px; font-weight:900; }
.req-chip { color:#ffb4b4; background:rgba(226,93,93,.14); border:1px solid rgba(226,93,93,.3); }
.optional-chip { color:var(--muted); background:rgba(255,255,255,.04); border:1px solid var(--line); }
.field-control input, .field-control textarea, .field-control select { width:100%; min-height:46px; }
.with-quick-action { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.choice-grid, .checklist-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); gap:8px; }
.choice-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice-pill, .check-card, .toggle-row { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:14px; background:#111923; padding:10px; color:var(--text); font-weight:850; cursor:pointer; }
.choice-pill input, .check-card input, .toggle-row input { width:18px; height:18px; accent-color:var(--accent); }
.choice-pill:has(input:checked), .check-card:has(input:checked), .toggle-row:has(input:checked) { border-color:var(--accent); background:rgba(216,162,58,.12); }
.upload-box { position:relative; border:1px dashed rgba(216,162,58,.5); border-radius:16px; min-height:94px; display:grid; place-items:center; padding:12px; background:rgba(216,162,58,.06); text-align:center; }
.upload-box input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.upload-hint { display:grid; gap:3px; pointer-events:none; }
.upload-hint span { color:var(--muted); font-size:.85rem; }
.file-preview-live, .photo-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }
.file-preview-live span, .photo-list a { border:1px solid var(--line); background:#121923; color:var(--text); border-radius:999px; padding:5px 8px; font-size:.8rem; }
.signature-box { display:grid; gap:9px; }
.signature-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sig-pad { width:100%; max-width:100%; height:180px; background:white; border:2px solid var(--line); border-radius:16px; touch-action:none; }
.success-pill { border-color:rgba(71,194,126,.45)!important; color:#8df2aa!important; }
.warn-pill { border-color:rgba(226,93,93,.45)!important; color:#ffb4b4!important; }
.gps-box { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; }
.gps-box .gps-status { grid-column:1 / -1; margin:0; }
.static-block { border:1px dashed var(--line); background:rgba(255,255,255,.035); padding:12px; border-radius:14px; line-height:1.45; }
.form-error-card { border-color:rgba(226,93,93,.55)!important; background:rgba(226,93,93,.08)!important; }
.streamform-submit-bar { position:sticky; bottom:10px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 6px; padding:12px; border:1px solid var(--line); border-radius:20px; background:rgba(12,17,23,.94); backdrop-filter:blur(14px); box-shadow:0 18px 48px rgba(0,0,0,.35); }
.streamform-submit-bar strong { display:block; color:var(--accent); }
.ghost { background:#111923!important; color:var(--text)!important; border-color:var(--line)!important; }
.secondary-button { background:#172231!important; color:var(--text)!important; border-color:var(--line)!important; }
@media (max-width: 980px) {
  .streamform-hero { grid-template-columns:1fr; }
  .streamform-layout { grid-template-columns:1fr; }
  .streamform-nav { position:static; max-height:none; }
  .section-nav-list { display:flex; overflow:auto; padding-bottom:4px; }
  .section-nav-link { min-width:180px; }
  .field-grid { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .streamform-hero { padding:15px; border-radius:18px; }
  .streamform-submit-bar { left:8px; right:8px; bottom:8px; flex-direction:column; align-items:stretch; }
  .streamform-submit-bar .inline { display:grid; grid-template-columns:1fr; }
  .choice-grid.three { grid-template-columns:1fr; }
  .with-quick-action, .gps-box { grid-template-columns:1fr; }
  .section-title-row { flex-direction:column; }
  .field-head { flex-direction:column; }
  .field-meta { justify-content:flex-start; }
}
