:root{--bg:#0a0d12;--surface:#111720;--surface2:#18212d;--line:#273241;--text:#f5f7fa;--muted:#91a0b2;--yellow:#f4c644;--green:#54d58a;--red:#ff7c7c;--blue:#79afff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}aside{padding:24px 16px;border-right:1px solid var(--line);background:#0d1218}.brand{font-weight:900;letter-spacing:.06em}.brand span{color:var(--yellow)}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:4px}nav{margin-top:28px;display:grid;gap:4px}nav button{border:0;background:transparent;color:var(--muted);padding:11px 12px;border-radius:9px;text-align:left;cursor:pointer}nav button.active,nav button:hover{background:var(--surface2);color:white}main{padding:28px;max-width:1450px;width:100%}.view{display:none}.view.active{display:block}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{margin:0;font-size:26px}h2{font-size:16px;margin:0}.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.08em;margin:0 0 4px}.primary,.secondary{border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}.primary{background:var(--yellow);color:#171717}.secondary{background:var(--surface2);border:1px solid var(--line);color:white}.wide{width:100%;margin-top:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric,.panel,.calendar-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:16px}.metric b{font-size:26px;display:block;margin-top:6px}.metric span,.panel-title span{color:var(--muted);font-size:11px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.layout{display:grid;grid-template-columns:1.5fr .85fr;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}label{color:var(--muted);font-size:11px}input,select{width:100%;background:#0d131a;border:1px solid var(--line);color:white;padding:10px;border-radius:8px;margin-top:5px}.calendar-card{background:#282312;border-color:#5f501b;color:#ffe394;margin-bottom:12px}.gear-row,.fulfillment-row,.project-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.gear-row input{width:74px;margin:0}.sku{font-size:11px;color:var(--muted)}.pill{font-size:10px;padding:4px 8px;border-radius:999px;font-weight:800}.ready{background:#163b29;color:#72e1a2}.warning{background:#463714;color:#ffdc72}.short{background:#452126;color:#ff9a9a}.sticky{position:sticky;top:18px}.toolbar{display:flex;gap:10px;margin-bottom:12px}.toolbar input{margin:0}.toolbar select{max-width:220px;margin:0}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px;text-transform:uppercase}.empty{text-align:center;padding:50px 20px;color:var(--muted)}#toast{position:fixed;bottom:20px;right:20px;background:white;color:#111;padding:11px 15px;border-radius:9px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:800px){.app-shell{grid-template-columns:1fr}aside{position:sticky;top:0;z-index:4;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line)}nav{display:flex;overflow:auto;margin-top:9px}nav button{white-space:nowrap}main{padding:18px 13px}.metrics{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}.sticky{position:static}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.metrics,.form-grid{grid-template-columns:1fr}.toolbar{display:grid}header{align-items:flex-start}}
.worker-invoice-editor { margin-bottom: 22px; }
.editor-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 18px; }
.tier-cards { display: grid; gap: 10px; margin-top: 18px; }
.tier-cards > div { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.02); }
.tier-cards span { color: var(--muted); font-size: 13px; }
.requirements-workspace { display: grid; gap: 18px; }
.requirement-list { display: grid; gap: 10px; }
.requirement-row { display: grid; grid-template-columns: minmax(240px, 1fr) auto 170px auto; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.requirement-row > div { display: grid; gap: 5px; }
.requirement-row small { color: var(--muted); }
.requirement-toggle { display: flex; flex-direction: row; align-items: center; gap: 7px; color: var(--muted); }
.requirement-toggle input { width: auto; }
.upload-document-button { cursor: pointer; text-align: center; white-space: nowrap; }
.asset-history-files { display: grid; gap: 12px; margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.02); }
.asset-history-files > div:first-child { display: grid; gap: 4px; }
.asset-history-files small { color: var(--muted); }
.asset-history-attachment { width: 100%; display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 8px; }
.asset-history-attachment span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asset-history-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 22px 0; }
.asset-history-summary > div { display: grid; gap: 5px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }
.asset-history-summary span { color: var(--muted); font-size: 12px; }
.asset-history-summary b { font-size: 21px; }
.asset-report-link span { display: flex; align-items: center; gap: 8px; min-width: 0; }
.asset-report-link em { flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; background: rgba(252,199,66,.16); color: var(--accent); font-size: 11px; font-style: normal; }
.asset-timeline { display: grid; gap: 7px; }
.asset-timeline-row span { display: flex; align-items: center; gap: 8px; }
.asset-timeline-row i { flex: 0 0 auto; min-width: 52px; padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,.08); color: var(--muted); font-size: 10px; font-style: normal; text-align: center; text-transform: uppercase; }
@media (max-width: 620px) { .asset-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .asset-timeline-row span { align-items: flex-start; } }
.customer-row { width:100%; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 0; border:0; border-bottom:1px solid var(--line); background:transparent; color:inherit; text-align:left; }
.customer-row div { min-width:0; display:grid; gap:4px; }
.customer-row span,.customer-row small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-row { cursor:pointer; }
.customer-row-main { display:flex !important; grid-template-columns:none !important; align-items:center; gap:12px !important; }
.customer-row-copy { min-width:0; display:grid !important; gap:3px !important; }
.contact-avatar { width:62px; height:62px; flex:0 0 62px; display:grid; place-items:center; overflow:hidden; border-radius:20px; background:linear-gradient(145deg,#58677b,#222c39); color:white; font-size:18px; font-weight:900; }
.contact-avatar.small { width:46px; height:46px; flex-basis:46px; border-radius:15px; font-size:14px; }
.contact-avatar img { width:100%; height:100%; object-fit:cover; }
.contact-card-head { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.contact-card-head > div:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.contact-photo-button { display:inline-flex; align-items:center; margin:0; }
.contact-kind-picker { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:16px; padding:5px; border:1px solid var(--line); border-radius:13px; background:#0d131a; }
.contact-kind-picker button { border:0; border-radius:9px; padding:10px; background:transparent; color:var(--muted); font-weight:800; }
.contact-kind-picker button.active { background:var(--surface2); color:white; }
.contact-type-pills { display:flex; flex-wrap:wrap; gap:5px; }
.contact-type-pills span { padding:3px 7px; border-radius:999px; background:rgba(121,175,255,.12); color:#9ec3ff; font-size:10px; font-weight:800; }
.contact-quick-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.contact-quick-actions a { text-decoration:none; }
@media(max-width:480px){.contact-card-head{align-items:flex-start}.contact-card-head>div:last-child{display:grid}.customer-row-main{align-items:flex-start}}
.document-library-row { width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border:0; border-bottom:1px solid var(--line); background:transparent; color:inherit; text-align:left; }
.document-library-row div { min-width:0; display:grid; gap:4px; }
.document-library-row span,.document-library-row small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.welcome-shell { max-width:520px; margin:0 auto; min-height:calc(100dvh - 180px); display:flex; flex-direction:column; justify-content:center; text-align:center; padding:24px 4px; }
.welcome-mark { width:86px; height:86px; margin:0 auto 24px; display:grid; place-items:center; border-radius:24px; background:linear-gradient(145deg,#fb4f79,#8a5cff); color:white; font-size:30px; font-weight:900; box-shadow:0 18px 50px rgba(138,92,255,.28); }
.welcome-shell h1 { font-size:clamp(34px,9vw,54px); line-height:1.02; margin:8px 0 14px; }
.welcome-copy { color:var(--muted); font-size:17px; line-height:1.5; margin:0 auto 28px; max-width:430px; }
.welcome-progress { display:grid; gap:8px; margin-bottom:24px; text-align:left; }
.welcome-step { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.025); }
.welcome-step span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); color:var(--muted); }
.welcome-step.done span { background:#36c98f; color:#07140f; }
.welcome-skip { margin-top:10px; border:0; background:transparent; color:var(--muted); padding:12px; }
.welcome-mode .mobile-dock,.welcome-mode .app-back-button { display:none !important; }
@media(max-width:800px){.welcome-mode main{padding-bottom:24px}.welcome-shell{min-height:calc(100dvh - 130px);justify-content:flex-start;padding-top:40px}}
.practice-shell{max-width:620px;margin:0 auto;padding:12px 0 40px}.practice-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.practice-safe{margin:18px 0;padding:12px 14px;border-radius:13px;background:#153326;color:#78e5ab;font-weight:800}.practice-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:20px 0}.practice-dots span{height:5px;border-radius:99px;background:var(--line)}.practice-dots span.active{background:var(--yellow)}.practice-card{padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.practice-card h2{font-size:26px;margin:4px 0 8px}.practice-card>p:not(.eyebrow){color:var(--muted);font-size:16px}.practice-project{display:grid;gap:4px;margin:22px 0;padding:16px;border-radius:15px;background:var(--surface2)}.practice-project small{color:var(--yellow);font-weight:900}.practice-project b{font-size:17px}.practice-project span{color:var(--muted)}.practice-detail{display:grid;gap:6px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;line-height:1.7}
.requirement-file-actions { display: flex; gap: 6px; }
.system-test-panel { grid-column: 1 / -1; }
.system-test-row { display: grid; grid-template-columns: 26px 1fr; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.system-test-row strong { display: block; }
.system-test-row small { color: var(--muted); }
.system-test-icon { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; }
.system-test-row.pass .system-test-icon { background: #163b29; color: #72e1a2; }
.system-test-row.fail .system-test-icon { background: #452126; color: #ff9a9a; }
#copy-system-test { margin-top: 14px; }
.qa-mode-banner { position: sticky; top: 0; z-index: 9999; padding: 9px 14px; background: #b52a32; color: white; text-align: center; font-size: 12px; font-weight: 900; letter-spacing: .05em; }
.operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.operations-grid .panel:last-child { grid-column: 1 / -1; }
.inline-add { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 14px; }
.operation-control-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.operation-control-list > div { display: flex; justify-content: space-between; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.operation-control-list span { color: var(--muted); }
@media(max-width:760px){.operations-grid,.operation-control-list{grid-template-columns:1fr}.operations-grid .panel:last-child{grid-column:auto}}
.secure-cca { color: var(--yellow); font-size: 12px; font-weight: 700; text-align: center; }
.requirement-override { max-width: none; }
.override-entry { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 12px 0; }

.mobile-dock { display: none; }
.home-header span { color: var(--muted); }
.home-calendar-widget { display: block; width: min(100%, 600px); margin: 0 0 28px; padding: 18px; border: 1px solid #394453; border-radius: 26px; color: var(--text); background: linear-gradient(145deg,#20242b,#11151b); cursor: pointer; text-align: left; box-shadow: 0 15px 35px rgba(0,0,0,.2); }
.home-widget-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.home-widget-head p { margin: 0; color: #ff666f; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.home-widget-head h2 { margin-top: 3px; font-size: 20px; }
.home-widget-head > span { color: #8bbfff; font-size: 12px; }
.home-mini-weekdays, .home-mini-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); text-align: center; }
.home-mini-weekdays { margin-top: 14px; color: var(--muted); font-size: 10px; }
.home-mini-calendar { gap: 3px 0; margin-top: 6px; }
.home-mini-calendar b, .home-mini-calendar span { display: grid; place-items: center; min-height: 27px; border-radius: 9px; font-size: 11px; }
.home-mini-calendar b.busy { color: #ffe792; }
.home-mini-calendar b.conflict { box-shadow: inset 0 0 0 1px #ff7c7c; }
.home-mini-calendar b.today { background: #e83d4d; color: white; }
.home-widget-status { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #394453; }
.home-widget-status span { color: var(--muted); font-size: 10px; text-align: center; }
.home-widget-status b { display: block; color: var(--text); font-size: 16px; }
.home-app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px; }
.home-app { position: relative; display: grid; justify-items: center; gap: 5px; padding: 8px; border: 0; color: var(--text); background: transparent; cursor: pointer; text-align: center; }
.home-app[hidden], .mobile-dock button[hidden] { display: none !important; }
.home-app-icon { display: grid; place-items: center; width: 86px; height: 86px; border-radius: 22px; color: white; font-size: 36px; font-style: normal; font-weight: 900; box-shadow: inset 0 1px 1px rgba(255,255,255,.35), 0 8px 22px rgba(0,0,0,.22); }
.home-app-icon i, .home-app-icon strong { display: block; font-style: normal; }
.home-app-icon svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.app-calendar { align-content: center; background: white; color: #111; }
.app-calendar i { font-size: 11px; color: #e33; }
.app-calendar strong { font-size: 34px; line-height: 34px; }
.app-projects { background: linear-gradient(145deg,#ffad3d,#ef712e); }
.app-inventory { background: linear-gradient(145deg,#4da3ff,#1768d4); }
.app-cloud { background: linear-gradient(145deg,#7e7cff,#4942c7); }
.app-labels { background: linear-gradient(145deg,#36d5c5,#168f91); }
.app-damage { background: linear-gradient(145deg,#ff6868,#c72242); }
.app-team { background: linear-gradient(145deg,#6cc5ff,#2779e8); font-size: 20px; }
.app-invoices { background: linear-gradient(145deg,#4bdb87,#159653); }
.app-subrent { background: linear-gradient(145deg,#f4c644,#cb8b12); }
.app-operations { background: linear-gradient(145deg,#9b7cff,#5c3bbc); }
.app-settings { background: linear-gradient(145deg,#aab3bf,#626b78); }
.home-app b { font-size: 14px; }
.home-app small { color: var(--muted); font-size: 10px; }
.home-app em { position: absolute; top: 1px; left: calc(50% + 22px); min-width: 24px; padding: 2px 7px; border: 2px solid var(--bg); border-radius: 999px; background: #ff3b4e; color: white; font-size: 11px; font-style: normal; font-weight: 900; }
.calendar-overview { display: grid; gap: 12px; }
.calendar-booking { display: grid; grid-template-columns: 110px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.calendar-booking-date { display: grid; }
.calendar-booking-date b { font-size: 18px; color: var(--yellow); }
.calendar-booking-date span, .calendar-booking p { margin: 3px 0 0; color: var(--muted); }
.production-calendar { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.calendar-toolbar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px; border-bottom: 1px solid var(--line); }
.calendar-toolbar h2 { text-align: center; font-size: 20px; }
.calendar-toolbar button { min-width: 42px; }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 12px; padding: 10px 14px; color: var(--muted); font-size: 11px; }
.calendar-legend span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; }
.calendar-legend .project::before { background: linear-gradient(135deg,#5b8def 50%,#f06c8e 50%); }.calendar-legend .pickup::before { background: #43d17d; }.calendar-legend .return::before { background: #ff616d; }.calendar-legend .conflict::before { background: #ff7c7c; }
.calendar-weekdays, .production-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.calendar-weekdays b { padding: 8px 4px; color: var(--muted); text-align: center; font-size: 10px; }
.production-day { min-width: 0; min-height: 112px; padding: 7px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.production-day:nth-child(7n) { border-right: 0; }
.production-day > b { display: block; margin-bottom: 5px; }
.production-day.outside { background: #0c1117; }
.production-day.has-conflict { background: rgba(255,124,124,.08); }
.calendar-event { display: block; overflow: hidden; width: 100%; margin: 3px 0; padding: 3px 5px; border: 0; border-radius: 5px; color: white; background:var(--project-color,#5b8def); text-align: left; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; font-weight: 800; text-shadow:0 1px 2px rgba(0,0,0,.45); }
.calendar-event i{display:none;width:6px;height:6px;margin-right:4px;border-radius:50%}.calendar-event.pickup i,.calendar-event.return i{display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.25)}.calendar-event.pickup i{background:#43d17d}.calendar-event.return i{background:#ff616d}
.calendar-conflict { display: inline-block; margin-bottom: 3px; padding: 2px 4px; border-radius: 4px; background: #ff7c7c; color: #201015; font-size: 8px; font-weight: 900; }
.calendar-empty-note { display: grid; gap: 4px; margin-top: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; color: var(--muted); }
.calendar-empty-note b { color: var(--text); }
.scanner-intro { margin-bottom: 14px; }.scanner-intro p { margin-bottom: 0; color: var(--muted); }
.scanner-project-list { display: grid; gap: 10px; }
.scanner-project { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.scanner-project span, .scanner-project p { color: var(--muted); }.scanner-project h2 { margin: 4px 0; }.scanner-project p { margin: 0; }
.hub-subtitle { color: var(--muted); }
.app-submenu { display: grid; gap: 22px; max-width: 760px; }
.submenu-group { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.submenu-group button { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 13px; width: 100%; padding: 13px 15px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.submenu-group button:last-child { border-bottom: 0; }
.submenu-group button > span:nth-child(2) { min-width: 0; }
.submenu-group b, .submenu-group small { display: block; }
.submenu-group small { margin-top: 2px; color: var(--muted); }
.submenu-group strong { color: #657182; font-size: 24px; }
.submenu-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: white; font-size: 17px; font-weight: 900; }
.submenu-icon.projects { background: #ef7a32; }.submenu-icon.new { background: #3ebd73; }.submenu-icon.schedule { background: #e83d4d; }.submenu-icon.quotes { background: #3c8be8; }.submenu-icon.fulfillment { background: #da9a25; }.submenu-icon.checkout { background: #28aaa0; }
.submenu-icon.inventory { background: #3c8be8; }.submenu-icon.assets { background: #28aaa0; }.submenu-icon.import { background: #8f68df; }.submenu-icon.library { background: #5855dc; }.submenu-icon.labels { background: #20a99f; }.submenu-icon.damage { background: #e83d4d; }.submenu-icon.maintenance { background: #697586; }
.submenu-icon.subrent { background: #da9a25; }.submenu-icon.invoices { background: #36b970; }.submenu-icon.locations { background: #7559d4; }.submenu-icon.account { background: #697586; }.submenu-icon.team { background: #3c8be8; }
.app-back-button { margin: 0 0 14px; padding: 7px 2px; border: 0; color: #8bbfff; background: transparent; font-weight: 800; cursor: pointer; }
.gear-browser-head { display: flex; align-items: center; gap: 10px; margin: 14px 0 10px; color: var(--muted); }
.gear-browser-head span { font-weight: 800; }
.gear-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.gear-category-grid[hidden] { display: none; }
.gear-category-grid button { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 14px; color: var(--text); background: var(--surface); text-align: left; }
.gear-category-grid b, .gear-category-grid small { display: block; }
.gear-category-grid small { margin-top: 3px; color: var(--muted); }
.gear-category-grid strong { color: #8bbfff; font-size: 24px; }
.gear-picker-panel.category-open { position: fixed; inset: 0; z-index: 55; overflow-y: auto; margin: 0; padding: max(18px,env(safe-area-inset-top)) max(18px,calc((100vw - 900px)/2)) max(110px,calc(30px + env(safe-area-inset-bottom))); border: 0; border-radius: 0; background: #0b1016; }
.gear-picker-panel.category-open > .panel-title { display: none; }
.gear-picker-panel.category-open .gear-browser-head { position: sticky; top: -18px; z-index: 3; padding: 16px 0 12px; background: #0b1016; }
.project-date-picker { margin: 14px 0; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.project-date-picker-head { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 10px; text-align: center; }
.project-date-picker-head button { width: 44px; height: 44px; padding: 0; font-size: 24px; }
.project-date-picker-head span { color: #f4c644; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.project-date-picker-head h2 { margin: 3px 0 0; }
.project-date-weekdays, .project-date-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.project-date-weekdays { margin: 16px 0 6px; color: var(--muted); font-size: 10px; text-align: center; }
.project-date-calendar button { min-width: 0; aspect-ratio: 1; padding: 0; border: 0; border-radius: 10px; color: var(--text); background: #0d131a; }
.project-date-calendar button.today { outline: 1px solid #7394bd; }
.project-date-calendar button.in-range { border-radius: 4px; background: #24384d; }
.project-date-calendar button.range-start, .project-date-calendar button.range-end { color: #15120a; background: #f4c644; font-weight: 900; }
.project-date-picker > p { margin: 12px 0 0; color: var(--muted); text-align: center; }
.workspace-equipment-browser { margin-bottom: 16px; }
.workspace-category-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 12px 0; }
.workspace-category-items { display: grid; gap: 8px; }
.workspace-category-item { display: grid; grid-template-columns: minmax(0,1fr) 92px; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #0d131a; }
.workspace-category-item b, .workspace-category-item small { display: block; }
.workspace-category-item small { margin-top: 4px; color: var(--muted); }
.workspace-category-item label { color: var(--muted); font-size: 10px; }
.workspace-category-item input { width: 100%; margin: 4px 0 0; }
.submenu-group button.submenu-coming { cursor: default; opacity: .72; }
.submenu-group button em { color: var(--muted); font-size: 10px; font-style: normal; white-space: nowrap; }
.calendar-conflict { border: 0; cursor: pointer; }
.calendar-conflict-panel { margin-top: 14px; }
.conflict-gear-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.conflict-gear-row span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.conflict-gear-row strong { color: #ff9a9a; }
.conflict-project-heading { margin: 18px 0 8px; }
.conflict-project-list { display: grid; gap: 7px; }
.conflict-project-list button { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; color: var(--text); background: #0d131a; text-align: left; }
.conflict-project-list span, .conflict-project-list small { display: block; }.conflict-project-list small { margin-top: 3px; color: var(--muted); }.conflict-project-list strong { color: #8bbfff; font-size: 11px; }
.maintenance-editor { margin-bottom: 18px; }
.maintenance-editor textarea { width: 100%; margin: 5px 0 12px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; color: white; background: #0d131a; font: inherit; resize: vertical; }
.maintenance-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 13px 0; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-align: left; }
.maintenance-row span, .maintenance-row small { display: block; }.maintenance-row > div > span, .maintenance-row small { margin-top: 3px; color: var(--muted); }
@media(max-width:600px){.maintenance-row{grid-template-columns:1fr}.maintenance-row>.pill{justify-self:start}}

@media (max-width: 800px) {
  aside { position: relative; padding: 15px 14px; background: #0d1218; }
  aside .cloud-account, aside nav { display: none; }
  main { padding-bottom: 96px; }
  .app-back-button { position: fixed; z-index: 60; bottom: calc(86px + env(safe-area-inset-bottom)); left: 14px; margin: 0; padding: 10px 15px; border: 1px solid #6f5a1d; border-radius: 999px; color: #fff0aa; background: rgba(34,29,16,.96); box-shadow: 0 8px 24px rgba(0,0,0,.42); backdrop-filter: blur(14px); }
  .gear-category-grid { grid-template-columns: minmax(0,1fr); }
  .mobile-dock { position: fixed; z-index: 50; right: 10px; bottom: calc(8px + env(safe-area-inset-bottom)); left: 10px; display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; margin: 0; padding: 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(23,29,38,.94); box-shadow: 0 12px 35px rgba(0,0,0,.45); backdrop-filter: blur(18px); overflow: visible; }
  .mobile-dock button { display: grid; justify-items: center; gap: 2px; padding: 6px 2px; border: 0; border-radius: 14px; background: transparent; color: var(--muted); font-size: 10px; }
  .mobile-dock button span { font-size: 20px; }
  .mobile-dock button.active { background: rgba(255,255,255,.08); color: white; }
  .home-calendar-widget { width: 100%; margin-bottom: 26px; padding: 15px; border-radius: 22px; }
  .home-app-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 8px; }
  .home-app-icon { width: 72px; height: 72px; border-radius: 18px; font-size: 30px; }
  .home-app-icon svg { width: 40px; height: 40px; }
  .home-app small { display: none; }
  .calendar-booking { grid-template-columns: 76px minmax(0,1fr); gap: 12px; }
  .calendar-booking button { grid-column: 1 / -1; width: 100%; }
  .production-day { min-height: 74px; padding: 4px 3px; }
  .production-day > b { font-size: 11px; }
  .calendar-event { padding: 2px 3px; font-size: 7px; }
  .calendar-legend { gap: 8px; padding: 8px 10px; }
  .scanner-project { grid-template-columns: 1fr; }
  .scanner-project button { width: 100%; }
  .mobile-dock svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
}

@media (max-width: 360px) {
  .home-app-icon { width: 64px; height: 64px; }
  .home-app b { font-size: 12px; }
  .home-widget-status { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .requirement-row { grid-template-columns: 1fr 1fr; }
  .requirement-row > div { grid-column: 1 / -1; }
  .editor-actions, .override-entry { grid-template-columns: 1fr; display: grid; }
  .editor-actions button { width: 100%; }
}

.inventory-identity { display: flex; align-items: center; gap: 12px; min-width: 280px; }
.inventory-logo { width: 88px; height: 88px; flex: 0 0 88px; border-radius: 12px; object-fit: cover; background: #f5f2ea; }
.project-setup-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:700px;margin:0 auto 24px}.project-setup-progress div{display:grid;justify-items:center;gap:7px;color:var(--muted);font-size:11px}.project-setup-progress span{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-weight:900}.project-setup-progress .active,.project-setup-progress .done{color:var(--text)}.project-setup-progress .active span{background:var(--yellow);border-color:var(--yellow);color:#171717}.project-setup-progress .done span{background:#36c98f;border-color:#36c98f;color:#07140f}.project-setup-intro{max-width:700px;margin:0 auto 20px;text-align:center}.project-setup-intro>span{color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.1em}.project-setup-intro h2{margin:8px 0;font-size:clamp(27px,7vw,40px)}.project-setup-intro p{margin:0;color:var(--muted);font-size:16px}.project-setup-focus{max-width:700px;margin:0 auto}.project-color-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.project-color-panel p{margin:4px 0 0;color:var(--muted)}.project-color-picker{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.project-color-picker button{width:34px;height:34px;padding:0;border:3px solid transparent;border-radius:50%;background:var(--choice-color);box-shadow:0 0 0 1px var(--line)}.project-color-picker button.selected{border-color:white;box-shadow:0 0 0 2px var(--choice-color)}.project-setup-actions{position:sticky;z-index:20;bottom:90px;display:flex;justify-content:center;gap:10px;max-width:700px;margin:22px auto 0;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(23,29,38,.94);backdrop-filter:blur(16px)}.project-setup-actions button{min-width:130px}.project-logistics{margin-top:14px}
@media(max-width:600px){.project-color-panel{display:grid}.project-color-picker{justify-content:flex-start}.project-setup-actions{bottom:82px}.project-setup-step .layout{display:block}.project-setup-step .sticky{margin-top:14px}}
.project-setup-mode .app-back-button{display:none!important}
@media(max-width:600px){.project-setup-actions{bottom:100px}}
.guided-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0 22px}.damage-report-editor .guided-progress{grid-template-columns:repeat(5,minmax(0,1fr))}.guided-progress div{display:grid;justify-items:center;gap:5px;color:var(--muted);font-size:9px;text-align:center}.guided-progress span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-weight:900}.guided-progress .active,.guided-progress .done{color:var(--text)}.guided-progress .active span{background:var(--yellow);border-color:var(--yellow);color:#171717}.guided-progress .done span{background:#36c98f;border-color:#36c98f;color:#07140f}.guided-intro{margin:0 auto 20px;max-width:620px;text-align:center}.guided-intro>span{color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.09em}.guided-intro h2{margin:7px 0;font-size:clamp(24px,6vw,34px)}.guided-intro p{margin:0;color:var(--muted);font-size:15px}.guided-source{display:grid;gap:10px}.guided-choice{display:grid;gap:4px;width:100%;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--surface2);color:var(--text);text-align:left}.guided-choice b{font-size:17px}.guided-choice span{color:var(--muted)}.guided-review-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface2)}.guided-review-card img{width:110px;height:110px;border-radius:14px;object-fit:cover}.guided-review-card>div{display:grid;align-content:center;gap:5px}.guided-review-card p{margin:0}.guided-review-card span,.guided-review-card small{color:var(--muted)}.guided-actions{position:sticky;z-index:24;bottom:100px;display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(23,29,38,.94);backdrop-filter:blur(16px)}.guided-actions button{min-width:120px}
@media(max-width:600px){.guided-review-card{grid-template-columns:1fr}.guided-review-card img{width:100%;height:auto;aspect-ratio:16/9}.guided-progress b{font-size:8px}.guided-actions{bottom:100px}.inventory-add-panel,.damage-report-editor{padding:16px 13px}}
.guided-source[hidden],.guided-review[hidden],[data-inventory-guide-step][hidden],[data-damage-guide-step][hidden]{display:none!important}.guided-editor-mode .app-back-button{display:none!important}
.return-inspection-help{margin:4px 0 12px;color:var(--muted)}
.rental-journey{margin-bottom:14px;padding:18px;border:1px solid #4a4120;border-radius:18px;background:linear-gradient(145deg,#29230f,#17150f)}
.rental-journey-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.rental-journey-steps div{display:grid;justify-items:center;gap:6px;color:var(--muted);font-size:10px;text-align:center}
.rental-journey-steps span{width:29px;height:29px;display:grid;place-items:center;border:1px solid #4d4b43;border-radius:50%;background:#171a1e;font-weight:900}
.rental-journey-steps .active,.rental-journey-steps .done{color:var(--text)}
.rental-journey-steps .active span{background:var(--yellow);border-color:var(--yellow);color:#171717}
.rental-journey-steps .done span{background:#36c98f;border-color:#36c98f;color:#07140f}
.rental-journey>p{margin:18px 0 0;color:#d6ccb0}
.project-tools{border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.project-tools>summary{padding:15px 16px;cursor:pointer;font-weight:900}
.project-tools .project-flow-list{padding:0 10px 10px}
@media(max-width:430px){.rental-journey{padding:15px 12px}.rental-journey-steps b{font-size:9px}}
.home-today{max-width:600px;margin:0 0 20px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.home-today-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.home-next-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 2px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.home-next-row span{display:grid;gap:3px}.home-next-row small,.home-caught-up span{color:var(--muted)}.home-next-row strong{font-size:24px;color:var(--muted)}.home-caught-up{display:grid;gap:4px;padding:18px 2px}.home-all-tools{max-width:900px;margin-top:10px}.home-all-tools>summary{padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:var(--surface);font-weight:900;cursor:pointer}.home-all-tools[open]>summary{margin-bottom:18px}.advanced-pricing>summary{cursor:pointer;font-weight:900}
.data-protection-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.file-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.backup-preview{padding:16px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#f6f7f9)}.backup-preview strong,.backup-preview small{display:block}.backup-preview small,.backup-preview p{color:var(--muted);margin-top:6px}.backup-preview div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.backup-preview div span{padding:6px 9px;border-radius:999px;background:var(--surface,#fff);font-size:12px}
.customer-portal-manager{margin-top:16px}.portal-create-controls{display:flex;align-items:end;gap:10px;margin-top:14px}.portal-create-controls label{flex:1}.portal-manager-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.portal-manager-row b,.portal-manager-row small{display:block}.portal-manager-row b{text-transform:capitalize}.portal-manager-row small{color:var(--muted);margin-top:4px}.portal-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.portal-operation-status{margin:10px 0 0;color:var(--green);font-weight:700}.portal-operation-status.error{color:var(--red)}.portal-share-result{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.portal-share-result p{margin:5px 0 12px;color:var(--muted)}.portal-share-result input{width:100%;margin-top:6px}.portal-share-actions{display:flex;gap:8px;margin-top:10px}.portal-share-result small{display:block;margin-top:8px;color:var(--muted)}@media(max-width:600px){.portal-create-controls,.portal-share-actions{align-items:stretch;flex-direction:column}.portal-manager-row{align-items:flex-start;flex-direction:column}.portal-row-actions{width:100%;justify-content:stretch}.portal-manager-row button,.portal-share-actions button{width:100%}}
.portal-row-actions{display:flex;flex-wrap:wrap;gap:8px}
