:root{--k-bg: #f7f8fb;--k-surface: #ffffff;--k-panel: #ffffff;--k-text: #0f172a;--k-muted: #5b6478;--k-accent: #3b82f6;--k-accent-strong: #2563eb;--k-border: #e5e7eb;--k-success: #16a34a;--k-danger: #dc2626;--k-warning: #d97706;--muted: #6b7280;--line: #e5e7eb;--warn: #f59e0b;--err: #ef4444;--good: #10b981;--k-radius: 14px;--k-radius-sm: 10px;--k-shadow: 0 8px 24px rgba(15, 23, 42, .06);--k-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji"}*{box-sizing:border-box}html,body{height:100%}.k-body{margin:0;background:var(--k-bg);color:var(--k-text);font-family:var(--k-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.k-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--k-surface);border-bottom:1px solid var(--k-border);box-shadow:0 2px 10px #0f172a0a}.k-brand{display:flex;align-items:center;gap:10px}.k-brand__logo{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:radial-gradient(120% 120% at 30% 20%,#93c5fd,#60a5fa);color:#0b1020;font-weight:800}.k-brand__name{font-weight:700;letter-spacing:.2px}.k-tabs{display:flex;gap:12px;padding:0 18px;border-top:1px solid var(--k-border);background:#f8fafc;align-items:center}.k-tab,.k-tab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--k-muted);padding:12px 14px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative;border-bottom:2px solid transparent;margin-bottom:-1px}.k-tab:hover,.k-tab-btn:hover{color:var(--k-text)}.k-tab-btn--active,.k-tab--active{color:var(--k-accent-strong);font-weight:600;border-bottom:2px solid var(--k-accent)}.k-tab-icon{opacity:.7;transition:opacity .2s ease}.k-tab-btn--active .k-tab-icon,.k-tab--active .k-tab-icon{opacity:1;color:var(--k-accent)}.k-tab:focus-visible,.k-tab-btn:focus-visible{outline:2px solid var(--k-accent);outline-offset:-2px;border-radius:4px}.k-tab-content{animation:fadein .2s ease}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.k-tabpanel{padding:18px}.k-tabpanel--active{display:block}.k-tabpanel[hidden]{display:none!important}.k-container{max-width:1200px;margin:0 auto}.k-card{background:var(--k-panel);border:1px solid var(--k-border);border-radius:var(--k-radius);box-shadow:var(--k-shadow);overflow:hidden}.k-card__header,.k-card__footer{padding:14px 16px;border-bottom:1px solid var(--k-border);background:var(--k-surface)}.k-card__footer{border-top:1px solid var(--k-border);border-bottom:none}.k-card__body{padding:16px;background:var(--k-surface)}.k-title{margin:0;font-size:18px}.k-actions{display:flex;gap:10px;align-items:center}.k-input{width:320px;max-width:100%;padding:10px 12px;border-radius:var(--k-radius-sm);border:1px solid var(--k-border);background:#fff;color:var(--k-text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.k-input::placeholder{color:#9aa3b2}.k-input:focus{border-color:var(--k-accent);box-shadow:0 0 0 3px #3b82f633}.k-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--k-border);background:var(--k-surface);color:var(--k-text);padding:10px 14px;border-radius:var(--k-radius-sm);cursor:pointer;transition:transform 80ms ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;text-align:center;text-decoration:none;white-space:nowrap}.k-btn:hover{border-color:#d7dbe3;box-shadow:0 4px 14px #0f172a0f}.k-btn:active{transform:translateY(1px)}.k-btn:focus-visible{outline:3px solid rgba(59,130,246,.35);outline-offset:2px}.k-btn--primary{background:linear-gradient(180deg,var(--k-accent),var(--k-accent-strong));color:#f8fafc;border-color:transparent;font-weight:700}.k-btn--primary:hover{filter:brightness(1.03);box-shadow:0 6px 18px #2563eb40}.k-btn--primary:active{transform:translateY(1px)}.k-table-wrap{overflow:auto;background:var(--k-surface);border-radius:var(--k-radius)}.k-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--k-surface)}.k-table thead th{text-align:left;padding:12px;background:#f7f9fd;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--k-border);color:#111827}.k-table tbody td{padding:10px 12px;border-top:1px solid var(--k-border)}.k-table tbody tr{transition:background .12s ease,box-shadow .12s ease;cursor:pointer;background:#fff}.k-table tbody tr:hover{background:#f2f7ff}.k-table tbody tr:focus-within{outline:3px solid rgba(59,130,246,.25);outline-offset:-3px}.k-pill{--pill-bg: rgba(17, 24, 39, .06);--pill-fg: var(--ink, #111827);--pill-brd: transparent;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;font:600 12px/1.1 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--pill-fg);background:var(--pill-bg);border:1px solid var(--pill-brd);border-radius:999px;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none}.k-pill.k-pill--sm{padding:.15rem .5rem;font-size:11px}.k-pill:focus-visible{outline:2px solid color-mix(in srgb,var(--brand, #1f6feb),transparent 60%);outline-offset:2px;border-radius:999px}.k-pill--success{--pill-bg: color-mix(in srgb, var(--ok, #059669) 18%, white);--pill-fg: #065f46;--pill-brd: color-mix(in srgb, var(--ok, #059669) 35%, transparent)}.k-pill--warn{--pill-bg: color-mix(in srgb, #fbbf24 22%, white);--pill-fg: #92400e;--pill-brd: color-mix(in srgb, #f59e0b 45%, transparent)}.k-pill--neutral{--pill-bg: color-mix(in srgb, var(--muted, #6b7280) 14%, white);--pill-fg: #374151;--pill-brd: color-mix(in srgb, var(--muted, #6b7280) 30%, transparent)}.k-pill--danger{--pill-bg: color-mix(in srgb, var(--err, #dc2626) 16%, white);--pill-fg: #7f1d1d;--pill-brd: color-mix(in srgb, var(--err, #dc2626) 38%, transparent)}.k-pill--outline{--pill-bg: transparent;--pill-fg: var(--ink, #111827);--pill-brd: var(--line, #e5e7eb)}.k-pill__dot{width:.45rem;height:.45rem;border-radius:999px;background:currentColor;opacity:.6}.k-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.k-table-status{color:var(--k-muted);font-size:13px}.k-shell{display:grid;grid-template-columns:220px 1fr;gap:18px;max-width:1400px;margin:18px auto;padding:0 18px}.k-sidenav{position:sticky;top:64px;align-self:start;background:var(--k-panel);border:1px solid var(--k-border);border-radius:var(--k-radius);box-shadow:var(--k-shadow);padding:12px}.k-sidenav__title{margin:4px 8px 10px;font-size:13px;color:var(--k-muted);text-transform:uppercase;letter-spacing:.04em}.k-vtabs{display:grid;gap:8px}.k-vtab{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--k-border);background:#fff;color:var(--k-text);text-decoration:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.k-vtab:hover{background:#f7f9fd;border-color:#d7dbe3}.k-vtab--active{border-color:var(--k-accent);background:#f2f7ff}.k-main{min-height:60vh;margin-bottom:80px}.k-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:var(--k-accent)}.k-form{display:grid;gap:16px}.k-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 900px){.k-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.k-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.k-field{display:flex;flex-direction:column;gap:6px}.k-label{font-size:13px;color:var(--k-muted)}.k-help{font-size:12px;color:var(--k-muted)}.k-input,.k-select,.k-textarea{width:100%;padding:10px 12px;border-radius:var(--k-radius-sm);border:1px solid var(--k-border);background:#fff;color:var(--k-text);outline:none;transition:border-color .12s ease,box-shadow .12s ease;min-height:40px}.k-input::placeholder,.k-textarea::placeholder{color:#9aa3b2}.k-input:focus,.k-select:focus,.k-textarea:focus{border-color:var(--k-accent);box-shadow:0 0 0 3px #3b82f633}.k-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%),linear-gradient(to right,#e5e7eb,#e5e7eb);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),calc(100% - 2.2rem) 50%;background-size:6px 6px,6px 6px,1px 65%;background-repeat:no-repeat;padding-right:2.6rem}.k-textarea{min-height:120px;resize:vertical}.k-col-span-2{grid-column:1 / -1}.k-required .k-label:after{content:" *";color:var(--k-danger)}.is-invalid{border-color:var(--k-danger)!important}.is-invalid:focus{box-shadow:0 0 0 3px #dc26262e}.k-card__header .k-title{margin:0}.k-card__body.k-form-pad{padding-top:14px;padding-bottom:14px}.k-footer-actions{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.k-footer-buttons{display:flex;gap:8px;justify-content:flex-end}.k-alert{padding:10px 12px;border-radius:10px;border:1px solid var(--k-border);font-size:14px}.k-alert--error{border-color:#fecaca;background:#fff1f2;color:#991b1b}.k-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;margin-right:8px;animation:kspin .8s linear infinite}@keyframes kspin{to{transform:rotate(360deg)}}.k-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:none;background:#090c1473;padding:16px}.k-modal.k-modal--open{display:grid;place-items:center}.k-modal__dialog{display:flex;flex-direction:column;width:min(640px,calc(100vw - 32px));max-height:min(86vh,860px);background:#fff;border:1px solid var(--k-border);border-radius:var(--k-radius);box-shadow:var(--k-shadow);overflow:hidden}.k-modal__header,.k-modal__footer{flex:0 0 auto;padding:12px 16px;background:#f8fafc;display:flex;gap:20px}.k-modal__header{display:flex;align-items:center;justify-content:space-between}.k-modal__title{font-size:16px;font-weight:700;margin:0}.k-modal__body{flex:1 1 auto;overflow:auto;padding:14px 16px;background:#fff}.k-modal__footer .k-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}@media (max-width: 480px){.k-modal{padding:10px}.k-modal__dialog{width:calc(100vw - 20px);max-height:88vh}}@supports (padding: max(0px)){.k-modal__footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}.k-alert--inline{padding:8px 10px;border-radius:8px;border:1px solid #fecaca;background:#fff1f2;color:#991b1b;font-size:14px}.k-btn--ghost{width:fit-content;background:transparent;border:1px solid var(--k-border)}.k-btn .btn-spinner{display:none;width:16px;height:16px;margin-left:8px;border-radius:50%;border:2px solid rgba(0,0,0,.15);border-top-color:currentColor;animation:kspin .9s linear infinite}.k-btn.is-loading .btn-label{opacity:.6}.k-btn.is-loading .btn-spinner{display:inline-block}.k-btn.is-loading{pointer-events:none}.k-card--sub{border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.k-card__header--sub{padding:10px 12px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}.k-card__body{padding:12px}.k-modal[aria-hidden=false]{display:flex;justify-content:center}.k-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--line)}.k-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.k-status--pending .k-dot{background:var(--warn)}.k-status--approved .k-dot{background:var(--good)}.k-status--rejected .k-dot{background:var(--err)}.k-header-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid var(--k-border);border-radius:var(--k-radius);background:var(--k-panel);box-shadow:var(--k-shadow);margin-bottom:16px}.k-header-row__title{margin:0 0 6px;font-size:22px}.k-header-row__actions{display:flex;gap:8px}h1,h2,h3,h4,h5{margin:0}.invoice-paper{background:#fff;width:100%;max-width:800px;margin:40px auto;padding:40px;box-shadow:0 4px 20px #00000014;border:1px solid #e5e7eb;color:#333;font-family:Inter,ui-sans-serif,system-ui,sans-serif;position:relative;font-size:14px}.invoice-header{display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}.inv-logo-text{font-size:24px;font-weight:800;color:#0f172a;letter-spacing:-.5px}.inv-meta{text-align:right;color:#64748b}.inv-meta h1{margin:0 0 4px;font-size:28px;color:#0f172a;text-transform:uppercase;letter-spacing:1px}.inv-grid{display:flex;justify-content:space-between;margin-bottom:40px}.inv-box h3{font-size:12px;text-transform:uppercase;color:#64748b;margin:0 0 8px;letter-spacing:.5px;font-weight:600}.inv-box p{margin:0;line-height:1.5;font-weight:500;color:#0f172a}.inv-table-wrap{margin-bottom:30px}.inv-table{width:100%;border-collapse:collapse}.inv-table th{text-align:left;padding:12px 8px;border-bottom:2px solid #0f172a;font-size:12px;text-transform:uppercase;color:#0f172a;font-weight:700}.inv-table td{padding:16px 8px;border-bottom:1px solid #f1f5f9;vertical-align:top}.inv-table td.amount{text-align:right;font-weight:600}.inv-totals{display:flex;justify-content:flex-end}.inv-totals-box{width:300px}.inv-row{display:flex;justify-content:space-between;padding:8px 0;font-weight:500}.inv-row.total{border-top:2px solid #0f172a;margin-top:8px;padding-top:12px;font-size:16px;font-weight:800}.add-item-btn-wrap{text-align:center;margin-top:10px}#addItemBtn{font-size:13px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;width:100%;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s}#addItemBtn:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}@media print{body *{visibility:hidden}.invoice-paper,.invoice-paper *{visibility:visible}.invoice-paper{position:absolute;left:0;top:0;width:100%;max-width:none;box-shadow:none!important;border:none!important;margin:0;padding:20px}header,aside,.k-actions,.add-item-btn-wrap,#changeRecipientLink,#editDatesLink{display:none!important}}
