.fi-shell { display:grid; gap:12px; color:#20334b; }
.fi-toolbar,.fi-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fi-toolbar { flex-wrap:wrap; }
.fi-demo { display:flex; align-items:center; gap:7px; color:#527087; font-size:12px; }
.fi-demo strong { padding:5px 8px; border-radius:6px; background:#e9f4f2; color:#087d76; }
.fi-search { flex:1; max-width:320px; min-width:180px; }
.fi-search input { width:100%; min-height:40px; padding:8px 11px; border:1px solid #cbd8e4; border-radius:8px; background:#fff; color:#20334b; font:inherit; }
.fi-search input:focus-visible,.fi-tabs button:focus-visible,.fi-retry:focus-visible,.fi-table a:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fi-tabs { display:flex; flex-wrap:wrap; gap:5px; }
.fi-tabs button,.fi-retry { min-height:40px; padding:7px 12px; border:1px solid #cbd8e4; border-radius:8px; background:#fff; color:#38536a; font:inherit; cursor:pointer; }
.fi-tabs button[aria-pressed=true] { border-color:#087d76; background:#e9f4f2; color:#06665f; font-weight:700; }
.fi-tabs [data-fi-filter="due7"] { min-height:44px; }
.fi-due-soon{padding:12px;border:1px solid #d9e4ec;border-radius:9px;background:#fff}.fi-due-soon h2{margin:0 0 8px;font-size:15px}.fi-due-soon h2 span{color:#60758b}.fi-due-soon-group h3{margin:8px 0 4px;font-size:12px;color:#60758b}.fi-due-soon-group>div{display:grid;gap:6px}.fi-due-soon a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:7px 9px;border:1px solid #e2eaf0;border-radius:8px;color:#086d71;text-decoration:none}.fi-due-soon a span{overflow-wrap:anywhere}.fi-due-soon a small{color:#60758b}.fi-due-soon a:focus-visible{outline:2px solid #087d76;outline-offset:2px}@media(max-width:600px){.fi-due-soon a{grid-template-columns:minmax(0,1fr);gap:2px}}
.fi-tabs span { color:#6d8094; font-size:12px; }
.fi-list-controls{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:8px}.fi-list-group{display:grid;gap:3px;color:#60758b;font-size:11px;font-weight:700}.fi-list-group select{min-height:44px;padding:7px 10px;border:1px solid #cbd8e4;border-radius:7px;background:#fff;color:#31516a;font:inherit}.fi-contract-group+.fi-contract-group{border-top:1px solid #d9e4ec}.fi-contract-group-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:10px 14px;background:#f1f6f8;font-size:12px}.fi-contract-group-head>div:first-child{min-width:0;flex:1}.fi-contract-group-head strong,.fi-contract-group-head small{display:block;overflow-wrap:anywhere}.fi-contract-group-head small{color:#60758b}.fi-contract-group-links{display:flex;flex-wrap:wrap;gap:6px 12px}.fi-contract-group-links a{display:inline-flex;align-items:center;min-height:36px;color:#086d71;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.fi-list-sort{display:grid;gap:3px;color:#60758b;font-size:11px;font-weight:700}.fi-list-sort select,.fi-sort-dir{min-height:44px;padding:7px 10px;border:1px solid #cbd8e4;border-radius:7px;background:#fff;color:#31516a;font:inherit}.fi-sort-dir{min-width:44px;cursor:pointer;font-size:18px}.fi-list-sort select:focus-visible,.fi-sort-dir:focus-visible{outline:2px solid #087d76;outline-offset:2px}
.fi-section { overflow:hidden; border:1px solid #d9e4ec; border-radius:10px; background:#fff; }
.fi-table tr.fi-linked-invoice { background:#e8f5f1; outline:2px solid #087f78; outline-offset:-2px; }
.fi-section-head { padding:12px 14px; }
.fi-section-head h2 { margin:0; font-size:16px; }
.fi-section-head h2 span { padding:2px 6px; border-radius:5px; background:#e9eff4; color:#5f7388; font-size:12px; }
.fi-section-head>strong { text-align:right; font-size:13px; font-variant-numeric:tabular-nums; }
.fi-table-wrap { overflow-x:auto; }
.fi-table { width:100%; border-collapse:collapse; text-align:left; font-size:12px; }
.fi-table th,.fi-table td { padding:10px 12px; border-top:1px solid #e2eaf0; vertical-align:middle; }
.fi-table thead th { white-space:nowrap; background:#f7f9fb; color:#637b8e; font-size:11px; font-weight:700; }
.fi-table td { font-variant-numeric:tabular-nums; }
.fi-table td strong,.fi-table td small { display:block; }
.fi-table td small { margin-top:2px; color:#73899b; font-size:11px; }
.fi-invoice-date-label { display:none; }
.fi-table a { color:#086d71; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.fi-invoice-detail { display:grid; gap:10px; padding:14px; border:1px solid #b9d6d2; border-radius:10px; background:#f8fcfb; }
.fi-invoice-detail-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.fi-invoice-detail-head h2 { margin:0; font-size:16px; }
.fi-invoice-detail-head small { display:block; margin-top:3px; color:#527087; }
.fi-invoice-detail-head button { min-width:44px; min-height:44px; border:1px solid #cbd8e4; border-radius:8px; background:#fff; color:#31516a; font:22px/1 inherit; cursor:pointer; }
.fi-invoice-detail-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin:0; }
.fi-invoice-detail-meta div { min-width:0; padding:8px; border:1px solid #e2eaf0; border-radius:7px; background:#fff; }
.fi-invoice-detail-meta dt { color:#60758b; font-size:11px; }
.fi-invoice-detail-meta dd { margin:3px 0 0; overflow-wrap:anywhere; font-size:13px; font-variant-numeric:tabular-nums; }
.fi-invoice-detail-meta a { color:#086d71; font-weight:700; }
.fi-invoice-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }
.fi-invoice-detail-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; border:1px solid #bad5d1; border-radius:8px; background:#fff; color:#086d71; font-weight:700; text-decoration:none; }
.fi-invoice-copy { display:grid; gap:8px; min-width:0; }
.fi-invoice-copy p { margin:0; color:#527087; font-size:12px; }
.fi-invoice-copy label { display:grid; gap:5px; font-weight:700; font-size:12px; }
.fi-invoice-copy textarea { box-sizing:border-box; width:100%; min-width:0; padding:9px; border:1px solid #cbd8e4; border-radius:8px; background:#fff; color:#20334b; font:inherit; resize:vertical; }
.fi-invoice-copy-actions { display:flex; flex-wrap:wrap; gap:8px; }
.fi-invoice-copy-actions button { min-height:44px; padding:8px 12px; border:1px solid #bad5d1; border-radius:8px; background:#fff; color:#086d71; font:inherit; font-weight:700; cursor:pointer; }
.fi-invoice-copy-notice:empty { display:none; }
.fi-invoice-detail:focus-visible,.fi-invoice-detail button:focus-visible,.fi-invoice-detail a:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fi-group th { background:#edf5f8; color:#334f63; font-size:12px; }
.fi-group th span { float:right; }
.fi-status { display:inline-block; padding:4px 7px; border-radius:5px; background:#edf2f6; color:#536b7c; font-weight:700; }
.fi-paidStatus { background:#e7f4ed; color:#26714e; }
.fi-overdue { background:#ffede9; color:#a13d30; }
.fi-today,.fi-unknown { background:#fff2db; color:#8b621c; }
.fi-empty { margin:0; padding:18px; border:1px solid #d9e4ec; border-radius:9px; background:#fff; color:#60758b; }
.fi-period{display:grid;gap:10px;padding:12px;border:1px solid #d9e4ec;border-radius:10px;background:#fff}.fi-period-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:10px}.fi-period-head h2{margin:0;font-size:16px}.fi-period-head h2 span{color:#60758b;font-size:13px}.fi-period-head small{display:block;margin-top:4px;color:#60758b}.fi-period-controls{display:flex;flex-wrap:wrap;gap:8px}.fi-period-controls label{display:grid;gap:3px;color:#60758b;font-size:11px;font-weight:700}.fi-period-controls input,.fi-period-controls select{min-height:44px;padding:8px 10px;border:1px solid #cbd8e4;border-radius:8px;background:#fff;color:#20334b;font:inherit}.fi-period-controls input{width:92px}.fi-period-rows{display:grid;gap:6px}.fi-period-rows a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #e2eaf0;border-radius:8px;color:#086d71;text-decoration:none}.fi-period-rows a span{overflow-wrap:anywhere}.fi-period-rows a small{color:#60758b}.fi-period a:focus-visible,.fi-period input:focus-visible,.fi-period select:focus-visible{outline:2px solid #087d76;outline-offset:2px}
.fi-drafts { padding:12px; border:1px solid #d9e4ec; border-radius:10px; background:#fff; }
.fi-drafts-top,.fi-draft-head,.fi-draft-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fi-drafts-top h2,.fi-draft-head h3 { margin:0; font-size:15px; }
.fi-drafts-top h2 span { color:#73899b; font-size:12px; }
.fi-drafts-top small,.fi-draft-list small { display:block; color:#73899b; font-size:11px; }
.fi-draft-primary,.fi-draft-actions button,.fi-draft-head button,.fi-draft-list button,.fi-draft-preview button { min-height:38px; padding:7px 10px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#31516a; font:inherit; cursor:pointer; }
.fi-draft-primary { border-color:#087d76; background:#087d76; color:#fff; font-weight:700; }
.fi-draft-primary:disabled { opacity:.5; cursor:not-allowed; }
.fi-draft-empty { margin:8px 0 0; color:#667c8e; font-size:12px; }
.fi-draft-search { display:block; max-width:none; margin-top:12px; }
.fi-draft-tools { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin-top:12px; }
.fi-draft-tools .fi-draft-search { flex:1 1 220px; margin:0; }
.fi-draft-group-label { display:grid; gap:3px; color:#60758b; font-size:11px; font-weight:600; }
.fi-draft-group-label select,.fi-draft-tools>button { min-height:44px; padding:8px 10px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#31516a; font:inherit; }
.fi-draft-tools>button[aria-pressed="true"] { border-color:#087d76; background:#e7f5f1; color:#075e59; font-weight:700; }
.fi-draft-project { margin-top:12px; border:1px solid #d9e4ec; border-radius:9px; overflow:hidden; }
.fi-draft-project>h3 { margin:0; padding:10px 12px; background:#f1f6f8; color:#2e5062; font-size:14px; overflow-wrap:anywhere; }
.fi-draft-month>h4 { margin:0; padding:7px 12px; background:#f8fafb; border-top:1px solid #e2eaf0; color:#60758b; font-size:12px; }
.fi-draft-month>h4 span { margin-left:6px; color:#087d76; }
.fi-draft-month .fi-draft-list { margin:0; border:0; padding:0 12px; }
.fi-draft-row-actions a { display:inline-flex; align-items:center; min-height:38px; padding:7px 10px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#08716e; font:inherit; }
.fi-draft-list { display:grid; gap:0; margin-top:9px; border-top:1px solid #e2eaf0; }
.fi-draft-list article { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #e2eaf0; font-size:12px; }
.fi-draft-list article>a,.fi-draft-list a { color:#08716e; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.fi-draft-list strong { font-variant-numeric:tabular-nums; }
.fi-draft-row-actions { display:flex; flex-wrap:wrap; gap:6px; }
.fi-draft-detail { display:grid; gap:9px; margin-top:12px; padding:12px; border:1px solid #cbdde6; border-radius:9px; background:#f8fafb; }
.fi-draft-detail p { margin:0; color:#60758b; font-size:12px; }
.fi-draft-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; margin:0; padding:10px; border:1px solid #d9e4ec; border-radius:7px; background:#fff; }
.fi-draft-meta div { min-width:0; }
.fi-draft-meta dt { color:#60758b; font-size:11px; }
.fi-draft-meta dd { overflow-wrap:anywhere; margin:2px 0 0; color:#20334b; font-size:13px; }
.fi-draft-meta a { color:#13645f; }
.fi-draft-detail-line { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:9px; border:1px solid #d9e4ec; border-radius:7px; background:#fff; font-size:12px; }
.fi-draft-detail-line strong { margin-left:auto; font-variant-numeric:tabular-nums; }
.fi-draft-detail button { min-height:40px; padding:7px 10px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#31516a; font:inherit; cursor:pointer; }
.fi-draft-detail>button { justify-self:start; }
.fi-draft-copy-notice:empty { display:none; }
.fi-draft-detail button:focus-visible,.fi-draft-detail textarea:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
.fi-draft-editor { margin-top:12px; padding:12px; border:1px solid #cbdde6; border-radius:9px; background:#f8fafb; }
.fi-draft-head { padding-bottom:8px; border-bottom:1px solid #d9e4ec; }
.fi-draft-head button { min-width:38px; padding:0; font-size:20px; }
.fi-draft-editor form { display:grid; gap:10px; margin-top:10px; }
.fi-draft-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.fi-draft-field { display:grid; gap:4px; min-width:0; color:#60758b; font-size:12px; font-weight:600; }
.fi-draft-field input,.fi-draft-field select,.fi-draft-field textarea { width:100%; min-height:38px; padding:7px 9px; border:1px solid #cbd8e4; border-radius:7px; background:#fff; color:#20334b; font:400 13px/1.3 inherit; }
.fi-draft-field textarea { resize:vertical; }
.fi-draft-preview { display:grid; gap:8px; padding:10px; border:1px solid #d9e4ec; border-radius:8px; background:#fff; }
.fi-draft-preview>div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.fi-draft-preview>div strong { margin-left:auto; font-variant-numeric:tabular-nums; }
.fi-draft-preview>button { justify-self:start; }
.fi-draft-actions { justify-content:flex-end; padding-top:8px; border-top:1px solid #d9e4ec; }
.fi-draft-error,.fi-draft-notice { margin:7px 0; padding:8px; border-radius:7px; background:#fff0ed; color:#a13d30; font-size:12px; }
.fi-draft-notice { background:#e7f4ed; color:#26714e; }
.fi-draft-editor input:focus-visible,.fi-draft-editor select:focus-visible,.fi-draft-editor button:focus-visible,.fi-draft-editor textarea:focus-visible,.fi-drafts a:focus-visible,.fi-drafts button:focus-visible { outline:2px solid #087d76; outline-offset:2px; }
@media (max-width:760px) {
  .fi-invoice-detail-meta { grid-template-columns:minmax(0,1fr); }
  .fi-invoice-detail-actions a { flex:1 1 145px; }
  .fi-table td:first-child a { display:inline-flex; align-items:center; min-height:44px; }
  .fi-draft-meta { grid-template-columns:minmax(0,1fr); }
  .fi-toolbar,.fi-section-head { align-items:stretch; }
  .fi-search { max-width:none; width:100%; }
  .fi-section-head { flex-direction:column; gap:4px; }
  .fi-section-head>strong { text-align:left; }
  .fi-table,.fi-table tbody,.fi-table tr,.fi-table td { display:block; width:100%; }
  .fi-table thead { display:none; }
  .fi-table tr:not(.fi-group) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; padding:8px 12px; border-top:1px solid #e2eaf0; }
  .fi-table td { padding:5px 0; border:0; overflow-wrap:anywhere; }
  .fi-table td::before { content:attr(data-label); display:block; margin-bottom:2px; color:#73899b; font-size:10px; font-weight:600; }
  .fi-table td:nth-child(2),.fi-table td:nth-child(7) { grid-column:1 / -1; }
  .fi-group th { display:block; width:100%; padding:9px 12px; }
  .fi-drafts-top { align-items:start; flex-direction:column; }
  .fi-draft-list article { grid-template-columns:minmax(0,1fr); gap:5px; }
  .fi-period-controls,.fi-period-controls label{width:100%}.fi-period-controls label{min-width:0}.fi-period-controls input,.fi-period-controls select{width:100%}.fi-period-rows a{grid-template-columns:minmax(0,1fr);gap:2px}
  .fi-draft-tools .fi-draft-search,.fi-draft-group-label { flex:1 1 100%; width:100%; }
  .fi-draft-group-label select { width:100%; }
  .fi-draft-row-actions button { flex:1; }
  .fi-draft-detail-line strong { margin-left:0; }
  .fi-draft-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fi-draft-fields>.fi-draft-field:first-child { grid-column:1 / -1; }
  .fi-draft-editor .fi-draft-field input,.fi-draft-editor .fi-draft-field select { box-sizing:border-box; min-width:0; min-height:44px; font-size:16px; }
  .fi-draft-editor .fi-draft-actions button,.fi-draft-editor .fi-draft-head button { min-height:44px; }
  .fi-list-group{width:100%}.fi-list-group select{width:100%}.fi-list-sort{flex:1;min-width:0}.fi-list-sort select{width:100%}.fi-contract-group-head{padding:9px 12px}.fi-contract-group-links{width:100%}.fi-contract-group-links a{min-height:44px}
}
@media (max-width:360px) { .fi-draft-fields { grid-template-columns:minmax(0,1fr); } }
@media (max-width:480px) {
  .fi-table-wrap { overflow-x:visible; }
  .fi-table tr:not(.fi-group) { grid-template-columns:minmax(0,1fr) minmax(104px,auto); gap:0 8px; margin:6px 8px; padding:7px 9px; border:1px solid #d9e4ec; border-radius:8px; background:#fff; }
  .fi-table tr.fi-linked-invoice { border-color:#087f78; }
  .fi-table td { min-width:0; padding:0; }
  .fi-table td:first-child { grid-column:1; grid-row:1; align-self:center; }
  .fi-table td:first-child::before,.fi-table td:nth-child(2)::before,.fi-table td:nth-child(7)::before { display:none; }
  .fi-table td:first-child a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; overflow-wrap:anywhere; font-size:14px; }
  .fi-table td:first-child small { display:block; margin-top:1px; color:#60758b; font-size:11px; line-height:1.3; overflow-wrap:anywhere; }
  .fi-invoice-date-label { display:inline; }
  .fi-table td:nth-child(2) { grid-column:1/-1; grid-row:2; padding:3px 0 5px; border-bottom:1px solid #e2eaf0; }
  .fi-table td:nth-child(2) a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
  .fi-table td:nth-child(3),.fi-table td:nth-child(4) { display:none; }
  .fi-table td:nth-child(5) { grid-column:2; grid-row:3; justify-self:end; text-align:right; }
  .fi-table td:nth-child(6) { grid-column:1; grid-row:3; }
  .fi-table td:nth-child(5),.fi-table td:nth-child(6) { padding-top:6px; font-size:12px; }
  .fi-table td:nth-child(7) { grid-column:2; grid-row:1; align-self:center; justify-self:end; text-align:right; }
  .fi-table td:nth-child(7) small { display:block; margin-top:2px; color:#60758b; font-size:11px; line-height:1.3; white-space:normal; overflow-wrap:anywhere; }
  .fi-table .fi-status { font-size:11px; line-height:1.2; }
}

.fi-vat-settings{min-width:0;margin:10px 0;border:1px solid #d9e5ed;border-radius:10px;background:#fff}.fi-vat-settings>summary{min-height:44px;padding:11px 13px;color:#176966;font-weight:700;cursor:pointer}.fi-vat-settings>p{margin:3px 13px 10px;color:#60758b;font-size:12px}.fi-vat-settings form{padding:0 13px 13px}.fi-vat-rows{display:grid;gap:8px}.fi-vat-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.fi-vat-row label{display:grid;gap:4px;color:#60758b;font-size:12px}.fi-vat-row input{min-width:0;min-height:44px;padding:8px;border:1px solid #bdced8;border-radius:8px;font:inherit;font-size:16px}.fi-vat-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.fi-vat-actions button,.fi-vat-row button{min-height:44px;padding:8px 12px;border:1px solid #86aaa8;border-radius:8px;background:#f2faf9;color:#176966;font:inherit;font-weight:700;cursor:pointer}.fi-vat-actions button[type=submit]{background:#176966;color:#fff}.fi-vat-error{color:#9b3728}.fi-vat-notice{color:#236a4a}@media(max-width:560px){.fi-vat-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fi-vat-row button{grid-column:1/-1}.fi-vat-actions button{flex:1 1 100%}}
