:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.4;--bg: #0b0f14;--text: #e5e7eb;--muted: #9ca3af;--link: #93c5fd;--surface: #111827;--surface-2: #0b1220;--border: #1f2937;--border-strong: #334155;--btn-bg: #1f2937;--btn-hover: #0f172a;--btn-text: #e5e7eb;--primary: #2563eb;--primary-hover: #1d4ed8;--table-head-bg: #0f172a}:root[data-theme=light]{--bg: #f6f8fb;--text: #0f172a;--muted: #475569;--link: #1d4ed8;--surface: #ffffff;--surface-2: #f8fafc;--border: #dbe4ee;--border-strong: #cbd5e1;--btn-bg: #f1f5f9;--btn-hover: #e2e8f0;--btn-text: #0f172a;--primary: #2563eb;--primary-hover: #1d4ed8;--table-head-bg: #eef2f7}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1220px;margin:0 auto;padding:16px}.app-shell{min-height:calc(100vh - 32px);display:flex;flex-direction:column}.app-main{flex:1}.app-footer{margin-top:14px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(90deg,var(--surface-2),var(--surface));text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{background:var(--btn-bg);border:1px solid var(--border-strong);color:var(--btn-text);padding:7px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--btn-hover)}.btn.primary{background:var(--primary);border-color:var(--primary-hover);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.danger{background:#991b1b;border-color:#7f1d1d;color:#fff}.btn.danger:hover{background:#7f1d1d}.btn.icon-btn{width:34px;height:34px;padding:0;font-size:18px;line-height:1}.badge{padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);font-size:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px;border-bottom:1px solid var(--border)}input,select{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);padding:7px 9px;border-radius:8px}small{color:var(--muted)}.page-header{justify-content:space-between;align-items:flex-end}.page-header-title{margin:0;line-height:1.2}.page-header-subtitle{display:inline-block;margin-top:2px}.page-header-actions{gap:8px}.field{display:inline-flex;flex-direction:column;gap:4px}.field>small{line-height:1.1}.field input,.field select{width:100%}.section-title{margin:0;font-size:16px}.section-header{justify-content:space-between;margin-bottom:8px}.error-banner{margin-top:10px;padding:8px 10px;border-radius:8px;border:1px solid #7f1d1d;background:#7f1d1d2e;color:#fecaca}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px}.item-lookup{position:relative;width:100%}.item-lookup-input-wrap{position:relative;display:flex;align-items:center}.item-lookup-input-wrap input{width:100%;padding-right:34px}.item-lookup-clear{position:absolute;right:4px;top:4px;min-width:24px;height:24px;padding:0}.item-lookup-menu{position:absolute;z-index:50;left:0;right:0;margin-top:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 10px 30px #02061759}.item-lookup-list{max-height:260px;overflow:auto}.item-lookup-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;padding:8px 10px;cursor:pointer}.item-lookup-option:hover,.item-lookup-option.active{background:var(--surface-2)}.item-lookup-option:last-child{border-bottom:0}.item-lookup-empty{padding:10px}.item-lookup-footer{display:flex;justify-content:center;padding:8px;border-top:1px solid var(--border)}.empty-row{text-align:center}.compact-table th,.compact-table td{padding:5px 7px;font-size:13px}.compact-table .num{text-align:right;font-variant-numeric:tabular-nums}.invoice-table .name-cell{min-width:240px;white-space:normal}.invoice-table .note-cell{min-width:220px;white-space:normal}.invoice-meta-grid{display:grid;gap:8px;grid-template-columns:repeat(6,minmax(120px,1fr))}.invoice-meta-item{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:10px;padding:8px}.invoice-meta-item small{display:block;margin-bottom:4px}@media (max-width: 1000px){.invoice-meta-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}.invoice-filters input,.invoice-filters select{padding:6px 8px;font-size:13px}.invoice-list-table th,.invoice-list-table td{padding:5px 7px;font-size:13px}.invoice-list-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}.invoice-list-table .num{text-align:right}.invoice-list-table th{white-space:nowrap;position:sticky;top:0;z-index:2;background:var(--table-head-bg);border-bottom:1px solid var(--border-strong)}.btn.btn-tight{padding:5px 9px;border-radius:8px;font-size:12px}.invoice-list-wrap{max-height:68vh;overflow:auto;border:1px solid var(--border);border-radius:10px}.invoice-list-wrap table{margin:0}.invoice-preset-row{gap:6px}.invoice-list-table .action-col{position:sticky;right:0;background:var(--surface);z-index:1;border-left:1px solid var(--border-strong)}.invoice-list-table thead .action-col{top:0;z-index:4;background:var(--table-head-bg)}.invoice-list-table .id-col{position:sticky;left:0;background:var(--surface);z-index:1;border-right:1px solid var(--border-strong)}.invoice-list-table thead .id-col{top:0;z-index:5;background:var(--table-head-bg)}.invoice-entry-table th,.invoice-entry-table td{vertical-align:top}.invoice-entry-table .num{text-align:right;font-variant-numeric:tabular-nums}.status-ok{border-color:#15803d;color:#bbf7d0}.status-warn{border-color:#d97706;color:#fde68a}.status-bad{border-color:#dc2626;color:#fecaca}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#02061780;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:min(760px,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:14px;box-shadow:0 20px 60px #02061759}.modal-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(180px,1fr))}.modal-grid input,.modal-grid select{width:100%}.admin-check-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:6px 10px;margin-top:6px}.admin-check-item{display:inline-flex;align-items:center;gap:6px;font-size:13px}.calculator-page{padding:8px}.calculator-page .page-header{margin-bottom:2px}.calculator-page .card{padding:8px}.calculator-page .row{gap:8px}.calculator-page .field{gap:3px}.calculator-page .field>small{font-size:11px}.calculator-page .field input,.calculator-page .field select,.calculator-page .item-lookup-input-wrap input{min-height:32px;padding:5px 8px;border-radius:7px;font-size:13px}.calculator-page .btn{padding:6px 9px;font-size:12px;border-radius:7px}.calculator-controls-row,.calculator-actions-row,.calculator-categories{margin-top:8px}.calculator-result-card{border-color:var(--primary);background:linear-gradient(180deg,var(--surface),var(--surface-2))}.calculator-result-main{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.calculator-result-badge{font-size:15px;font-weight:600;padding:7px 12px;border-color:var(--primary);background:#2563eb24}.calc-steps-spoiler>summary{cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.calc-steps-spoiler>summary:after{content:"▸";margin-left:8px;color:var(--muted)}.calc-steps-spoiler[open]>summary:after{content:"▾"}.calc-steps-spoiler>small{display:block;margin-top:8px}textarea{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);padding:7px 9px;border-radius:8px;font-family:inherit}.help-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(260px,1fr))}.help-list{margin:8px 0 0;padding-left:18px}.help-list li{margin:0 0 8px}.help-links{display:flex;gap:8px;flex-wrap:wrap}.feedback-card{max-width:980px;margin:0 auto}.feedback-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(220px,1fr))}.feedback-textarea{width:100%;min-height:120px;resize:vertical}.feedback-note{width:100%;min-height:70px;resize:vertical;font-size:12px}@media (max-width: 720px){.modal-grid,.admin-check-grid,.help-grid,.feedback-grid{grid-template-columns:1fr}}
