:root{--bg-1:#ecf3fb;--bg-2:#f8fafc;--panel:#ffffffe6;--panel-solid:#fff;--line:#d4dde9;--text:#16202f;--muted:#58657a;--primary:#0f766e;--primary-strong:#0d5f58;--primary-soft:#d3f4ee;--danger-soft:#fee2e2;--danger-text:#b91c1c;--shadow-sm:0 8px 20px #16202f0f;--shadow-lg:0 24px 48px #16202f1f;--radius:16px}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:radial-gradient(circle at 12% -10%,#c5e8ff 0%,#c5e8ff00 38%),radial-gradient(circle at 100% 12%,#c9f4ea 0%,#c9f4ea00 42%),linear-gradient(145deg,var(--bg-1)0%,var(--bg-2)52%,#fff 100%);margin:0;padding:0;font-family:Manrope,Avenir Next,Segoe UI,sans-serif}.page{max-width:1760px;margin:0 auto;padding:22px}.topbar{border-radius:calc(var(--radius) + 4px);color:#fff;box-shadow:var(--shadow-lg);background:linear-gradient(120deg,#0f172a 0%,#134e4a 55%,#0f766e 100%);justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:20px 22px;display:flex}.topbar h1{letter-spacing:.02em;margin:0;font-size:clamp(24px,3vw,32px);font-weight:800}.topbar p{color:#ffffffd6;margin:6px 0 0;font-size:14px}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-burger{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff57;border-radius:10px;width:38px;height:38px;font-size:20px;line-height:1;display:none}.brand-pill{white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;background:#ffffff29;border:1px solid #ffffff57;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}.topbar-logout{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff57;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}.topbar-logout:disabled{opacity:.7;cursor:not-allowed}.topbar-logout:hover:not(:disabled){background:#ffffff38}.layout{grid-template-columns:240px minmax(0,1fr) 660px;gap:16px;display:grid}.layout>*{min-width:0}.sidebar,.panel,.preview-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sidebar{height:fit-content;max-height:calc(100vh - 28px);box-shadow:var(--shadow-sm);padding:14px;position:sticky;top:14px;overflow-y:auto}.sidebar-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:13px}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-close{color:#315071;cursor:pointer;background:#f1f7ff;border:1px solid #c6dae8;border-radius:8px;width:32px;height:32px;font-size:16px;line-height:1;display:none}.sidebar button{color:#17324d;text-align:left;cursor:pointer;background:#f4f7fb;border:1px solid #0000;border-radius:11px;width:100%;margin-bottom:8px;padding:10px 11px;font-weight:600;transition:all .2s}.sidebar button:hover{background:#ebf4ff;border-color:#c6dae8;transform:translateY(-1px)}.main{flex-direction:column;gap:12px;min-width:0;display:flex}.panel{box-shadow:var(--shadow-sm);padding:16px}.collapsible-panel{padding:0}.section-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.section-summary::-webkit-details-marker{display:none}.section-summary .section-title{margin:0}.section-summary-indicator{color:var(--muted);font-size:16px;line-height:1;transition:transform .2s}.collapsible-panel[open] .section-summary-indicator{transform:rotate(180deg)}.collapsible-panel .grid{padding:0 16px 16px}.section-title{margin:0 0 12px;font-size:17px;font-weight:750}.subsection-title{letter-spacing:.06em;text-transform:uppercase;color:#19416f;margin:4px 0 8px;font-size:13px;font-weight:700}.deduction-title{margin-top:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.field-span-2{grid-column:1/-1}.helper-note{color:var(--muted);font-size:12px}.checkbox-field{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-weight:600}.checkbox-input{width:16px;height:16px;accent-color:var(--primary);padding:0}input,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:var(--panel-solid);border-radius:10px;padding:10px 11px;font-size:14px}textarea{resize:vertical;min-height:88px}input:focus,textarea:focus{border-color:#46a69d;outline:none;box-shadow:0 0 0 3px #46a69d33}.file-input{background:#f8fbfd;padding:8px}.rows-table{border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:12px;overflow:auto hidden}.rows-head,.rows-line{grid-template-columns:1fr 120px 150px;min-width:560px;display:grid}.rows-head{color:#14544e;background:linear-gradient(#e8f5f2 0%,#edf8f6 100%);font-size:12px;font-weight:700}.rows-head div,.rows-line>*{border-right:1px solid var(--line);padding:9px 8px}.rows-line{border-top:1px solid var(--line);background:#fff}.rows-line input,.rows-line button{margin:0}.rows-line.is-drop-target{background:#edf8f6}.row-actions-cell{align-items:center;gap:6px;display:flex}.row-actions-cell .danger-btn{flex:1}.drag-handle{color:#315071;cursor:grab;-webkit-user-select:none;user-select:none;background:#eef5ff;border:1px solid #c6dae8;border-radius:8px;width:34px;min-width:34px;padding:8px 0;font-size:16px;line-height:1}.drag-handle:active{cursor:grabbing}.drag-handle:hover{background:#e3eefc}.rows-line>:last-child,.rows-head div:last-child{border-right:0}.small-btn,.primary-btn,.secondary-btn,.danger-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:650;transition:all .2s}.small-btn{background:var(--primary-soft);color:var(--primary-strong);padding:8px 11px}.small-btn:hover{transform:translateY(-1px)}.primary-btn{background:var(--primary);color:#fff}.primary-btn:hover{background:var(--primary-strong)}.primary-btn:disabled{cursor:not-allowed;opacity:.7}.secondary-btn{color:#1d4e89;background:#edf3fb}.secondary-btn:hover,.danger-btn:hover{transform:translateY(-1px)}.danger-btn{background:var(--danger-soft);color:var(--danger-text)}.row-action{margin-top:8px}.action-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.kpi{border:1px solid var(--line);background:linear-gradient(#fff 0%,#f8fbfe 100%);border-radius:12px;padding:10px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{margin-top:5px;font-size:16px;font-weight:800}.preview-panel{height:fit-content;box-shadow:var(--shadow-sm);padding:12px;position:sticky;top:14px}.preview-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.preview-header .section-title{margin-bottom:0}.preview-toolbar{align-items:center;gap:8px;display:flex}.preview-zoom-controls{align-items:center;gap:6px;display:flex}.preview-zoom-value{text-align:center;min-width:68px}.preview-modal-open{white-space:nowrap}.preview-card{border:1px solid var(--line);background:var(--panel-solid);border-radius:12px;justify-content:center;align-items:flex-start;padding:10px;display:flex;overflow:visible}.preview-reference{background:#fff;border:1px solid #b7c0cc;border-radius:6px;width:max-content;padding:0;font-family:Times New Roman,Georgia,serif}.pdf-preview-scale{--preview-scale:1;width:var(--preview-width-scaled,var(--preview-width));height:var(--preview-height-scaled,var(--preview-height));flex:none;position:relative}.pdf-preview-page{box-sizing:border-box;color:#212121;transform:scale(var(--preview-scale));transform-origin:0 0;line-height:1;position:absolute;inset:0}.pdf-preview-logo{object-fit:contain;background:0 0;border:0;border-radius:0;width:170px;height:50px;display:block}.preview-export-btn{width:100%;margin-top:10px}.pdf-preview-company{text-align:center;letter-spacing:.01em;font-weight:700}.pdf-preview-header-lines{text-align:center}.pdf-preview-header-line{line-height:1}.pdf-preview-title{text-align:center;letter-spacing:.02em;font-weight:700;line-height:1}.pdf-preview-employee-block{line-height:1}.pdf-preview-employee-row{grid-template-columns:1fr 1fr;column-gap:12px;font-weight:700;display:grid}.pdf-preview-employee-row>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pdf-preview-table-block{margin:0}.pdf-preview-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9px}.pdf-preview-table th,.pdf-preview-table td{text-align:left;vertical-align:middle;border:1px solid #949494;height:18px;padding:0 6px;font-weight:400;line-height:1}.pdf-preview-table thead th{background:#d0d0d0;font-weight:700}.pdf-preview-table th:first-child,.pdf-preview-table td:first-child{width:64%}.pdf-preview-table td:last-child,.pdf-preview-table th:last-child{text-align:center}.pdf-preview-table .row-total td{font-weight:700}.pdf-preview-net{background:#d0d0d0;border:1px solid #8f8f8f;font-weight:700;line-height:1;display:grid}.pdf-preview-net span{align-items:center;height:100%;padding:0 6px;display:flex}.pdf-preview-net span:last-child{border-left:1px solid #8f8f8f;justify-content:center}.pdf-preview-signatures{border:1px solid #949494;grid-template-rows:1fr 1fr;line-height:1;display:grid}.pdf-preview-sign-row{border-top:1px solid #949494;align-items:center;display:grid}.pdf-preview-sign-row:first-child{border-top:0}.pdf-preview-sign-row>span:first-child{border-right:1px solid #949494;padding:0 6px}.pdf-preview-sign-line{border-bottom:1px solid #313131;height:0;margin:0 12px 0 8px}.pdf-preview-page-number{text-align:right;line-height:1;position:absolute;bottom:24px;right:0}.preview-modal-overlay{z-index:1000;background:#07101c8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.preview-modal{border:1px solid var(--line);width:min(1080px,96vw);max-height:92vh;box-shadow:var(--shadow-lg);background:#f6fbff;border-radius:14px;flex-direction:column;display:flex}.preview-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.preview-modal-header h3{margin:0;font-size:17px}.preview-modal-body{justify-content:center;align-items:flex-start;padding:12px;display:flex;overflow:auto}.sidebar-backdrop{display:none}.error{color:#b91c1c;margin-top:8px;font-size:13px}.auth-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-sm);padding:20px}.auth-card h1{margin:0;font-size:24px}.auth-card p{color:var(--muted);margin:8px 0 14px;font-size:14px}.auth-form{flex-direction:column;gap:10px;display:flex}@media (max-width:1280px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{display:block;position:sticky;top:14px}.sidebar-title{margin:0 0 10px}.sidebar button{text-align:left;margin-bottom:8px}.sidebar{grid-row:1/span 2}.preview-panel{grid-column:2;position:static}}@media (max-width:760px){.page{padding:14px}.layout{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:space-between;width:100%}.topbar-burger{justify-content:center;align-items:center;display:inline-flex}.brand-pill{align-self:flex-start}.sidebar{z-index:70;width:min(300px,84vw);max-height:none;box-shadow:var(--shadow-lg);border-radius:0 14px 14px 0;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidebar-title{margin:0}.sidebar button{text-align:left;flex:none;margin-bottom:8px;font-size:12px}.sidebar.is-open{transform:translate(0)}.sidebar-close{justify-content:center;align-items:center;display:inline-flex}.sidebar-backdrop{z-index:65;background:#09142257;border:0;margin:0;padding:0;display:block;position:fixed;inset:0}.grid{grid-template-columns:1fr}.field-span-2{grid-column:auto}.rows-head,.rows-line{min-width:520px}.action-row{justify-content:stretch}.action-row button{flex:48%}.kpis{grid-template-columns:1fr}.preview-panel{grid-column:auto}.preview-card{padding:10px;overflow:auto}.preview-header{flex-direction:row;align-items:center}.preview-modal-open{text-align:left;width:auto}.preview-toolbar{flex-wrap:wrap;justify-content:space-between;width:100%}}@media (max-width:520px){.page{padding:10px}.topbar{padding:16px 14px}.brand-pill{padding:6px 11px;font-size:11px}.topbar-actions{flex-wrap:wrap;gap:6px}.topbar-logout{text-align:center;width:100%}.sidebar button,.action-row button{flex:100%}.topbar-burger{width:36px;height:36px;font-size:18px}.panel,.preview-panel{padding:12px}.rows-head,.rows-line{min-width:490px}.preview-modal-overlay{padding:10px}.preview-modal{width:100%;max-height:96vh}.preview-modal-header{padding:10px}.preview-modal-body{padding:8px}.preview-zoom-controls{justify-content:space-between;width:100%}.preview-zoom-value{flex:1}}
