nav button{display:flex;align-items:center;gap:14px}nav svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-notice{font-size:12px;margin:0 0 20px;color:#73737c}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.list-button{display:flex;align-items:center;gap:16px;text-align:left;justify-content:space-between;width:100%;border-radius:0;border:0;border-bottom:1px solid #e6e6eb;padding:20px 0;font-weight:400}.list-button:last-child{border:0}.list-button:hover{background:#fafafa}.list-button .middle{flex:1;color:#777780;font-size:12px}.list-button .count{white-space:nowrap;font-size:12px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.chart-period-note{margin:5px 0 0;font-size:11px}.segmented{display:flex;border:1px solid #dedee4;border-radius:9px;overflow:hidden;width:fit-content}.segmented button{border:0;border-radius:0;background:transparent;padding:10px 15px}.segmented button.selected{background:#ededf2}.chart-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.chart{height:240px;min-width:calc(var(--chart-columns,12) * 42px);display:grid;grid-template-columns:repeat(var(--chart-columns,12),minmax(28px,1fr));gap:10px;align-items:end;border-bottom:1px solid #ddd;margin:26px 0 6px;padding-bottom:28px}.chart-col{height:100%;position:relative;display:flex;align-items:flex-end;justify-content:center}.chart-bar{height:100%;min-height:24px;padding:0;width:65%;background:transparent;border:0;position:relative}.chart-bar::before{content:"";position:absolute;right:0;bottom:0;left:0;height:max(3px,var(--bar-height));border-radius:3px 3px 0 0;background:var(--bar-color,#202022)}.chart-bar:hover::before,.chart-bar:focus-visible::before{background:#555}.chart-label{position:absolute;bottom:-23px;font-size:10px;color:#777780;white-space:nowrap}.device-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:20px 0}.device-table{min-width:900px;table-layout:fixed}.device-table th:nth-child(1){width:24%}.device-table th:nth-child(2){width:18%}.device-table th:nth-child(3){width:14%}.device-table th:nth-child(4){width:19%}.device-table th:nth-child(5){width:14%}.device-table th:nth-child(6){width:11%}.device-table td{overflow-wrap:anywhere}.device-table td .subline{display:block;margin-top:5px;color:#777780}.status.sold:before{background:#d83b3b}.device-detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:18px}.device-right{display:grid;align-content:start;gap:18px}.device-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.device-top h2{margin-bottom:8px}.menu-wrap{position:relative}.new-menu{position:absolute;right:0;top:50px;min-width:180px;background:white;border:1px solid #e1e1e6;border-radius:12px;box-shadow:0 12px 30px #0002;z-index:4;overflow:hidden}.new-menu button{display:block;border:0;border-radius:0;width:100%;text-align:left;padding:15px}.new-menu button+button{border-top:1px solid #e1e1e6}.new-menu button:hover{background:#f5f5f7}.device-form-card{padding:18px;border:1px solid #e1e1e6;border-radius:12px;margin-top:18px}.device-form-card .card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-grid select{font-size:14px}.details-list{display:grid;gap:0}.empty-copy{padding:24px 0;color:#777780}.muted-count{font-size:12px}.footer{align-items:center}.overview-private .metric strong{filter:blur(7px);user-select:none}#deviceModal .modal-head{position:sticky;top:0;background:white;z-index:1}.header-description{max-width:640px}@media(min-width:751px){dialog{margin-left:auto;margin-right:24px;width:min(1060px,calc(100vw - 285px))}}@media(max-width:1050px){.store-grid,.device-detail-grid{grid-template-columns:1fr}.device-filters{grid-template-columns:1fr 1fr}.device-filters input{grid-column:1/-1}.chart{gap:5px}.list-button .middle{display:none}}@media(max-width:750px){nav{display:flex;overflow:auto;margin-top:18px;gap:4px}nav button{padding:9px;font-size:13px;white-space:nowrap}nav button:nth-child(n+4){display:none}nav svg{width:16px;height:16px}.device-top{align-items:flex-start;flex-direction:column}.device-filters{grid-template-columns:1fr}.chart-head{align-items:flex-start;flex-direction:column}.chart{gap:3px}dialog{width:calc(100vw - 20px)}.list-button{gap:8px}}
.chart-tooltip{position:absolute;bottom:calc(var(--bar-height) + 8px);left:50%;transform:translateX(-50%);width:205px;padding:12px 14px;border:1px solid #e1e1e6;border-radius:10px;background:#fff;color:#1d1d1f;box-shadow:0 6px 24px #0002;font-size:12px;line-height:1.5;z-index:5;visibility:hidden;opacity:0;pointer-events:none}
.chart-tooltip>span{display:grid;grid-template-columns:1fr max-content;align-items:center;gap:16px;white-space:nowrap}.chart-tooltip>span>span{text-align:right;white-space:nowrap}
.chart-tooltip .tooltip-month{font-weight:500;margin-bottom:6px;color:#777780}
.chart-bar:hover+.chart-tooltip,.chart-bar:focus-visible+.chart-tooltip{visibility:visible;opacity:1}
.chart-col:nth-child(-n+3) .chart-tooltip{left:0;transform:none}
.chart-col:nth-last-child(-n+3) .chart-tooltip{left:auto;right:0;transform:none}
.whatsapp-link{color:inherit;font-weight:400;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.whatsapp-link:hover{color:#168747}
.whatsapp-link:focus-visible{outline:2px solid #6e6e73;outline-offset:3px;border-radius:2px}
#utilityPanel>hr{border:0;border-top:1px solid #e1e1e6;margin:28px 0}#utilityPanel .actions{margin-bottom:12px}#utilityPanel td .actions{margin:0;min-width:180px}#backupFile[hidden]{display:none}body main[hidden]{display:none}
@media(max-width:750px){nav button:nth-child(n+4){display:flex}}
.brand{text-align:center;font-weight:300;width:calc(100% + 36px);margin:0 -18px;overflow:hidden}.brand b{font-weight:750}.tagline{text-align:center;font-weight:300}.approved-logo{display:block;width:100%;height:auto;max-width:none;margin:0;transform:scale(1.1)}.workbook-review{margin-top:30px}.workbook-review>hr{border:0;border-top:1px solid #e1e1e6;margin:24px 0}.workbook-review td:last-child{min-width:230px}
.summary.summary-with-gifts{grid-template-columns:repeat(5,minmax(0,1fr))}.summary-with-gifts .metric{padding-left:18px;padding-right:18px}@media(max-width:1150px){.summary.summary-with-gifts{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}.summary-with-gifts .metric:nth-child(4){border-left:0}}@media(max-width:750px){.summary.summary-with-gifts{grid-template-columns:1fr 1fr}.summary-with-gifts .metric:nth-child(3),.summary-with-gifts .metric:nth-child(5){border-left:0}.summary-with-gifts .metric:nth-child(4){border-left:1px solid #e1e1e6}}
.summary.gift-page-summary{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.gift-page-summary .metric strong{white-space:nowrap}.gift-history-panel{width:100%}.gift-history-panel .panel-head{align-items:center}.gift-history-panel .compact-record{min-height:36px;padding:8px 13px;border-radius:9px;font-size:12px}.gift-history-panel table{min-width:620px}.gift-history-panel th:nth-child(1){width:32%}.gift-history-panel th:nth-child(2){width:28%}.gift-history-panel th:nth-child(3){width:25%;text-align:right}.gift-history-panel th:nth-child(4){width:15%}.gift-history-panel td{padding-top:15px;padding-bottom:15px}.gift-amount{text-align:right;font-weight:400;white-space:nowrap}.gift-actions .actions{justify-content:flex-end;flex-wrap:nowrap}.gift-actions button{padding:7px 10px;font-size:11px}@media(max-width:750px){.summary.gift-page-summary{grid-template-columns:1fr}.gift-page-summary .metric{border-left:0}.gift-page-summary .metric+.metric{border-top:1px solid #e1e1e6;padding-top:16px}.gift-page-summary .metric small{white-space:normal}.gift-history-panel .compact-record{width:auto}}
.device-type-picker{position:relative;min-width:0}.device-type-picker>button{width:100%;height:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#fff;border-color:#dedee4}.type-chevron{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-5px 3px 0 16px;flex:none}.type-menu{position:absolute;z-index:12;top:calc(100% + 8px);left:0;width:min(720px,calc(100vw - 330px));padding:20px 28px;background:#929294;color:#fff;border-radius:18px;box-shadow:0 18px 45px #0004}.type-menu section+section{margin-top:24px}.type-menu h3{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #ffffff42;color:#fff;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.1px}.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}.type-grid button{border:0;border-radius:6px;background:transparent;color:#fff;padding:8px 4px;text-align:left;font-size:14px;font-weight:500}.type-grid button:hover,.type-grid button.selected{background:#ffffff19}.type-menu-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid #ffffff42}.type-menu-actions button{min-width:104px;padding:7px 12px;border:1px solid #ffffff8c;border-radius:8px;background:#ffffff0d;color:#fff;font-size:12px;font-weight:600}.type-menu-actions button:hover{background:#ffffff20}.type-manage-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#ededf0;border-radius:10px;margin-bottom:20px}.type-manage-tabs button{border:0;background:transparent}.type-manage-tabs button.selected{background:#fff;box-shadow:0 1px 3px #0002}.type-manage-note{font-size:12px}.type-manage-group{margin-top:20px}.type-manage-group h3{margin-bottom:10px;color:#777780;text-transform:uppercase;font-size:11px}.type-manage-list{display:grid;gap:7px;min-height:12px}.type-manage-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:11px 13px;border:1px solid #e5e5ea;border-radius:10px;background:#f8f8fa;cursor:grab}.type-manage-row.dragging{opacity:.45}.type-manage-row b{font-size:13px;font-weight:600}.type-manage-row small{padding:4px 9px;border-radius:999px;background:#e9e9ed;color:#5e5e66;font-size:10px}.drag-handle{color:#9b9ba2}.type-add-form{display:grid;grid-template-columns:1fr auto;gap:8px}.type-custom-list{display:grid;gap:8px;margin-top:16px}.type-custom-row{display:grid;grid-template-columns:1fr auto;gap:8px}.type-custom-row button{padding:8px 12px}
@media(max-width:1050px){.type-menu{width:min(620px,calc(100vw - 235px))}}
@media(max-width:750px){.type-menu{position:fixed;inset:auto 10px 10px;width:auto;max-height:75vh;overflow:auto}.type-grid{grid-template-columns:1fr}}
textarea{width:100%;padding:12px;border:1px solid #dedee4;border-radius:9px;background:white;color:inherit;font:inherit;resize:vertical;line-height:1.45}textarea:focus-visible{outline:2px solid #7b9eca;outline-offset:2px}.form-grid label small{color:#777780;line-height:1.45}.bulk-summary{margin:14px 0 0;font-size:12px}
.period-picker{position:relative;width:130px}.period-picker>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 8px;background:#fff;font-size:13px;font-weight:400;text-align:left}.period-picker>button>span:first-child{white-space:nowrap}.period-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;flex:none}.period-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:20;width:205px;max-height:min(470px,calc(100vh - 130px));overflow:auto;padding:6px 0;background:#fff;border:1px solid #d8d8dc;border-radius:10px;box-shadow:0 12px 30px #0002}.period-option,.period-back{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 16px;border:0;border-radius:0;background:transparent;font-size:13px;font-weight:400;text-align:left;white-space:nowrap}.period-option:hover,.period-back:hover{background:#f5f5f7}.period-option.selected{background:#f2f2f4}.period-tail{min-width:14px;color:#1d1d1f;font-size:14px;text-align:right}.period-forward{color:#777780;font-size:21px;font-weight:300;line-height:1}.period-divider{height:1px;margin:5px 0;background:#e1e1e6}.period-back{justify-content:flex-start;color:#5e5e66;border-bottom:1px solid #e1e1e6;margin-bottom:5px}@media(max-width:750px){.period-picker{width:min(100%,130px)}.period-menu{left:auto;right:0}}
main>header>.actions{justify-content:flex-end}main>header>.actions>.menu-wrap{width:130px}main>header>.actions>button,main>header>.actions>.menu-wrap>button,main>header>.actions>.period-picker>button,main>header>.actions>select{width:130px;min-width:130px;height:40px;padding:0 12px;border:1px solid #dedee4;background:#fff;color:#1d1d1f;font-size:13px;font-weight:400;line-height:1;text-align:center}main>header>.actions>.period-picker>button{justify-content:space-between;gap:6px;padding:0 8px;text-align:left}.new-menu button{font-size:13px}
.transaction-dialog{width:min(900px,calc(100vw - 40px));font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.transaction-head{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:18px;margin:0;padding:22px 28px;border-bottom:1px solid #e8e8ec;background:#fff}.transaction-head>div:first-child>span{display:block;color:#86868b;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.transaction-head h2{margin:7px 0 0;font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.022em;line-height:1.15}.transaction-code{margin-top:7px;color:#6e6e73;font-size:11px;font-weight:400;letter-spacing:.01em;line-height:1.25;text-align:left}.transaction-head .close{align-self:center;width:28px;height:28px;padding:0;border:1px solid #dedee3;border-radius:50%;background:#fff;color:#3a3a3c;box-shadow:none;font-size:16px;font-weight:400;line-height:1}.transaction-head .close:hover{background:#f5f5f7}.transaction-body{padding:24px 28px 28px}.transaction-summary{overflow:hidden;border:1px solid #dedee3;border-radius:14px;background:#fff}.transaction-row{display:grid}.transaction-row-two{grid-template-columns:1fr 1fr;border-bottom:1px solid #e7e7eb}.transaction-row-three{grid-template-columns:repeat(3,1fr)}.transaction-item{min-height:72px;padding:15px 17px}.transaction-item+.transaction-item{border-left:1px solid #e7e7eb}.transaction-item span{display:block;margin-bottom:8px;color:#86868b;font-size:10px;line-height:1}.transaction-item b{font-size:13px;font-weight:500;line-height:1.2}.transaction-history-link{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;min-height:60px;margin-top:18px;padding:0 17px;border:1px solid #dedee3;border-radius:14px;background:#fff;font-size:13px;font-weight:500;text-align:left}.transaction-history-link:hover{background:#fafafa}.transaction-history-tail{display:flex;align-items:center;gap:12px;color:#6e6e73;font-size:12px;font-weight:400}.transaction-history-tail i{color:#8e8e93;font-size:21px;font-style:normal;font-weight:300;line-height:1}.transaction-back{margin:0 0 14px;padding:6px 0;border:0;background:transparent;color:#6e6e73;font-size:12px}.relationship-card{overflow:hidden;border:1px solid #dedee3;border-radius:14px;background:#fff}.relationship-head,.relationship-row{display:grid;align-items:center;column-gap:16px;width:100%;padding:0 16px}.relationship-head{min-height:36px;background:#fafafa;color:#86868b;font-size:9px}.relationship-row{min-height:58px;border:0;border-top:1px solid #e8e8ec;border-radius:0;background:#fff;font-size:11px;text-align:left}.relationship-row:hover{background:#fafafa}.sale-relationship-row{grid-template-columns:minmax(190px,1.5fr) 1fr .95fr .85fr .7fr 12px}.purchase-relationship-row{grid-template-columns:minmax(220px,1.7fr) 1fr 1fr .8fr 12px}.relationship-row b{display:block;font-size:12px;font-weight:500}.relationship-row small{display:block;margin-top:5px;color:#86868b;font-size:10px}.relationship-row>span:not(:first-child),.relationship-head>span:not(:first-child){text-align:right}.relationship-row i{color:#8e8e93;font-size:18px;font-style:normal;font-weight:300;text-align:right}
@media(min-width:751px){dialog.transaction-dialog{margin-left:auto;margin-right:24px;width:min(900px,calc(100vw - 285px))}}@media(max-width:750px){.transaction-head{grid-template-columns:minmax(0,1fr) 28px;padding:20px}.transaction-head .close{grid-column:2;grid-row:1}.transaction-body{padding:18px 20px 22px}.transaction-row-two,.transaction-row-three{grid-template-columns:1fr}.transaction-row-two{border-bottom:0}.transaction-item+.transaction-item{border-left:0}.transaction-item{min-height:62px;border-bottom:1px solid #e7e7eb}.transaction-row-three .transaction-item:last-child{border-bottom:0}.relationship-card{overflow:auto}.relationship-head,.relationship-row{min-width:740px}}
.segmented button span{margin-left:5px;color:#86868b;font-size:11px}.history-hint{margin-top:16px;font-size:12px}
main>header>.actions{gap:8px}
dialog:focus,dialog:focus-visible{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6e6e73;outline-offset:2px}
.device-type-picker>button,.condition-picker>button{min-height:43px;border:1px solid #dedee4;background:#fff;color:#1d1d1f}.type-menu{top:calc(100% + 6px);width:min(470px,calc(100vw - 330px));max-height:min(520px,calc(100vh - 170px));overflow:auto;padding:14px;background:#fff;color:#1d1d1f;border:1px solid #d8d8dc;border-radius:12px;box-shadow:0 14px 34px #0002}.type-menu section+section{margin-top:14px}.type-menu h3{margin:0 0 7px;padding:0 3px 8px;border-bottom:1px solid #e7e7eb;color:#86868b;font-size:10px;font-weight:600;letter-spacing:.08em}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:2px}.type-grid button{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:7px 9px;border:0;border-radius:7px;background:#fff;color:#1d1d1f;font-size:12px;font-weight:400}.type-grid button i{font-style:normal;color:#1d1d1f}.type-grid button:hover,.type-grid button.selected{background:#f2f2f4}.type-menu-actions{margin-top:12px;padding-top:10px;border-top:1px solid #e7e7eb}.type-menu-actions button{min-width:auto;padding:7px 10px;border:1px solid #d8d8dc;background:#fff;color:#1d1d1f;font-size:11px;font-weight:500}.type-menu-actions button:hover{background:#f2f2f4}
.condition-picker{position:relative;min-width:0}.condition-picker>button{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}.condition-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:13;padding:5px 0;background:#fff;border:1px solid #d8d8dc;border-radius:10px;box-shadow:0 12px 30px #0002}.condition-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:7px 12px;border:0;border-radius:0;background:#fff;font-size:12px;text-align:left}.condition-menu button i{font-style:normal}.condition-menu button:hover,.condition-menu button.selected{background:#f2f2f4}
@media(max-width:1050px){.type-menu{width:min(430px,calc(100vw - 235px))}}@media(max-width:750px){.type-menu{position:fixed;inset:auto 10px 10px;width:auto;max-height:70vh}.type-grid{grid-template-columns:1fr}}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;margin-top:14px;color:#6e6e73;font-size:12px}.table-pagination>div{display:flex;gap:8px}.table-pagination button{padding:7px 11px;font-size:12px}
.utility-search{margin:0 0 14px}.utility-search input{width:min(520px,100%)}@media(min-width:751px){.utility-search-with-action{display:flex;align-items:center;justify-content:space-between;gap:16px}.utility-search-with-action input{flex:0 1 520px;width:auto;min-width:0}.utility-search-with-action .record-menu-wrap{flex:none;margin-left:auto}}.utility-list-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;margin-top:8px;border-top:1px solid #e1e1e6;color:#6e6e73;font-size:12px}.utility-list-footer strong{color:#1d1d1f;font-size:14px;font-weight:600;white-space:nowrap}.purchases-panel th:nth-child(6),.purchases-panel td:nth-child(6),.sales-panel th:nth-child(4),.sales-panel td:nth-child(4){text-align:center}.purchases-panel th:nth-child(7),.purchases-panel td:nth-child(7),.sales-panel th:nth-child(5),.sales-panel td:nth-child(5),.sales-panel th:nth-child(6),.sales-panel td:nth-child(6),.reports-panel th:not(:first-child),.reports-panel td:not(:first-child){text-align:right}.purchases-panel th:nth-child(8),.purchases-panel td:nth-child(8),.sales-panel th:nth-child(7),.sales-panel td:nth-child(7){text-align:center}.purchases-panel td:nth-child(8)>button{min-width:116px}.purchases-panel td:nth-child(8) .actions,.sales-panel td:nth-child(7) .actions{justify-content:center}
.purchase-relationship-row>span:nth-child(2),.purchase-relationship-row>span:nth-child(3),.purchase-relationship-row>span:nth-child(4),.sale-relationship-row>span:nth-child(2),.sale-relationship-row>span:nth-child(3),.sale-relationship-row>span:nth-child(4),.sale-relationship-row>span:nth-child(5){text-align:center}.relationship-row>i{text-align:right}
@media(max-width:750px){aside{padding:16px}.approved-logo{width:190px;max-width:190px;margin:0 auto}.brand{display:flex;justify-content:center}nav{margin-top:14px;overflow:visible;flex-wrap:wrap;justify-content:center}.table-pagination{align-items:flex-start;flex-direction:column}}
.equal-actions button{background:#fff;color:#1d1d1f;border-color:#dedee4;font-weight:400}.equal-actions button:hover{background:#f5f5f7}.equal-actions button.danger{color:#b42318}.confirm-dialog{width:min(440px,calc(100vw - 40px));font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.confirm-dialog .modal-head{padding:22px 24px}.confirm-dialog .body{padding:20px 24px 24px}.confirm-dialog .footer{margin-top:18px}.confirm-dialog #confirmActionButton{background:#fff;color:#b42318;border-color:#e1e1e6}.relationship-filter-wrap{margin:0 0 16px}.relationship-filter-wrap>span{display:block;margin:0 0 8px;color:#86868b;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.relationship-filters{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.relationship-filters button{flex:none;min-height:34px;padding:7px 11px;border:1px solid #dedee3;border-radius:9px;background:#fff;color:#1d1d1f;font-size:11px;white-space:nowrap}.relationship-filters button b{margin-left:5px;color:#6e6e73;font-weight:400}.relationship-filters button:hover,.relationship-filters button.selected{background:#f0f0f2;border-color:#d2d2d7}.relationship-filters button.selected{font-weight:600}.relationship-filters button.selected b{color:#1d1d1f}
.card-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px;margin-bottom:8px}.card-section-head h3{margin:0;line-height:28px}.card-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;transform:translateY(3px)}.card-head-actions button{display:flex;align-items:center;justify-content:center;height:28px;min-height:28px;padding:0 9px;border-radius:7px;font-size:10px;line-height:28px}
dialog::backdrop{background:#17171b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(min-width:751px){dialog{margin:auto;width:min(1060px,calc(100vw - 80px))}dialog.transaction-dialog{margin:auto;width:min(900px,calc(100vw - 80px))}dialog.confirm-dialog{margin:auto;width:min(440px,calc(100vw - 80px))}}
.confirm-dialog{width:min(400px,calc(100vw - 40px))}.confirm-dialog .modal-head{padding:20px 22px 14px;border-bottom:0}.confirm-dialog .modal-head p{margin-top:6px}.confirm-dialog .body{padding:0 22px 20px}.confirm-dialog .footer{margin:0;padding:0;border-top:0}.confirm-dialog .error:empty{display:none}.relationship-total{display:grid;overflow:hidden;width:min(520px,100%);margin:16px 0 0 auto;border:1px solid #dedee3;border-radius:14px;background:#fafafa}.relationship-total-sale{grid-template-columns:repeat(2,minmax(0,1fr))}.relationship-total-purchase{width:min(300px,100%);grid-template-columns:1fr}.relationship-total>div{padding:14px 16px}.relationship-total>div+div{border-left:1px solid #e7e7eb}.relationship-total span{display:block;margin-bottom:7px;color:#86868b;font-size:10px}.relationship-total b{font-size:13px;font-weight:600}@media(max-width:750px){.relationship-total{width:100%;grid-template-columns:1fr}.relationship-total>div+div{border-left:0;border-top:1px solid #e7e7eb}}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}:root{--store-tabs-background:#eeeef2;--store-tabs-border:#dedee4;--store-tabs-text:#5f5f68;--store-tabs-selected-background:#fff;--store-tabs-selected-text:#1d1d1f}.store-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--store-tabs-border);border-radius:12px;background:var(--store-tabs-background)}.store-tabs button{min-height:34px;padding:7px 14px;border:0;border-radius:9px;background:transparent;color:var(--store-tabs-text);font-size:12px;white-space:nowrap}.store-tabs button.selected{background:var(--store-tabs-selected-background);color:var(--store-tabs-selected-text);box-shadow:0 1px 4px #00000012}.record-menu-wrap{width:auto}.record-menu-wrap .compact-record{min-height:36px;padding:8px 13px;font-size:12px}.record-menu-wrap .new-menu{top:calc(100% + 7px);min-width:155px}.page-toolbar+.table-wrap{margin-top:4px}
.store-page-toolbar{justify-content:flex-start}
main>header>.actions>button,
main>header>.actions>.menu-wrap>button,
main>header>.actions>.period-picker>button,
main>header>.actions>select{border-color:var(--store-tabs-border);background:var(--store-tabs-background);color:var(--store-tabs-text)}
main>header>.actions>button:hover,
main>header>.actions>.menu-wrap>button:hover,
main>header>.actions>.period-picker>button:hover{background:#e7e7eb;color:var(--store-tabs-selected-text)}
.product-row:focus{outline:none}.product-row:focus-visible{outline:none;background:#f8f8fa}
@media(max-width:750px){.page-toolbar{align-items:stretch;flex-direction:column}.store-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.store-tabs button{padding:7px 8px}.record-menu-wrap,.record-menu-wrap .compact-record{width:100%}}
.transaction-head .close{align-self:center;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0!important;border:0!important;border-radius:0!important;outline:0;background:transparent!important;color:#3a3a3c;box-shadow:none!important;appearance:none;font-size:21px;font-weight:300;line-height:1;text-align:center}.transaction-head .close:hover{background:transparent!important;color:#000}.transaction-head .close:focus-visible{outline:1px solid #8e8e93;outline-offset:3px}
dialog .close{align-self:center;display:flex!important;align-items:center;justify-content:center;flex:0 0 24px;width:24px!important;height:24px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#3a3a3c!important;box-shadow:none!important;appearance:none;font-size:21px!important;font-weight:300!important;line-height:1!important;text-align:center}dialog .close:hover,dialog .close:focus-visible{outline:0!important;background:transparent!important;color:#000!important}.modal-head{align-items:center}.purchases-panel td:nth-child(8) .actions button{min-width:auto;padding:7px 9px;font-size:11px;white-space:nowrap}

/* Keep chart details inside the panel and align overview rows consistently. */
.chart{height:240px;margin-top:26px;padding:0 0 28px;box-sizing:content-box}
.chart-tooltip{top:8px;bottom:auto}
.table-pagination>div{align-items:center}.table-pagination>div>span{margin-right:4px;white-space:nowrap}.utility-list-footer+.table-pagination{margin-top:0}
.contact-cell b{display:block;font-weight:500}.contact-cell .subline{display:block;margin-top:4px;color:#86868b;font-size:11px;white-space:nowrap}.purchases-panel th:nth-child(5),.purchases-panel td:nth-child(5),.sales-panel th:nth-child(5),.sales-panel td:nth-child(5){text-align:center}.purchases-panel th:nth-child(6),.purchases-panel td:nth-child(6),.sales-panel th:nth-child(6),.sales-panel td:nth-child(6),.sales-panel th:nth-child(7),.sales-panel td:nth-child(7){text-align:right}.purchases-panel th:nth-child(7),.purchases-panel td:nth-child(7),.sales-panel th:nth-child(8),.sales-panel td:nth-child(8){text-align:center}.purchases-panel td:nth-child(7) .actions,.sales-panel td:nth-child(8) .actions{justify-content:center}.sales-list-footer{padding:10px 0}.sales-footer-totals{display:flex;align-items:stretch;gap:0}.sales-footer-totals>span{display:block;min-width:150px;padding:0 18px}.sales-footer-totals>span+span{border-left:1px solid #e1e1e6}.sales-footer-totals small,.sales-footer-totals strong{display:block}.sales-footer-totals small{margin-bottom:4px;color:#6e6e73;font-size:10px;font-weight:400}.sales-footer-totals strong{color:#1d1d1f;font-size:14px;font-weight:600}@media(max-width:750px){.sales-list-footer{align-items:flex-start;flex-direction:column}.sales-footer-totals{width:100%}.sales-footer-totals>span{flex:1;padding:0 12px 0 0}.sales-footer-totals>span+span{padding-left:12px}}
.sales-panel table{min-width:1320px;table-layout:fixed}.sales-panel th:nth-child(1){width:110px}.sales-panel th:nth-child(2){width:105px}.sales-panel th:nth-child(3){width:220px}.sales-panel th:nth-child(4){width:175px;text-align:left;white-space:nowrap}.sales-panel td:nth-child(4){text-align:left}.sales-panel th:nth-child(5){width:70px}.sales-panel th:nth-child(6),.sales-panel th:nth-child(7){width:140px}.sales-panel th:nth-child(8){width:320px}.sales-panel td{vertical-align:middle}.sales-panel td:nth-child(1),.sales-panel td:nth-child(2),.sales-panel td:nth-child(5),.sales-panel td:nth-child(6),.sales-panel td:nth-child(7){white-space:nowrap}.sales-panel td:nth-child(8) .actions{min-width:0;flex-wrap:nowrap;gap:8px}.sales-panel td:nth-child(8) .actions button{padding:9px 11px;white-space:nowrap}.purchases-panel table{min-width:1210px;table-layout:fixed}.purchases-panel th:nth-child(1){width:115px}.purchases-panel th:nth-child(2){width:105px}.purchases-panel th:nth-child(3){width:230px}.purchases-panel th:nth-child(4){width:180px;white-space:nowrap}.purchases-panel th:nth-child(5){width:70px}.purchases-panel th:nth-child(6){width:140px}.purchases-panel th:nth-child(7){width:330px}.purchases-panel td{vertical-align:middle}.purchases-panel td:nth-child(1),.purchases-panel td:nth-child(2),.purchases-panel td:nth-child(5),.purchases-panel td:nth-child(6){white-space:nowrap}.purchases-panel td:nth-child(7) .actions{min-width:0;flex-wrap:nowrap;gap:8px}.purchases-panel td:nth-child(7) .actions button{padding:9px 11px;white-space:nowrap}
.sales-panel th:nth-child(6),.sales-panel td:nth-child(6),.sales-panel th:nth-child(7),.sales-panel td:nth-child(7),.purchases-panel th:nth-child(6),.purchases-panel td:nth-child(6){text-align:left}.sales-footer-totals{text-align:left}

/* White Cable product details follow the same compact desktop pattern as the
   main product record: primary actions at the top and no duplicate footer. */
.accessory-detail-top{align-items:flex-start;margin-bottom:18px}.accessory-detail-top h2{font-size:22px;font-weight:600;letter-spacing:-.022em}.accessory-detail-top p{margin:5px 0 10px;font-size:12px}.accessory-detail-actions{justify-content:flex-end;flex-wrap:nowrap}.accessory-detail-actions button{min-height:36px;padding:8px 13px;font-size:12px;white-space:nowrap}.accessory-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.accessory-detail-grid .card{padding:18px}.accessory-detail-grid h3,.accessory-batches-card h3{font-size:15px;font-weight:600}.accessory-detail-grid .field{padding:11px 0;font-size:12px}.accessory-batches-card{margin-top:18px;padding:18px}.accessory-batches-card table{min-width:700px}.accessory-batches-card th{padding:11px 10px;font-size:10px}.accessory-batches-card td{padding:13px 10px;font-size:12px}.accessory-batches-card td:last-child .actions{justify-content:flex-end;flex-wrap:nowrap}.accessory-batches-card td:last-child button{padding:7px 10px;font-size:11px}
@media(max-width:900px){.accessory-detail-top{flex-direction:column}.accessory-detail-actions{width:100%;justify-content:flex-start}.accessory-detail-grid{grid-template-columns:1fr}}

/* Shared table alignment contract. New tables should mark currency as
   .money-cell and counts as .quantity-cell so short and long values align. */
#devicePage table{font-variant-numeric:tabular-nums}
#devicePage table th,#devicePage table td{vertical-align:middle}
#devicePage td.money-cell{text-align:left!important;white-space:nowrap}
#devicePage td.quantity-cell{text-align:center!important;white-space:nowrap}
#devicePage .gift-history-panel th:nth-child(3),
#devicePage .reports-panel th:not(:first-child){text-align:left}
#devicePage .reports-panel td:not(:first-child){text-align:left}

/* Desktop utility tables stay on one screen. Exact dates use D-M-YY; legacy
   month-only records use a zero day so missing dates remain explicit. */
#devicePage .sales-panel table,#devicePage .purchases-panel table{width:100%;min-width:0;table-layout:fixed}
#devicePage .sales-panel th:nth-child(1){width:8%}
#devicePage .sales-panel th:nth-child(2){width:8%}
#devicePage .sales-panel th:nth-child(3){width:17%}
#devicePage .sales-panel th:nth-child(4){width:14%}
#devicePage .sales-panel th:nth-child(5){width:5%}
#devicePage .sales-panel th:nth-child(6),#devicePage .sales-panel th:nth-child(7){width:10%}
#devicePage .sales-panel th:nth-child(8){width:28%}
#devicePage .purchases-panel th:nth-child(1){width:8%}
#devicePage .purchases-panel th:nth-child(2){width:8%}
#devicePage .purchases-panel th:nth-child(3){width:19%}
#devicePage .purchases-panel th:nth-child(4){width:16%}
#devicePage .purchases-panel th:nth-child(5){width:6%}
#devicePage .purchases-panel th:nth-child(6){width:12%}
#devicePage .purchases-panel th:nth-child(7){width:31%}
#devicePage .sales-panel th,#devicePage .sales-panel td,#devicePage .purchases-panel th,#devicePage .purchases-panel td{padding-left:8px;padding-right:8px}
#devicePage .sales-panel td:nth-child(3),#devicePage .purchases-panel td:nth-child(3){overflow-wrap:anywhere}
#devicePage .sales-panel td:nth-child(8) .actions button,#devicePage .purchases-panel td:nth-child(7) .actions button{padding:8px 9px}
@media(max-width:900px){#devicePage .sales-panel table{min-width:980px}#devicePage .purchases-panel table{min-width:880px}}

/* Reports use the same July-to-June financial year and progressively reveal
   transactions from year totals to month and exact-date detail. */
.reports-flow{padding:24px}.reports-flow .page-toolbar{margin-bottom:18px}.report-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 14px}.report-section-head h2,.report-month-navigation h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em}.report-section-head p,.report-month-navigation p{margin:5px 0 0;color:#6e6e73;font-size:12px}.report-back{margin:0 0 14px;padding:5px 0;border:0;background:transparent;color:#6e6e73;font-size:12px;font-weight:400}.report-back:hover{color:#1d1d1f;background:transparent}.reports-flow .table-wrap{border:1px solid #e1e1e6;border-radius:13px}.reports-flow table{width:100%;min-width:0;table-layout:fixed}.reports-flow th,.reports-flow td{padding:11px 12px}.reports-flow th{font-size:10px;letter-spacing:.02em}.reports-flow td{font-size:12px}.reports-flow td b{font-weight:500}.reports-flow .money-cell{text-align:right!important}.reports-flow .quantity-cell{text-align:center!important}.report-month-row{cursor:pointer}.report-month-row:hover{background:#f7f7f9}.report-month-row:focus{outline:none}.report-month-row:focus-visible{outline:2px solid #6e6e73;outline-offset:-2px}.report-row-arrow{width:28px!important;color:#8e8e93;font-size:19px!important;font-weight:300;text-align:right!important}.report-total-row{background:#f7f7f9}.report-total-row td{font-weight:600}.report-total-row td b{font-weight:650}.report-table-footer,.report-value-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;color:#6e6e73;font-size:11px}.report-table-footer button{padding:8px 12px;background:#fff;font-size:12px}.report-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin:0 0 18px;border:1px solid #e1e1e6;border-radius:13px;background:#fff}.report-summary-strip>div{min-height:76px;padding:15px 18px}.report-summary-strip>div+div{border-left:1px solid #e1e1e6}.report-summary-strip span,.report-value-footer small{display:block;margin-bottom:7px;color:#86868b;font-size:10px;font-weight:500;text-transform:uppercase}.report-summary-strip b{font-size:18px;font-weight:500;white-space:nowrap}.report-search-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;margin:0 0 20px}.report-search-row input{width:100%}.report-kind-tabs{display:grid;grid-template-columns:repeat(3,105px);gap:4px;padding:4px;border:1px solid #dedee4;border-radius:11px;background:#eeeef2}.report-kind-tabs button{border:0;background:transparent;color:#5f5f68;font-size:12px}.report-kind-tabs button.selected{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000012}.report-value-footer>div{display:flex}.report-value-footer>div>span{min-width:150px;padding:0 16px}.report-value-footer>div>span+span{border-left:1px solid #e1e1e6}.report-value-footer b{display:block;color:#1d1d1f;font-size:13px;font-weight:600;white-space:nowrap}.report-month-navigation{display:grid;grid-template-columns:100px minmax(0,1fr) 100px;align-items:center;gap:16px;margin:0 0 18px;text-align:center}.report-month-navigation button{padding:8px 10px;background:#fff;font-size:11px}.report-date-note{margin:-7px 0 14px;color:#6e6e73;font-size:11px}.report-type{display:inline-flex;align-items:center;justify-content:center;min-width:66px;padding:5px 8px;border:1px solid #dedee4;border-radius:7px;background:#fff;font-size:10px}.report-type.sale{background:#f3f3f5}.report-month-view .subline{display:block;margin-top:4px;color:#86868b;font-size:10px}.report-year-view th:nth-child(1){width:20%}.report-year-view th:nth-child(2){width:10%}.report-year-view th:nth-child(3),.report-year-view th:nth-child(4),.report-year-view th:nth-child(5),.report-year-view th:nth-child(6){width:16%}.report-year-view th:nth-child(7){width:6%}.report-transactions-view th:nth-child(1){width:19%}.report-transactions-view th:nth-child(2),.report-transactions-view th:nth-child(3){width:14%}.report-transactions-view th:nth-child(4){width:9%}.report-transactions-view th:nth-child(5),.report-transactions-view th:nth-child(6){width:19%}.report-transactions-view th:nth-child(7){width:6%}.report-month-view table{min-width:1020px}.report-month-view th:nth-child(1){width:9%}.report-month-view th:nth-child(2){width:8%}.report-month-view th:nth-child(3){width:10%}.report-month-view th:nth-child(4){width:21%}.report-month-view th:nth-child(5){width:19%}.report-month-view th:nth-child(6){width:6%}.report-month-view th:nth-child(7),.report-month-view th:nth-child(8){width:13.5%}.report-month-view th:nth-child(6),.report-month-view td:nth-child(6){text-align:center}.report-month-view th:nth-child(7),.report-month-view th:nth-child(8){text-align:right!important}.report-month-view td:nth-child(7),.report-month-view td:nth-child(8){text-align:right!important}.report-month-view .contact-cell{text-align:left!important}
@media(max-width:1050px){.report-summary-strip{grid-template-columns:repeat(2,1fr)}.report-summary-strip>div:nth-child(3){border-left:0;border-top:1px solid #e1e1e6}.report-summary-strip>div:nth-child(4){border-top:1px solid #e1e1e6}.report-value-footer{align-items:flex-start;flex-direction:column;padding-top:12px}.report-value-footer>div{width:100%}.report-value-footer>div>span{flex:1;min-width:0}.report-search-row{grid-template-columns:1fr}.report-kind-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:750px){.reports-flow{padding:18px}.reports-flow table{min-width:760px}.report-month-view table{min-width:1020px}.report-table-footer{align-items:flex-start;flex-direction:column;padding:12px 0}.report-summary-strip{grid-template-columns:1fr}.report-summary-strip>div+div{border-left:0;border-top:1px solid #e1e1e6}.report-month-navigation{grid-template-columns:80px minmax(0,1fr) 80px}.report-value-footer>div{flex-direction:column}.report-value-footer>div>span{padding:10px 0}.report-value-footer>div>span+span{border-left:0;border-top:1px solid #e1e1e6}}

/* Report number columns share one alignment rule so headers and values stay
   aligned even when a value changes from a dash to a long amount. */
#devicePage .reports-flow td.money-cell{text-align:right!important;font-variant-numeric:tabular-nums}
#devicePage .report-year-view th:nth-child(2),
#devicePage .report-transactions-view th:nth-child(2),
#devicePage .report-transactions-view th:nth-child(3),
#devicePage .report-transactions-view th:nth-child(4),
#devicePage .report-month-view th:nth-child(6){text-align:center!important}
#devicePage .report-year-view th:nth-child(3),
#devicePage .report-year-view th:nth-child(4),
#devicePage .report-year-view th:nth-child(5),
#devicePage .report-year-view th:nth-child(6),
#devicePage .report-transactions-view th:nth-child(5),
#devicePage .report-transactions-view th:nth-child(6),
#devicePage .report-month-view th:nth-child(7),
#devicePage .report-month-view th:nth-child(8){text-align:right!important}

#devicePage .report-year-view th:nth-child(1){width:18%}
#devicePage .report-year-view th:nth-child(2),
#devicePage .report-year-view th:nth-child(3),
#devicePage .report-year-view th:nth-child(4){width:8%;text-align:center!important}
#devicePage .report-year-view th:nth-child(5),
#devicePage .report-year-view th:nth-child(6),
#devicePage .report-year-view th:nth-child(7),
#devicePage .report-year-view th:nth-child(8){width:13.5%;text-align:right!important}
#devicePage .report-year-view th:nth-child(9){width:4%}
#devicePage .report-transactions-view th:nth-child(1){width:15%}
#devicePage .report-transactions-view th:nth-child(2),
#devicePage .report-transactions-view th:nth-child(3),
#devicePage .report-transactions-view th:nth-child(4),
#devicePage .report-transactions-view th:nth-child(5){width:7%;text-align:center!important}
#devicePage .report-transactions-view th:nth-child(6),
#devicePage .report-transactions-view th:nth-child(7),
#devicePage .report-transactions-view th:nth-child(8),
#devicePage .report-transactions-view th:nth-child(9){width:13%;text-align:right!important}
#devicePage .report-transactions-view th:nth-child(10){width:5%}
.report-summary-strip small{display:block;margin-top:5px;color:#86868b;font-size:10px;line-height:1.3;white-space:nowrap}

/* Gifts keep month totals scannable; entry details open only on demand. */
.gift-year-entries{padding:4px 12px 10px}
.gift-month-group{margin:0;border:0;border-bottom:1px solid #e6e6eb;border-radius:0;background:#fff}
.gift-month-group:last-child{border-bottom:0}
.gift-month-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:16px;width:100%;padding:13px 12px;border:0;border-radius:0;background:#fff;text-align:left}
.gift-month-toggle:hover{background:#fafafa}
.gift-month-toggle>span b,.gift-month-toggle>span small{display:block}
.gift-month-toggle>span b{font-size:13px;font-weight:600}
.gift-month-toggle>span small{margin-top:3px;color:#86868b;font-size:11px;font-weight:400}
.gift-month-toggle>strong{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.gift-month-toggle>i{color:#8e8e93;font-size:16px;font-style:normal;font-weight:300;text-align:right;transition:transform .16s ease}
.gift-month-group.expanded .gift-month-toggle>i{transform:rotate(180deg)}
.gift-month-entries[hidden]{display:none}
.gift-month-entries .table-wrap{overflow:visible;border:0!important;border-radius:0!important;box-shadow:none!important}
.gift-month-entries table{min-width:0;border:0}
.gift-month-entries tbody tr:last-child td{border-bottom:0!important}
.confirm-dialog.wide-confirm-dialog{width:min(620px,calc(100vw - 40px))}

:root{--financial-year-primary-size:13px;--financial-year-secondary-size:10px;--financial-year-title-weight:600;--financial-year-value-weight:400;--financial-year-row-height:66px}.report-year-list{display:grid;gap:10px}.report-year-dropdown{overflow:hidden;width:100%;border:1px solid #e1e1e6;border-radius:13px;background:#fff}.report-year-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;width:100%;min-height:var(--financial-year-row-height);padding:13px 16px;border:0;border-radius:0;background:#fff;text-align:left}.report-year-toggle:hover{background:#fafafa}.report-year-toggle>span:first-child b,.report-year-toggle>span:first-child small,.report-year-totals b,.report-year-totals small{display:block}.report-year-toggle>span:first-child b{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-title-weight)}.report-year-toggle>span:first-child small,.report-year-totals small{margin-top:5px;color:#86868b;font-size:var(--financial-year-secondary-size);font-weight:400}.report-year-totals{display:grid;grid-template-columns:auto 18px;align-items:center;column-gap:18px;text-align:right}.report-year-totals b{grid-column:1;grid-row:1;margin:0;font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-value-weight);white-space:nowrap}.report-year-totals small{grid-column:1;grid-row:2;margin-top:5px}.report-year-totals i{grid-column:2;grid-row:1/3;color:#8e8e93;font-size:18px;font-style:normal;font-weight:300;transition:transform .16s ease}.report-year-dropdown.expanded .report-year-totals i{transform:rotate(180deg)}.report-year-months{width:100%;border-top:1px solid #e1e1e6}.report-year-months[hidden]{display:none}.report-year-months .table-wrap{width:100%;border:0!important;border-radius:0!important}.report-year-months table{width:100%;table-layout:fixed}.report-year-list+.report-table-footer{margin-top:8px}
@media(max-width:750px){.report-year-toggle{grid-template-columns:1fr;gap:10px}.report-year-totals{grid-template-columns:1fr 18px;text-align:left}.report-year-totals small{display:none}.report-year-totals b{margin-top:0}.report-year-months{overflow-x:auto}.report-year-months table{min-width:760px}}
.report-table-actions{justify-content:flex-end}

/* One Apple system-font stack across the complete application. */
:root,body,button,input,select,textarea,table,dialog{font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.brand,h1,h2,h3,.metric strong{font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}

/* Universal main-page table typography and monochrome treatment. The sidebar,
   dialogs and Settings page keep their existing dimensions and styling. */
#devicePage .panel:not(.settings-panel) table,#accessoryPage .panel table{background:#fff;color:#1d1d1f}
#devicePage .panel:not(.settings-panel) table th,#accessoryPage .panel table th{color:#777780;font-size:11px!important;font-weight:500!important;line-height:1.25}
#devicePage .panel:not(.settings-panel) table td,#accessoryPage .panel table td{color:#1d1d1f;font-size:13px!important;font-weight:400;line-height:1.35}
#devicePage .panel:not(.settings-panel) table td b,#accessoryPage .panel table td b{font-size:inherit;font-weight:500}
#devicePage .panel:not(.settings-panel) table tbody tr,#accessoryPage .panel table tbody tr{background:#fff}
#devicePage .panel:not(.settings-panel) table tbody tr:hover,#accessoryPage .panel table tbody tr:hover{background:#f8f8fa}
#devicePage .panel:not(.settings-panel) table td,#accessoryPage .panel table td{border-color:#e6e6eb}
#devicePage .panel:not(.settings-panel) .report-total-row td{font-weight:600}
.gift-history-panel .panel-head{align-items:center;gap:18px;margin:2px 0 14px}.gift-history-panel .panel-head h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em}.gift-history-panel .panel-head p{margin:5px 0 0;color:#6e6e73;font-size:12px}.gift-history-panel .gift-year-list{margin-top:0}.gift-year-entries table{width:100%}
.gift-month-group{overflow:hidden;margin:10px 0;border:1px solid #e6e6eb;border-radius:11px;background:#fff}.gift-month-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;background:#fafafa}.gift-month-heading b,.gift-month-heading small{display:block}.gift-month-heading b{font-size:13px;font-weight:600}.gift-month-heading small{margin-top:3px;color:#86868b;font-size:11px}.gift-month-heading>strong{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.gift-month-group .table-wrap{margin:0}.gift-month-group table{min-width:0}
.chart-head .segmented{background:#fff}.chart-head .segmented button{background:#fff;color:#1d1d1f}.chart-head .segmented button.selected{background:#1d1d1f;color:#fff}.chart-head .segmented button:not(.selected):hover{background:#f5f5f7}
.overview-calendar{display:grid;justify-items:center;gap:8px;width:min(100%,360px)}.overview-range{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));width:100%;border-radius:11px;background:#f5f5f7}.overview-range button{min-height:36px;padding:7px 12px;color:#5f5f68;font-size:12px;white-space:nowrap}.overview-range button.selected{border-radius:8px;background:#1d1d1f;color:#fff}.overview-calendar-nav{display:grid;grid-template-columns:30px minmax(175px,auto) 30px;align-items:center;justify-items:center;gap:8px}.overview-calendar-nav strong{font-size:13px;font-weight:500;white-space:nowrap}.overview-calendar-nav button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #e1e1e6;border-radius:50%;background:#fff;color:#333;font-size:21px;font-weight:300;line-height:1}.overview-calendar-nav button:disabled{visibility:hidden}.monthly-performance-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:14px;margin-bottom:20px}.monthly-performance-head h2{margin:8px 0 0}.monthly-performance-panel{position:relative;z-index:5;overflow:visible}.performance-table-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px}.performance-table-scroll{min-width:0;overflow-x:auto}.monthly-performance-table{width:100%;min-width:610px;border-collapse:collapse;table-layout:fixed;text-align:right}.monthly-performance-table th,.monthly-performance-table td{padding:11px 13px;border:0;border-bottom:1px solid #e6e6eb;font-size:12px;white-space:nowrap}.monthly-performance-table thead th{background:#f5f5f7;color:#777780;font-size:11px;font-weight:500;text-transform:uppercase}.monthly-performance-table thead th:first-child{text-align:left;border-radius:8px 0 0 8px}.monthly-performance-table thead th:last-child{border-radius:0 8px 8px 0}.monthly-performance-table tbody th{font-weight:400;text-align:left}.monthly-performance-table tbody td{font-variant-numeric:tabular-nums}.monthly-performance-table tbody tr{cursor:pointer}.monthly-performance-table tbody tr:hover,.monthly-performance-table tbody tr.selected{background:#f1f1f4}.monthly-performance-table tbody tr.selected th,.monthly-performance-table tbody tr.selected td{font-weight:600}.performance-totals{display:grid;gap:12px;padding-left:20px;border-left:1px solid #e1e1e6}.performance-total-card{padding:13px 14px;border:1px solid #ececf0;border-radius:11px;background:#fafafa}.performance-total-card h3{margin:0 0 7px;font-size:12px;font-weight:600}.performance-total-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e6e6eb;font-size:11px}.performance-total-card>div span{color:#6e6e73}.performance-total-card>div strong{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:1100px){.monthly-performance-head{grid-template-columns:1fr auto}.monthly-performance-head>.overview-calendar{grid-column:1/-1;grid-row:2;justify-self:center}.performance-table-layout{grid-template-columns:1fr}.performance-totals{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 0 0;border-top:1px solid #e1e1e6;border-left:0}}@media(max-width:580px){.monthly-performance-head{grid-template-columns:1fr}.monthly-performance-head>.overview-calendar{grid-column:1;grid-row:auto;justify-self:stretch;width:100%}.monthly-performance-head h2{margin:0}.performance-totals{grid-template-columns:1fr}.overview-range{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-range button{padding:7px 5px;font-size:11px}.overview-calendar-nav{grid-template-columns:28px minmax(160px,auto) 28px;gap:6px}}

/* Universal top-summary cards: identical structure and typography on every page. */
:root{--summary-label-size:11px;--summary-value-size:23px;--summary-caption-size:11px;--summary-card-height:112px}
.summary{align-items:stretch;padding:0}
.summary .metric{
  display:flex;
  min-width:0;
  min-height:var(--summary-card-height);
  flex-direction:column;
  justify-content:center;
  padding:20px;
}
.summary .metric label,.report-summary-strip span{
  display:block;
  margin:0;
  color:#777780;
  font-size:var(--summary-label-size);
  font-weight:500;
  line-height:1.2;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.summary .metric strong,.report-summary-strip b{
  display:block;
  margin:9px 0;
  color:#1d1d1f;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--summary-value-size);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.5px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.summary .metric small{
  display:block;
  margin:0;
  color:#777780;
  font-size:var(--summary-caption-size);
  font-weight:400;
  line-height:1.3;
}
.report-summary-strip{align-items:stretch}
.report-summary-strip>div{
  display:flex;
  min-width:0;
  min-height:var(--summary-card-height);
  flex-direction:column;
  justify-content:center;
  padding:20px;
}
.report-summary-strip span{margin:0}
.report-summary-strip b{margin:9px 0 0}
@media(max-width:1050px){:root{--summary-value-size:21px}.summary .metric,.report-summary-strip>div{padding:18px}}
@media(max-width:750px){:root{--summary-card-height:102px;--summary-value-size:20px}.summary .metric,.report-summary-strip>div{padding:16px}}

/* One compact-control scale for store tabs and equivalent page navigation. */
:root{--compact-control-height:34px;--compact-control-size:12px;--compact-control-radius:9px}
.store-tabs button,
.segmented button,
.report-kind-tabs button,
.report-table-footer button,
.report-month-navigation button,
.table-pagination button,
.record-menu-wrap .compact-record,
.gift-history-panel .compact-record{
  min-height:var(--compact-control-height);
  height:var(--compact-control-height);
  padding:0 13px;
  border-radius:var(--compact-control-radius);
  font-size:var(--compact-control-size);
  font-weight:400;
  line-height:1;
}
.report-table-footer button{display:inline-flex;align-items:center;justify-content:center;gap:5px}

/* Desktop inventory status control and consistent no-result feedback. */
.device-table{min-width:900px}
.device-table th:nth-child(1){width:11%}
.device-table th:nth-child(2){width:20%}
.device-table th:nth-child(3){width:15%}
.device-table th:nth-child(4){width:13%}
.device-table th:nth-child(5){width:16%}
.device-table th:nth-child(6){width:14%}
.device-table th:nth-child(7){width:11%}
.grouped-product-cell{display:grid;gap:3px;min-width:0}
.grouped-product-cell small{color:#777780;font-size:11px;line-height:1.25}
.empty-state-row:hover{background:#fff!important}
.empty-state-row>td{height:150px!important;padding:30px 18px!important;text-align:center!important}
.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#1d1d1f}
.empty-state b{font-size:15px!important;font-weight:600!important;line-height:1.25}
.empty-state span{max-width:560px;color:#777780;font-size:12px;line-height:1.45}

/* Improve the contrast of small supporting copy without changing its hierarchy. */
.metric small,
td small,
.chart-period-note,
.chart-label,
.device-table td .subline,
.contact-cell .subline,
.transaction-head>div:first-child>span,
.relationship-row small,
.segmented button span,
.report-year-toggle>span:first-child small,
.report-year-totals small,
.report-summary-strip span,
.report-value-footer small,
.report-month-view .subline,
.overview-empty-state,
.empty-state span{
  color:#6e6e73;
}

/* Modal close controls use a neutral focus treatment instead of the global blue ring. */
dialog .close:focus-visible{
  outline:2px solid #8e8e93!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 4px #8e8e932e!important;
}

/* Universal desktop heading system: page titles and section titles retain a
   clear hierarchy while using identical measurements everywhere, including Settings. */
:root{
  --page-heading-size:32px;
  --page-heading-weight:650;
  --page-heading-line-height:1.1;
  --page-heading-letter-spacing:-1px;
  --section-heading-size:21px;
  --section-heading-weight:600;
  --section-heading-line-height:1.2;
  --section-heading-letter-spacing:-.5px;
  --heading-subtitle-size:14px;
  --heading-subtitle-weight:400;
  --heading-subtitle-line-height:1.5;
  --heading-subtitle-color:#6e6e73;
  --heading-subtitle-gap:7px;
}
#devicePage>header h1,
#accessoryPage>header h1{
  margin:0;
  color:#1d1d1f;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--page-heading-size);
  font-weight:var(--page-heading-weight);
  line-height:var(--page-heading-line-height);
  letter-spacing:var(--page-heading-letter-spacing);
}
#devicePage>header>div>p,
#accessoryPage>header>div>p{
  margin:var(--heading-subtitle-gap) 0 0;
  color:var(--heading-subtitle-color);
  font-size:var(--heading-subtitle-size);
  font-weight:var(--heading-subtitle-weight);
  line-height:var(--heading-subtitle-line-height);
  letter-spacing:0;
}
#devicePage .panel h2,
#accessoryPage .panel h2{
  margin:0;
  color:#1d1d1f;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--section-heading-size);
  font-weight:var(--section-heading-weight);
  line-height:var(--section-heading-line-height);
  letter-spacing:var(--section-heading-letter-spacing);
}
#devicePage .panel h2+p,
#accessoryPage .panel h2+p{
  margin:var(--heading-subtitle-gap) 0 0;
  color:var(--heading-subtitle-color);
  font-size:var(--heading-subtitle-size);
  font-weight:var(--heading-subtitle-weight);
  line-height:var(--heading-subtitle-line-height);
  letter-spacing:0;
}

/* On wide desktop screens, table headings stay visible during page scrolling.
   Compact layouts retain their existing horizontal table scroller. */
@media(min-width:1360px){
  #devicePage .sticky-table-wrap{overflow:visible}
  #devicePage .sticky-table-wrap thead th{
    position:sticky;
    top:0;
    z-index:5;
    background:#fff;
    box-shadow:0 1px 0 #e1e1e6,0 5px 10px #0000000a;
  }
}

/* Audit uses the approved split-view landing page and the app-wide Apple type system. */
.audit-panel{padding:24px}.audit-panel.audit-landing-shell{padding:0;border:0;background:transparent}.audit-flow{min-width:0}.audit-landing{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.24fr);gap:18px}.audit-current-card,.audit-history-card{min-width:0;min-height:590px;padding:24px;border:1px solid #dedee4;border-radius:16px;background:#fff}.audit-current-head,.audit-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.audit-current-head h2,.audit-history-head h2{font-size:var(--section-heading-size);font-weight:var(--section-heading-weight);letter-spacing:var(--section-heading-letter-spacing)}.audit-history-head p{margin:var(--heading-subtitle-gap) 0 0;color:var(--heading-subtitle-color);font-size:var(--heading-subtitle-size);line-height:var(--heading-subtitle-line-height)}.audit-landing-balances{display:grid}.audit-open-current{width:100%;margin-top:24px}.audit-history-head{margin-bottom:20px}.audit-history-list{display:grid;gap:10px}.audit-history-row{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #e1e1e6;border-radius:13px;background:#fff;text-align:left}.audit-history-row:hover{background:#fafafa}.audit-history-row>span:first-child b,.audit-history-row>span:first-child small{display:block}.audit-history-row i{color:#8e8e93;font-style:normal}.audit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.record-menu-wrap .new-menu{z-index:20}
/* Match Audit History rows to the shared Gift and Report financial-year cards. */
.audit-current-card .audit-current-head{margin-bottom:18px}.audit-current-card .audit-net-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;margin:0;padding:0;border:0}.audit-current-card .audit-net-bottom>span{color:#1d1d1f;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}.audit-current-card .audit-net-bottom>strong{margin:0;font-size:13px;font-weight:600;letter-spacing:0}.audit-current-card .audit-open-current{margin-top:12px}
.audit-current-head p{margin:var(--heading-subtitle-gap) 0 0;color:var(--heading-subtitle-color);font-size:var(--heading-subtitle-size);line-height:var(--heading-subtitle-line-height)}
.audit-back{display:inline-flex;align-items:center;gap:7px;min-height:32px;margin:0 0 14px;padding:0 4px;border:0;background:transparent;color:#6e6e73;font-size:12px;line-height:1}
.audit-back-chevron{display:block;flex:0 0 auto;width:7px;height:7px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.audit-back:hover{color:#1d1d1f}.audit-back:focus-visible{outline:1px solid #8e8e93;outline-offset:3px;border-radius:4px}
.audit-history-head .audit-compare-tab{flex:0 0 auto}.audit-history-head .audit-compare-tab button{width:auto;min-width:0;height:30px;min-height:30px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--store-tabs-text);font-size:12px;box-shadow:none}
.audit-compare-tabs{flex:0 0 auto}.audit-compare-tabs button{min-width:130px}
.audit-compare-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px}.audit-compare-toolbar h2{margin:0;font-size:var(--section-heading-size);font-weight:var(--section-heading-weight);letter-spacing:var(--section-heading-letter-spacing)}.audit-compare-toolbar p{margin:var(--heading-subtitle-gap) 0 0;color:var(--heading-subtitle-color);font-size:var(--heading-subtitle-size);line-height:var(--heading-subtitle-line-height)}.audit-compare-toolbar .audit-compare-tabs{display:inline-flex;width:auto;grid-template-columns:none}.audit-compare-toolbar .audit-compare-tabs button{width:auto;min-width:0;height:34px;min-height:34px;padding:7px 12px;font-size:12px}.audit-compare-list{display:grid;gap:10px;overflow-x:auto}.audit-compare-columns,.audit-compare-row{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,.7fr));align-items:center;gap:18px;min-width:720px}.audit-compare-columns{min-height:30px;padding:0 16px;color:#86868b;font-size:10px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.audit-compare-columns span:not(:first-child){text-align:right}.audit-compare-row{min-height:58px;padding:12px 16px;border:1px solid #e1e1e6;border-radius:13px;background:#fff}.audit-compare-row.total{background:#f7f7f9}.audit-compare-row b,.audit-compare-row span,.audit-compare-row strong{font-size:var(--financial-year-primary-size);font-variant-numeric:tabular-nums}.audit-compare-row b{font-weight:var(--financial-year-title-weight)}.audit-compare-row span,.audit-compare-row strong{text-align:right;white-space:nowrap}.audit-compare-row span{font-weight:var(--financial-year-value-weight)}.audit-compare-row strong{font-weight:600}.audit-compare-row strong.neutral{color:#86868b}
.audit-actions button{width:auto;min-width:0;height:36px;padding:0 12px;font-size:14px;line-height:1;white-space:nowrap}
.audit-panel.audit-detail-shell{padding:24px}.audit-detail-shell .audit-back{margin-bottom:14px}.audit-detail-shell .audit-actions{margin-top:14px}
.audit-landing-balance{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:58px;border-bottom:1px solid #e8e8ec;background:#fff}.audit-landing-balance span,.audit-landing-balance strong{font-size:13px}.audit-landing-balance strong{font-weight:500;font-variant-numeric:tabular-nums}
.audit-sheet-form{display:grid;gap:10px}.audit-sheet-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:24px;min-height:var(--financial-year-row-height);padding:10px 14px 10px 16px;border:1px solid #e1e1e6;border-radius:13px;background:#fff}.audit-sheet-row b{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-title-weight)}.audit-sheet-row input{height:42px;padding:0 13px;border-color:#dedee4;border-radius:9px;background:#fff;font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-value-weight);font-variant-numeric:tabular-nums;text-align:right}.audit-sheet-row input[readonly]{background:#fff;color:#1d1d1f;cursor:default}.audit-sheet-total{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:24px;min-height:72px;padding:11px 14px 11px 16px;border:1px solid #e1e1e6;border-radius:13px;background:#f7f7f9}.audit-sheet-total span b,.audit-sheet-total span small{display:block}.audit-sheet-total span b{font-size:var(--financial-year-primary-size);font-weight:600}.audit-sheet-total span small{margin-top:5px;color:#86868b;font-size:var(--financial-year-secondary-size);font-weight:400}.audit-sheet-total strong{padding:0 13px;font-size:var(--financial-year-primary-size);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.audit-sheet-error{min-height:0;margin:0;font-size:11px}.audit-sheet-error:empty{display:none}.audit-sheet-actions{margin-top:4px}.audit-sheet-actions button{font-size:13px}
.audit-sheet-row>span b,.audit-sheet-row>span small{display:block}.audit-sheet-row>span small{margin-top:5px;color:#86868b;font-size:var(--financial-year-secondary-size);font-weight:400}
.audit-history-list{gap:10px}
.audit-older-group{display:grid;gap:10px}.audit-older-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:12px;width:100%;min-height:38px;padding:0 12px;border:1px solid var(--store-tabs-border);border-radius:10px;background:var(--store-tabs-background);color:var(--store-tabs-text);font-size:12px;text-align:left}.audit-older-toggle small{margin:0;color:#86868b;font-size:10px}.audit-older-toggle i{color:#8e8e93;font-size:17px;font-style:normal;font-weight:300;text-align:center;transition:transform .16s ease}.audit-older-group.expanded .audit-older-toggle i{transform:rotate(180deg)}.audit-older-months{display:grid;gap:10px}.audit-older-months[hidden]{display:none}
.audit-history-row{gap:24px;min-height:var(--financial-year-row-height);padding:13px 16px;border-color:#e1e1e6}
.audit-history-row.current{background:#f7f7f9}
.audit-history-row>span:first-child b{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-title-weight)}
.audit-history-row small{margin-top:5px;color:#86868b;font-size:var(--financial-year-secondary-size);font-weight:400}
.audit-history-row>span:last-child{display:grid;grid-template-columns:auto 18px;align-items:center;gap:18px}
.audit-history-row strong{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-value-weight);white-space:nowrap}
.audit-history-row i{font-size:18px;font-weight:300}
@media(max-width:1100px){.audit-landing{grid-template-columns:1fr}.audit-current-card,.audit-history-card{min-height:auto}}@media(max-width:750px){.audit-panel{padding:16px}.audit-current-card,.audit-history-card{padding:18px}.audit-sheet-row,.audit-sheet-total{grid-template-columns:1fr;gap:8px}.audit-sheet-row input{max-width:none}.audit-sheet-total strong{padding:0;text-align:right}.audit-sheet-actions{justify-content:stretch;flex-wrap:wrap}.audit-sheet-actions button{flex:1}.audit-compare-toolbar{align-items:stretch;flex-direction:column}.audit-compare-toolbar .audit-compare-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}

/* Settings uses the same restrained Apple-style hierarchy as Gifts, Reports,
   and Audit: one landing list, then one focused page per task. */
.settings-panel{padding:24px}.settings-landing-panel{padding:24px}.settings-groups{display:grid;gap:28px}.settings-group>h2{margin:0 0 9px!important;padding:0 3px;color:#6e6e73!important;font-family:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;font-size:10px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:.065em!important;text-transform:uppercase}.settings-row-list{overflow:hidden;border:1px solid #dedee4;border-radius:13px;background:#fff}.settings-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto 16px;align-items:center;gap:14px;width:100%;min-height:76px;padding:12px 16px;border:0;border-radius:0;background:#fff;text-align:left}.settings-row+.settings-row{border-top:1px solid #e7e7eb}.settings-row:hover{background:#fafafa}.settings-row-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:#f1f1f3;color:#4d4d53}.settings-row-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.settings-row-copy{min-width:0}.settings-row-copy b,.settings-row-copy small{display:block}.settings-row-copy b{color:#1d1d1f;font-size:13px;font-weight:600;letter-spacing:-.01em}.settings-row-copy small{margin-top:5px;color:#777780;font-size:11px;font-weight:400;line-height:1.35}.settings-row-detail{color:#6e6e73;font-size:11px;font-weight:400;white-space:nowrap}.settings-row>i{color:#8e8e93;font-size:20px;font-style:normal;font-weight:300;text-align:right}.settings-back{margin-bottom:16px}.settings-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin-bottom:14px;border:1px solid #dedee4;border-radius:13px;background:#fafafa}.settings-summary-strip>div{display:flex;min-width:0;min-height:82px;flex-direction:column;justify-content:center;padding:16px 18px}.settings-summary-strip>div+div{border-left:1px solid #e1e1e6}.settings-summary-strip span{color:#777780;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.settings-summary-strip b{overflow:hidden;margin-top:8px;color:#1d1d1f;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.settings-action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:82px;padding:16px 18px;border:1px solid #e1e1e6;border-radius:13px;background:#fff}.settings-action-card+.settings-action-card{margin-top:10px}.settings-action-card h3{margin:0;color:#1d1d1f;font-size:13px;font-weight:600}.settings-action-card p{margin:5px 0 0;color:#777780;font-size:11px}.settings-action-card button{min-width:170px}.settings-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;color:#777780;font-size:11px}.settings-check-banner{display:flex;align-items:center;gap:14px;min-height:82px;padding:16px 18px;border:1px solid #dedee4;border-radius:13px;background:#fafafa}.settings-check-banner .settings-row-icon{flex:0 0 48px}.settings-check-banner b,.settings-check-banner small{display:block}.settings-check-banner b{font-size:14px;font-weight:600}.settings-check-banner small{margin-top:5px;color:#777780;font-size:11px}.settings-check-list{overflow:hidden;margin-top:12px;border:1px solid #e1e1e6;border-radius:13px}.settings-check-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;padding:12px 16px}.settings-check-row+.settings-check-row{border-top:1px solid #e7e7eb}.settings-check-row b,.settings-check-row small{display:block}.settings-check-row b{font-size:12px;font-weight:500}.settings-check-row small{margin-top:4px;color:#777780;font-size:10px}.settings-check-row strong{font-size:11px;font-weight:600}.settings-check-row strong.passed{color:#267a45}.settings-check-row strong.attention{color:#b42318}.settings-archive-tabs{margin:0 0 14px}.settings-archive-tabs button span{margin-left:5px;color:#86868b;font-size:10px}.settings-panel .sticky-table-wrap{border:1px solid #e1e1e6;border-radius:13px}.settings-panel .sticky-table-wrap table{min-width:680px}.settings-panel .sticky-table-wrap th:last-child,.settings-panel .sticky-table-wrap td:last-child{text-align:right}.settings-panel .sticky-table-wrap td:last-child button{min-width:116px}.settings-about-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid #e1e1e6;border-radius:13px;background:#fff}.settings-about-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:12px 16px;border-bottom:1px solid #e7e7eb}.settings-about-row:nth-child(odd){border-right:1px solid #e7e7eb}.settings-about-row:nth-last-child(-n+2){border-bottom:0}.settings-about-row span{color:#777780;font-size:11px}.settings-about-row b{font-size:12px;font-weight:500;text-align:right}.settings-local-note{display:flex;align-items:center;gap:14px;margin-top:14px;padding:16px 18px;border:1px solid #e1e1e6;border-radius:13px;background:#fafafa}.settings-local-note>.settings-row-icon{flex:0 0 48px}.settings-local-note b{font-size:13px;font-weight:600}.settings-local-note p{margin:5px 0 0;color:#777780;font-size:11px}.settings-panel .workbook-review{margin-top:24px;padding-top:24px;border-top:1px solid #e1e1e6}.settings-panel .workbook-review h2{font-size:17px}.settings-panel .workbook-review h3{font-size:14px}.settings-panel .workbook-review>.actions{justify-content:flex-end;margin-top:14px}.imported-summary{margin-top:0}.settings-panel .error:empty{display:none}
@media(max-width:1050px){.settings-row{grid-template-columns:44px minmax(0,1fr) 16px}.settings-row-icon{width:44px;height:44px}.settings-row-detail{display:none}.settings-summary-strip{grid-template-columns:1fr}.settings-summary-strip>div+div{border-left:0;border-top:1px solid #e1e1e6}.settings-about-card{grid-template-columns:1fr}.settings-about-row:nth-child(odd){border-right:0}.settings-about-row:nth-last-child(-n+2){border-bottom:1px solid #e7e7eb}.settings-about-row:last-child{border-bottom:0}}

/* Report totals share three equal cells so every label and amount has the same
   horizontal centre, including at the compact desktop breakpoint. */
.report-value-footer>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(660px,100%)}
.report-value-footer>div>span{display:grid;min-width:0;justify-items:center;padding:0 20px;text-align:center}
.report-value-footer b{font-variant-numeric:tabular-nums}
@media(max-width:1050px){.report-value-footer>div{width:100%}}

/* Settings reuses the financial-year row and summary type scale used by Gifts,
   Reports and Audit. */
.settings-row{grid-template-columns:40px minmax(0,1fr) auto 16px;gap:12px;min-height:var(--financial-year-row-height);padding:10px 16px}
.settings-row-icon{width:40px;height:40px;border-radius:9px}
.settings-row-icon svg{width:22px;height:22px}
.settings-row-copy b{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-title-weight);letter-spacing:0}
.settings-row-copy small{margin-top:var(--financial-year-secondary-gap);font-size:var(--financial-year-secondary-size);line-height:1.35}
.settings-row-detail{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-value-weight)}
.settings-summary-primary{background:#fff}
.settings-summary-primary>div{min-height:var(--summary-card-height);padding:18px 24px}
.settings-summary-primary span{font-size:var(--summary-label-size);letter-spacing:.02em}
.settings-summary-primary b{margin-top:9px;font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:var(--summary-value-size);font-weight:600;letter-spacing:-.02em}
.settings-action-card{min-height:var(--financial-year-row-height);padding:12px 16px}
.settings-action-card h3{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-title-weight)}
.settings-action-card p{margin-top:var(--financial-year-secondary-gap);font-size:var(--financial-year-secondary-size)}
.settings-check-row{min-height:var(--financial-year-row-height)}
.settings-check-row b{font-size:var(--financial-year-primary-size);font-weight:var(--financial-year-title-weight)}
.settings-check-row small{font-size:var(--financial-year-secondary-size)}
.settings-about-row span,.settings-about-row b{font-size:var(--financial-year-primary-size)}
.settings-about-row b{font-weight:var(--financial-year-value-weight)}
.settings-group{display:grid;gap:14px}
.settings-group>h2{margin:0!important;padding:0!important}
@media(max-width:1050px){.settings-row{grid-template-columns:40px minmax(0,1fr) 16px}.settings-row-icon{width:40px;height:40px}}

/* Inventory valuation stays with stock; month views use a compact calendar. */
.inventory-value-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.month-calendar-picker{position:relative;z-index:15}
.month-calendar-picker>button{display:flex;align-items:center;gap:10px;min-width:190px;justify-content:space-between;padding:10px 13px;border:1px solid #dedee4;border-radius:10px;background:#fff;color:#1d1d1f;font-size:13px;font-weight:500;white-space:nowrap}
.month-calendar-picker>button svg{width:16px;height:16px;fill:none;stroke:#707078;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.month-calendar-picker>button span{flex:1;text-align:left}
.month-calendar-picker>button i{width:8px;height:8px;border-right:1.5px solid #777780;border-bottom:1.5px solid #777780;transform:rotate(45deg) translateY(-2px)}
.month-calendar-menu{position:absolute;top:calc(100% + 8px);right:0;width:276px;padding:14px;border:1px solid #dedee4;border-radius:13px;background:#fff;box-shadow:0 12px 36px #00000018}
.month-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:12px;text-align:center}
.month-calendar-head strong{font-size:14px;font-weight:600}
.month-calendar-head button{width:36px;height:34px;padding:0;border:1px solid #e1e1e6;background:#fafafa;font-size:20px;line-height:1}
.month-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.month-calendar-grid button{min-height:42px;padding:8px;border:1px solid transparent;border-radius:8px;background:#f5f5f7;color:#55555d;font-size:12px}
.month-calendar-grid button:hover{background:#ededf1}
.month-calendar-grid button.selected{border-color:#1d1d1f;background:#1d1d1f;color:#fff}
.month-calendar-grid button.current:not(.selected){border-color:#c8c8cf;color:#1d1d1f;font-weight:600}
.overview-month-picker{width:min(100%,360px);margin-inline:auto}
.overview-month-picker>button{width:100%;min-height:44px;font-size:14px}
.overview-month-picker .month-calendar-menu{right:auto;left:50%;width:min(276px,calc(100vw - 40px));transform:translateX(-50%)}
.purchase-list-footer{padding:10px 0}
.purchase-footer-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px);min-width:0;margin-left:auto;text-align:right}
.purchase-footer-totals>span{box-sizing:border-box;min-width:0;padding:0 14px}
.purchase-footer-totals>span+span{border-left:1px solid #e1e1e6}
.purchase-footer-totals small,.purchase-footer-totals strong{display:block}
.purchase-footer-totals small{margin-bottom:4px;color:#6e6e73;font-size:10px;font-weight:400;white-space:nowrap}
.purchase-footer-totals strong{color:#1d1d1f;font-size:14px;font-weight:600;white-space:nowrap}
@media(max-width:750px){.purchase-list-footer{align-items:flex-start;flex-direction:column}.purchase-footer-totals{width:100%}.purchase-footer-totals>span{padding:0 12px 0 0}.purchase-footer-totals>span+span{padding-left:12px}}
.monthly-stock-movement{margin:20px 0 24px}
.monthly-stock-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
#devicePage .monthly-stock-heading h2{margin:0;color:#1d1d1f;font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:var(--card-heading-size);font-weight:var(--card-heading-weight);line-height:var(--card-heading-line-height);letter-spacing:var(--card-heading-letter-spacing)}
.monthly-stock-heading p{margin:0;font-size:12px}
.monthly-stock-flow.summary{grid-template-columns:repeat(5,minmax(0,1fr));margin:12px 0 0;padding:18px 0}
.monthly-stock-flow .metric{min-width:0}
.monthly-stock-flow .metric strong{font-size:var(--summary-value-size);font-weight:600}
.monthly-stock-flow .metric small{display:block;line-height:1.4}
.monthly-stock-flow .metric{justify-content:flex-start}
.monthly-stock-flow .metric label,.monthly-stock-flow .metric small{white-space:nowrap}
.monthly-stock-flow .metric small{font-size:10px;line-height:1.2}
@media(max-width:1150px){.monthly-stock-flow.summary{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}.monthly-stock-flow .metric:nth-child(4){border-left:0}}
@media(max-width:750px){.monthly-stock-heading{align-items:flex-start;flex-direction:column;gap:4px}.monthly-stock-flow.summary{grid-template-columns:1fr 1fr;row-gap:20px}.monthly-stock-flow .metric:nth-child(odd){border-left:0}.monthly-stock-flow .metric:nth-child(4){border-left:1px solid #e1e1e6}}
.stock-age-panel{margin-top:10px}
.stock-age-panel h2{margin:0 0 14px}
.stock-age-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #e1e1e6;border-radius:12px;background:#fff}
.stock-age-grid .stock-age-row{display:flex;min-width:0;min-height:70px;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:12px 16px;border:0;border-radius:0;background:#fff;text-align:left}
.stock-age-grid .stock-age-row+.stock-age-row{border-left:1px solid #e1e1e6}
.stock-age-grid .stock-age-row:hover{background:#fafafa}

.stock-age-grid .stock-age-row span{color:#6e6e73;font-size:12px}
.stock-age-grid .stock-age-row strong{color:#1d1d1f;font-size:14px;font-weight:600}
.nav-cable-group{display:grid;border-radius:10px}
.nav-cable-toggle{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border:0;border-radius:9px;background:transparent;color:#ccc;font-size:16px;text-align:left}
.nav-cable-toggle:hover{background:#292929;color:#fff}
.nav-cable-toggle svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-cable-toggle span{flex:1}
.nav-cable-group.active{background:#282828}
.nav-cable-group.active .nav-cable-toggle{color:#fff}
.cable-page-tabs{display:flex;gap:4px;width:fit-content;margin:0 0 20px;padding:4px;border:1px solid #dedee4;border-radius:11px;background:#eeeef2}
.cable-page-tabs button{min-width:100px;min-height:36px;padding:8px 16px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font-size:13px}
.cable-page-tabs button:hover{background:#e7e7eb;color:#1d1d1f}
.cable-page-tabs button.selected{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000012}
.inventory-value-summary,.cable-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}
.cable-stock-panel .panel-head{align-items:center;margin-bottom:18px}
.cable-stock-panel table{min-width:0;table-layout:fixed}
.cable-stock-panel th:nth-child(1){width:44%}
.cable-stock-panel th:nth-child(2){width:14%;text-align:center}
.cable-stock-panel th:nth-child(3),.cable-stock-panel th:nth-child(4){width:21%;text-align:right}
.cable-stock-panel td:nth-child(2){text-align:center}
.cable-stock-panel td:nth-child(3),.cable-stock-panel td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}
#devicePage .cable-stock-panel td.money-cell{ text-align:right!important; }
#devicePage .cable-only-panel table{min-width:0;table-layout:fixed}
#devicePage .cable-only-panel.purchases-panel th:nth-child(1){width:15%}
#devicePage .cable-only-panel.purchases-panel th:nth-child(2){width:38%}
#devicePage .cable-only-panel.purchases-panel th:nth-child(3){width:12%;text-align:center}
#devicePage .cable-only-panel.purchases-panel th:nth-child(4){width:17%;text-align:right}
#devicePage .cable-only-panel.purchases-panel th:nth-child(5){width:18%}
#devicePage .cable-only-panel.sales-panel th:nth-child(1){width:14%}
#devicePage .cable-only-panel.sales-panel th:nth-child(2){width:35%}
#devicePage .cable-only-panel.sales-panel th:nth-child(3){width:10%;text-align:center}
#devicePage .cable-only-panel.sales-panel th:nth-child(4),#devicePage .cable-only-panel.sales-panel th:nth-child(5){width:15%;text-align:right}
#devicePage .cable-only-panel.sales-panel th:nth-child(6){width:11%}
.report-summary-strip small{display:block;margin-top:5px;color:#86868b;font-size:10px;line-height:1.3;white-space:nowrap}

/* Apply the app-wide heading scale consistently across White Store, White
   Cable, cards, dialogs and reports; keep only the page/section/card hierarchy. */
:root{
  --card-heading-size:17px;
  --card-heading-weight:600;
  --card-heading-line-height:1.25;
  --card-heading-letter-spacing:-.2px;
}
#devicePage h1,#accessoryPage h1,dialog h1{
  color:#1d1d1f;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--page-heading-size);
  font-weight:var(--page-heading-weight);
  line-height:var(--page-heading-line-height);
  letter-spacing:var(--page-heading-letter-spacing);
}
#devicePage h2,#accessoryPage h2,dialog h2{
  color:#1d1d1f;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--section-heading-size);
  font-weight:var(--section-heading-weight);
  line-height:var(--section-heading-line-height);
  letter-spacing:var(--section-heading-letter-spacing);
}
#devicePage h3,#accessoryPage h3,dialog h3{
  color:#1d1d1f;
  font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--card-heading-size);
  font-weight:var(--card-heading-weight);
  line-height:var(--card-heading-line-height);
  letter-spacing:var(--card-heading-letter-spacing);
}
/* Center the accessory editor within the usable page area beside the sidebar. */
@media(min-width:1051px){dialog#editor{transform:translateX(119px)}}
@media(min-width:751px) and (max-width:1050px){dialog#editor{transform:translateX(95px)}}
#utilityPanel.purchases-panel .history-hint{display:none}
dialog.transaction-dialog .transaction-head h2{font-size:var(--section-heading-size);font-weight:var(--section-heading-weight);line-height:var(--section-heading-line-height);letter-spacing:var(--section-heading-letter-spacing)}

.monthly-performance-table{table-layout:fixed;text-align:left}
.monthly-performance-table th:first-child,.monthly-performance-table td:first-child{width:22%;text-align:left}
.monthly-performance-table th:not(:first-child),.monthly-performance-table td:not(:first-child){text-align:center}
.monthly-performance-table tbody tr:focus{outline:none}
.monthly-performance-table tbody tr:focus-visible{outline:2px solid #8e8e93;outline-offset:-2px;border-radius:4px}
#devicePage .stock-age-panel h2{margin-bottom:16px}
.overview-calendar-nav{grid-template-columns:34px minmax(175px,auto) 34px;align-items:center;justify-items:center;gap:10px;min-height:34px}
.overview-calendar-nav strong{align-self:center;line-height:1.2}
.overview-calendar-nav button{width:34px;height:34px;font-size:0;line-height:1;position:relative}
.overview-calendar-nav button::before{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;display:block}
.overview-calendar-nav button[data-overview-step="-1"]::before{transform:translateX(2px) rotate(-135deg)}
.overview-calendar-nav button[data-overview-step="1"]::before{transform:translateX(-2px) rotate(45deg)}

/* Responsive cleanup: keep the compact navigation available, preserve all five
   stock-age bands, and make narrow-screen controls comfortable to tap. */
@media(max-width:900px){
  aside{
    position:sticky;
    inset:0 0 auto;
    z-index:30;
    width:100%;
    padding:10px 16px 8px;
    box-shadow:0 1px 0 #00000012;
  }
  main{margin:0;padding:20px}
  .approved-logo{width:184px;max-width:184px;margin:0 auto}
  .brand{display:flex;justify-content:center;width:auto;margin:0;overflow:visible}
  nav{
    position:relative;
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:4px;
    overflow-x:auto;
    overflow-y:hidden;
    margin:6px -4px 0;
    padding:0 4px 4px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  nav::-webkit-scrollbar{display:none}
  nav::after{
    content:"›";
    position:sticky;
    right:0;
    z-index:2;
    display:grid;
    flex:0 0 24px;
    height:44px;
    margin-left:-24px;
    place-items:center;
    background:linear-gradient(90deg,#17171700 0%,#171717 42%);
    color:#b8b8bd;
    font-size:22px;
    line-height:1;
    pointer-events:none;
  }
  nav button,nav button:nth-child(n+4){
    display:flex;
    flex:0 0 auto;
    align-items:center;
    min-height:44px;
    padding:8px 10px;
    font-size:12px;
    white-space:nowrap;
  }
  nav svg{width:16px;height:16px}
}

@media(min-width:901px) and (max-width:1050px){
  aside{width:170px;padding-right:12px;padding-left:12px}
  main{margin-left:170px;padding:18px}
}

.stock-age-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.stock-age-grid .stock-age-row{border-left:0}
.stock-age-grid .stock-age-row:nth-child(n+2){border-left:1px solid #e1e1e6}
.overview-range{grid-template-columns:repeat(3,minmax(0,1fr))}
.overview-calendar-nav{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
.overview-calendar-nav button{width:44px;height:44px;min-height:44px}
.overview-calendar-nav button{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#6e6e73;
}
.overview-calendar-nav button::before{width:7px;height:7px;border-width:1.5px}

@media(max-width:900px){
  #utilityPanel.reports-flow table{min-width:760px}
  #utilityPanel.report-month-view table{min-width:1020px}
  #utilityPanel.reports-flow .report-year-months table{min-width:760px}
  .audit-compare-list::before{
    content:"Swipe sideways to compare all figures";
    position:sticky;
    left:0;
    z-index:2;
    display:block;
    width:max-content;
    max-width:100%;
    margin-bottom:2px;
    padding:6px 9px;
    border-radius:6px;
    background:#f5f5f7;
    color:#6e6e73;
    font-size:10px;
    line-height:1.3;
  }
  .performance-table-scroll,
  .table-wrap{scrollbar-width:thin;scrollbar-color:#a7a7ad #efeff2}
  .performance-table-scroll::-webkit-scrollbar,
  .table-wrap::-webkit-scrollbar{height:6px}
  .performance-table-scroll::-webkit-scrollbar-thumb,
  .table-wrap::-webkit-scrollbar-thumb{border-radius:999px;background:#a7a7ad}
  .performance-table-scroll::before,
  #devicePage .table-wrap.sticky-table-wrap:has(table)::before,
  #utilityPanel .table-wrap.sticky-table-wrap:has(table)::before{
    content:"Swipe sideways to see all columns";
    position:sticky;
    left:0;
    z-index:2;
    display:block;
    width:max-content;
    max-width:100%;
    margin-bottom:4px;
    padding:6px 9px;
    border-radius:6px;
    background:#f5f5f7;
    color:#6e6e73;
    font-size:10px;
    line-height:1.3;
  }
}

@media(max-width:750px){
  aside{padding:8px 12px 6px}
  .approved-logo{width:162px;max-width:162px}
  nav{margin-top:4px}
  .overview-range button{min-height:44px;padding-right:5px;padding-left:5px;font-size:11px}
  .overview-calendar-nav{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}
  .overview-calendar-nav strong{font-size:12px}
  .stock-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stock-age-grid .stock-age-row,
  .stock-age-grid .stock-age-row:nth-child(n+2){border-left:0}
  .stock-age-grid .stock-age-row:nth-child(even){border-left:1px solid #e1e1e6}
  .stock-age-grid .stock-age-row:nth-child(n+3){border-top:1px solid #e1e1e6}
  .stock-age-grid .stock-age-row{padding:12px 10px}
  .stock-age-grid .stock-age-row span{font-size:11px;white-space:nowrap}
  .settings-action-card{grid-template-columns:minmax(0,1fr);gap:12px}
  .settings-action-card button{width:100%;min-width:0;min-height:44px}
  .settings-inline-actions{align-items:flex-start;flex-direction:column;gap:10px}
  .cable-stock-panel .table-wrap,
  .cable-only-panel .table-wrap{overflow-x:auto;scrollbar-width:thin}
  .cable-stock-panel table,
  .cable-only-panel table{min-width:620px}
  .store-tabs button,
  .segmented button,
  .cable-page-tabs button,
  .report-kind-tabs button,
  .audit-compare-tabs button,
  .report-month-navigation button,
  .period-picker>button,
  .period-option,
  .period-back,
  .audit-older-toggle,
  .footer button{min-height:44px}
}

/* Keep the period label and its navigation arrows on one centered line. */
.overview-calendar-nav{
  display:grid;
  grid-template-columns:44px max-content 44px;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  min-height:44px;
  gap:clamp(8px,2vw,16px);
  justify-items:center;
}
.overview-calendar-nav strong{
  align-self:center;
  justify-self:center;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
.overview-calendar-nav button{
  width:44px;
  min-width:44px;
  height:44px;
  align-self:center;
  justify-self:center;
}
.overview-calendar-nav button::before{position:relative;top:16px}

.sort-control{position:relative;width:100%;min-width:0}
.sort-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #dedee4;border-radius:10px;background:#fff;color:#1d1d1f;font:inherit;font-size:14px;line-height:1.2;text-align:left}
.sort-picker>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sort-chevron{flex:0 0 9px;width:9px;height:9px;margin:-4px 2px 0 4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.sort-options{position:absolute;z-index:25;top:calc(100% + 6px);right:0;width:max(100%,230px);max-height:min(360px,60vh);overflow:auto;padding:4px;border:1px solid #dedee4;border-radius:10px;background:#fff;color:#1d1d1f;box-shadow:0 10px 28px #0002}
.sort-options button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:9px 11px;border:0;border-radius:7px;background:#fff;color:#1d1d1f;font:inherit;font-size:14px;font-weight:400;text-align:left;white-space:nowrap}
.sort-options button:hover,.sort-options button:focus-visible{background:#f5f5f7}
.sort-options button[aria-checked="true"]{background:#f1f1f4;font-weight:500}
.sort-options button[aria-checked="true"]::after{content:"✓";margin-left:18px;color:#1d1d1f}
.device-filters{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(155px,1fr))}
.utility-search-with-sort-action{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px) auto;align-items:center;justify-content:initial;gap:12px;margin-bottom:14px}
.utility-search-with-sort-action input{width:100%;min-width:0}
.cable-stock-actions{display:flex;align-items:center;gap:10px}
.cable-stock-actions .sort-picker{width:210px}
@media(max-width:1050px){.device-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.device-filters input{grid-column:1/-1}}
@media(max-width:750px){.device-filters{grid-template-columns:1fr}.device-filters input{grid-column:auto}.utility-search-with-sort-action{grid-template-columns:minmax(0,1fr) auto;gap:8px}.utility-search-with-sort-action input{grid-column:1/-1}.utility-search-with-sort-action .sort-picker{min-width:0}.cable-stock-actions{flex-wrap:wrap;justify-content:flex-end}.cable-stock-actions .sort-picker{width:min(210px,48vw)} }
@media(max-width:420px){.utility-search-with-sort-action{grid-template-columns:1fr}.utility-search-with-sort-action input{grid-column:auto}.utility-search-with-sort-action .compact-record{width:100%}.cable-stock-panel .panel-head{align-items:flex-start;flex-direction:column}.cable-stock-actions{width:100%;justify-content:space-between}.cable-stock-actions .sort-picker{width:100%}}

/* Use the platform UI font consistently and keep labels in their authored case. */
:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root *{font-family:inherit!important}
.metric label,th,.monthly-performance-table thead th,.type-menu h3,.type-manage-group h3,.transaction-head>div:first-child>span,.relationship-filter-wrap>span,.audit-compare-columns,.settings-group>h2,.settings-summary-strip span{ text-transform:none!important }
:root{color-scheme:light}
.cable-stock-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 210px 140px;align-items:center;gap:12px;margin-bottom:14px}
.cable-stock-toolbar input{width:100%;min-width:0}
.cable-stock-toolbar .sort-picker{width:100%;min-height:44px;font-size:14px}
.cable-stock-toolbar>.compact-record{width:140px;min-width:140px;min-height:44px;padding:10px 12px;white-space:nowrap;flex:none}
@media(max-width:750px){.cable-stock-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.cable-stock-toolbar input{grid-column:1/-1}.cable-stock-toolbar>.compact-record{width:100%;min-width:0}}
@media(max-width:420px){.cable-stock-toolbar{grid-template-columns:1fr}.cable-stock-toolbar input{grid-column:auto}.cable-stock-toolbar>.compact-record{width:100%}}
.device-filters .device-type-picker>button,.device-filters .condition-picker>button,.device-filters .sort-picker{font-family:inherit!important;font-size:14px!important;font-weight:400;line-height:1.25}
.device-filters .type-grid button,.device-filters .condition-menu button,.device-filters .sort-options button{font-family:inherit!important;font-size:14px!important;font-weight:400;line-height:1.25}
.type-custom-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.type-name-origin{padding:4px 8px;border-radius:999px;background:#ededf0;color:#66666e;font-size:11px;white-space:nowrap}
@media(max-width:520px){.type-custom-row{grid-template-columns:minmax(0,1fr) auto}.type-name-origin{grid-column:2;grid-row:1}.type-custom-row .danger{grid-column:2;grid-row:2;padding:5px 10px}}

/* Keep sales money aligned to the right edge of its column and footer. */
.sales-panel th:nth-child(6),.sales-panel td:nth-child(6),.sales-panel th:nth-child(7),.sales-panel td:nth-child(7){text-align:right}
.sales-list-footer .sales-footer-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px);justify-content:stretch;margin-left:auto;text-align:right}
.sales-footer-totals>span{box-sizing:border-box;min-width:0;padding:0 14px;text-align:right}

/* Financial-year selector: adjacent year tiles with a clear active state. */
.overview-year-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.overview-year-tile{display:grid;align-content:center;justify-items:center;gap:3px;min-width:0;min-height:56px;padding:7px 4px;border:1px solid #e1e1e6;border-radius:11px;background:#f5f5f7;color:#5f5f68;font:inherit;line-height:1.15;cursor:pointer}
.overview-year-tile strong{font-size:14px;font-weight:500;white-space:nowrap}
.overview-year-tile small{font-size:9px;font-weight:500;line-height:1;white-space:nowrap}
.overview-year-tile.selected{border-color:#1d1d1f;background:#1d1d1f;color:#fff}
.overview-year-tile.selected strong{font-size:15px;font-weight:600}
.overview-year-tile:focus-visible{outline:2px solid #777780;outline-offset:2px}
.overview-all-years{display:grid;place-items:center;min-height:42px;color:#5f5f68;font-size:13px;font-weight:500}
@media(max-width:580px){.overview-year-tiles{gap:6px}.overview-year-tile{min-height:52px;padding:6px 2px}.overview-year-tile strong{font-size:13px}.overview-year-tile.selected strong{font-size:14px}.overview-year-tile small{font-size:8px}}

.audit-section-tabs{width:max-content;max-width:100%;margin:0 0 18px}
.audit-page-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 18px}
.audit-page-navigation .audit-back{margin:0 0 4px;padding:5px 4px}
.audit-page-navigation .audit-section-tabs{margin:0}
.audit-panel.audit-ledger-shell{padding:0;border:0;background:transparent}
.audit-section-tabs button{min-width:116px;padding:9px 14px;font-size:13px;white-space:nowrap}
.audit-ledger{padding:22px;border:1px solid #e1e1e6;border-radius:15px;background:#fff}
.audit-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.audit-ledger-head-actions{display:flex;align-items:stretch;gap:10px;width:max-content;max-width:100%;flex:0 0 auto}
.audit-ledger-head h2{margin:0;font-size:var(--section-heading-size);font-weight:var(--section-heading-weight)}
.audit-ledger-head p{margin:6px 0 0;color:#777780;font-size:13px}
.audit-ledger-total{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:96px;min-height:40px;box-sizing:border-box;padding:8px 14px;border:1px solid #e1e1e6;border-radius:9px;background:#f7f7f9;text-align:right}
.audit-ledger-add-toggle{min-height:40px;padding:0 14px;border:1px solid #dedee4;border-radius:9px;background:#fff;color:#1d1d1f;font-size:13px;font-weight:500;white-space:nowrap}
.audit-ledger-add-toggle:hover{background:#f7f7f9}
.audit-ledger-form[hidden]{display:none}
.audit-ledger-total strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.audit-ledger-form{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end;gap:10px;margin:0 0 18px;padding:14px;border:1px solid #e1e1e6;border-radius:12px;background:#fafafa}
.audit-ledger-form>label{display:grid;gap:6px;min-width:0}
.audit-ledger-form>label>span{color:#6e6e73;font-size:11px;font-weight:500}
.audit-ledger-form input,.audit-ledger-form select{width:100%;min-width:0;height:40px;padding:0 10px;border:1px solid #dedee4;border-radius:8px;background:#fff;font:inherit;font-size:13px}
.audit-ledger-select{position:relative;display:block;min-width:0}
.audit-ledger-select select{appearance:none;-webkit-appearance:none;padding-right:34px!important}
.audit-ledger-select::after{position:absolute;top:14px;right:14px;width:8px;height:8px;border-right:2px solid #1d1d1f;border-bottom:2px solid #1d1d1f;content:"";transform:rotate(45deg);pointer-events:none}
.audit-ledger-form input[type=number]{appearance:textfield;-moz-appearance:textfield}
.audit-ledger-form input[type=number]::-webkit-inner-spin-button,.audit-ledger-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{appearance:textfield;-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.date-entry-control{position:relative;display:block;width:100%;min-width:0}
.date-entry-control>input[data-date-entry]{padding-right:46px!important}
.date-picker-trigger{position:absolute;top:50%;right:6px;z-index:1;display:grid;place-items:center;width:32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:6px!important;border:0!important;border-radius:8px!important;outline:0;background:transparent!important;color:#777780!important;box-shadow:none!important;transform:translateY(-50%)}
.date-picker-trigger:hover,.date-picker-trigger[aria-expanded=true]{background:#f2f2f5!important;color:#1d1d1f!important}
.date-picker-trigger:focus-visible{outline:2px solid #86868b!important;outline-offset:1px!important}
.date-picker-trigger svg,.date-picker-month-step svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.date-picker-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;display:none;width:294px;max-width:calc(100vw - 36px);padding:12px;border:1px solid #dedee4;border-radius:14px;background:#fff;box-shadow:0 12px 32px #1d1d1f1a}
.date-entry-control.open .date-picker-popover{display:block}
.date-picker-heading{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:10px;text-align:center}
.date-picker-heading>strong{font-size:15px;font-weight:600;white-space:nowrap}
.date-picker-month-step{display:grid;place-items:center;width:34px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:6px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#4d4d52!important}
.date-picker-month-step:hover{background:#f4f4f6!important}
.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.date-picker-weekdays{margin-bottom:4px;color:#777780;font-size:11px;font-weight:500}
.date-picker-weekdays span{display:grid;place-items:center;height:30px}
.date-picker-empty,.date-picker-day{display:grid;place-items:center;aspect-ratio:1;min-width:0;max-width:36px;justify-self:center}
.date-picker-day{width:100%!important;height:auto!important;min-height:34px!important;margin:0!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#1d1d1f!important;font-size:12px!important;font-weight:400!important}
.date-picker-day:hover{background:#f2f2f5!important}
.date-picker-day.today{box-shadow:inset 0 0 0 1px #c7c7cc}
.date-picker-day.selected,.date-picker-day.selected:hover{background:#1d1d1f!important;color:#fff!important}
@media(max-width:580px){.date-picker-popover{width:294px}}
.audit-ledger-form .audit-ledger-notes{grid-column:span 4}
.audit-ledger-submit{grid-column:5;display:flex;justify-content:flex-end}
.audit-ledger-submit button{min-height:40px;padding:0 16px;font-size:13px}
.audit-ledger-error{grid-column:1/-1;margin:0;font-size:12px}
.audit-ledger-table-wrap{overflow-x:auto}
.audit-ledger-table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}
.audit-ledger-table th,.audit-ledger-table td{padding:12px 10px;border-bottom:1px solid #e8e8ec;font-size:12px;vertical-align:top}
.audit-ledger-table th{color:#777780;font-size:11px;font-weight:500;line-height:1.25;text-transform:none;white-space:nowrap}
.audit-ledger-table th:nth-last-child(-n+2),.audit-ledger-table td:nth-last-child(-n+2){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.audit-ledger-table td b{font-weight:500}
.audit-ledger-table .audit-ledger-change{font-variant-numeric:tabular-nums}
.audit-ledger-table .audit-ledger-change.increase{color:#1d1d1f}
.audit-ledger-table .audit-ledger-change.decrease{color:#6e6e73}
.audit-ledger-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}
.audit-ledger-actions button{min-height:30px;padding:5px 9px;font-size:11px}
.audit-ledger-table .subline{display:block;margin-top:4px;color:#777780;font-size:11px;white-space:normal}
.audit-ledger-empty{padding:28px 12px;color:#777780;font-size:13px;text-align:center}
.audit-ledger-locked{margin:0 0 18px;padding:13px;border-radius:10px;background:#f5f5f7;color:#6e6e73;font-size:13px}
.audit-ledger-groups{display:grid;gap:8px}
.audit-ledger-party{overflow:hidden;border:1px solid #e1e1e6;border-radius:11px;background:#fff}
.audit-ledger-party-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;padding:10px 14px;border:0;background:#fff;color:#1d1d1f;text-align:left}
.audit-ledger-party-heading:hover{background:#fafafa}
.audit-ledger-party-name{display:flex;align-items:center;gap:11px;min-width:0}
.audit-ledger-party-name>b{overflow:hidden;font-size:14px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
.audit-ledger-party-chevron{width:8px;height:8px;flex:0 0 auto;border-right:1.7px solid #6e6e73;border-bottom:1.7px solid #6e6e73;transform:rotate(-45deg);transition:transform .15s ease}
.audit-ledger-party-heading[aria-expanded=true] .audit-ledger-party-chevron{transform:rotate(45deg)}
.audit-ledger-party-count{color:#777780;font-size:11px;white-space:nowrap}
.audit-ledger-party-total{display:grid;justify-items:end;gap:2px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.audit-ledger-party-total small{color:#777780;font-size:10px}
.audit-ledger-party-total strong{font-size:13px;font-weight:550}
.audit-ledger-party-content[hidden]{display:none}
.audit-ledger-party-content .audit-ledger-table-wrap{border-top:1px solid #e8e8ec}
.audit-ledger-party-table{min-width:580px}
.audit-ledger-party-table th,.audit-ledger-party-table td{padding:10px 14px}
.audit-ledger-party-table th:first-child,.audit-ledger-party-table td:first-child{padding-left:16px}
.audit-ledger-party-table th:nth-last-child(2),.audit-ledger-party-table td:nth-last-child(2){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.audit-ledger-party-table th:last-child,.audit-ledger-party-table td:last-child{text-align:right}
@media(max-width:850px){.audit-ledger-form{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-ledger-form .audit-ledger-notes{grid-column:1/-1}.audit-ledger-submit{grid-column:1/-1}}
@media(max-width:580px){.audit-section-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.audit-section-tabs button{min-width:0;padding:8px 5px;font-size:11px}.audit-ledger{padding:14px}.audit-ledger-head{flex-direction:row;align-items:center;gap:12px}.audit-ledger-head p{max-width:340px;font-size:11px;line-height:1.35}.audit-ledger-head-actions{display:flex;width:auto;grid-template-columns:none}.audit-ledger-total{width:auto;box-sizing:border-box;text-align:right}.audit-ledger-add-toggle{width:auto}.audit-ledger-form{grid-template-columns:1fr}.audit-ledger-form .audit-ledger-notes,.audit-ledger-submit,.audit-ledger-error{grid-column:auto}.audit-ledger-submit button{width:100%}.audit-ledger-party-heading{min-height:50px;padding:9px 11px}.audit-ledger-party-name{gap:8px}.audit-ledger-party-name>b{font-size:13px}.audit-ledger-party-count{font-size:10px}.audit-ledger-party-total strong{font-size:12px}}

/* Purchase and sale forms share consistent labels and control dimensions. */
#deviceModal .form-grid>label{gap:7px;color:#6e6e73;font-size:13px;line-height:1.3;text-transform:none}
#deviceModal .form-grid>label>input,#deviceModal .form-grid>label>select{box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:0 12px;border:1px solid #dedee4;border-radius:9px;background:#fff;color:#1d1d1f;font:400 14px/1.25 "SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
#deviceModal .form-grid>label>textarea{box-sizing:border-box;width:100%;min-height:92px;padding:10px 12px;border:1px solid #dedee4;border-radius:9px;background:#fff;color:#1d1d1f;font:400 14px/1.4 "SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
#deviceModal .form-grid input::placeholder,#deviceModal .form-grid textarea::placeholder{color:#a1a1a6;opacity:1}
#deviceModal .device-form-card .card-title h3{margin:0;color:#6e6e73;font-size:13px;font-weight:500;line-height:1.3;text-transform:none}
#deviceModal .modal-head h2{text-transform:capitalize}
#deviceModal .device-form-card .card-actions{display:flex;align-items:center;gap:8px}
#deviceModal .device-form-card .card-actions button{margin:0!important;padding:7px 12px;font-size:12px;text-transform:capitalize}
#deviceModal #devicePurchase .footer button,#deviceModal #deviceSale .footer button{box-sizing:border-box;width:112px;min-width:112px;height:44px;min-height:44px;padding:0 12px}
#deviceModal #saleEstimate{font-size:12px;color:#777780;line-height:1.45}
#deviceModal .contact-autocomplete-field{position:relative;z-index:3}
#deviceModal .contact-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;padding:5px;background:#fff;border:1px solid #dedee4;border-radius:10px;box-shadow:0 10px 26px #0002;z-index:20}
#deviceModal .contact-suggestion{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 11px;border:0;border-radius:7px;background:#fff;text-align:left;font:inherit}
#deviceModal .contact-suggestion:hover,#deviceModal .contact-suggestion[aria-selected="true"]{background:#f2f2f5}
#deviceModal .contact-suggestion small{color:#777780;font-size:12px}
#deviceModal select,#deviceModal select option{background-color:#fff;color:#1d1d1f;color-scheme:light}
#devicePage .sales-panel th:nth-child(6),#devicePage .sales-panel th:nth-child(7){text-align:right}
#devicePage .sales-panel td:nth-child(6).money-cell,#devicePage .sales-panel td:nth-child(7).money-cell{text-align:right!important}
#devicePage .purchases-panel th:nth-child(6){text-align:right}
#devicePage .purchases-panel td:nth-child(6).money-cell{text-align:right!important}
.serial-picker{display:grid;gap:8px;margin-top:4px}.serial-picker-title{font-size:13px;font-weight:500}.serial-picker-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:190px;overflow:auto;padding:2px}.serial-picker-options .serial-choice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid #dedee4;border-radius:9px;background:#fff;cursor:pointer}.serial-picker-options .serial-choice:has(input:checked){border-color:#1d1d1f;background:#f0f0f2;box-shadow:inset 0 0 0 1px #1d1d1f}.serial-picker-options .serial-choice input[type=checkbox]{appearance:auto;box-sizing:border-box;width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0!important;border:0!important;border-radius:4px;background:transparent;accent-color:#202022;cursor:pointer}.serial-picker-options .serial-choice span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.serial-picker-options .serial-choice small,.serial-picker>small{color:#777780;font-size:12px}.serial-picker>small{margin:0}
.sale-inventory-card{display:grid;gap:14px}.sale-stock-count{color:#777780;font-size:12px}.sale-inventory-search{display:grid;gap:7px;color:#6e6e73;font-size:13px}.sale-inventory-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px;max-height:360px;overflow:auto;padding:2px}.sale-inventory-unit{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid #dedee4;border-radius:9px;background:#fff;cursor:pointer}.sale-inventory-unit[hidden]{display:none!important}.sale-inventory-unit:has(input:checked){border-color:#1d1d1f;background:#f0f0f2;box-shadow:inset 0 0 0 1px #1d1d1f}.sale-inventory-unit input[type=checkbox]{appearance:auto;box-sizing:border-box;width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0!important;border:0!important;border-radius:4px;background:transparent;accent-color:#202022;cursor:pointer}.sale-unit-main{display:grid;gap:3px;min-width:0}.sale-unit-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.sale-unit-main small,.sale-unit-date{color:#777780;font-size:12px}.sale-unit-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-unit-date{white-space:nowrap}.sale-price-fields:empty{display:none}
.sale-inventory-list{grid-template-columns:1fr;max-height:260px}.sale-inventory-list[hidden]{display:none!important}.sale-inventory-hint{margin:0;font-size:12px}.sale-selected-units{display:grid;gap:6px}.sale-selected-unit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #e1e1e6;border-radius:8px;background:#f8f8f9}.sale-selected-unit>span{display:grid;gap:2px;min-width:0}.sale-selected-unit strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.sale-selected-unit small{color:#777780;font-size:11px}.sale-selected-unit button{flex:0 0 auto;width:28px;height:28px;min-height:28px;padding:0;border-radius:7px;font-size:18px;line-height:1}
.sale-unit-dropdown{position:relative;min-width:0}.sale-unit-dropdown-toggle{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;text-align:left;color:#1d1d1f;background:#fff}.sale-unit-dropdown-toggle::after{content:"⌄";color:#777780}.sale-unit-dropdown-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:5;display:grid;gap:2px;max-height:220px;overflow:auto;padding:5px;border:1px solid #dedee4;border-radius:10px;background:#fff;box-shadow:0 10px 26px #0002}.sale-unit-dropdown-menu[hidden]{display:none}.sale-unit-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:7px;cursor:pointer}.sale-unit-option:hover,.sale-unit-option:has(input:checked){background:#f3f3f5}.sale-unit-option input[type=checkbox]{appearance:auto;box-sizing:border-box;width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;margin:0!important;border:0!important;border-radius:3px;background:transparent;accent-color:#202022;cursor:pointer}.sale-unit-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-unit-option small{color:#777780;font-size:11px}
.sale-available-products{display:grid;gap:7px}.sale-available-products[hidden]{display:none!important}.sale-search-product{border:1px solid #dedee4;border-radius:9px;background:#fff;overflow:hidden}.sale-search-product summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style-position:inside}.sale-search-product summary>span{display:inline-grid;gap:3px;vertical-align:middle}.sale-search-product summary strong,.sale-search-single strong{font-size:13px;font-weight:500}.sale-search-product summary small,.sale-search-single small{color:#777780;font-size:12px}.sale-search-units{display:grid;gap:2px;padding:5px 10px 8px;border-top:1px solid #e6e6eb}.sale-search-single{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;border:1px solid #dedee4;border-radius:9px;background:#fff;cursor:pointer}.sale-search-single:has(input:checked){border-color:#1d1d1f;background:#f0f0f2}.sale-search-single>span{display:grid;gap:3px;min-width:0}.sale-search-single input[type=checkbox]{appearance:auto;box-sizing:border-box;width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;margin:0!important;border:0!important;border-radius:3px;background:transparent;accent-color:#202022;cursor:pointer}
.inventory-all-dates{width:100%;margin-bottom:10px;padding:8px 10px;text-align:left;font-size:12px}
.relationship-total-purchase{width:min(220px,100%)}.relationship-total-purchase>div{padding:10px 12px}.relationship-total-purchase span{margin-bottom:5px;font-size:9px}.relationship-total-purchase b{font-size:12px}@media(max-width:750px){.relationship-total-purchase{width:min(220px,100%)}}

/* Phone refinements: prevent iOS input zoom and keep long forms usable. */
@media(max-width:750px){
  html{-webkit-text-size-adjust:100%}
  body{min-width:320px}
  #devicePage>header h1{font-size:26px;line-height:1.15}
  #devicePage>header p{font-size:13px}
  #devicePage .panel,#devicePage .summary,#utilityPanel .panel{min-width:0}
  #devicePage input,#devicePage select,#devicePage textarea,
  #utilityPanel input,#utilityPanel select,#utilityPanel textarea,
  dialog input,dialog select,dialog textarea{font-size:16px!important}
  dialog[open]{width:calc(100vw - 16px);max-width:620px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:auto;overflow-y:auto;overscroll-behavior:contain;border-radius:14px}
  dialog[open]>.modal-head{position:sticky;top:0;z-index:10;background:#fff;padding:16px}
  dialog[open]>.body{padding:16px}
  #deviceModal .device-form-card{padding:14px}
  #deviceModal .footer{gap:8px}
}

@media(max-width:380px){
  main{padding:12px}
  #devicePage>header h1{font-size:23px}
  #devicePage .panel{padding:13px}
  dialog[open]>.modal-head{padding:14px}
  dialog[open]>.body{padding:12px}
  #deviceModal #devicePurchase .footer button,#deviceModal #deviceSale .footer button{width:auto;min-width:0;flex:1}
}

#devicePage .purchases-panel td.warranty-cell,#devicePage .sales-panel td.warranty-cell{white-space:normal;overflow-wrap:anywhere;color:#6e6e73}
#devicePage .warranty-summary{display:inline-flex;flex-direction:column;gap:2px;line-height:1.25}
#devicePage .warranty-summary small{color:#86868b;font-size:10px}
.sale-search-single[hidden],.sale-search-product[hidden]{display:none!important}

/* Keep the purchase and sale date calendars proportional to their form fields. */
#devicePurchase .date-picker-popover,#deviceSale .date-picker-popover{width:250px;padding:9px}
#devicePurchase .date-picker-heading,#deviceSale .date-picker-heading{grid-template-columns:28px minmax(0,1fr) 28px;gap:5px;margin-bottom:6px}
#devicePurchase .date-picker-heading>strong,#deviceSale .date-picker-heading>strong{font-size:13px}
#devicePurchase .date-picker-month-step,#deviceSale .date-picker-month-step{width:28px!important;height:28px!important;min-height:28px!important;padding:4px!important}
#devicePurchase .date-picker-weekdays,#deviceSale .date-picker-weekdays{font-size:10px}
#devicePurchase .date-picker-weekdays span,#deviceSale .date-picker-weekdays span{height:24px}
#devicePurchase .date-picker-day,#deviceSale .date-picker-day{min-height:29px!important;max-width:31px;font-size:11px!important}
