:root{--bg: #f5f5f5;--surface: #ffffff;--surface-2: #fafafa;--text: #111111;--muted: #5c5c5c;--line: #e4e4e4;--navy: #111111;--navy-2: #333333;--accent: #d71920;--blue: #c8102e;--blue-bg: #fdecee;--green: #15803d;--green-bg: #e6f4ea;--amber: #b45309;--amber-bg: #fdf1e1;--red: #a50f15;--red-bg: #fbe9ea;--grey-bg: #efefef;--radius: 12px;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .05);--tap: 52px;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0d0d0d;--surface: #181818;--surface-2: #202020;--text: #f2f2f2;--muted: #a3a3a3;--line: #2e2e2e;--navy: #d71920;--navy-2: #e8434a;--blue: #ff6b72;--blue-bg: #3a1517;--green: #5fd38a;--green-bg: #15301f;--amber: #f5b968;--amber-bg: #3a2a14;--red: #ff8a8f;--red-bg: #3c1a1c;--grey-bg: #262626;--shadow: none;color-scheme:dark}}:root[data-theme=dark]{--bg: #0d0d0d;--surface: #181818;--surface-2: #202020;--text: #f2f2f2;--muted: #a3a3a3;--line: #2e2e2e;--navy: #d71920;--navy-2: #e8434a;--blue: #ff6b72;--blue-bg: #3a1517;--green: #5fd38a;--green-bg: #15301f;--amber: #f5b968;--amber-bg: #3a2a14;--red: #ff8a8f;--red-bg: #3c1a1c;--grey-bg: #262626;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--blue);text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.25}h1{font-size:24px}h2{font-size:19px}h3{font-size:15px}p{margin:0 0 8px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}textarea{resize:vertical;min-height:80px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:transparent}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--green);flex:none}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}label>input,label>select{color:var(--text);font-size:15px}.muted{color:var(--muted)}.hint{font-size:13px;color:var(--muted);margin:6px 0}.pad{padding:12px 14px;margin:0}.empty{color:var(--muted);font-size:14px;padding:10px 0;margin:0}.stack{display:flex;flex-direction:column;gap:14px}.count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--grey-bg);color:var(--muted);font-size:12px;font-weight:600}.count.amber{background:var(--amber-bg);color:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-2)}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.light{color:#fff}.btn.small{min-height:34px;padding:4px 10px;font-size:13px}.btn.big{min-height:var(--tap);font-size:16px;padding:10px 18px}.btn.huge{min-height:64px;font-size:18px}.btn.block{display:flex;width:100%}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .btn.primary{background:#d71920;border-color:#d71920}}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:10px;background:transparent;cursor:pointer;color:var(--muted)}.icon-btn:hover{background:var(--grey-bg)}.icon-btn.light{color:#fff}.link{border:0;background:none;color:var(--blue);cursor:pointer;padding:0}.row-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.row-buttons.quick{margin:10px 0 0}.row-buttons.quick .btn{flex:1}.seg{display:inline-flex;background:var(--grey-bg);border-radius:10px;padding:3px}.seg button{border:0;background:transparent;padding:6px 14px;border-radius:8px;font-weight:600;color:var(--muted);cursor:pointer}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.check{flex-direction:row;align-items:center;gap:10px;color:var(--text);font-size:15px;cursor:pointer}.check.small{font-size:13px}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--grey-bg);color:var(--muted)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.navy{background:var(--navy);color:#fff}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .badge.navy{background:#444}}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:232px;flex:none;display:flex;flex-direction:column;padding:18px 12px;background:#0b0b0b;color:#e6e6e6;border-right:3px solid var(--accent)}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 18px}.brand strong{display:block;color:#fff;font-size:15px}.brand small{color:#a6a6a6;font-size:12px}.logo{display:inline-flex;align-items:center;justify-content:center;width:58px;height:40px;border-radius:8px;background:#fff;flex:none;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain;display:block}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;color:#d0d0d0;font-weight:500}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:var(--accent);color:#fff}.sidebar-foot{margin-top:auto}.preview-note{font-size:12px;color:#a6a6a6;padding:10px;border:1px dashed rgba(255,255,255,.2);border-radius:9px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;height:60px;padding:0 20px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-brand{display:none;align-items:center;gap:8px;margin-right:auto}.topbar-right{display:flex;align-items:center;gap:6px}.dot{position:absolute;top:5px;right:4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.user-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer}.avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}.popover{position:absolute;top:56px;right:16px;width:360px;max-width:calc(100vw - 32px);max-height:70vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #00000026}.popover.narrow{width:280px}.popover-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.note-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer}.note-item:hover{background:var(--surface-2)}.note-item.unread{background:var(--blue-bg)}.note-item small{color:var(--muted)}.content{padding:8px 24px 40px;max-width:1320px;width:100%}.bottom-nav{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:4px 0 18px}.page-head h1{display:flex;align-items:center;gap:10px}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:500;margin-bottom:6px}.section-title{margin:22px 0 10px}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;margin:0 0 14px;font-size:14px}.banner.warn{background:var(--amber-bg);color:var(--amber)}.banner ul{margin:4px 0 0;padding-left:18px}.banner a{margin:0 4px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.card-head h3{display:flex;align-items:center;gap:8px}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--grey-bg);color:var(--muted)}.card-icon.blue{background:var(--blue-bg);color:var(--blue)}.card-icon.green{background:var(--green-bg);color:var(--green)}.card-icon.amber{background:var(--amber-bg);color:var(--amber)}.card-icon.navy{background:var(--navy);color:#fff}.card.highlight{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid .span2{grid-column:span 2}.grid .span3{grid-column:1 / -1}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.tile{display:flex;flex-direction:column;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow);font-size:13px}.tile-num{font-size:30px;font-weight:700;color:var(--text);line-height:1.1}.tile.accent{background:#111;border-color:#111;color:#d0d0d0}.tile.accent .tile-num{color:var(--accent)}.list{display:flex;flex-direction:column}.list.card{padding:4px 16px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left;width:100%;cursor:pointer;min-height:52px}.row:last-child{border-bottom:0}.row:hover .row-title{color:var(--blue)}.row.selected{background:var(--blue-bg);margin:0 -16px;padding:11px 16px;width:calc(100% + 32px)}.row-main{display:flex;flex-direction:column;min-width:0}.row-title{font-weight:600;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:13px;color:var(--muted)}.row-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.amount{font-variant-numeric:tabular-nums;font-weight:600}.visit{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}.visit-head{display:flex;align-items:center;gap:8px}.visit-time{font-size:20px;font-weight:700;margin-right:4px}.visit h2{font-size:22px}.visit-addr{color:var(--muted);margin:0}.visit-title{margin:0;font-weight:500}.instructions{background:var(--amber-bg);color:var(--amber);padding:10px 12px;border-radius:10px;font-size:14px;margin:4px 0}.contact-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.tap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:68px;border-radius:12px;background:var(--blue-bg);color:var(--blue);font-weight:600;font-size:13px}.tap:active{transform:scale(.97)}.strip{display:flex;gap:6px;margin:6px 0;overflow-x:auto}.mini{width:64px;height:52px;object-fit:cover;border-radius:8px;background:var(--grey-bg);flex:none}.job{max-width:820px}.job-head{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.job-title h1{font-size:26px}.job-title p{margin:2px 0 6px}.badges{display:flex;gap:6px;flex-wrap:wrap}.address-link{display:inline-flex;align-items:center;gap:8px;font-weight:500;min-height:36px}.complete-box{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:2px solid var(--line);background:var(--surface);cursor:pointer;min-height:76px;color:var(--text);flex-direction:row}.complete-box input{position:absolute;opacity:0;pointer-events:none}.complete-tick{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:2px solid var(--muted);color:transparent;flex:none}.complete-text{display:flex;flex-direction:column}.complete-text strong{font-size:17px}.complete-text small{color:var(--muted);font-size:13px}.complete-box.on{border-color:var(--green);background:var(--green-bg)}.complete-box.on .complete-tick{background:var(--green);border-color:var(--green);color:#fff}.complete-box:has(input:focus-visible){outline:2px solid var(--blue)}.complete-box.compact{min-height:60px;padding:10px 12px}.complete-box.compact .complete-tick{width:36px;height:36px}.complete-box.compact strong{font-size:15px}.tabs{display:flex;gap:4px;margin:16px 0 12px;overflow-x:auto;border-bottom:1px solid var(--line);position:sticky;top:60px;background:var(--bg);z-index:5}.tab{border:0;background:none;padding:12px 14px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.specs{display:grid;grid-template-columns:1fr;margin:0}.specs div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.specs div:last-child{border-bottom:0}.specs dt{color:var(--muted);font-size:13px}.specs dd{margin:0;font-weight:500}.line{display:flex;gap:10px;align-items:flex-start;padding:8px 0;margin:0;border-bottom:1px solid var(--line);font-size:14px}.line:last-child{border-bottom:0}.done{text-decoration:line-through;color:var(--muted)}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.inline-form>input,.inline-form>select{flex:1 1 140px;width:auto}.stages{list-style:none;margin:12px 0 0;padding:0}.stages li{border-left:2px solid var(--line);margin-left:10px}.stages li.past{border-left-color:var(--green)}.stage-btn{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;background:none;text-align:left;cursor:pointer;color:var(--muted);margin-left:-11px;min-height:44px}.stages li.past .stage-btn{color:var(--text)}.stages li.current .stage-btn{color:var(--text);font-weight:700}.stage-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--line);color:#fff;flex:none}.stages li.past .stage-dot{background:var(--green);border-color:var(--green)}.stages li.current .stage-dot{border-color:var(--accent);background:var(--accent)}.stage-edit{display:flex;gap:6px;padding:4px 0 4px 12px}.dictate{margin-bottom:12px}.dictate-row{display:flex;gap:10px;align-items:stretch}.mic{width:64px;flex:none;border-radius:14px;border:0;background:var(--navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.mic.on{background:var(--red);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #c0262d73}50%{box-shadow:0 0 0 10px #c0262d00}}.dictate-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.dictate-actions .btn{margin-left:auto}.notes{list-style:none;padding:0;margin:0}.notes li{padding:10px 0;border-top:1px solid var(--line)}.notes li p{margin:0 0 4px;white-space:pre-wrap}.notes li small{color:var(--muted);display:block;margin-bottom:4px}.notes li.flagged{background:var(--amber-bg);margin:0 -16px;padding:10px 16px}.upload-bar{display:flex;gap:8px;flex-wrap:wrap}.upload-bar select{flex:1 1 140px;width:auto;min-height:var(--tap)}.upload-bar .btn{flex:2 1 220px;cursor:pointer}.photo-group{margin-top:14px}.photo-group h4{margin-bottom:8px;display:flex;align-items:center}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.thumb{padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--grey-bg);cursor:zoom-in}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#05080e;color:#fff;display:flex;flex-direction:column;touch-action:pan-y}.lb-top,.lb-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}.lb-bottom{padding-bottom:max(14px,env(safe-area-inset-bottom));flex-wrap:wrap;font-size:14px;color:#c9d1dd}.lb-img{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 8px}.lb-img img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:#ffffff1f;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.lb-nav.prev{left:12px}.lb-nav.next{right:12px}.lb-confirm{display:flex;align-items:center;gap:8px}.split{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:14px;align-items:start}.split .list.card{max-height:75vh;overflow:auto}.detail-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.kv{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;font-size:14px;margin-bottom:12px}.kv span{color:var(--muted)}.message{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;white-space:pre-wrap}.draft{margin-top:14px}.draft textarea{font-family:inherit;line-height:1.5}.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0 12px;margin-bottom:12px;color:var(--muted)}.search input{border:0;padding-left:0}.search input:focus{outline:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1 / -1}.form-card{margin-bottom:14px}.narrow-card{max-width:520px}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.column{flex:0 0 230px;background:var(--grey-bg);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px}.column.empty-col{flex-basis:150px;opacity:.7}.column h4{font-size:13px;display:flex;align-items:center;justify-content:space-between;padding:2px 4px}.job-card{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow)}.job-card.done{border-left:4px solid var(--green)}.job-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.quote-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.quote-layout.with-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quote-layout.with-editor>div:last-child{position:sticky;top:72px}.quote-doc{background:#fff;color:#222;border:1px solid var(--line);border-radius:6px;padding:32px;font-size:12.5px;font-weight:400;box-shadow:var(--shadow)}.quote-doc *{font-weight:400!important}.qd-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-bottom:24px}.qd-title{font-size:26px;letter-spacing:.04em;margin-bottom:14px}.qd-to{padding-left:14px;line-height:1.5}.qd-meta div{margin-bottom:6px}.qd-meta span{display:block;color:#555;font-size:11px}.qd-from{line-height:1.5}.qd-heading{margin:0 0 18px;font-size:13.5px}.qd-table{width:100%;border-collapse:collapse}.qd-table th{text-align:right;border-bottom:1px solid #222;padding:6px 4px;font-size:12px}.qd-table th:first-child,.qd-table td:first-child{text-align:left}.qd-table td{text-align:right;vertical-align:top;padding:9px 4px;border-bottom:1px solid #ddd}.qd-detail{color:#333;margin-top:2px}.missing{color:#c0262d}.qd-totals{margin-left:auto;width:260px;margin-top:12px}.qd-totals div{display:flex;justify-content:space-between;padding:4px}.qd-grand{border-top:1px solid #222;margin-top:4px;padding-top:8px!important;font-size:14px}.qd-terms{margin-top:28px;line-height:1.5}.internal{margin-top:10px;font-size:12.5px;color:var(--muted)}.internal span{color:var(--amber);font-weight:600}.cost-sum div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line);font-size:14px}.cost-sum div span{color:var(--muted)}.cost-sum .strong{font-weight:700}.cost-sum{margin-bottom:12px}.sub{margin:16px 0 8px;font-size:13px;color:var(--muted)}.std-lines{display:flex;flex-direction:column;gap:6px}.std-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.std-line>span{flex:1 1 180px}.hw-results{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:8px}.hw-item{display:flex;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-size:13.5px}.hw-item:hover{background:var(--surface-2)}.picked{list-style:none;padding:0;margin:10px 0 0}.picked li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.picked li input{width:64px;min-height:36px;padding:4px 8px}.picked li span:nth-child(2){flex:1}.line-edit{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.line-edit.missing-line{border-color:var(--red);background:var(--red-bg)}.line-edit-top{display:flex;gap:6px}.line-edit-top .qty{width:72px;flex:none}.line-edit-top .price{width:120px;flex:none}.line-edit textarea{min-height:50px;font-size:13.5px}details summary{cursor:pointer;color:var(--blue);font-size:14px;padding:8px 0}.svc-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}.notes-small{font-size:13px;color:var(--muted);padding-left:18px;margin:6px 0}.table-wrap{overflow-x:auto;max-height:520px;overflow-y:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;color:var(--muted);font-weight:600;padding:8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}.table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}@media (max-width: 1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .span2{grid-column:1 / -1}.quote-layout.with-editor{grid-template-columns:1fr}.quote-layout.with-editor>div:last-child{position:static}}@media (max-width: 800px){.sidebar{display:none}.topbar{padding:0 12px;justify-content:space-between;padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top))}.topbar-brand{display:flex}.user-name{display:none}.user-btn{padding:3px}.content{padding:4px 16px calc(96px + env(safe-area-inset-bottom))}.bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bn-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;color:var(--muted);font-size:11px;font-weight:600;min-height:60px;justify-content:center}.bn-item.active{color:var(--navy)}.grid,.tiles{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.tile-num{font-size:26px}.split{grid-template-columns:1fr}.split .list.card{max-height:300px}.form-grid{grid-template-columns:1fr}h1{font-size:22px}.page-head{margin-bottom:14px}.tabs{top:calc(56px + env(safe-area-inset-top));margin-left:-16px;margin-right:-16px;padding:0 8px}.quote-doc{padding:18px;font-size:12px}.qd-top{grid-template-columns:1fr 1fr}.qd-from{display:none}.specs div{grid-template-columns:110px 1fr}.lb-nav{display:none}.card{padding:14px}.notes li.flagged{margin:0 -14px;padding:10px 14px}}@media (max-width: 380px){.contact-buttons{grid-template-columns:repeat(2,1fr)}}@media print{.sidebar,.topbar,.bottom-nav,.no-print,.editor,.internal{display:none!important}body,.content{background:#fff;padding:0}.quote-layout{display:block}.quote-doc{border:0;box-shadow:none;padding:0}}.banner.info{background:var(--blue-bg);color:var(--blue)}.banner.demo{background:var(--grey-bg);color:var(--text);border:1px dashed var(--line)}.banner.danger{background:var(--red-bg, #fdecec);color:var(--red)}.lead-steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 12px;counter-reset:s}.lead-steps li{counter-increment:s;font-size:12px;padding:4px 10px;border-radius:999px;background:var(--grey-bg);color:var(--muted)}.lead-steps li:before{content:counter(s) ". "}.lead-steps li.done{background:var(--green-bg);color:var(--green)}.lead-steps li.current{background:var(--navy);color:#fff;font-weight:600}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.sheet{width:100%;border-collapse:collapse;font-size:14px}.sheet th{text-align:left;font-weight:500;color:var(--muted);padding:6px 10px 6px 0;width:38%;vertical-align:top}.sheet td{padding:6px 0;border-bottom:1px solid var(--line)}.sheet tr.blank td{color:var(--muted)}.sheet .src{display:block;font-size:11px;color:var(--muted)}.folder-name{font-weight:600;margin:0 0 2px}.folder{list-style:none;padding:0;margin:8px 0 0;font-size:13px}.folder>li{padding:4px 0;border-bottom:1px solid var(--line)}.folder>li>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.folder ul{margin:2px 0 2px 26px;padding:0;list-style:disc;color:var(--text)}.email{border-bottom:1px solid var(--line);padding:8px 0}.email.out .email-head strong{color:var(--blue)}.email-head{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;background:none;padding:4px 0;text-align:left;cursor:pointer;flex-wrap:wrap}.email-snip{margin:2px 0 6px;color:var(--muted);font-size:14px}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.att{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:10px;font-size:13px}.att img{width:44px;height:44px;object-fit:cover;border-radius:6px;background:var(--grey-bg)}.att.signature_or_logo{opacity:.7;border-style:dashed}.field{margin-bottom:8px}.breakdown{margin-top:14px;border:2px solid var(--red);border-radius:var(--radius);padding:14px 16px;background:var(--surface)}.breakdown h3{display:flex;align-items:center;gap:8px;color:var(--red);margin:0 0 4px}.breakdown table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.breakdown th,.breakdown td{text-align:left;padding:6px 8px 6px 0;border-bottom:1px solid var(--line);vertical-align:top}.breakdown td.num,.breakdown th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown .req{color:var(--red);font-weight:600}.totals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:10px}.totals-grid div{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--muted)}.totals-grid strong{display:block;font-size:16px;color:var(--text)}.rule{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.rule-main{flex:1;min-width:0}.rule-ex{font-size:12px;color:var(--muted);margin-top:2px}.log-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.log-row time{color:var(--muted);font-size:12px;white-space:nowrap;min-width:92px}.rates{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}@media (max-width: 800px){.two-col{grid-template-columns:1fr}}.approvals{margin-bottom:14px}.approval-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 18px}.approval-sec h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 2px;font-size:14px}.lookup-page{max-width:860px}.lookup-bar{position:sticky;top:60px;z-index:6;background:var(--bg);padding:4px 0 8px}.lookup-label{font-size:17px;font-weight:700;color:var(--text);margin-bottom:6px}.lookup-input{display:flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--navy);border-radius:14px;padding:0 8px 0 14px;color:var(--muted)}.lookup-input input{border:0;background:none;font-size:20px;min-height:58px;flex:1;min-width:0;padding:0;outline:none;letter-spacing:.02em}.lookup-input input:focus{outline:none}.lookup-clear{width:48px;height:48px;border:0;border-radius:12px;background:var(--grey-bg);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.not-found{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--amber-bg);color:var(--amber);margin:10px 0;font-size:16px}.not-found strong{font-size:18px}.not-found p{margin:4px 0 0}.results{display:flex;flex-direction:column;gap:10px;margin-top:8px}.product{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.product.open{border-color:var(--navy)}.product-head{display:flex;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:0;background:none;text-align:left;cursor:pointer;color:var(--text);min-height:72px}.product-main{display:flex;flex-direction:column;gap:2px;min-width:0}.product-code{font-weight:700;font-size:18px;letter-spacing:.02em}.product-name{font-size:14px;color:var(--text)}.product-sup{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.product-price{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.price{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.price-na{font-size:15px;font-weight:600;color:var(--amber)}.product-body{padding:0 16px 16px;border-top:1px solid var(--line)}.product-img{max-width:100%;max-height:240px;border-radius:10px;margin-top:12px}.product-dl{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:14px;margin:12px 0}.product-dl dt{color:var(--muted)}.product-dl dd{margin:0}.product-dl ul{margin:0;padding-left:18px}.edit-product{border-top:1px dashed var(--line);padding-top:12px}.plan{margin-top:14px}.plan details{margin-top:10px}.plan summary{cursor:pointer;font-weight:600}.plan-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.plan-table td{padding:4px 6px;border-bottom:1px solid var(--line)}.plan-table .num{text-align:right;font-variant-numeric:tabular-nums}.plan-table .up{color:var(--red)}.plan-table .down{color:var(--green)}.supplier-row{padding:12px 0;border-bottom:1px solid var(--line)}.today-lookup{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border-radius:16px;background:var(--navy);color:#fff;font-size:18px;font-weight:700;margin-bottom:14px;min-height:72px}.today-lookup span{font-size:13px;font-weight:400;opacity:.8;display:block}@media (max-width: 800px){.lookup-bar{top:56px}.product-dl{grid-template-columns:1fr;gap:2px}.product-dl dt{margin-top:6px}}.qd-logo{display:block;width:120px;height:auto;margin-bottom:8px}:root{--chart: #d71920}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--chart: #f05a5f}}:root[data-theme=dark]{--chart: #f05a5f}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg.small button{padding:5px 10px;font-size:13px}.seg{flex-wrap:wrap;margin-bottom:12px;max-width:100%}.plain{list-style:none;margin:6px 0;padding:0}.plain li{padding:3px 0}.small{font-size:13px}.inline{display:inline-flex;align-items:center;gap:6px}.tiny{width:58px;min-height:30px;padding:2px 6px}.short{max-width:170px}.inline-form.wrap{flex-wrap:wrap;margin-top:10px}.inline-form.wrap>input:not([type=date]):not([type=time]){flex:1 1 160px}.warn-text{color:var(--amber)}.as-button{font:inherit}.email-body{white-space:pre-wrap;font-family:inherit;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px;margin:6px 0;overflow-wrap:anywhere}.email-item summary{cursor:pointer;padding:8px 0;border-bottom:1px solid var(--line)}.banner.small{font-size:13px;padding:8px 10px;margin:8px 0}.card-icon.red{background:var(--red-bg);color:var(--red)}.task{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);min-height:52px}.task:last-child{border-bottom:0}.task-check{position:relative;flex:none;cursor:pointer}.task-check input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.task-check .tick{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--line);border-radius:8px;color:transparent;background:var(--surface);transition:background .15s}.task-check input:checked+.tick{background:var(--green);border-color:var(--green);color:#fff}.task-check input:focus-visible+.tick{outline:2px solid var(--blue);outline-offset:2px}.task-check input:disabled+.tick{opacity:.5}.task-check:hover .tick{border-color:var(--text)}.task-go{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--grey-bg);color:var(--muted)}.task-main{flex:1;min-width:0;color:var(--text);text-decoration:none;display:flex;flex-direction:column;gap:2px}.task-title{font-weight:600}.task-sub{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.task-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.task-due{font-size:12px;color:var(--muted);white-space:nowrap}.task-due.late{color:var(--red);font-weight:700}.task-instead{font-size:12px;color:var(--muted)}.task.urgent .task-title{color:var(--red)}.task.done .task-title{text-decoration:line-through;color:var(--muted);font-weight:500}.task.waiting .task-title{font-weight:500}.task.big{min-height:64px}.task.big .task-check .tick,.task.big .task-go{width:44px;height:44px;border-radius:10px}.task.big .task-title{font-size:16px}.task-groups{display:flex;flex-direction:column;gap:14px}.task-group h4{margin:0 0 2px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:flex;gap:6px;align-items:center}.task-group.overdue h4{color:var(--red)}.do-first{border-color:var(--accent)}.task-section .card-head h3{font-size:15px}.hello h1{margin:0}.hello p{margin:4px 0 14px}.quick-access{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.qa-btn{display:flex;align-items:center;gap:12px;padding:16px;min-height:84px;border-radius:var(--radius);background:var(--navy);color:#fff;text-decoration:none;font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.02em;box-shadow:var(--shadow)}.qa-btn:nth-child(2){background:var(--accent)}.qa-btn small{display:block;font-weight:500;text-transform:none;font-size:13px;opacity:.85;letter-spacing:0}.qa-btn:active{transform:scale(.99)}.matt-home .seg{display:flex;width:100%}.matt-home .seg button{flex:1;min-height:44px;font-size:15px}.matt-home #my-tasks{margin-top:16px;scroll-margin-top:70px}.week{display:flex;flex-direction:column;gap:12px}.day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.day h4{margin:0 0 6px;font-size:15px}.day.is-today{border:2px solid var(--accent);box-shadow:0 0 0 3px var(--red-bg)}.day.is-today h4{color:var(--accent)}.day.past{opacity:.7}.card .week .day{border:0;padding:4px 0;box-shadow:none}.booking{border-left:4px solid var(--navy);background:var(--surface-2);border-radius:8px;margin:8px 0;overflow:hidden}.booking.tentative{border-left-style:dashed;border-left-color:var(--amber)}.booking.resched{border-left-color:var(--red)}.booking.completed{opacity:.6}.booking-main{display:flex;gap:12px;padding:10px 12px;color:var(--text);text-decoration:none}.booking-time{flex:none;width:74px;display:flex;flex-direction:column}.booking-time strong{font-size:16px}.booking-time span{font-size:12px;color:var(--muted)}.booking-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.booking-name{font-weight:700}.booking-addr,.booking-desc,.booking-notes{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.booking-change{font-size:13px;color:var(--red);font-weight:600}.booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 10px}.booking-actions .btn{min-height:44px}.booking-row{padding:10px 0;border-bottom:1px solid var(--line)}.booking-row.resched{background:var(--red-bg);margin:0 -8px;padding:10px 8px;border-radius:8px}.change-box{margin:6px 0;font-size:14px}.row-buttons.small-gap{gap:8px;align-items:center;margin-top:6px}.demo-box{margin-top:12px;padding:10px;border:1px dashed var(--line);border-radius:8px}.steps{list-style:none;margin:0;padding:0}.step{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.step-main{display:flex;flex-direction:column}.step.done .step-main>span{color:var(--muted);text-decoration:line-through}.step.open .step-main>span{font-weight:700}.step .task-check .tick,.step .task-go{width:28px;height:28px}.order{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.order.late{border-color:var(--red)}.order.received{background:var(--surface-2)}.order-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.order-steps{list-style:none;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:0;margin:12px 0}.order-steps li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;font-size:11px;color:var(--muted)}.order-steps .dot{width:12px;height:12px;border-radius:50%;background:var(--grey-bg);border:2px solid var(--line)}.order-steps li.past .dot{background:var(--green);border-color:var(--green)}.order-steps li.current .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--red-bg)}.order-steps li.current{color:var(--text);font-weight:700}.order-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}.order-dates dt{font-size:12px;color:var(--muted)}.order-dates dd{margin:0;font-weight:600;font-size:14px}.order-admin{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.order-history summary{cursor:pointer;font-size:13px;color:var(--muted);margin-top:8px}.row.late .row-title{color:var(--red)}.period-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 6px}.period-bar .seg{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:12px 0}.stat{display:flex;flex-direction:column;gap:2px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);text-decoration:none}.stat-label{font-size:13px;color:var(--muted)}.stat-value{font-size:26px;font-weight:800}.stat-sub,.stat-compare{font-size:12px;color:var(--muted)}.stat-compare{border-top:1px solid var(--line);padding-top:4px;margin-top:4px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{font-weight:600}.data-table thead th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.data-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table tr.low td{background:var(--red-bg)}.data-table tr.total th,.data-table tr.total td{font-weight:800}.table-scroll{overflow-x:auto}.chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.chart{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.chart figcaption{display:flex;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:6px}.chart-wrap{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .bar{fill:var(--chart)}.chart .line{fill:none;stroke:var(--chart);stroke-width:2}.chart .dot{fill:var(--chart);stroke:var(--surface);stroke-width:2}.chart .grid{stroke:var(--line);stroke-width:1}.chart .baseline{stroke:var(--muted);stroke-width:1}.chart .cross{stroke:var(--muted);stroke-dasharray:2 3}.chart .axis{fill:var(--muted);font-size:10px}.chart g:focus{outline:none}.chart-tip{position:absolute;top:0;transform:translate(-50%);background:var(--text);color:var(--surface);padding:6px 8px;border-radius:6px;font-size:12px;pointer-events:none;white-space:nowrap}.defs{margin:0;display:grid;gap:6px}.defs dd{margin:0;font-size:13px;color:var(--muted)}.export{position:relative}.export .menu{position:absolute;right:0;top:100%;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #00000026;padding:6px;min-width:230px;display:flex;flex-direction:column}.menu-item{border:0;background:none;text-align:left;padding:9px 10px;border-radius:6px;font:inherit;color:var(--text);cursor:pointer}.menu-item:hover{background:var(--grey-bg)}.qlines{width:100%;border-collapse:collapse;margin:8px 0}.qlines td{border-bottom:1px solid var(--line);padding:8px 4px;vertical-align:top}.qlines .num{text-align:right;white-space:nowrap}.line.total{font-weight:800}@media (max-width: 800px){.quick-access{grid-template-columns:1fr 1fr}.qa-btn{font-size:15px;padding:12px;min-height:76px}.qa-btn svg{display:none}.order-steps{grid-template-columns:repeat(4,1fr);row-gap:10px}.order-dates{grid-template-columns:1fr 1fr}.task-meta .badge{font-size:11px}.stats{grid-template-columns:1fr 1fr}.stat-value{font-size:22px}}label.inline{flex-direction:row;align-items:center;white-space:nowrap}label.check{flex-direction:row;align-items:center}.btn.danger-outline{background:var(--surface);border-color:var(--red);color:var(--red)}.btn.link{background:none;border:none;color:var(--muted);text-decoration:underline;min-height:0;padding:4px 6px}.row-buttons.big .btn{min-height:56px;font-size:16px;flex:1 1 200px}.done-box,.done-row{margin-top:8px}.done-row{display:flex;align-items:center;gap:8px}.booking-done{padding:0 12px 10px}.resched-box{display:grid;gap:10px;padding:12px;border:1px solid var(--red);border-radius:10px;background:var(--red-bg)}.resched-box label{display:grid;gap:4px;font-size:14px;font-weight:600}input.short,.short{max-width:140px}.needs-tick{border-left:4px solid var(--amber)}.needs-tick h3{display:flex;align-items:center;gap:6px;margin:0 0 4px}.tick-item{padding:10px 0;border-top:1px solid var(--line)}.pipe-card.warn{border-left:3px solid var(--amber)}.pipe-card.lost{opacity:.6}.pipe-top{display:flex;justify-content:space-between}.pipe-next{font-size:12px;margin-top:4px;display:flex;gap:4px;align-items:baseline}.pipe-next em{color:var(--muted);font-style:normal}.pipe-side{font-size:11px}.pipe-warn{color:var(--amber);font-size:12px;display:flex;gap:4px;align-items:center}.amber-text{color:var(--amber);font-weight:600}.board.pipeline .column{flex-basis:220px}.strip{display:flex;overflow-x:auto;gap:0;margin:12px 0;padding-bottom:6px}.strip-step{flex:1 0 86px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;font-size:11px;color:var(--muted)}.strip-step:before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}.strip-step:first-child:before{display:none}.strip-step.past:before,.strip-step.now:before{background:var(--green)}.strip-dot{width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--line);z-index:1}.strip-step.past .strip-dot{background:var(--green);border-color:var(--green)}.strip-step.skipped .strip-dot{background:var(--grey-bg);border-style:dashed}.strip-step.now .strip-dot{background:var(--accent);border-color:var(--accent)}.strip-step.now{color:var(--text);font-weight:700}.strip-name{margin-top:4px;line-height:1.2}.strip-date{font-size:10px}.blockers li{padding:4px 0}.blockers li:before{content:"• ";color:var(--amber)}.mat-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.mat-row .check{flex:1}.mat-row.done span{color:var(--muted)}.mat-row.na{opacity:.55}.po,.invoice{padding:10px 0;border-bottom:1px solid var(--line)}.invoice .amount{float:right;font-weight:700}.invoice .checks{color:var(--green)}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.tl-when{color:var(--muted);font-size:12px}.tl-stage .tl-text{font-weight:600}.tl-money .tl-text{color:var(--green)}.rules li{padding:4px 0}.inline-form.wrap{flex-wrap:wrap}@media (max-width: 600px){.timeline li{grid-template-columns:1fr;gap:0}}.sync-pill{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--amber-bg, #fff4dc);color:var(--amber, #8a5a00);white-space:nowrap}.sync-pill.error{background:var(--red-bg, #fde8e8);color:var(--red, #a12020)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg, #f6f7f9)}.login-card{width:100%;max-width:380px;background:var(--card, #fff);border-radius:14px;padding:28px 24px;box-shadow:0 2px 16px #00000014}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-brand strong{font-size:18px;color:inherit}.login-brand img{width:56px;height:56px;object-fit:contain}.login-card label{display:block;font-size:14px;margin:12px 0 4px}.login-card input{width:100%;box-sizing:border-box}.login-card .btn{width:100%;margin-top:18px;justify-content:center}.login-card .err{color:var(--red, #a12020);font-size:14px;margin-top:12px}.login-card .demo{display:block;text-align:center;margin-top:18px;font-size:14px}
