:root{font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:#152d44;background:#f4f7fb;--blue:#185d95;--ink:#142d47;--muted:#62758c;--line:#dce6f0;--surface:#fff;--soft:#eef4fa;--warn:#b5662b;--red:#af313c;--green:#136f53}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{border:0;border-radius:11px;background:var(--blue);color:white;padding:10px 13px;font-weight:650;cursor:pointer;touch-action:manipulation}button.secondary,.btn.secondary{background:var(--soft);color:#215783}button.ghost{background:transparent;color:var(--blue)}button.danger{background:#ffebeb;color:#aa2b37}button.subtle{font-size:13px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #56a4de;outline-offset:2px}.top{background:#132c49;color:white;padding:17px max(16px,env(safe-area-inset-left)) 18px}.brand{max-width:960px;margin:auto;font-size:22px;font-weight:800;letter-spacing:-.5px}.brand span{font-weight:550}.brand small{display:block;font-weight:450;color:#bfcfe2;font-size:12px;letter-spacing:0;margin-top:2px}.wrap{max-width:960px;margin:auto;padding:17px 14px calc(105px + env(safe-area-inset-bottom));min-height:70vh}h2{font-size:21px;line-height:1.2;margin:6px 0 12px;letter-spacing:-.3px}h3{font-size:16px;line-height:1.3;margin:20px 0 10px}h4{font-size:14px;margin:0 0 6px}p{margin:8px 0;line-height:1.5}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.row>*{min-width:0}.row.topalign{align-items:flex-start}.stack{display:grid;gap:7px}.section{margin:18px 0}.muted{color:var(--muted);font-size:12px}.small{font-size:13px}.tiny{font-size:11px}.strong{font-weight:730}.nowrap{white-space:nowrap}.negative{color:var(--red)}.positive{color:var(--green)}.hint{background:#f0f5fc;border-radius:11px;color:#426080;font-size:12px;padding:10px 12px}.card,.tile{background:white;border:1px solid var(--line);border-radius:15px;padding:15px;margin:10px 0;box-shadow:0 2px 7px #1c35500b}.tile{padding:13px;margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metrics{margin:12px 0}.metric strong{display:block;font-size:22px;line-height:1.3;letter-spacing:-.4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.toolbar button,.toolbar a{flex-grow:0}.pill{font-size:11px;border-radius:25px;background:#eaf2fb;color:#235b88;display:inline-block;padding:5px 8px;font-weight:700;white-space:nowrap}.pill.warn{background:#fff2e7;color:#ac5b21}.pill.bad{background:#ffe9e9;color:#a82b34}.pill.good{background:#e3f4ed;color:#137150}.plainlink,.linkbtn{color:var(--blue);text-decoration:none;cursor:pointer}.btn{display:inline-block;background:var(--blue);color:white;border-radius:11px;padding:10px 13px;text-decoration:none;font-size:13px;font-weight:650}.item{padding:12px 0;border-bottom:1px solid #e9eff5}.item:last-child{border-bottom:0}.clickable{cursor:pointer}.clickable:active{background:#f5f9fd}.empty{color:#77889e;text-align:center;padding:26px 12px}.tabs{display:flex;gap:7px;overflow:auto;scrollbar-width:none;margin:12px 0;white-space:nowrap}.tabs::-webkit-scrollbar{display:none}.tabs button{background:#e7eef6;color:#2d5e87}.tabs button.on{background:var(--blue);color:white}.actiongrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actiongrid button{width:100%}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.divider{border:0;border-top:1px solid var(--line);margin:14px 0}.listtitle{font-weight:750;font-size:15px}.tagrow{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:5px}.desc{white-space:pre-wrap;overflow-wrap:anywhere}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:10px 6px;border-bottom:1px solid var(--line)}td:last-child,th:last-child{text-align:right}th{color:var(--muted)}.progress{height:9px;background:#e8eef5;border-radius:10px;overflow:hidden}.progress div{background:#2478ad;height:100%}.balance-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:10px 0}.balance-row .strong{font-size:17px}.piebox{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:14px 4px}.pie{width:178px;height:178px;border-radius:50%;background:#e6ecf3;flex:none;position:relative}.pie:after{content:'';position:absolute;inset:44px;border-radius:50%;background:white}.legend{flex:1;min-width:175px}.legendrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0}.dot{width:11px;height:11px;border-radius:4px;display:inline-block;flex:none}.legendrow button{font-weight:500;padding:2px 0;background:none;color:var(--ink);text-align:left}.filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.filters>div{min-width:0}label{display:block;margin:13px 0 5px;font-size:12px;font-weight:720;color:#425c78}input,select,textarea{background:white;width:100%;border:1px solid #c9d7e5;border-radius:11px;padding:11px 12px;color:#1b3149;min-height:45px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--blue)}input[type=search]{appearance:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row>div{min-width:0}.fieldhelp{font-size:11px;color:#748599;margin:3px 0 0}.choices{display:flex;flex-wrap:wrap;gap:9px}.choices>label{margin:0;font-size:13px;font-weight:500}.label-inline{display:flex;align-items:center;gap:9px}.label-inline input{margin:0}.formblock{margin:6px 0 14px;padding:13px;background:#f4f8fd;border-radius:11px}.formblock h3{margin:0 0 8px}.split-row{border:1px solid #dde7ef;border-radius:11px;padding:10px;margin-top:9px;background:white}.splitrow-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.formline{margin:10px 0}dialog{width:min(100vw - 24px,630px);max-height:min(93dvh,900px);border:0;border-radius:20px;padding:0;box-shadow:0 20px 70px #10263f66;overflow:hidden}dialog::backdrop{background:#132b4599}#editor{max-height:min(90dvh,860px);display:flex;flex-direction:column;min-height:0}#modalTitle{margin:0;font-size:21px} .formhead{flex:none;display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;border-bottom:1px solid #eff2f6}.iconbtn{font-size:26px;line-height:26px;background:transparent;color:#64788b;padding:0 5px}.formbody{overflow:auto;padding:6px 18px 20px;overscroll-behavior:contain;flex:1}.formactions{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e7edf4;background:white}.formright{display:flex;gap:8px;margin-left:auto}.formactions button{padding:12px 15px}.formactions [hidden]{display:none}#toast{position:fixed;top:12px;left:12px;right:12px;max-width:520px;margin:auto;background:#193651;color:white;text-align:center;border-radius:12px;box-shadow:0 4px 25px #16355233;z-index:50;padding:12px;display:none}.note{font-size:12px;color:var(--muted);margin-top:6px}.counter{border-radius:9px;padding:2px 6px;color:#376b8d;background:#eaf2fb}nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce5ee;z-index:5;display:flex;justify-content:space-evenly;padding:7px 2px max(9px,env(safe-area-inset-bottom))}nav button{background:transparent;color:#687f94;padding:7px 1px;font-size:11px;font-weight:650;border-radius:10px;min-width:19%}nav button span{display:block;font-size:18px;line-height:21px;margin-bottom:2px}nav button.active{color:#135a91;background:#e9f3ff}@media(max-width:540px){.wrap{padding:15px 12px calc(100px + env(safe-area-inset-bottom))}.top{padding:16px 15px}.brand{font-size:19px}.card{padding:13px}h2{font-size:21px}.row>.listtitle{max-width:64%;overflow-wrap:anywhere}.tabs{margin-left:-4px;margin-right:-4px;padding:0 4px}.formhead{padding:17px 16px 11px}.formbody{padding:4px 16px 20px}.formactions{padding-left:16px;padding-right:16px}dialog{width:calc(100% - 12px);max-height:calc(100dvh - 40px);border-radius:19px}#editor{max-height:calc(100dvh - 46px)}.field-row{grid-template-columns:1fr 1fr}.piebox{gap:10px}}
/* Build 2.2 — unified mobile-first UI */
:root{font-size:15px;--blue:#185f95;--ink:#172d43;--muted:#65798c;--line:#dce6f0;--soft:#edf3f8;--surface:#fff}
html,body{max-width:100%;overflow-x:hidden}
body{color:var(--ink);-webkit-text-size-adjust:100%}
#app,#app>*{max-width:100%;min-width:0}
.wrap{width:100%;max-width:920px;padding:14px 14px calc(98px + env(safe-area-inset-bottom))}
.top{padding:12px 16px;background:#142f4d}.brand{font-size:18px;line-height:1.3;font-weight:750;letter-spacing:-.35px}.brand span{font-weight:550}
h2{font-size:20px;letter-spacing:-.35px;margin:4px 0 8px}h3{font-size:16px;margin:21px 0 10px}.muted{font-size:12px;line-height:1.45}.card,.tile{border-radius:14px;padding:14px;margin:10px 0;box-shadow:0 1px 5px #1c355008;max-width:100%}
button,.btn,.action-menu>summary,.quick-add>summary{font-size:13px;font-weight:650;border-radius:11px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:10px 13px;line-height:1.25;white-space:normal;text-decoration:none;flex-shrink:0}
button,.btn{overflow-wrap:break-word}button:not(.menu-action){white-space:nowrap}button.secondary,.btn.secondary{background:var(--soft);color:#245f8a}button.ghost{background:transparent;color:#215f8c;min-height:40px;padding:7px 4px}
button:active,.btn:active{transform:scale(.988)}button:disabled{transform:none}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;margin:2px 0 9px}.page-head .head-copy{flex:1;min-width:0}.page-head h2{margin:0;overflow-wrap:anywhere}.page-head>.pill,.page-head>button{flex:none}.page-head p{margin:4px 0}.backline{display:flex;gap:8px;margin:0 0 10px}.backline>button{flex:none}
.quote-card{padding:14px 13px;margin:10px 0}.quote-card-main{border-radius:8px}.quote-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.quote-person{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.quote-person strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.quote-person .muted{overflow-wrap:anywhere}.quote-head .pill{flex:none;font-size:10px;white-space:nowrap;padding:5px 8px;margin:0}.quote-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:11px 0 12px}.quote-stats>div{min-width:0}.quote-stats>div+div{border-left:1px solid var(--line);padding-left:13px}.stat-label{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.quote-stats strong{font-size:14px;line-height:1.35;display:block;overflow-wrap:anywhere}.quote-actions{border-top:1px solid var(--line);padding-top:11px;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:7px;align-items:stretch}.quote-actions>button,.quote-actions>.btn,.quote-actions>.action-menu,.quote-actions>.action-menu>summary{width:100%;min-width:0;min-height:42px;font-size:12px;padding:9px 6px;white-space:nowrap}.quote-actions>button:first-child{padding-inline:7px}.action-menu{display:inline-block;position:relative;min-width:0}.action-menu>summary{border-radius:11px;background:var(--soft);color:#265f89;list-style:none;cursor:pointer;gap:4px;user-select:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu>summary span{font-size:17px;line-height:0}.action-menu[open]>summary{outline:2px solid #b5cde0}.menu-items{position:absolute;top:calc(100% + 5px);right:0;z-index:12;background:#fff;border:1px solid var(--line);box-shadow:0 12px 24px #1d304633;border-radius:12px;padding:5px;width:min(235px,calc(100vw - 36px));display:grid;gap:2px}.menu-items button.menu-action{border-radius:8px;background:#fff;color:var(--ink);width:100%;justify-content:flex-start;text-align:left;white-space:normal;min-height:42px;font-size:13px;padding:9px 11px}.menu-items button.menu-action:active{background:#eff4f9}
.quick-add{margin:10px 0 19px;border-radius:13px;border:1px solid var(--line);background:var(--surface)}.quick-add>summary{cursor:pointer;list-style:none;width:100%;justify-content:space-between;color:#245f8a;font-size:14px;background:var(--surface);padding:12px 14px}.quick-add>summary::-webkit-details-marker{display:none}.quick-items{border-top:1px solid var(--line);padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-items button{width:100%;background:var(--soft);color:#245f8a}
.compact-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.compact-body{flex:1;min-width:0;display:grid;gap:4px}.compact-body b{overflow-wrap:anywhere;font-size:14px}.compact-actions{flex:none;display:flex;align-items:flex-end;gap:6px;flex-direction:column}.compact-actions button{min-width:78px;min-height:38px;padding:8px 9px}.compact-actions b{font-size:13px;white-space:nowrap}
.actionbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.actionbar>button,.actionbar>.btn,.actionbar>.action-menu>summary{min-height:43px}.history-section{border:1px solid var(--line);border-radius:14px;background:white;margin:15px 0;padding:0 13px}.history-section>summary{font-weight:700;font-size:14px;padding:15px 2px;cursor:pointer;list-style-position:inside}.history-section .item{padding:12px 0}.activity-item>.row{align-items:flex-start}.activity-item p{margin:7px 0 2px;font-size:13px}.activity-item time{font-size:11px;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:12px}.detail-grid>div{display:grid;gap:3px}.detail-grid b{font-size:11px;color:var(--muted)}.detail-grid span{font-size:13px}
.template-snippet{color:var(--muted);font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.compose-context{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#f3f7fa;margin:8px 0}
input,select,textarea{font-size:16px;max-width:100%;min-width:0;line-height:1.4;border-radius:11px;padding:11px 12px}input[type=date]{min-width:0;max-width:100%;width:100%}label{font-size:12px}textarea{min-height:106px}.field-row,.filters,.splitrow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{gap:8px}.toolbar>button,.toolbar>.btn{min-height:42px}.row{align-items:center;gap:8px}.row>*{min-width:0}.stack{min-width:0}.listtitle{font-size:14px}.grid.metrics{gap:9px}.metric strong{font-size:21px}.metric span{font-size:11px}.tabs button{min-height:40px;font-size:12px}.tabs{gap:6px;margin:13px 0}.empty{font-size:13px;padding:22px 8px}
#nav{padding:6px 2px max(7px,env(safe-area-inset-bottom));box-shadow:0 -3px 12px #17354a08}#nav button{min-height:55px;font-size:11px;min-width:19%;white-space:nowrap;padding:7px 3px}#nav button span{font-size:18px}
dialog{border-radius:16px}dialog::backdrop{background:#102b4799}#editor{max-height:min(90dvh,860px)}.formhead{background:white}.formhead h2{font-size:19px}.formbody{padding-top:7px}.formactions{box-shadow:0 -3px 14px #162f4912}.formactions button{min-height:44px}.formblock{border-radius:12px}.formblock h3{margin:0 0 10px}.hint{line-height:1.45}
@media(max-width:600px){
 .wrap{padding:12px 12px calc(100px + env(safe-area-inset-bottom))}.top{padding:11px 13px}.brand{font-size:17px}
 h2{font-size:19px}h3{font-size:15px}
 .card,.tile{padding:12px;margin:9px 0}.metric strong{font-size:20px}.metric span{font-size:11px}
 .quote-head .pill{max-width:45%;white-space:normal;text-align:center;line-height:1.25}
 .quote-actions{grid-template-columns:minmax(0,1.26fr) repeat(3,minmax(0,1fr))}.quote-actions>button,.quote-actions>.btn,.quote-actions>.action-menu>summary{font-size:12px;padding:8px 4px}
 .page-head{gap:7px}.page-head>button{min-height:41px;padding:9px 10px;font-size:12px}.head-copy p{font-size:12px}
 .actionbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.actionbar>button,.actionbar>.action-menu,.actionbar>.action-menu>summary{width:100%;min-width:0;font-size:12px}.actionbar .action-menu>summary{display:flex}
 dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#editor{height:100dvh;max-height:100dvh}.formhead{padding:15px 16px 12px}.formbody{padding:6px 16px 18px;min-height:0}.formactions{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.formactions button{font-size:13px}.formright{gap:7px}.formright button{padding:9px 12px}.formactions .danger{padding:9px 10px;font-size:12px}
 .compact-item{align-items:flex-start}.compact-actions{gap:7px}.compact-actions button{min-width:70px}
 .row.topalign{align-items:flex-start}.row .listtitle{overflow-wrap:anywhere}.splitrow-grid{grid-template-columns:1fr}
}
@media(max-width:360px){.quote-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-actions>button,.quote-actions>.btn,.quote-actions>.action-menu>summary{font-size:11px}.quote-stats strong{font-size:13px}.field-row{grid-template-columns:1fr}}
/* Keep navigation icons and labels on separate lines on every phone. */
#nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
#nav button span{display:block;line-height:21px;margin:0}

/* Build 2.3: consistent quote cards, no floating menus and compact follow-up workflow */
.quote-card .quote-card-main{cursor:pointer;outline-offset:4px;padding:1px 0 2px}
.quote-card-main:focus-visible,.compact-body[role=button]:focus-visible{outline:2px solid #55a2d4}
.quote-card-main:active{opacity:.84}
.detail-arrow{color:#7b9bb3;font-size:19px;vertical-align:middle;font-weight:500;margin-left:3px}
.last-contact{font-size:11px;color:var(--muted);padding:0 0 9px;margin-top:-2px;min-height:18px}
.quote-card .quote-stats{margin:10px 0 8px}
.quote-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:0}
.quote-actions>button,.quote-actions>.btn{width:100%;min-width:0;min-height:43px;font-size:12px;padding:9px 4px;white-space:normal;border-radius:10px;font-weight:700}
.quote-actions>.primary-action{background:#1b6297;color:white}
.quote-actions>.more-trigger{background:#eaf2f8;color:#245d87}
.quote-actions .btn{display:flex;align-items:center;justify-content:center}
.duplicate-warning{border:1px solid #edc38b;background:#fff5e6;color:#76501c;font-size:12px;line-height:1.45;padding:12px;border-radius:10px;margin:11px 0}
.duplicate-warning[hidden],#followupActivityFields[hidden]{display:none!important}
.check-line{display:flex;align-items:center;gap:10px;border-radius:12px;background:#f1f6fa;padding:13px 12px;font-size:14px;color:#1b3e58;font-weight:700;cursor:pointer;margin:15px 0 8px}
.check-line input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:#1b6297}
#followupActivityFields{padding-top:4px}
.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:5px;overscroll-behavior-x:contain}
.tabs::-webkit-scrollbar{display:none}.tabs>button{flex:0 0 auto}
/* Native, modal bottom sheet for More menus; stays above fixed nav on iOS. */
dialog.action-sheet{position:fixed;inset:auto 0 0;top:auto;bottom:0;left:0;right:0;display:block;width:min(100%,520px);max-width:520px;height:auto;max-height:min(80dvh,720px);margin:0 auto;border:0;border-radius:20px 20px 0 0;padding:0;overflow-y:auto;background:#fff;box-shadow:0 -10px 36px #152d4450;overscroll-behavior:contain;transform:translateY(102%);visibility:hidden}
dialog.action-sheet[open]{transform:none;visibility:visible}
dialog.action-sheet::backdrop{background:#102b4773}
.sheet-handle{height:5px;width:44px;border-radius:99px;background:#ccdae7;margin:10px auto 8px}
.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:7px 18px 12px;gap:8px;border-bottom:1px solid var(--line)}
.sheet-header h2{font-size:18px;margin:0}.sheet-header p{font-size:12px;margin:2px 0 0}
.sheet-header>.iconbtn{font-size:25px;min-width:42px;min-height:42px;border-radius:99px;background:#edf2f6;color:#36566f}
.sheet-items{display:grid;gap:2px;padding:8px 12px}
.sheet-items>button.menu-action{display:flex;justify-content:flex-start;text-align:left;background:white;color:#18334b;min-height:50px;width:100%;padding:12px;border-radius:10px;font-size:14px;white-space:normal;font-weight:650}
.sheet-items>button.menu-action:active{background:#eff5fa}
.sheet-bottom{padding:8px 12px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.sheet-dismiss{width:100%;min-height:46px}
@media(max-width:600px){
 .quote-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
 .quote-actions>button,.quote-actions>.btn{font-size:11.5px;padding:8px 2px;min-height:44px;max-width:100%}
 .quote-card{padding:12px}
 dialog.action-sheet{width:100%;max-width:100%;max-height:80dvh;height:auto;inset:auto 0 0;border-radius:20px 20px 0 0}
}
@media(max-width:350px){.quote-actions>button,.quote-actions>.btn{font-size:10.8px}.quote-head .pill{font-size:9px;padding:4px 6px}}

/* Build 2.4 — clear, independent note and follow-up actions. */
.sheet-items>a.sheet-link{display:flex;align-items:center;justify-content:flex-start;text-align:left;text-decoration:none;background:#fff;color:#18334b;min-height:50px;width:100%;padding:12px;border-radius:10px;font-size:14px;font-weight:650}
.sheet-items>a.sheet-link:active{background:#eff5fa}
.compact-actions button{white-space:normal;text-align:center;max-width:124px;min-width:104px}
@media(max-width:600px){.quote-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-actions>button{font-size:11.5px;min-height:44px}.compact-actions{gap:5px}.compact-actions button{font-size:11px;min-height:37px;max-width:107px;min-width:96px}}
@media(max-width:350px){.quote-actions>button{font-size:10.8px;padding:7px 1px}.compact-actions button{min-width:86px;max-width:90px}}

/* Build 2.5 — project-first quotes, prominent mobile actions, vendor autocomplete, recurring controls. */
.home-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(280px,65%)}
.home-main-actions button{width:100%;padding:9px 8px;min-width:0}
.quote-actions-25{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:12px}
.quote-actions-25>div{display:grid;gap:7px;min-width:0}
.quote-contact-actions,.quote-record-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-award-actions{grid-template-columns:minmax(0,1fr) 94px}
.quote-actions-25 button,.quote-actions-25 .btn{min-width:0!important;width:100%;min-height:42px!important;max-width:none!important;white-space:nowrap;font-size:12px!important;padding:8px 5px!important}
.quote-actions-25 .quote-contact-actions button,.quote-actions-25 .quote-contact-actions a{background:#e7f1fb;color:#135788}
.quote-actions-25 .quote-award{background:var(--blue);color:white}
.quotes-project-section{margin-top:18px}
.quotes-project-heading{display:flex;align-items:center;gap:8px;margin:14px 0 7px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.quotes-count{margin:8px 2px}
.vendor-options{position:relative;z-index:8;display:grid;gap:0;margin-top:3px;border-radius:12px;border:1px solid #ccddeb;background:#fff;max-height:225px;overflow:auto;box-shadow:0 8px 18px #18324e16}
.vendor-options[hidden]{display:none!important}
.vendor-option{display:block;width:100%;text-align:left;justify-content:flex-start;background:#fff;color:var(--ink);border-radius:0;border-bottom:1px solid #ebf1f6;font-size:13px;min-height:44px;white-space:normal}
.vendor-option:last-child{border-bottom:0}
.vendor-create{color:var(--blue);font-weight:700;background:#f4f8fd}
.recurring-item .row{align-items:flex-start}.recurring-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.recurring-actions button{font-size:12px;min-height:41px}
@media(max-width:420px){.page-head{align-items:flex-start}.home-main-actions{width:min(240px,64%)}.home-main-actions button{font-size:12px!important}.quote-actions-25>div{gap:6px}.quote-actions-25 button,.quote-actions-25 .btn{font-size:11.5px!important}.quote-award-actions{grid-template-columns:minmax(0,1fr) 78px}}
@media(max-width:350px){.home-main-actions{width:64%}.home-main-actions button{font-size:10.6px!important;padding:8px 3px}.quote-actions-25 button,.quote-actions-25 .btn{font-size:11px!important}}

@media(max-width:600px){.home-head{flex-direction:column;align-items:stretch}.home-main-actions{width:100%;max-width:none}.home-main-actions button{font-size:13px!important}.home-head h2{margin-bottom:4px}}

/* Build 2.6: expense entry spacing, in-form category management, and iPhone keyboard handling */
#editor,#fields,.field-row,.field-row>div,.category-field{box-sizing:border-box;min-width:0;max-width:100%}
#fields input,#fields select,#fields textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
#fields input[type=date]{display:block;min-inline-size:0;-webkit-appearance:none;appearance:auto}
#fields .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:12px}
#fields .field-row>div{overflow:visible;min-width:0}
#fields .field-row label{display:block;line-height:1.3;min-height:16px;margin-bottom:6px}
#fields .field-row input,#fields .field-row select{margin:0;min-height:47px}
#fields .category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
#fields .category-heading label{margin:0}
#fields .category-manage-button{min-height:35px;padding:7px 11px;font-size:12px;flex:none}
.inline-category-manager{border:1px solid #d7e4ef;border-radius:12px;background:#f6f9fc;padding:12px;margin-top:9px}
.inline-category-manager[hidden],#inlineCategoryEditor[hidden]{display:none!important}
.inline-category-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 9px}
.inline-category-toolbar button{min-height:39px;font-size:12px;padding:9px 11px}
#inlineCategoryName{margin:6px 0 10px}
#fields .fieldhelp{line-height:1.4}
#fields .vendor-options{margin-bottom:8px}
#fields input:focus,#fields select:focus,#fields textarea:focus{scroll-margin-bottom:105px}
@media(max-width:540px){
 #fields .field-row.expense-date-row{grid-template-columns:minmax(0,1fr);gap:10px}
 #fields .field-row.expense-date-row>div{width:100%}
 #fields .field-row.expense-date-row input[type=date]{width:100%}
 #fields .field-row:not(.expense-date-row){column-gap:10px}
 .formbody{padding-bottom:30px;scroll-padding-bottom:110px}
 .formactions{position:relative;z-index:2}
}

/* Build 2.7: home search and compact, predictable mobile expense entry */
.home-search{margin:13px 0 16px;min-width:0}
.home-search input{width:100%;min-height:46px;background:#fff;padding-left:15px}
.home-search-results:empty{display:none}
.home-search-results{max-height:330px;overflow:auto;margin:6px 0 10px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:4px}
.home-search-results .card{margin:5px 0;padding:11px;box-shadow:none;border-radius:9px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#fields .expense-entry{display:flex;flex-direction:column;gap:0;min-width:0}
#fields .expense-entry>label{margin:12px 0 6px;display:block;min-height:0}
#fields .expense-entry>input,#fields .expense-entry>select{margin:0;min-height:46px}
#fields .expense-entry .category-field{margin-top:12px}
#fields .expense-entry .category-heading{margin-bottom:7px}
#fields .expense-entry .expense-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;align-items:end}
#fields .expense-primary>div{min-width:0;overflow:hidden}
#fields .expense-primary label{display:block;margin:0 0 7px;line-height:1.3}
#fields .expense-primary input,#fields .expense-primary select{width:100%;height:46px;min-height:46px;margin:0;padding:9px 10px}
#fields .expense-type-line{display:flex;gap:9px;align-items:center;justify-content:flex-start;padding:8px 0 0}
#fields .expense-toggle-caption{margin:0!important;font-size:13px;font-weight:700;color:var(--ink)}
#fields .tiny-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;width:34px;height:20px;flex:none;margin:0}
#fields .tiny-switch input{position:absolute;opacity:0;width:34px;height:20px;margin:0;z-index:2;cursor:pointer}
#fields .tiny-track{display:block;width:34px;height:20px;border-radius:99px;background:#98a8b5;transition:background .13s}
#fields .tiny-track::after{content:"";display:block;position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:99px;background:white;box-shadow:0 1px 3px #0004;transition:transform .13s}
#fields .tiny-switch input:checked+.tiny-track{background:#1b6297}
#fields .tiny-switch input:checked+.tiny-track::after{transform:translateX(14px)}
#fields .tiny-switch input:focus-visible+.tiny-track{outline:2px solid #2d87d5;outline-offset:2px}
#fields .expense-optional{border-top:1px solid var(--line);padding:10px 0;margin-top:15px}
#fields .expense-optional>summary{cursor:pointer;color:#35627f;font-size:13px;font-weight:700;min-height:36px;padding:8px 2px}
#fields .expense-optional>label{margin-top:13px}
#fields .expense-split-line{display:flex;align-items:center;gap:9px;margin:8px 0 10px}
#fields .expense-split-line input{width:19px;height:19px;min-width:19px;margin:0}
#fields .expense-split-line label{margin:0;line-height:1.3}
#fields .expense-entry .vendor-options{margin:4px 0 0}
#fields .expense-entry #expenseSingle[hidden]{display:none!important}
@media(max-width:390px){#fields .expense-primary{gap:9px}#fields .expense-primary input,#fields .expense-primary select{padding:9px 7px;font-size:14px}#fields .expense-primary input[type=date]{font-size:13px}}


/* Build 2.7.1 — prevent iOS native date-control overflow in expense editor. */
#fields .expense-entry,
#fields .expense-entry .expense-primary,
#fields .expense-entry .expense-primary > div { min-width:0; max-width:100%; box-sizing:border-box; }
#fields .expense-entry .expense-primary { width:100%; grid-template-columns: minmax(0,2fr) minmax(0,3fr); column-gap:12px; align-items:end; }
#fields .expense-entry .expense-primary input,
#fields .expense-entry .expense-primary select { display:block; width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
#fields .expense-entry .expense-primary input[type="date"] { min-inline-size:0; width:100%; max-width:100%; font-size:16px; overflow:hidden; }
#fields .expense-entry .expense-primary input[type="date"]::-webkit-date-and-time-value { min-width:0; text-align:center; }
#fields .expense-entry .expense-method-repeat { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:480px){
  /* Date fields have intrinsic platform sizing on iOS. Give each its own row. */
  #fields .expense-entry .expense-amount-date { grid-template-columns:minmax(0,1fr); row-gap:12px; }
  #fields .expense-entry .expense-amount-date > div { width:100%; min-width:0; }
  #fields .expense-entry .expense-method-repeat { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #fields .expense-entry .expense-method-repeat select { font-size:16px; padding-inline:9px; }
}
@media(max-width:340px){
  #fields .expense-entry .expense-method-repeat { grid-template-columns:minmax(0,1fr); }
}

/* Build 2.7.2 — compact Amount + Date on one row; preserve native iPhone picker. */
#fields .expense-entry .expense-amount-date,
#fields .expense-entry .expense-primary.expense-amount-date {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:end;
  width:100%;
}
#fields .expense-entry .expense-amount-date > div { min-width:0; max-width:100%; overflow:visible; }
#fields .expense-entry .expense-amount-date input[type=number] { width:100%; min-width:0; height:46px; }
#fields .expense-entry .compact-date-wrap {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  height:46px;
  min-height:46px;
  min-width:0;
  padding:0 9px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  box-sizing:border-box;
}
#fields .expense-entry .compact-date-wrap span { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
#fields .expense-entry .compact-date-wrap svg { flex:0 0 16px; color:#6a8295; }
/* Keep the actual date input available to touch and accessibility APIs. */
#fields .expense-entry .compact-date-wrap input[type=date] {
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  min-width:0;
  max-width:100%;
  padding:0;
  border:0;
  opacity:0;
  cursor:pointer;
  -webkit-appearance:auto;
  appearance:auto;
}
#fields .expense-entry .compact-date-wrap:focus-within { outline:2px solid #65a4d1; outline-offset:1px; }
@media(max-width:480px){
 #fields .expense-entry .expense-amount-date,
 #fields .expense-entry .expense-primary.expense-amount-date { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
}
@media(max-width:355px){
 #fields .expense-entry .compact-date-wrap { padding:0 6px; }
 #fields .expense-entry .compact-date-wrap span { font-size:12px; }
}


/* Build 2.7.3: compact Vendor/Payee + Category row; preserve full category controls. */
#fields .expense-entry .expense-vendor-category {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:end;
  margin-top:12px;
  width:100%;
}
#fields .expense-vendor-box,
#fields .expense-category-box,
#fields .expense-vendor-category .category-field { min-width:0; max-width:100%; position:relative; }
#fields .expense-vendor-box > label {
  display:block; line-height:1.3; margin:0 0 7px; min-height:16px;
}
#fields .expense-vendor-category input,
#fields .expense-vendor-category select {
  display:block; width:100%; min-width:0; max-width:100%;
  height:46px; min-height:46px; margin:0;
  padding:9px 10px; box-sizing:border-box;
}
#fields .expense-vendor-category .category-field { margin-top:0; }
#fields .expense-vendor-category .category-heading {
  min-height:23px; margin:0 0 7px; display:flex; align-items:center; justify-content:space-between;
}
#fields .expense-vendor-category .category-heading label { margin:0; line-height:1.3; min-height:0; }
#fields .expense-vendor-category .category-manage-button {
  display:inline-flex; align-items:center; justify-content:center;
  width:27px; min-width:27px; height:27px; min-height:27px;
  padding:0; border-radius:7px; font-size:18px; line-height:1;
}
/* Dropdowns are overlays, not extra height or a narrow in-grid panel. */
#fields .expense-vendor-category .vendor-options {
  position:absolute; left:0; right:0; top:100%; margin-top:4px;
  z-index:15; box-shadow:0 12px 26px #17334a22;
}
#fields .expense-vendor-category #expenseCategoryManager {
  position:absolute; right:0; top:100%; z-index:16;
  width:min(310px, calc(100vw - 48px)); max-width:none;
  margin-top:6px; box-shadow:0 12px 26px #17334a22;
}
#fields .expense-vendor-category #expenseCategoryManager input {
  height:42px; min-height:42px;
}
@media(max-width:380px) {
  #fields .expense-vendor-category {gap:8px}
  #fields .expense-vendor-category input,
  #fields .expense-vendor-category select {font-size:14px;padding:8px 7px}
  #fields .expense-vendor-category .expense-vendor-box input::placeholder {font-size:13px}
}

/* Build 2.7.5 — compact contractor screens and More navigation */
.more-list{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;margin-top:13px;box-shadow:0 1px 5px #1c355008}
.more-list-entry,.more-list-expand>summary{display:flex!important;align-items:center;gap:12px;min-height:65px;padding:12px 14px;width:100%;background:#fff!important;color:var(--ink)!important;text-align:left;border-radius:0!important;border-bottom:1px solid var(--line);white-space:normal!important;cursor:pointer;font-weight:400}
.more-list-entry:last-child{border-bottom:0}.more-list-entry:active{background:#f4f8fc!important}
.more-entry-icon{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--soft);color:var(--blue);font-size:18px}
.more-entry-copy{display:grid;gap:1px;flex:1;min-width:0}.more-entry-copy b{font-size:14px;font-weight:700}.more-entry-copy small{font-size:11px;color:var(--muted);font-weight:400;white-space:normal}.more-chevron{font-size:22px;color:#8ba1b3;flex:none}
.more-list-expand>summary{list-style:none}.more-list-expand>summary::-webkit-details-marker{display:none}.more-export-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.more-export-actions button{min-height:40px;font-size:12px;white-space:normal!important}
.more-version{text-align:center;margin:16px 0}
.quotes-directory-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.quotes-directory-actions button{min-height:39px;padding:8px 10px;font-size:12px}
.contractor-page{min-width:0}.contractor-back{margin-bottom:4px}.contractor-back button{font-size:12px}.contractor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contractor-heading h2{margin:0 0 4px}.contractor-heading>div{min-width:0}.contractor-heading>button{min-height:38px;font-size:12px;flex:none}
.contractor-contact{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 9px}.contractor-contact .btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;min-width:76px}.contractor-notes{padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:11px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin-bottom:11px}
.contractor-metrics{margin:11px 0!important}.contractor-metrics .tile{padding:11px 13px}.contractor-section{margin:13px 0;border-top:1px solid var(--line);padding-top:7px}.contractor-section h3{font-size:14px;margin:6px 0}.contractor-empty{color:var(--muted);font-size:12px;padding:6px 0;margin:0}.contractor-history-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.contractor-history-row:last-child{border-bottom:0}.contractor-history-row>div{min-width:0}.contractor-history-row b{font-size:13px;overflow-wrap:anywhere}.contractor-history-row button{flex:none;min-height:38px;padding:8px 10px;font-size:12px}
#fields .contractor-status-row{margin-top:11px}#fields .contractor-status-row select{width:100%}
@media(max-width:390px){.quotes-directory-actions button{font-size:11px;padding:8px 7px}.contractor-heading .muted{font-size:11px}.more-list-entry,.more-list-expand>summary{padding:11px 12px}}

/* Build 2.7.6: contractor contact details without duplicate action buttons */
.contractor-contact-details{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:9px 0 12px;font-size:13px;overflow-wrap:anywhere}
.contractor-contact-details a{color:var(--blue,#17669a);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}

/* Build 2.7.7 — compact, mobile-safe project / quote / payment forms */
#fields .compact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
#fields .compact-form-row>div{min-width:0;max-width:100%;overflow:visible}
#fields .compact-form-row input,#fields .compact-form-row select{width:100%;min-width:0;max-width:100%;min-height:42px;box-sizing:border-box;margin:0}
#fields .compact-form-row label{min-height:16px;line-height:1.25;margin:8px 0 5px}
#fields .compact-form-date{position:relative;width:100%;min-width:0;max-width:100%;height:43px;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 9px;border:1px solid #c9d7e5;background:#fff;border-radius:11px;overflow:hidden;box-sizing:border-box}
#fields .compact-form-date-text{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;text-align:center;color:#19354d}
#fields .compact-form-date svg{flex:0 0 15px;color:#72889b}
#fields .compact-form-date input[type=date]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;opacity:0!important;cursor:pointer!important;z-index:1;padding:0!important;border:0!important;margin:0!important}
#fields .compact-form-date:focus-within{outline:2px solid #69a9d4;outline-offset:1px}
#fields .formblock{padding:10px;margin:8px 0;background:#f6f9fc}
#fields label{margin-top:9px;margin-bottom:4px}
#fields input:not([type=checkbox]):not([type=date]),#fields select{min-height:42px;padding:8px 10px}
#fields textarea{min-height:75px;padding:9px 10px}
#fields .toolbar{margin:8px 0}
#fields .fieldhelp{line-height:1.35}
#fields .compact-form-row>div:first-child,#fields .compact-form-row>div:last-child{width:100%;min-width:0}
@media(max-width:390px){#fields .compact-form-row{gap:8px}#fields .compact-form-date{padding:0 6px}#fields .compact-form-date-text{font-size:12px}#fields .compact-form-row select{padding:8px 6px;font-size:14px}}
/* Scopes: keep primary actions on one consistent row where space permits */
.actionbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}
.actionbar>button{flex:0 1 auto;min-height:40px;padding:9px 12px}

/* 2.7.8: keep expense save errors visible above the fixed action buttons. */
.formactions{flex-wrap:wrap}.form-save-error{flex:0 0 100%;width:100%;padding:9px 11px;margin-bottom:2px;border:1px solid #e6b3b9;background:#fff3f3;color:#912a39;border-radius:9px;font-size:13px;font-weight:600;line-height:1.35}.form-save-error[hidden]{display:none!important}#editor [aria-invalid=true]{border-color:#bd3444;box-shadow:0 0 0 1px #bd3444}

/* Build 2.7.9 — Quotes & Work, swipe-focused compact quote cards */
.work-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.work-view-switch button{min-width:0;min-height:42px;background:#e8f0f8;color:#235d87;font-size:13px;padding:8px 9px}
.work-view-switch button.on{background:#185d95;color:#fff}
.quotes-mini-summary{color:#546e87;font-size:12px;margin:9px 0 1px}
.quote-card-compact{padding:10px 12px!important;margin:8px 0!important;touch-action:pan-y}
.quote-card-compact .quote-head{align-items:center;gap:7px}
.quote-card-compact .quote-person strong{font-size:14px}
.quote-card-compact .quote-person .muted{font-size:11px;line-height:1.35}
.quote-card-compact .quote-head .pill{font-size:10px;max-width:44%;white-space:normal;line-height:1.2;text-align:center}
.quote-swipe-hint{font-size:10px;color:#8195a8;text-align:right;line-height:1;margin:0 0 4px}
.quote-compact-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:9px 0 2px;font-size:12px;color:#5a7087}
.quote-compact-meta>b,.quote-compact-meta b{color:#193650}
.quote-quick-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.quote-quick-actions>button,.quote-quick-actions>a{flex:1;min-width:0;min-height:36px;padding:7px 5px;font-size:12px;text-align:center;display:flex;align-items:center;justify-content:center}
.quote-quick-actions .quote-small-award{background:#dcecf9;color:#185d95}
.award-list{display:grid;gap:8px}
.awarded-card{padding:12px!important;margin:0!important}
.award-title{display:flex;justify-content:space-between;gap:9px;align-items:flex-start}
.award-title>div{min-width:0;flex:1}.award-title b{font-size:14px}.award-title .muted{margin-top:2px}
.award-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0}
.award-figures>div{min-width:0;display:grid;gap:1px}.award-figures span{font-size:10px;color:#667d93}.award-figures b{font-size:14px;overflow-wrap:anywhere}
.award-quick{display:flex;gap:7px;border-top:1px solid var(--line);padding-top:8px}
.award-quick button{min-height:36px;font-size:12px;padding:7px 10px;flex:1}
.price-context{display:grid;gap:3px;padding:7px 0 3px}.price-context b{font-size:16px}
#fields:has(#f_price) textarea[name=notes]{min-height:95px}
#fields:has(#f_note) textarea[name=note]{min-height:180px}
@media(max-width:380px){.quote-quick-actions>button,.quote-quick-actions>a{font-size:11px}.quote-card-compact .quote-head .pill{font-size:9px}.award-figures b{font-size:13px}}
#nav button[data-nav=quotes]{font-size:10px;letter-spacing:-.2px}

/* Build 2.8.0: compact, collapsible awarded-work project groups */
.work-project-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);font-size:13px;font-weight:700;color:var(--text,#193650)}
.work-project-toggle .muted{font-size:11px;margin-left:4px;font-weight:500}
.work-project-entries{display:grid;gap:8px;margin-top:7px}
.award-date{font-size:11px;line-height:1.4;color:#677e91;margin-top:4px;overflow-wrap:anywhere}
.cancellation-fields{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px;background:#f8fbfe}
.cancellation-fields[hidden]{display:none!important}

/* Build 2.8.1: iPhone quote swipes without extra card buttons */
[data-swipe-quote]{touch-action:pan-y;overscroll-behavior-x:contain}
[data-swipe-quote].swiping-horizontal{transform:translateX(var(--swipe-nudge,0px))}
.quote-swipe-hint{font-size:10px;line-height:1;margin:0 0 4px;text-align:right;color:#8195a8}
@media(prefers-reduced-motion:reduce){[data-swipe-quote].swiping-horizontal{transform:none}}

/* Build 2.8.2: card follows finger, reveals labeled actions, commits near full swipe */
.quote-swipe-frame{
 position:relative;overflow:hidden;isolation:isolate;border-radius:14px;
 margin:8px 0;touch-action:pan-y;overscroll-behavior-x:contain;
}
.quote-swipe-frame .quote-swipe-panel{
 position:relative;z-index:2;transform:translate3d(var(--swipe-offset,0px),0,0);
 transition:transform .2s cubic-bezier(.2,.8,.2,1);will-change:transform;
 border-radius:14px;overflow:hidden;background:var(--surface,#fff);
}
.quote-swipe-frame.swiping-horizontal .quote-swipe-panel{transition:none}
.quote-swipe-frame.swipe-committing .quote-swipe-panel{transition:transform .17s ease-in}
.quote-swipe-frame>.quote-swipe-panel>.card{margin:0!important}
.quote-swipe-frame .quote-swipe-reveal{position:absolute;inset:0;z-index:1;pointer-events:none}
.quote-swipe-frame .quote-swipe-action{
 position:absolute;inset:0;display:flex;align-items:center;gap:9px;
 font-size:14px;font-weight:750;letter-spacing:-.15px;line-height:1.25;
 opacity:0;transition:opacity .1s ease;padding:12px 17px;
}
.quote-swipe-frame .reveal-record{justify-content:flex-start;background:#dcedfb;color:#124c77}
.quote-swipe-frame .reveal-note{justify-content:flex-end;background:#e5f0f8;color:#204f73}
.quote-swipe-frame.swiping-right .reveal-record{opacity:1}
.quote-swipe-frame.swiping-left .reveal-note{opacity:1}
.quote-swipe-frame .swipe-action-icon{font-size:19px;line-height:1}
.quote-swipe-frame .swipe-action-copy{max-width:55%;overflow-wrap:normal}
.quote-swipe-frame.swipe-ready .quote-swipe-action{background:#d4e9fa;color:#10466e}
.quote-list-swipe .quote-card-compact{touch-action:pan-y}
.home-swipe-wrap>.quote-swipe-panel>.card{border-radius:14px}
@media(prefers-reduced-motion:reduce){
 .quote-swipe-frame .quote-swipe-panel{transition:none!important}
}

.quote-swipe-frame.swiping-horizontal{transform:none!important}

/* 2.8.3: denser tappable record cards, without extra action rows */
.tappable-card{cursor:pointer;outline-offset:3px}
.tappable-card:focus-visible{outline:2px solid #3186bd}
.quote-card-compact{padding:9px 11px!important;margin:6px 0!important}
.quote-card-compact .quote-compact-meta{margin:5px 0 0;gap:5px;font-size:11px}
.quote-card-compact .quote-quick-actions{margin-top:6px;padding-top:6px;gap:5px}
.quote-card-compact .quote-quick-actions>button,.quote-card-compact .quote-quick-actions>a{min-height:33px;padding:5px 4px}
.quote-card-compact .quote-person{gap:2px}
.home-swipe-wrap .compact-item{align-items:center}
.home-swipe-wrap .compact-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:56%}
.home-swipe-wrap .compact-actions button{min-width:0;max-width:none;min-height:32px;padding:5px 7px;font-size:11px}
.home-swipe-wrap .compact-body{gap:2px}
.awarded-card{padding:10px!important}

/* Build 2.8.5: suppress iOS address data-detector link decoration in cards. */
.tappable-card a[x-apple-data-detectors],.card a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;border-bottom:0!important}

/* Build 2.8.6 compact dialogs, inline validation and appearance palettes */
#fields label{margin:8px 0 3px}#fields input,#fields select{min-height:39px;padding:7px 10px}#fields textarea{min-height:66px;padding:8px 10px}#fields .field-row{gap:8px}#fields .formblock{padding:9px;margin:6px 0}#fields .toolbar{margin:5px 0}#fields .hint{padding:8px 10px;font-size:11px}#fields .payment-context{background:var(--soft);padding:10px;border-radius:10px;margin-bottom:9px}#fields .payment-context b{font-size:14px}
.sheet-items>button.menu-action{min-height:41px;padding:9px 12px}.sheet-items{gap:1px}
#fields [aria-invalid=true]{border:2px solid #c73747!important;background:#fff7f8!important;outline:none!important}.field-error{color:#b52737;font-size:11px;font-weight:650;margin:3px 0 7px}.form-save-error:not([hidden]){color:#a52031;font-size:12px;max-width:60%;font-weight:650}
.theme-swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.theme-choice{background:var(--soft);color:var(--ink);text-align:left;display:flex;align-items:center;gap:8px;padding:9px;font-size:12px;border:2px solid transparent;white-space:normal}.theme-choice.chosen{border-color:var(--blue)}.theme-dots{display:flex;gap:2px;flex:none}.theme-dots i{width:12px;height:20px;border-radius:3px}.theme-classic i:nth-child(1){background:#174b7a}.theme-classic i:nth-child(2){background:#55a3d8}.theme-classic i:nth-child(3){background:#c4e0f5}.theme-coastal i:nth-child(1){background:#126c70}.theme-coastal i:nth-child(2){background:#f29c65}.theme-coastal i:nth-child(3){background:#f7d47c}.theme-studio i:nth-child(1){background:#6945bd}.theme-studio i:nth-child(2){background:#ed6395}.theme-studio i:nth-child(3){background:#35b5c6}.theme-forest i:nth-child(1){background:#32684b}.theme-forest i:nth-child(2){background:#bd8655}.theme-forest i:nth-child(3){background:#e0c7a4}.theme-gold i:nth-child(1){background:#263c68}.theme-gold i:nth-child(2){background:#d9a747}.theme-gold i:nth-child(3){background:#8698b6}
:root[data-theme=coastal]{--blue:#137b83;--ink:#214957;--soft:#e9f8f4;--line:#b8e4dd;--muted:#59757b;--green:#18835d}:root[data-theme=studio]{--blue:#6945bd;--ink:#3e315e;--soft:#f5eafe;--line:#e1c8f1;--muted:#786687;--green:#129d9b}:root[data-theme=forest]{--blue:#32684b;--ink:#254633;--soft:#f2efe4;--line:#d9d0b9;--muted:#66766a;--green:#32684b}:root[data-theme=gold]{--blue:#263c68;--ink:#253552;--soft:#f4efdf;--line:#d9d0b9;--muted:#65718a;--green:#587956}
:root[data-theme=coastal] .top{background:#126c70;border-bottom:4px solid #f29c65}:root[data-theme=studio] .top{background:#6945bd;border-bottom:4px solid #ed6395}:root[data-theme=forest] .top{background:#32684b;border-bottom:4px solid #bd8655}:root[data-theme=gold] .top{background:#263c68;border-bottom:4px solid #d9a747}
:root[data-theme=coastal] .pill.good{background:#e6f7e7;color:#18835d}:root[data-theme=studio] .pill.good{background:#e0f8f7;color:#087d80}:root[data-theme=coastal] .pill.warn{background:#fff0e5;color:#b65a32}:root[data-theme=studio] .pill.warn{background:#ffe6f1;color:#a93469}
:root[data-mode=dark]{color-scheme:dark;--ink:#edf3fa;--muted:#afc0d1;--line:#415165;--surface:#253142;--soft:#344459;background:#18212f;color:#edf3fa}
:root[data-mode=dark] body{background:#18212f;color:#edf3fa}:root[data-mode=dark] .card,:root[data-mode=dark] .tile,:root[data-mode=dark] nav,:root[data-mode=dark] dialog,:root[data-mode=dark] .formhead,:root[data-mode=dark] .formactions,:root[data-mode=dark] .menu-items{background:#253142;color:#edf3fa}:root[data-mode=dark] input,:root[data-mode=dark] select,:root[data-mode=dark] textarea{background:#303f51;color:#f1f5fb;border-color:#65758a}:root[data-mode=dark] label{color:#c6d5e6}:root[data-mode=dark] .formblock,:root[data-mode=dark] .hint{background:#344459;color:#d4e0ee}:root[data-mode=dark] .sheet-items>button.menu-action{background:#253142;color:#edf3fa}:root[data-mode=dark] .pill{background:#344459;color:#dceafa}:root[data-mode=dark] .theme-choice{color:#edf3fa}:root[data-mode=dark] .top{background:#111c2b}

/* Build 2.8.7: fully tokenized, vivid palette and readable light/dark surfaces. */
:root {
 --accent:#185f95;--accent-contrast:#fff;--accent-alt:#13a5a1;
 --secondary-bg:#e8f2fc;--secondary-ink:#184d79;
 --page:#f3f7fc;--card:#fff;--field:#fff;--field-ink:#172d43;
 --status-bg:#e2effb;--status-ink:#174f7e;--focus:#3486ce;
}
:root[data-theme=coastal] {
 --blue:#007f91;--accent:#007f91;--accent-alt:#f46b48;--green:#007f91;
 --ink:#17434c;--muted:#496c73;--line:#a9ddd8;--soft:#ffede2;
 --secondary-bg:#ffebde;--secondary-ink:#964022;--page:#e8faf5;--card:#fffefb;
 --status-bg:#ffe0b8;--status-ink:#7d3d16;--focus:#f46b48;
}
:root[data-theme=studio] {
 --blue:#7141d9;--accent:#7141d9;--accent-alt:#f03b91;--green:#138c92;
 --ink:#362451;--muted:#6c557c;--line:#d6bdf5;--soft:#ffe2f1;
 --secondary-bg:#d9f7fa;--secondary-ink:#006b77;--page:#f7edff;--card:#fffafd;
 --status-bg:#ffe1ed;--status-ink:#982b64;--focus:#f03b91;
}
:root[data-theme=forest] {
 --blue:#227249;--accent:#227249;--accent-alt:#d47a37;--green:#227249;
 --ink:#254332;--muted:#596b5e;--line:#d3c39f;--soft:#f9e8cf;
 --secondary-bg:#f9e8cf;--secondary-ink:#795022;--page:#f5f4e9;--card:#fffdf5;
 --status-bg:#e2edcd;--status-ink:#3d6330;--focus:#d47a37;
}
:root[data-theme=gold] {
 --blue:#304b86;--accent:#304b86;--accent-alt:#db9c25;--green:#47715b;
 --ink:#263650;--muted:#5c6c81;--line:#c6cfe0;--soft:#fff0c6;
 --secondary-bg:#fff0c6;--secondary-ink:#78520d;--page:#eef1fa;--card:#fffdf8;
 --status-bg:#e0e8ff;--status-ink:#304b86;--focus:#db9c25;
}
:root[data-theme=classic]{--accent:#185f95;--blue:#185f95;--accent-alt:#20a8a6}
body{background:var(--page);color:var(--ink)}
.card,.tile{background:var(--card);color:var(--ink)}
button:not(.secondary):not(.ghost):not(.danger):not(.menu-action):not(.iconbtn):not(.theme-choice):not(.active):not(.on):not(.quote-small-award),
.btn:not(.secondary){background:var(--accent);color:var(--accent-contrast)}
button.secondary,.btn.secondary,.quote-quick-actions .quote-small-award,
.work-view-switch button:not(.on),.tabs button:not(.on){background:var(--secondary-bg);color:var(--secondary-ink)}
.work-view-switch button.on,.tabs button.on{background:var(--accent);color:#fff}
nav button,nav button:not(.active){background:transparent!important;color:var(--muted)!important}
nav button.active{background:var(--secondary-bg)!important;color:var(--accent)!important}
.pill:not(.good):not(.warn):not(.bad){background:var(--status-bg);color:var(--status-ink)}
.quote-compact-meta,.quotes-mini-summary{color:var(--muted)}
.quote-compact-meta b{color:var(--ink)}
.quote-card-compact{border-color:var(--line)}
.quote-quick-actions{border-color:var(--line)}
.quote-quick-actions button:nth-child(2){background:var(--secondary-bg);color:var(--secondary-ink)}
.quote-quick-actions .quote-small-award{background:var(--accent-alt);color:#fff}
.quote-swipe-frame .reveal-record{background:var(--accent);color:#fff}
.quote-swipe-frame .reveal-note{background:var(--accent-alt);color:#fff}
label{color:var(--ink)}
input,select,textarea{background:var(--field);color:var(--field-ink);border-color:var(--line)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-color:var(--focus)}
.formblock,.hint,.payment-context{background:var(--soft);color:var(--ink)}
.theme-choice{background:var(--secondary-bg);color:var(--ink)}
.theme-choice.chosen{border-color:var(--accent)}
.sheet-items>button.menu-action{background:var(--card);color:var(--ink)}
.sheet-items>button.menu-action:active{background:var(--secondary-bg)}
:root[data-theme=coastal] .top{background:#006d78;border-bottom:5px solid #f46b48}
:root[data-theme=studio] .top{background:#5730ad;border-bottom:5px solid #f03b91}
:root[data-theme=forest] .top{background:#225d3d;border-bottom:5px solid #d47a37}
:root[data-theme=gold] .top{background:#273c70;border-bottom:5px solid #db9c25}
:root[data-mode=dark]{
 color-scheme:dark;
 --page:#303b4a;--card:#3d4b5c;--field:#344557;--field-ink:#f5f8fd;
 --ink:#f3f7fd;--muted:#c7d5e4;--line:#63778b;--soft:#47586b;
 --secondary-bg:#4b6176;--secondary-ink:#f2f7fc;
 --status-bg:#516d83;--status-ink:#fff;--accent-contrast:#fff;
}
:root[data-mode=dark] body{background:var(--page);color:var(--ink)}
:root[data-mode=dark] .card,:root[data-mode=dark] .tile,
:root[data-mode=dark] nav,:root[data-mode=dark] dialog,
:root[data-mode=dark] .formhead,:root[data-mode=dark] .formactions,
:root[data-mode=dark] .menu-items,:root[data-mode=dark] .sheet-items,
:root[data-mode=dark] .quote-swipe-panel{background:var(--card);color:var(--ink)}
:root[data-mode=dark] input,:root[data-mode=dark] select,:root[data-mode=dark] textarea{
 background:var(--field);color:var(--field-ink);border-color:var(--line)
}
:root[data-mode=dark] label,:root[data-mode=dark] .muted,
:root[data-mode=dark] .quote-compact-meta,:root[data-mode=dark] .quotes-mini-summary,
:root[data-mode=dark] .fieldhelp{color:var(--muted)}
:root[data-mode=dark] .formblock,:root[data-mode=dark] .hint,
:root[data-mode=dark] .payment-context{background:var(--soft);color:var(--ink)}
:root[data-mode=dark] .sheet-items>button.menu-action{background:var(--card);color:var(--ink)}
:root[data-mode=dark] .quote-card-compact .quote-person strong,
:root[data-mode=dark] .quote-compact-meta b{color:var(--ink)}
:root[data-mode=dark] .pill:not(.good):not(.warn):not(.bad){background:var(--status-bg);color:var(--status-ink)}
:root[data-mode=dark] .quote-swipe-frame .reveal-record{background:var(--accent);color:#fff}
:root[data-mode=dark] .quote-swipe-frame .reveal-note{background:var(--accent-alt);color:#fff}
:root[data-mode=dark] .top{background:#26374b}
:root[data-mode=dark][data-theme=coastal]{--accent:#00a6b5;--accent-alt:#e87551;--secondary-bg:#52685e;--secondary-ink:#fff;--status-bg:#5c6653}
:root[data-mode=dark][data-theme=studio]{--accent:#9b70ef;--accent-alt:#e8549c;--secondary-bg:#615477;--secondary-ink:#fff;--status-bg:#70546c}
:root[data-mode=dark][data-theme=forest]{--accent:#4d9a70;--accent-alt:#d08c4c;--secondary-bg:#58654e;--secondary-ink:#fff;--status-bg:#4c6a57}
:root[data-mode=dark][data-theme=gold]{--accent:#6386d4;--accent-alt:#dcae49;--secondary-bg:#5c5c69;--secondary-ink:#fff;--status-bg:#5d6681}
:root[data-mode=dark][data-theme=classic]{--accent:#4a93d0;--accent-alt:#31aaa6}
:root[data-mode=dark] button:not(.secondary):not(.ghost):not(.danger):not(.menu-action):not(.iconbtn):not(.theme-choice):not(.active):not(.on):not(.quote-small-award){color:#fff}
:root[data-mode=dark] .theme-choice{background:var(--secondary-bg);color:var(--secondary-ink)}
:root[data-mode=dark] nav button.active{background:var(--secondary-bg)!important;color:#fff!important}

/* Build 2.8.8 — distinct contractor quotes versus awarded work. */
.contractor-metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.contractor-metrics-three .tile{padding:10px 8px}
.contractor-metrics-three .metric strong{font-size:18px}
.contractor-metrics-three .metric span{font-size:10px}
.contractor-section-count{display:inline-block;font-size:11px;line-height:1;padding:5px 7px;border-radius:15px;background:var(--secondary-bg);color:var(--secondary-ink);vertical-align:middle;margin-left:5px}
.contractor-history-row.tappable-card{cursor:pointer;min-height:64px}
.contractor-history-row.tappable-card .pill{flex:none}
.contractor-awards{border-top:2px solid var(--accent-alt)}
.contractor-awards h3{color:var(--ink)}
.contractor-award-row{border:1px solid var(--line);border-left:4px solid var(--accent-alt);border-radius:12px;background:var(--card);padding:12px;margin:9px 0;cursor:pointer}
.contractor-award-row .row{align-items:center}
.contractor-award-row .muted{margin-top:4px}
.contractor-award-finances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;border-top:1px solid var(--line);padding-top:9px}
.contractor-award-finances span{font-size:11px;color:var(--muted)}
.contractor-award-finances b{display:block;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
@media(max-width:360px){.contractor-metrics-three .metric strong{font-size:15px}.contractor-award-finances b{font-size:12px}}
/* Inactive quote filters must not look selected. */
.quote-filter-row button:not(.on),.quote-filters button:not(.on),.quotes-filters button:not(.on),.filter-scroll button:not(.on),.tabs button:not(.on){background:var(--secondary-bg)!important;color:var(--secondary-ink)!important}
.quote-filter-row button.on,.quote-filters button.on,.quotes-filters button.on,.filter-scroll button.on,.tabs button.on{background:var(--accent)!important;color:#fff!important}
/* More directory: use consistent card and text colors in both display modes. */
.more-list,.more-list-entry,.more-list-expand>summary{background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important}
.more-entry-copy b{color:var(--ink)!important}
.more-entry-copy small{color:var(--muted)!important}
.more-entry-icon{background:var(--secondary-bg)!important;color:var(--secondary-ink)!important}
.more-chevron{color:var(--muted)!important}
:root[data-mode=dark] .more-list,:root[data-mode=dark] .more-list-entry,:root[data-mode=dark] .more-list-expand>summary{background:var(--card)!important;color:var(--ink)!important}
:root[data-mode=dark] .more-entry-copy b{color:#fff!important}
:root[data-mode=dark] .more-entry-copy small{color:#d4e1ec!important}
:root[data-mode=dark] .more-entry-icon{background:var(--secondary-bg)!important;color:#fff!important}
:root[data-mode=dark] .contractor-award-row{background:var(--card)}

/* Build 2.8.9 — modal surfaces and contrast, light/dark palette consistency. */
:root[data-mode=dark] dialog,:root[data-mode=dark] #editor,
:root[data-mode=dark] .formhead,:root[data-mode=dark] .formbody,
:root[data-mode=dark] .formactions,:root[data-mode=dark] #fields{
 background:var(--card)!important;color:var(--ink)!important
}
:root[data-mode=dark] #fields .formblock,
:root[data-mode=dark] #fields .formblock *,
:root[data-mode=dark] #fields .formblock label{
 background:transparent;color:var(--ink)
}
:root[data-mode=dark] #fields .formblock{
 background:var(--soft)!important;border:1px solid var(--line)
}
:root[data-mode=dark] #fields .formblock select,
:root[data-mode=dark] #fields .formblock input{
 background:var(--field)!important;color:var(--field-ink)!important;border-color:var(--line)!important
}
:root[data-mode=dark] #fields label,
:root[data-mode=dark] #fields .fieldhelp,
:root[data-mode=dark] #fields .muted{color:var(--muted)!important}
:root[data-mode=dark] .formhead .iconbtn{
 color:#f5f9ff!important;background:var(--secondary-bg)!important;border-radius:12px
}
:root[data-mode=dark] .formactions{border-top:1px solid var(--line)}
:root[data-mode=dark] .formactions .secondary{background:var(--secondary-bg);color:var(--secondary-ink)}
:root[data-mode=dark] .formactions #saveBtn{background:var(--accent);color:#fff}
:root[data-mode=dark] .formblock .toolbar button{
 background:var(--secondary-bg)!important;color:var(--secondary-ink)!important
}

/* Build 2.9.0 — consistent modal surfaces, message context and form contrast. */
:root[data-mode=dark] #fields .compose-context,
:root[data-mode=dark] .compose-context,
:root[data-mode=dark] .price-context,
:root[data-mode=dark] .payment-context{
 background:#344459!important;color:#f4f8fd!important;border-color:#73879b!important
}
:root[data-mode=dark] .compose-context *,
:root[data-mode=dark] .price-context *,
:root[data-mode=dark] .payment-context *{color:#f0f6ff!important}
:root[data-mode=dark] .compose-context .muted{color:#d1e0ef!important}
:root[data-mode=dark] #fields .formblock h3{color:#fff!important}
:root[data-mode=dark] #fields .formblock label{color:#e5effa!important}
:root[data-mode=dark] #fields .formblock .fieldhelp{color:#c6d7e7!important}
:root[data-mode=dark] #fields .hint{background:#344459!important;color:#e9f3fb!important}
:root[data-mode=dark] #fields .formblock{background:#344459!important}
:root[data-mode=dark] #fields input,
:root[data-mode=dark] #fields select,
:root[data-mode=dark] #fields textarea{background:#304154!important;color:#fff!important;border-color:#73879b!important}
:root[data-mode=dark] #fields input::placeholder,
:root[data-mode=dark] #fields textarea::placeholder{color:#c3d2e2!important}
.email-toggle{display:flex;align-items:center;gap:9px;padding:10px 0;font-weight:600}
.email-toggle input{width:19px;height:19px;min-height:0}

/* Build 2.9.1: mobile Action Center layout */
.home-action-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.home-card-details{display:grid;gap:4px;min-width:0}
.home-card-heading{font-size:14px;font-weight:750;line-height:1.35;overflow-wrap:anywhere;color:var(--ink)}
.home-card-details .muted{line-height:1.4;overflow-wrap:anywhere}
.home-card-buttons{display:flex;flex-wrap:wrap;gap:7px;align-items:stretch;border-top:1px solid var(--line);padding-top:10px}
.home-card-buttons button{min-height:38px;min-width:0;max-width:none;padding:8px 10px;font-size:12px;white-space:nowrap}
.home-card-buttons button:first-child{flex:1 1 auto}
.home-card-buttons button:not(:first-child){flex:0 0 auto}
.home-balance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.home-balance-heading span{min-width:0;overflow-wrap:anywhere}
.home-balance-heading strong{flex:none;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.home-pay-actions{justify-content:flex-end}
.home-pay-actions button:first-child{flex:0 0 auto;min-width:110px}
.home-swipe-wrap .home-action-card{width:100%}
@media(max-width:380px){.home-card-buttons{gap:5px}.home-card-buttons button{font-size:11px;padding:8px 7px}}
