@import"https://fonts.googleapis.com/css2?family=Forum&family=Manrope:wght@300;500;700&display=swap";.payment-float[data-v-19d451d5]{position:fixed;right:18px;top:140px;z-index:40}.payment-float-card[data-v-19d451d5]{border-radius:14px;border:1px solid #ece6db;background:#fffffff5;padding:10px 12px;min-width:180px;box-shadow:0 10px 24px #14282814;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.payment-float-title[data-v-19d451d5]{font-weight:600;font-size:13px;margin-bottom:8px}.payment-float-actions[data-v-19d451d5]{display:grid;gap:6px}.payment-float-select[data-v-19d451d5]{display:grid;gap:6px;margin-bottom:8px}.payment-float-select label[data-v-19d451d5]{font-size:11px;color:#6c5b3f;letter-spacing:.02em;text-transform:uppercase}.payment-float-select select[data-v-19d451d5]{border-radius:10px;border:1px solid #e6dcc9;padding:6px 8px;font-size:12px;background:#f9f5ed;width:100%;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.payment-float[data-v-19d451d5]{right:10px;top:120px}}@media(max-width:900px){.payment-float[data-v-19d451d5]{position:sticky;top:120px;margin-bottom:12px;right:auto}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Manrope,sans-serif;background:radial-gradient(circle at top,#f4efe7,#f1f4f7 40%,#e9f0f0);color:#1f2a2e}main{display:block}.page{max-width:1200px;margin:0 auto;padding:40px 24px 80px}.content{display:flex;flex-direction:column;gap:16px}.hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px;padding:16px 20px;border-radius:18px;background:#f7f7f3;border:1px solid #e7e3d8;box-shadow:0 16px 30px #14282814}.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:#6b6b5e;margin:0 0 8px}h1{font-family:Forum,serif;font-size:40px;margin:0 0 8px}.hero-left{min-width:220px}.hero-center{display:flex;justify-content:center}.brand-logo-shell{background:#720006;border-radius:14px;padding:6px 12px;border:1px solid #720006;box-shadow:0 10px 22px #1e0a0a40}.brand-logo{width:96px;height:auto}.subtitle{margin:0;color:#4c5d63}.actions{display:flex;gap:12px;align-items:center}.ghost{background:transparent;border:1px solid #b1b6ad;color:#1f2a2e;padding:8px 16px;border-radius:999px;cursor:pointer}.ghost:disabled{opacity:.6;cursor:not-allowed}.user-pill{background:#f1efe6;color:#4c5d63;border-radius:999px;padding:6px 12px;font-size:13px}.primary{background:#1f2a2e;border:none;color:#f7f3ea;padding:8px 18px;border-radius:999px;cursor:pointer}.primary:disabled{opacity:.6;cursor:not-allowed}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tabs.sticky{position:sticky;top:12px;z-index:25;background:#f4f1e8eb;padding:12px;border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(220,223,214,.9)}.tab{padding:8px 16px;border-radius:999px;text-decoration:none;background:#fff;border:1px solid #e1e6df;color:#1f2a2e;display:inline-flex;align-items:center;gap:8px;line-height:1}.tab.router-link-active{background:#1f2a2e;color:#f7f3ea}.tab-group{position:relative}.tab-menu{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:8px;min-width:200px;background:#fff;border:1px solid #e1e6df;border-radius:14px;padding:10px;box-shadow:0 12px 30px #1428281f;z-index:30}.tab-trigger{appearance:none;cursor:pointer;font:inherit}.tab-trigger .tab-caret{font-size:12px;transition:transform .2s ease}.tab-trigger .tab-caret.open{transform:rotate(180deg)}.tab-trigger:focus-visible{outline:2px solid #1f2a2e;outline-offset:2px}.tab:hover,.tab:focus-visible{border-color:#c7cec5;box-shadow:0 6px 16px #14282814}.tab-menu .tab{width:100%;justify-content:space-between}.card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 12px 30px #14282814;margin-bottom:20px}.card.soft{background:#ffffffc7}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;width:min(100%,980px);margin:0 auto}.form-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.form-header h2{margin:0;font-size:22px}.form-actions{display:flex;gap:10px;margin-top:12px;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.field label{color:#4c5d63}.field-hint.warning{color:#9d3b2e;font-weight:600}.form-subtitle{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#7a6a44}.rate-card{border:1px solid #efe4d0;border-radius:14px;padding:14px;background:#fffdf7;display:grid;gap:10px}.rate-title{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#6a5b3b}.subscription-grid{margin-top:12px}.section-divider{height:1px;background:#ece6db;margin:20px 0}.package-list{display:grid;gap:14px;margin-top:12px}.package-card{border:1px solid #efe4d0;border-radius:16px;padding:14px;background:#fffdf7;display:grid;gap:12px}.package-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}.package-actions{display:inline-flex;gap:8px;align-items:center}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.package-columns{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px}.package-name{display:grid;margin-bottom:8px}.package-column{display:grid;gap:12px}.price-preview{margin-top:14px;padding:12px;border-radius:12px;border:1px solid #ece6db;background:#fbf9f4;display:grid;gap:10px}.price-preview-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.price-preview-row strong{font-weight:600}.price-preview-list{display:grid;gap:6px;padding:6px 8px;border-radius:10px;background:#fff;border:1px dashed #e6ddcc;max-height:220px;overflow:auto}.price-preview-item{font-size:13px}.field select,.field input,.field textarea{border:1px solid #c4c7bf;border-radius:10px;padding:8px 12px;font-size:14px;background:#fff}.field textarea{resize:vertical}.field.check{justify-content:center}.checkbox-row{display:inline-flex;gap:8px;align-items:center}.fab{position:fixed;right:24px;bottom:24px;background:#1f2a2e;color:#f7f3ea;border:none;border-radius:999px;padding:12px 18px;font-size:16px;cursor:pointer;box-shadow:0 16px 30px #14282833;z-index:30}.fab.scroll-top{left:24px;bottom:24px;width:46px;height:46px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#2c4f5c}.fab.scroll-top:hover{background:#1f2a2e}body.modal-open .fab.scroll-top{display:none}.fab-stack{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:30;transition:transform .2s ease}.fab-stack .fab{position:static}.fab.main{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:22px}.fab-menu{display:flex;flex-direction:column;gap:10px;align-items:flex-end;margin-bottom:10px}.export-row{display:flex;align-items:center;gap:8px}.export-share{background:#e6d6b4;color:#3b2e12}.export-share-label{font-size:11px;font-weight:600;margin-left:6px}.fab-export-stack{position:fixed;right:24px;bottom:92px;display:flex;flex-direction:column;gap:10px;align-items:flex-end;z-index:30;transition:transform .2s ease}.fab-export-stack .fab{position:static}.fab.main.export-main{font-size:18px}.fab.mini.export-excel{background:#e7f2ea;color:#1f5c3a;border-color:#c6e1d1}.fab.mini.export-pdf{background:#f3e6e3;color:#7b2f1f;border-color:#e2c8c0}body.modal-open .fab-export-stack{display:none}body.fab-add-open .fab-export-stack{transform:translateY(-176px)}body.fab-export-open .fab-stack{transform:none}.fab.mini{position:relative;width:44px;height:44px;padding:0;font-size:14px;background:#fff;color:#1f2a2e;border:1px solid #e0e3dc}.fab.mini.time{background:#e4efe9;color:#1f5c3a;border-color:#c7ded1}.fab.mini.client{background:#e8eef6;color:#2b4d7a;border-color:#ccd8ea}.fab.mini.service{background:#f4eadf;color:#6a3f17;border-color:#e3d0b7}.fab.mini:hover:after{content:attr(title);position:absolute;right:60px;background:#1f2a2e;color:#f7f3ea;padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;background:#12191e8c;display:grid;place-items:center;z-index:40;padding:24px}.modal-backdrop.secondary{z-index:60}.modal-card{background:#fff;border-radius:18px;padding:24px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #14282833;border:1px solid #ece6d6}.modal-card.wide{width:min(980px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #efe7d5}.modal-header h3{margin:0 0 4px}.modal-header .section-subtitle{margin:0}.modal-table .centered{text-align:center}.modal-table .muted{color:#6c7a7e;font-size:12px}.modal-table .change-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#f1e3c5;color:#7a5514;font-size:11px;font-weight:600}.lock-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#eadde6;color:#6a2b4a;font-size:11px;font-weight:600}.partial-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#dbe7f6;color:#25507a;font-size:11px;font-weight:600}.partial-sub-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#e8dcf4;color:#5b2f86;font-size:11px;font-weight:600}.check-pill.disabled{opacity:.6;pointer-events:none}.payment-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;margin-left:8px}.payment-badge.paid{background:#e1efe5;color:#2a6a3b}.payment-badge.debt{background:#f7e0de;color:#8a2f2a}.payment-badge.overpaid{background:#e2ecf6;color:#1f4d7a}.modal-table .strong{font-weight:600;color:#2f2f2f}.modal-table .accent{font-weight:600;color:#8a6a32}.modal-table{max-height:60vh;overflow:auto;border:1px solid #efe7d5;border-radius:12px}.history-grid{display:grid;gap:10px;padding:12px}.history-row{display:grid;grid-template-columns:170px 180px 180px 140px 140px;gap:10px;align-items:start}.history-row.history-header{font-size:12px;font-weight:600;color:#6c7a7e;text-transform:uppercase;letter-spacing:.04em}.history-head-cell,.history-cell-stack{display:flex;flex-direction:column;gap:6px}.history-head-cell{line-height:1.2}.history-actions{align-items:center}.history-row input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid #eadfc8;background:#fffdf7;font-size:13px}.agreement-grid{display:grid;gap:10px;padding:12px}.agreement-row{display:grid;grid-template-columns:150px 150px 260px 1fr 160px;gap:10px;align-items:center}.agreement-row.agreement-header{font-size:12px;font-weight:600;color:#6c7a7e;text-transform:uppercase;letter-spacing:.04em}.agreement-row input,.agreement-row select{width:100%;padding:8px 10px;border-radius:10px;border:1px solid #eadfc8;background:#fffdf7;font-size:13px}@media(max-width:960px){.agreement-row{grid-template-columns:1fr}}.history-row:not(.history-header){padding:10px;border:1px solid #efe7d5;border-radius:12px;background:#fffdf7}.entries-table{width:100%;border-collapse:collapse;font-size:12px}.entries-table th,.entries-table td{padding:6px 8px;border-bottom:1px solid #efe7d5;vertical-align:top}.entries-table thead th{position:sticky;top:0;background:#f8f1df;color:#6a4b16;font-weight:600;z-index:1}.entries-table tbody tr:nth-child(2n){background:#fbf7ef}.entries-table .description-cell{max-width:240px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link.mini{font-size:12px;padding:0}.field.actions{justify-content:flex-end}.span-2{grid-column:span 2}.form-error{margin:12px 0 0;color:#9d3b2e}.note-banner{margin-top:12px;border-radius:12px;border:1px solid #e4cf9b;background:#f9f0d9;padding:10px 12px;color:#6a4b16;font-size:13px}.note-banner.warning{border-color:#e7b7b7;background:#fdeeee;color:#8a2d2d}.inline-warning{margin-top:6px;padding:4px 6px;border-radius:8px;background:#fdeeee;color:#8a2d2d;font-size:11px;font-weight:600;text-align:center}.note-banner.slim{margin-top:0;margin-bottom:12px;padding:8px 12px;font-size:13px;font-weight:600;text-align:center}.agreement-form{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}.agreement-form .field{margin:0}@media(max-width:960px){.agreement-form{grid-template-columns:1fr}}.note-list{margin-top:8px;display:grid;gap:6px}.note-item{font-size:12px}.field-hint{margin-top:6px;font-size:12px;color:#6b6b5e}.input-with-action{display:flex;gap:8px;align-items:center}.input-with-action input{flex:1}.section-card{margin-top:12px;padding:12px;border-radius:14px;border:1px solid #e9e1d3;background:#fffdf7}.section-card .section-title{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#6a5b3b}.invoice-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:20px;align-items:start}.invoice-sidebar{position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto}.invoice-main{min-width:0}.invoice-main.full-width{grid-column:1 / -1}@media(max-width:960px){.invoice-layout{grid-template-columns:1fr}.invoice-sidebar{position:static;max-height:none}}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px 0}.summary-card{background:#1f2a2e;color:#f7f3ea;padding:16px;border-radius:14px}.summary-card p{margin:0 0 6px;font-size:13px;color:#d2d6cd}.summary-card strong{font-size:22px}.summary-split{display:grid;gap:6px;font-size:12px;color:#d2d6cd;font-weight:600}.summary-sub{font-size:12px;color:#d2d6cd}.table-wrap{overflow:hidden}.table-wrap.card{overflow-x:auto}.time-entries-table{table-layout:fixed;min-width:1000px}.time-entries-table th,.time-entries-table td{vertical-align:top;padding:5px 6px}.time-entries-table .col-date{width:70px}.time-entries-table .col-client,.time-entries-table .col-service,.time-entries-table .col-lawyer{width:90px}.time-entries-table .col-time{width:90px;text-align:center}.time-entries-table .col-type{width:60px;text-align:center}.time-entries-table .col-actions{width:80px}.time-entries-table .col-desc{width:200px}.time-entries-table .col-desc{word-break:break-word;overflow-wrap:anywhere;white-space:normal}.time-entries-table .col-client,.time-entries-table .col-service,.time-entries-table .col-lawyer{word-break:break-word;white-space:normal}.status-tags{display:flex;flex-wrap:wrap;gap:6px}.type-stack{display:flex;flex-direction:column;gap:6px}.time-stack{display:flex;flex-direction:column;gap:4px}.time-stack .time-duration{font-size:12px;color:#6b6b5e}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 14px;border-bottom:1px solid #e1e6df;text-align:left}th{background:#f1efe6;font-weight:600}.desc{color:#4c5d63}.tag{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:4px 10px;border-radius:999px;background:#e6e8e1;color:#6b6b5e;font-size:12px}.tag-regular{background:#e6e8e1;color:#6b6b5e}.tag-urgent{background:#f5d3c8;color:#7b2f1f}.tag-internal{background:#d4e0f4;color:#274064}.row-urgent{background:#f5d3c840}.row-internal{background:#d4e0f440}.state{padding:32px;text-align:center;color:#4c5d63}.state.error{color:#9d3b2e}.state.warning{color:#7b5a21;border:1px solid #e1c9a4;background:#fff4d8}.actions-cell{display:flex;flex-direction:column;gap:6px}.link{background:none;border:none;padding:0;color:#2c4f5c;cursor:pointer;text-align:left}.link.danger{color:#9d3b2e}.inline-warning{color:#9d3b2e;font-weight:600}.link-like{text-decoration:none;display:inline-flex;align-items:center}.report-card{margin-top:16px;background:#f8f6ef;border-radius:14px;padding:16px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px}.report-grid span{color:#4c5d63;font-size:13px}.report-grid strong{font-size:18px}.simple-table{display:grid;gap:8px;margin-top:12px}.simple-table .row{display:grid;grid-template-columns:1fr auto;padding:10px 12px;border-radius:12px;background:#f8f6ef}.simple-table .row.active{background:#1f4d431f;border-left:3px solid #1f4d43;padding-left:9px}.simple-table .row.header{font-weight:600;background:#f1efe6}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px}.section-head.sticky-head{position:sticky;top:72px;z-index:20;background:#ffffffeb;border:1px solid #ece6db;border-radius:16px;padding:8px 10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center}.section-head.sticky-head h2{margin:0;font-size:18px}.section-head.sticky-head .section-subtitle{display:none}.section-subtitle{margin:4px 0 0;color:#6b6b5e;font-size:14px}.stack-list{display:grid;gap:12px}.stack-section{padding:14px;border-radius:16px;border:1px solid #e5dfd3;background:#fbf8f0}.stack-section--subscription{border-color:#d9c7a4;background:#f7f1e4}.stack-section--regular{border-color:#d7e0dc;background:#f4f7f5;margin-top:12px}.stack-section .stack-heading{margin:0 0 6px}.payment-stack,.payment-card{display:grid;gap:12px}.payment-section{border-radius:12px;border:1px solid #ece6db;background:#fbf9f4;padding:12px;display:grid;gap:10px}.payment-section .section-title{margin:0}.payment-section.note textarea{width:100%;resize:vertical}.payment-split{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(220px,1.2fr);gap:12px}.payment-split-panel{display:grid;gap:8px}.payment-split-panel .meta-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6b6b5e}.payment-inputs{display:grid;grid-template-columns:1fr!important;gap:8px}.payment-inputs .meta-pill{width:100%;display:flex;flex-direction:column;justify-content:center}.payment-inputs .meta-pill.compact-input input{height:32px;font-size:13px;padding:6px 8px;border-radius:8px;border:1px solid #e4ddd1;background:#fff}.payment-inputs .meta-pill.compact-input .meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b6b5e}.payment-summary-total{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.payment-summary-debts{display:grid;gap:8px}.payment-card-warning{margin:10px 0 0;padding:8px 10px;border-radius:12px;border:1px solid #d1a39b;background:#fdecea;color:#9d3b2e;font-size:12px;font-weight:600;text-align:center}@media(max-width:900px){.payment-split{grid-template-columns:1fr}}.item-card{border-radius:16px;border:1px solid #e7e3d9;background:#fff;padding:16px 18px;box-shadow:0 10px 24px #1428280f}.item-card.edited{border-color:#d9b276;box-shadow:0 12px 26px #785a1e1f}.change-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#f7e7c6;color:#6a4b16;font-size:12px;font-weight:600}.item-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.item-title-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.item-title{font-size:18px;font-weight:600}.item-body{margin-top:8px;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:13px}.info-row{display:flex;justify-content:space-between;gap:12px}.info-row.muted{color:var(--muted)}.item-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.client-entry-card{display:grid;gap:10px}.client-entry-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:10px 12px;border-radius:14px;border:1px solid #ece6db;background:#fbf9f4}.client-entry-summary .meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.client-entry-summary .meta-value{font-size:14px}.client-entry-card .item-meta{margin-top:0}.client-entry-card .item-desc{border-top:1px dashed #e7e0d3;padding-top:10px}.billable-emphasis{display:flex;flex-direction:column;align-items:center;text-align:center;border-color:#e2c38c;background:#fff7e6}.billable-emphasis .meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7a5a2c}.billable-input{width:100%;max-width:80px;text-align:center;font-weight:400;font-size:13px;border:1px solid #e0c08a;background:#fffdf7}.billable-input--time{font-weight:600}.service-type-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#efe5d2;color:#6b4a16;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.service-type-pill.urgent-pill{background:#f4c9b1;color:#7d2f12}.service-type-pill.internal-pill{background:#d7e6f4;color:#1f4c7a}.client-entries-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0 10px}.client-entries-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6b6b5e;padding:0 10px 6px}.client-entries-table td{background:#fff;border-top:1px solid #e7e3d9;border-bottom:1px solid #e7e3d9;padding:5px;vertical-align:center}.client-entries-table tr td:first-child{border-left:1px solid #e7e3d9;border-radius:14px 0 0 14px}.client-entries-table tr td:last-child{border-right:1px solid #e7e3d9;border-radius:0 14px 14px 0;overflow:visible}.client-entries-table tr.edited td{border-color:#d9b276;background:#fff8eb}.cell-title{font-weight:600}.cell-client{min-width:70px;max-width:100px}.cell-type{min-width:100px}.cell-tags{display:inline-flex;flex-wrap:wrap;gap:6px}.cell-time{display:grid;gap:4px}.cell-time-date,.cell-time-range,.cell-time-duration{font-size:12px;white-space:nowrap}.cell-time-date{color:#2f2a22;font-weight:600}.cell-time-range{color:#6b6b5e}.cell-time-duration{color:#7a5a2c}.cell-center{text-align:center}.cell-note{margin-top:6px;font-size:11px;color:#6b6b5e}.cell-muted{font-size:12px;color:#6b6b5e}.cell-description{min-width:345px;max-width:360px}.cell-actions{gap:6px;min-width:80px}.cell-service{max-width:180px;white-space:normal;word-break:break-word}.description-input{width:100%;min-height:52px;resize:none;overflow:hidden;padding:4px 5px;border-radius:10px;border:1px solid #e2d7c2;background:#fffdf8;font-size:11px;color:#2f2a22;line-height:1.15}.client-entries-table .ghost.small{padding:4px 10px;font-size:12px;width:auto;display:inline-flex;justify-content:center}.client-entries-table td.cell-actions{vertical-align:middle;text-align:center}.cell-actions .change-badge{display:inline-block;margin-bottom:6px}.summary-row td{border-left:1px solid #e7e3d9;border-right:1px solid #e7e3d9;border-bottom:1px solid #e7e3d9;background:#f0e1c7;color:#7b5a21;font-weight:600;font-size:13px;text-align:left}.summary-cell{padding:12px 16px}.summary-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.summary-left{display:inline-flex;align-items:center;gap:8px;justify-self:start}.summary-label{font-size:12px;color:#6b5a42;font-weight:600;letter-spacing:.02em}.summary-service{font-weight:700;color:#3a2e1e}.summary-duration{min-width:90px;justify-self:center;text-align:center;font-weight:800;color:#d10101;font-size:16px;background:#fff9ef;border:1px solid #e5d1ab;border-radius:999px;padding:4px 12px}.summary-details{display:flex;flex-wrap:nowrap;gap:6px 10px;color:#6b522f;font-weight:600;justify-self:end;justify-content:flex-end;margin-top:0}.summary-detail{white-space:nowrap;background:#fff5e2;border:1px solid #e3d1ad;border-radius:999px;padding:3px 10px;font-size:12px}.client-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.client-meta-card{border-radius:14px;border:1px solid #ece6db;background:#fbf9f4;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.client-meta-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b6b5e;font-weight:600}.client-meta-tag{margin-left:6px;padding:2px 8px;border-radius:999px;background:#efe2c9;color:#6b4a14;font-size:10px;font-weight:600;text-transform:none;letter-spacing:0}.client-meta-list{display:grid;gap:6px}.client-meta-item{display:flex;justify-content:space-between;gap:10px;font-size:13px}.client-meta-item span{color:#6b6b5e}.client-meta-item strong{font-weight:600;text-align:right}.section-collapse{padding:12px}.section-collapse summary{cursor:pointer;list-style:none}.section-collapse summary::-webkit-details-marker{display:none}.section-collapse summary:after{content:"▾";margin-left:8px;color:#6b6b5e}.section-collapse[open] summary:after{content:"▴"}.section-title.with-toggle{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.compact-card .item-meta,.compact-card .client-meta-grid{margin-top:8px;gap:8px}.compact-card .client-meta-card{padding:8px 10px}.compact-card .client-meta-item{font-size:12px}.compact-card .meta-pill{padding:6px 8px}.compact-card .meta-label{font-size:11px}.compact-card .meta-value{font-size:13px}.meta-pill{border-radius:12px;border:1px solid #ece6db;background:#fbf9f4;padding:8px 10px}.meta-label{font-size:12px;color:#6b6b5e}.meta-value{font-weight:600}.meta-value.meta-row{font-weight:600;margin-top:4px}.meta-note{margin-top:6px;font-size:12px;color:#8a6a32}.meta-sub{margin-top:4px;font-size:11px;color:#8a6a32;font-weight:600}.stack-heading{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#6b6b5e;margin:12px 0 6px}.inline-input-row{display:inline-flex;align-items:center;gap:8px}.inline-input-row span{min-width:48px;color:#6b6b5e}.inline-input-row input{width:96px;padding:6px 8px;border-radius:8px;border:1px solid #e1d9c8;background:#fff;font-size:13px}.inline-input-base{font-size:12px;color:#8a6a32!important;white-space:nowrap}.meta-note.alert{font-weight:600;color:#a23a2a;background:#fde8e3;border:1px solid #f1c6bb;border-radius:8px;padding:4px 8px;display:inline-flex;align-items:center;gap:6px}.action-row{display:flex;flex-wrap:wrap;gap:8px}.toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #e1d9c8;background:#f6f1e6;font-size:12px;color:#5a4b2f}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid #e2e0db;background:#f2f2ee;color:#5d5c57}.status-pill.inactive{border-color:#e8d2c7;background:#f9ece7;color:#8a4b33}.check-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #e1d9c8;background:#f6f1e6;font-size:12px;color:#5a4b2f}.search-input{min-width:180px;padding:6px 10px;border-radius:999px;border:1px solid #e1e6df;background:#fff}.search-input:focus-visible{outline:2px solid #1f2a2e;outline-offset:2px}.payments-layout{display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:16px;align-items:start}.payments-sidebar{position:sticky;top:148px;align-self:start}.payments-sidebar .section-card{max-height:calc(100vh - 188px);overflow:auto;max-width:270px}.debtors-table{width:100%;border-collapse:collapse;font-size:13px}.debtors-table th,.debtors-table td{padding:8px 6px;border-bottom:1px solid #efe8db;text-align:left;vertical-align:top}.debtors-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b6b5e}.debtors-table tr.active{background:#f8efe0}.debtors-table tr.overpaid{background:#edf5ff}.debtors-table tr.active td:first-child{font-weight:600}.invoice-totals{margin-top:6px;display:grid;gap:6px}.invoice-total-row{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:13px}.invoice-split{display:grid;gap:4px;font-size:12px;color:#5f523f}.invoice-list{margin-top:10px;display:grid;gap:8px}.invoice-list-detailed{margin-top:6px}.invoice-list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid #eadfce;background:#f9f4ea}.invoice-list-main{display:grid;gap:2px}.invoice-list-title{font-weight:600;font-size:12px}.invoice-list-meta{font-size:11px;color:#6b5a3e}.invoice-list-actions{display:flex;gap:6px;flex-wrap:wrap}.invoice-list-breakdown{display:grid;gap:4px;font-size:11px;color:#5f523f;text-align:right}.invoice-list-row{flex-wrap:wrap}.invoice-empty{margin-top:8px;padding:6px 8px;border-radius:10px;border:1px solid #e7cbbd;background:#f8ece7;color:#8a4b33;font-size:12px;font-weight:600;text-align:center}.invoice-uninvoiced{margin-bottom:8px;padding:8px 10px;border-radius:12px;border:1px solid #e1c9a4;background:#fff4d8;color:#7b5a21;font-size:12px;font-weight:600;text-align:center}@media(max-width:960px){.payments-layout{grid-template-columns:1fr}.payments-sidebar .section-card{position:static}}.ghost.small{padding:6px 12px;font-size:13px}.ghost.danger{border-color:#d1a39b;color:#9d3b2e}.ghost.attention{border-color:#d1a39b;color:#9d3b2e;background:#fdecea;font-weight:600}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.pager-info{color:#4c5d63;font-size:14px}.load-more{margin-top:16px;text-align:center;color:#6b6b5e;font-size:14px}.toast{position:fixed;top:16px;right:16px;padding:10px 14px;border-radius:12px;background:#1f2a2e;color:#f7f3ea;box-shadow:0 10px 22px #1428282e;z-index:60;font-size:14px}.toast.success{background:#1f5c3a}.toast.error,.toast.danger{background:#9d3b2e}.toast.info{background:#2c4f5c}.auth-page{min-height:60vh;display:grid;place-items:center}.auth-brand{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#2f3b3f;color:#f7f3ea;box-shadow:0 10px 22px #14282824}.auth-logo{width:42px;height:42px;border-radius:10px;background:#f7f3ea;display:grid;place-items:center;overflow:hidden}.auth-logo img{width:34px;height:auto}.auth-brand-text{display:grid;gap:2px;font-weight:600}.auth-brand-text small{font-weight:400;color:#d6d0c5}.auth-card{background:#fff;padding:32px;border-radius:18px;box-shadow:0 12px 30px #14282814;width:min(420px,90vw)}.auth-form{display:grid;gap:14px}.auth-submit{margin-top:6px}.invoice-preview .invoice-frame{border:1px solid #e1e6df;border-radius:12px;padding:16px;background:#fff}@media(max-width:720px){.page{padding:24px 16px 48px}h1{font-size:32px}.hero{flex-direction:column;align-items:stretch;text-align:left;padding:10px 12px;gap:8px}.hero-center{order:-1;margin-bottom:2px;flex:0 0 auto}.brand-logo-shell{padding:2px 6px;border-radius:8px;box-shadow:0 6px 10px #1e0a0a24}.brand-logo{width:44px}.table-wrap{overflow-x:auto}.span-2{grid-column:span 1}.tabs{gap:6px}.tab{padding:6px 12px}.section-head.sticky-head{top:64px}.auth-page{min-height:unset;padding-top:24px}.auth-card{padding:24px}.auth-brand{width:min(90vw,340px);justify-content:center}.auth-logo{width:38px;height:38px}.auth-logo img{width:30px}}
