.tkinv{--inv-blue:#164b72;--inv-yellow:#f7ce53;max-width:1080px;margin:28px auto;padding:0 18px;color:#18364c;font:16px/1.5 system-ui,-apple-system,sans-serif;box-sizing:border-box}.tkinv *{box-sizing:border-box}.tkinv h2{font-size:clamp(26px,4vw,36px);line-height:1.2;margin:6px 0 10px;color:#164b72}.tkinv h3{font-size:22px;margin:0 0 14px;color:#164b72}.tkinv p{margin:8px 0 18px}.tkinv .tkinv-kicker{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:750;color:#4c6b83}.tkinv-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.tkinv-card{background:#fff;border:1px solid #dbe4eb;border-radius:16px;padding:26px;margin-bottom:24px;box-shadow:0 5px 18px #164b7208;min-width:0}.tkinv label{display:block;font-weight:650;margin-bottom:16px;min-width:0}.tkinv input,.tkinv select,.tkinv textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #acbfcd;border-radius:8px;background:#fff;color:#17374f;min-height:46px;padding:10px 12px;font:inherit;margin-top:6px}.tkinv input:focus,.tkinv select:focus,.tkinv textarea:focus,.tkinv button:focus-visible,.tkinv a:focus-visible{outline:3px solid #f7ce53;outline-offset:2px}.tkinv label small,.tkinv small{display:block;font-size:13px;line-height:1.5;color:#577084;font-weight:400}.tkinv button,.tkinv-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #164b72;border-radius:8px;background:#164b72;color:#fff;font:650 15px/1.35 system-ui;padding:11px 17px;text-decoration:none;cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%}.tkinv button:hover,.tkinv-actions a:hover{background:#0f3655;color:#fff}.tkinv button:disabled{opacity:.6;cursor:wait}.tkinv .secondary{background:#f2f6f9;color:#164b72;border-color:#ccdbe6}.tkinv .danger{color:#a32424}.tkinv-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tkinv-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px}.tkinv-search{display:flex;align-items:flex-end;gap:12px;margin:15px 0 24px}.tkinv-search label{flex:1;margin:0}.tkinv-service-list{border:1px solid #dce5ed;border-radius:10px;overflow:hidden;margin-bottom:22px}.tkinv-service{display:grid;grid-template-columns:minmax(0,1fr) 90px 135px;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid #e7edf2;background:#fbfcfd}.tkinv-service:last-child{border-bottom:0}.tkinv-service.is-selected{background:#fff8dc;box-shadow:inset 4px 0 #edc346}.tkinv-service label{font-size:12px;margin:0}.tkinv-service input{font-size:16px}.tkinv-expiry{background:#eff5fa;border-radius:8px;padding:12px 15px;margin-bottom:16px;font-size:14px}.tkinv-expiry p{margin:6px 0 0}.tkinv-total{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:2px solid #164b72;padding:18px 0;margin:10px 0 18px;font-size:20px}.tkinv-total strong{font-size:28px;color:#164b72;white-space:nowrap}.tkinv-notice{background:#eaf5ef;border-left:4px solid #33815c;padding:16px 18px;border-radius:8px}.tkinv .tkinv-muted{font-size:13px;color:#577084}.tkinv-status{display:inline-block;border:1px solid #d4e0e9;border-radius:30px;background:#f2f6fa;padding:8px 14px;font-size:13px;font-weight:700}.tkinv-line{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #e1e8ee;padding:17px 0}.tkinv-line b{white-space:nowrap}.tkinv-note{border-radius:8px;background:#f4f7fa;padding:16px;overflow-wrap:anywhere}.tkinv-link{font-size:14px!important}.tkinv-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #e2e9ef;color:#164b72;text-decoration:none;overflow-wrap:anywhere}.tkinv-history-row>span{font-size:13px}.tkinv-history-row>b{white-space:nowrap}.tkinv-history-row:hover{text-decoration:underline}.tkinv-client{max-width:760px}.tkinv-client .tkinv-head{align-items:flex-start}.tkinv-client [data-tkinv-pay] button{width:100%;font-size:18px;min-height:54px}.tkinv-leave{margin-top:18px}.tkinv [data-tkinv-copy-status]{font-size:14px}.tkinv [hidden]{display:none!important}@media(max-width:600px){.tkinv{padding:0 10px;margin:20px auto}.tkinv-card{padding:18px 14px}.tkinv-fields{grid-template-columns:minmax(0,1fr);gap:0}.tkinv-head{gap:12px}.tkinv-service{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px;gap:10px}.tkinv-service>div{grid-column:1/-1}.tkinv-search{flex-wrap:wrap}.tkinv-search label{flex-basis:100%}.tkinv-history-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.tkinv-history-row>div{grid-column:1/-1}.tkinv-total strong{font-size:25px}.tkinv-actions{align-items:stretch}.tkinv-actions>*{flex:1 1 auto}.tkinv-line{gap:12px}.tkinv-line>div{min-width:0;overflow-wrap:anywhere}}@media print{body *{visibility:hidden}.tkinv-client,.tkinv-client *{visibility:visible}.tkinv-client{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;color:#000}.tkinv-client form,.tkinv-client button,.tkinv-client .tkinv-actions,.tkinv-client .tkinv-muted{display:none}.tkinv-client .tkinv-card{box-shadow:none;border:0}.tkinv-client .tkinv-head{break-inside:avoid}.tkinv-client .tkinv-line{break-inside:avoid}}

/* Invoice display refinements, v2.4.92. */
.tkinv-client{padding-bottom:var(--tkinv-focus-space,0px)}
.tkinv-status-group{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:100%;min-width:0}
.tkinv .tkinv-invoice-number{font-size:12px;line-height:1.4;color:#60788a;letter-spacing:.015em;overflow-wrap:anywhere;text-align:right}
.tkinv-payment{margin-bottom:16px;scroll-margin:24px}
.tkinv-client [data-tkinv-pay] button{background:#177447;border-color:#105735;color:#fff;box-shadow:0 3px 8px rgba(16,87,53,.14),inset 0 1px 0 rgba(255,255,255,.1);transition:background-color .15s ease,box-shadow .15s ease}
.tkinv-client [data-tkinv-pay] button:hover{background:#115c39;border-color:#0b4b2d;color:#fff;box-shadow:0 4px 10px rgba(16,87,53,.18)}
.tkinv-client [data-tkinv-pay] button:active{background:#0d4c2f;box-shadow:inset 0 2px 4px rgba(0,0,0,.12)}
.tkinv-client [data-tkinv-pay] button:focus-visible{outline:3px solid #94cfad;outline-offset:3px}
@media(max-width:600px){.tkinv-status-group{align-items:flex-start}.tkinv .tkinv-invoice-number{text-align:left}}
@media print{.tkinv-client{padding-bottom:0}.tkinv-payment{margin-bottom:0}}

/* Compact owner-only invoice history controls. */
.tkinv-history-entry{display:grid;grid-template-columns:minmax(0,1fr) 70px;align-items:center;gap:14px;border-bottom:1px solid #e2e9ef}
.tkinv-history-entry:last-child{border-bottom:0}
.tkinv-history-copy{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-bottom:14px;min-width:0}
.tkinv-history-copy button{min-height:40px;padding:8px 14px;font-size:13px}
.tkinv-history-copy input{flex-basis:100%;width:100%;margin-top:0}
.tkinv-history-entry .tkinv-history-row{border-bottom:0;min-width:0}
.tkinv-delete-form{margin:0;justify-self:end}
.tkinv button.tkinv-delete{min-height:32px;padding:6px 8px;font-size:12px;white-space:nowrap;overflow-wrap:normal;background:#fff7f7;border-color:#e8caca;color:#a32424}
.tkinv button.tkinv-delete:hover{background:#fbe8e8;border-color:#c98282;color:#801b1b}
@media(max-width:600px){.tkinv-history-entry{gap:10px}.tkinv button.tkinv-delete{min-height:40px}}

/* Post-payment confirmation replaces the invoice cart. */
.tkinv-confirmation{max-width:760px;padding-bottom:0}
.tkinv-confirmation-head{text-align:center;margin-bottom:26px}
.tkinv-confirmation-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:22px auto 16px;border-radius:50%;color:#177447;background:#e7f5ed}
.tkinv-confirmation-icon svg{width:38px;height:38px}
.tkinv-confirmation-icon+h2{color:#177447}
.tkinv-confirmation-amount{display:flex;flex-direction:column;gap:3px;margin:20px 0;color:#177447}
.tkinv-confirmation-amount>span{font-size:14px;color:#577084}
.tkinv-confirmation-amount>strong{font-size:clamp(34px,7vw,44px);line-height:1.2}
.tkinv-confirmation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 24px;padding:20px;background:#f4f7fa;border-radius:10px}
.tkinv-confirmation-details dt{font-size:12px;color:#577084}
.tkinv-confirmation-details dd{margin:3px 0 0;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.tkinv-confirmation-paid{color:#177447}
.tkinv-confirmation .tkinv-actions{justify-content:center;margin-top:22px}
@media(max-width:380px){.tkinv-confirmation-details{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}}
