:root{color:#102a43;background:#f3f6f9;font-family:Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#102a43;cursor:pointer;background:#fff;border:1px solid #486581;border-radius:.55rem;min-height:2.75rem;padding:.55rem .85rem}button:hover{background:#e8f1f8}input,select,textarea{color:#102a43;background:#fff;border:1px solid #9fb3c8;border-radius:.5rem;width:100%;min-height:2.75rem;padding:.55rem .65rem}textarea{resize:vertical;min-height:5rem}input[type=file]{min-width:0;max-width:100%;overflow:hidden}input[type=checkbox]{width:auto;min-height:auto}.app-shell{gap:1rem;width:min(100%,46rem);margin:0 auto;padding:1rem;display:grid}.app-shell>*,.app-shell li,.item-copy{min-width:0}.draft-lock,.editor-lock{display:contents}.summary-card,.form-card,.visits-card,.pending-card,.report-card,.detail-dialog,.detail-error,.backup-card,.conflict-dialog{background:#fff;border:1px solid #d9e2ec;border-radius:.85rem;padding:1rem;box-shadow:0 .4rem 1.4rem #102a4314}.eyebrow{color:#486581;letter-spacing:.06em;margin:0 0 .35rem;font-size:.8rem;font-weight:700}h1,h2,h3{margin:0}h1{font-size:clamp(1.8rem,9vw,2.6rem)}h2{font-size:1.3rem}h3{margin-top:1.25rem;font-size:1.1rem}h4{margin:0;font-size:1rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:.75rem;margin:1rem 0 0;display:grid}.summary-grid div{background:#e8f1f8;border-radius:.65rem;padding:.75rem}.summary-grid dt{color:#486581;font-size:.85rem}.summary-grid dd{margin:.2rem 0 0;font-size:1.15rem;font-weight:700}.form-card{gap:.55rem;display:grid}.shop-creator{gap:.55rem;margin-top:.5rem;display:grid}.receipt-card,.entry-card,.action-card,.danger-zone{border:1px solid #bcccdc;border-radius:.65rem;gap:.6rem;margin:0;padding:.75rem;display:grid}.receipt-card label,.entry-card label,.action-card label,.danger-zone label{gap:.3rem;display:grid}.checkbox-label{align-items:center;gap:.5rem;display:flex!important}.receipt-card label:has(input[type=checkbox]){align-items:center;gap:.5rem;display:flex!important}.photo-picker,.photo-list,.pending-list,.summary-list{gap:.55rem;min-width:0;display:grid}.photo-list,.pending-list,.summary-list{margin:.55rem 0;padding:0;list-style:none}.photo-list li,.pending-list li,.summary-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;min-width:0;display:flex}.photo-list span,.item-copy span,.item-copy strong{overflow-wrap:anywhere;min-width:0}.section-heading-row,.button-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.item-copy{overflow-wrap:anywhere;gap:.2rem;display:grid}.semantic-note{color:#486581;margin:0}.status-chip{color:#7a1f1f;background:#fde8e8;border-radius:999px;width:fit-content;padding:.2rem .55rem;font-size:.85rem;font-weight:700}.status-chip.backup-backed_up{color:#0c5a43;background:#def7ec}.status-chip.backup-pending{color:#7a4b00;background:#fff3c4}.status-chip.backup-conflict{color:#7a1f1f;background:#fde8e8}.reconciliation-status{overflow-wrap:anywhere;width:fit-content;max-width:100%;font-weight:700}.reconciliation-status.shortage{color:#8a1c13;background:#fff0ed;border-radius:.45rem;padding:.35rem .5rem}.reconciliation-status.matched{color:#0c5a43}.selected-danger,.danger-zone button{color:#b42318;border-color:#b42318}.voided-item{opacity:.78}button:disabled{cursor:wait;opacity:.58}.cash-preview{color:#0c5a43;margin:.8rem 0 0;font-weight:700}.report-card,.detail-dialog,.detail-error{gap:.85rem;display:grid}.report-filter,.payout-preview,.monthly-summary,.detail-dialog>section{gap:.6rem;margin:0;display:grid}.report-filter{border:1px solid #bcccdc;border-radius:.65rem;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));padding:.75rem}.report-filter legend,.report-filter .button-row{grid-column:1/-1}.report-filter label{gap:.3rem;display:grid}.payout-preview{background:#f5f9fc;border-left:.25rem solid #486581;padding:.65rem .8rem}.payout-preview p{margin:0}.monthly-summary-list{gap:.65rem;display:grid}.monthly-summary .summary-list,.detail-dialog .summary-list{grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr))}.summary-list div{background:#f5f9fc;border-radius:.5rem;gap:.2rem;padding:.55rem;display:grid}.summary-list dt{color:#486581;font-size:.85rem}.summary-list dd{margin:0;font-weight:700}.detail-list,.photo-preview-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.detail-list li,.photo-preview-list li{border:1px solid #d9e2ec;border-radius:.55rem;gap:.25rem;padding:.65rem;display:grid}.photo-preview-list img{object-fit:contain;background:#e8f1f8;border-radius:.4rem;width:min(100%,18rem);max-height:14rem}.primary-action{color:#fff;background:#0c5a43;border-color:#0c5a43;font-weight:700}.primary-action:hover{background:#084532}.message{color:#0c5a43;margin:.25rem 0 0}.backup-card,.conflict-dialog{gap:.85rem;display:grid}.backup-card>section>ul{gap:.65rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.backup-card>section>ul li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.conflict-columns{gap:.85rem;display:grid}.conflict-version{border:1px solid #bcccdc;border-radius:.7rem;gap:.7rem;min-width:0;padding:.75rem;display:grid}.conflict-version h3,.conflict-version h4,.conflict-version h5{margin:0}.conflict-accounting{background:#f5f9fc;border-radius:.55rem;gap:.25rem;padding:.65rem;display:grid}.conflict-accounting p,.conflict-photo p{overflow-wrap:anywhere;margin:0}.conflict-fields{gap:.45rem;margin:0;display:grid}.conflict-fields>div{overflow-wrap:anywhere;border-bottom:1px solid #d9e2ec;gap:.15rem;padding:.4rem 0;display:grid}.conflict-fields dt{color:#486581;font-size:.85rem}.conflict-fields dd{white-space:pre-wrap;margin:0}.changed-field dt,.changed-marker{color:#8a1c13;font-weight:700}.conflict-photos{gap:.6rem;display:grid}.conflict-photo{border:1px solid #d9e2ec;border-radius:.55rem;gap:.35rem;padding:.65rem;display:grid}.conflict-photo img{object-fit:contain;background:#e8f1f8;border-radius:.4rem;width:min(100%,20rem);max-height:16rem}.conflict-confirmation{background:#fff0ed;border-left:.25rem solid #b42318;gap:.65rem;padding:.7rem .8rem;display:grid}.conflict-confirmation p{margin:0}.visit-list{gap:.6rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.visit-list li{border-bottom:1px solid #d9e2ec;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding-bottom:.6rem;display:grid}.report-charts{gap:.85rem;display:grid}.chart-card,.chart-drilldown{background:#f8fafc;border:1px solid #d9e2ec;border-radius:.65rem;gap:.65rem;min-width:0;padding:.8rem;display:grid}.chart-card h3,.chart-drilldown h3{margin:0}.chart-canvas{min-height:17rem;position:relative}.chart-canvas canvas{width:100%!important;height:100%!important}.chart-table-wrap{min-width:0;overflow-x:auto}.chart-table-wrap table{border-collapse:collapse;width:100%;min-width:max-content}.chart-table-wrap th,.chart-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #d9e2ec;padding:.45rem}.chart-table-wrap th{color:#486581;font-size:.85rem}.chart-detail-button{min-height:2rem;margin:.4rem 0 0;padding:.35rem .55rem;font-size:.85rem}.chart-empty{color:#486581;background:#f5f9fc;border-left:.25rem solid #486581;margin:0;padding:.55rem .7rem}@media (width<=22rem){.app-shell{padding:.65rem}.summary-card,.form-card,.visits-card,.pending-card,.report-card,.detail-dialog,.detail-error,.backup-card,.conflict-dialog{padding:.75rem}.visit-list li{grid-template-columns:minmax(0,1fr)}.button-row>button,.section-heading-row>button{flex:auto}}@media (width>=40rem){.app-shell{padding:1.5rem}.shop-creator{grid-template-columns:1fr 2fr auto;align-items:end}.receipt-card,.entry-card{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-card legend,.receipt-card button,.entry-card legend,.entry-card button,.entry-card .photo-picker{grid-column:1/-1}}@media (width>=64rem){.app-shell{width:min(100%,88rem);padding:2rem}.report-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.report-charts>.chart-empty,.report-charts>.chart-drilldown{grid-column:1/-1}.conflict-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
