:root{--ink-950:#0b0f17;--ink-900:#0f172a;--ink-800:#1e293b;--ink-700:#334155;--cream:#f8fafc;--surface:#fff;--surface-muted:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--accent:#4f46e5;--accent-strong:#4338ca;--accent-soft:#eef2ff;--success:#16a34a;--success-soft:#dcfce7;--warning:#d97706;--warning-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--personnel-primary-border:#c7d2fe;--personnel-hours:#0369a1;--personnel-hours-line:#0284c7;--personnel-hours-soft:#e0f2fe;--personnel-people:#047857;--personnel-people-soft:#d1fae5;--personnel-average:#7e22ce;--personnel-average-soft:#f3e8ff;--personnel-efficiency:#be123c;--personnel-efficiency-soft:#ffe4e6;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 16px #0f172a14;--shadow-lg:0 12px 32px #0f172a24;--z-header:30;--z-backdrop:40;--z-drawer:50;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-base:.22s;--duration-slow:.42s;color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;font-family:Manrope,system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{min-height:100dvh;margin:0;overflow-x:hidden}#root{min-height:100dvh}h1,h2,h3{letter-spacing:-.01em;color:var(--ink-900);margin:0;font-family:Manrope,system-ui,sans-serif;font-weight:700}h1{font-size:1.6rem}h2{font-size:1.05rem}p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:inherit}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 70%, white);outline-offset:2px}.skip-link{z-index:100;border-radius:var(--radius-sm);color:#fff;background:var(--accent-strong);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-header-text h1{margin-bottom:4px}.subtitle{color:var(--text-muted);font-size:.92rem}.layout{min-height:100dvh;display:flex}.mobile-header,.mobile-nav-backdrop,.sidebar-close{display:none}.sidebar{background:var(--ink-950);width:250px;color:var(--cream);flex-direction:column;flex-shrink:0;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;color:#fff;align-items:center;gap:10px;margin-bottom:28px;padding:0 8px;font-size:1.1rem;font-weight:800;display:flex}.brand-mark{background:linear-gradient(155deg, var(--accent), #818cf8);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar nav{flex-direction:column;flex:1;gap:22px;display:flex}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:#faf8f461;margin-bottom:6px;padding:0 10px;font-size:.68rem;font-weight:700}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-block{border-top:1px solid #ffffff14;margin-top:6px;padding-top:14px}.nav-group-block:first-of-type{border-top:none;margin-top:0;padding-top:0}.nav-link{color:#faf8f4c7;border-radius:var(--radius-sm);min-height:44px;transition:background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);align-items:center;gap:10px;padding:8px 10px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.nav-link svg{opacity:.85;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-spring);flex-shrink:0}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{background:var(--accent);color:#fff}.nav-link.active svg{opacity:1}.user-box{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.user-identity{align-items:center;gap:10px;min-width:0;display:flex}.avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.user-identity-text{min-width:0}.user-identity-text strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;display:block;overflow:hidden}.role-tag{color:#faf8f48c;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.icon-button{border-radius:var(--radius-sm);color:#faf8f4cc;cursor:pointer;width:44px;height:44px;transition:background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #ffffff24;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:active{transform:scale(.92)}.icon-button:hover{color:#fff;background:#ffffff14}.content{flex:1;width:100%;min-width:0;max-width:1440px;padding:36px 44px 60px}.login-page{background:radial-gradient(circle at 20% 20%, var(--ink-800) 0%, var(--ink-950) 60%);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;gap:6px;padding:36px 32px;display:flex}.login-brand-mark{background:linear-gradient(155deg, var(--accent), #818cf8);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;font-size:1.4rem;display:flex}.login-card h1{margin-bottom:2px}.login-card .subtitle{margin-bottom:22px}.login-card form{flex-direction:column;display:flex}label{color:var(--text-muted);flex-direction:column;gap:5px;margin-bottom:14px;font-size:.82rem;font-weight:600;display:flex}.success-message{color:#166534;background:var(--success-soft);border-radius:var(--radius-sm);border:1px solid #bbf7d0;margin-bottom:16px;padding:10px 12px}.payslip-selection,.payslip-upload-results{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);margin:4px 0 16px;padding:14px}.payslip-selection>strong,.payslip-upload-results>strong{color:var(--text);margin-bottom:9px;font-size:.88rem;display:block}.payslip-selection ul,.payslip-upload-results ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.payslip-selection li,.payslip-upload-results li{border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text-muted);align-items:flex-start;gap:9px;padding:8px 10px;display:flex}.payslip-selection li span,.payslip-upload-results li span{overflow-wrap:anywhere;min-width:0}.payslip-upload-results li>span{gap:1px;display:grid}.payslip-upload-results li small{color:var(--text-muted);font-size:.78rem}.payslip-upload-results li.is-success>svg{color:var(--success)}.payslip-upload-results li.is-error>svg{color:var(--danger)}.payslip-upload-results li.is-uploading>svg{color:var(--accent)}.payslip-period-links{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 16px;font-size:.84rem;display:flex}.payslip-period-links a{color:var(--accent-strong);border-radius:var(--radius-sm);background:var(--accent-soft);padding:6px 9px;font-weight:700;text-decoration:none}.payslip-period-links a:hover{text-decoration:underline}.spin{animation:.7s linear infinite spin}.form-row{flex-wrap:wrap;gap:14px;display:flex}.form-row label{flex:1;min-width:160px}.checkbox-row{flex-direction:row;align-items:center;gap:8px}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);padding:9px 12px}select,option,optgroup{font-family:Manrope,system-ui,Segoe UI,Roboto,sans-serif}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{resize:vertical;min-height:60px;font-family:inherit}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}input[type=checkbox].switch{appearance:none;background:var(--border-strong);cursor:pointer;width:44px;min-width:44px;height:26px;transition:background-color var(--duration-base) var(--ease-out);border-radius:999px;margin:0;position:relative}input[type=checkbox].switch:before{content:"";width:20px;height:20px;transition:transform var(--duration-base) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a40}input[type=checkbox].switch:checked{background:var(--accent)}input[type=checkbox].switch:checked:before{transform:translate(18px)}input[type=checkbox].switch:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}button{font:inherit;background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);border:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:.88rem;font-weight:600;display:inline-flex}button:hover{background:var(--accent-strong)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:default}button:disabled:hover{background:var(--accent)}.btn-secondary{background:var(--surface-muted);color:var(--ink-900)}.btn-secondary:hover{background:var(--border)}.button-link{border-radius:var(--radius-sm);background:var(--accent);color:#fff;min-height:44px;transition:background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);justify-content:center;align-items:center;gap:7px;padding:10px 18px;font-size:.88rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button-link:hover{background:var(--accent-strong);color:#fff}.button-link.btn-secondary{background:var(--surface-muted);color:var(--ink-900)}.button-link.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.login-card button{justify-content:center;margin-top:6px;padding:11px 18px}.user-box button{color:#faf8f4d9;background:0 0;border:1px solid #ffffff29;padding:7px 12px;font-size:.8rem}.user-box button:hover{background:#ffffff14}.data-table button,.upload-inline{background:var(--surface-muted);color:var(--ink-900);border:1px solid #0000;padding:6px 12px;font-size:.8rem;font-weight:600}.data-table button:hover{background:var(--border)}.data-table button.btn-danger{background:var(--danger-soft);color:var(--danger)}.data-table button.btn-danger:hover{background:var(--danger);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:22px;padding:22px 24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.card>h2:first-child,.card-header h2{margin-bottom:16px}.card-header h2{margin-bottom:0}.user-create-card{border-color:var(--border-strong);max-width:920px}.user-create-heading,.user-create-account-summary,.user-create-section-heading,.user-create-actions{align-items:center;gap:14px;display:flex}.user-create-heading{justify-content:space-between;align-items:flex-start}.user-create-heading h2{margin-bottom:3px}.user-create-heading p{margin:0}.user-create-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:24px 0 26px;padding:0;list-style:none;display:grid}.user-create-steps li{color:var(--text-muted);align-items:center;gap:9px;font-size:.8rem;font-weight:650;display:flex;position:relative}.user-create-steps li:after{content:"";background:var(--border);flex:1;height:2px;margin-inline:12px}.user-create-steps li:last-child:after{display:none}.user-create-steps li>span{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.user-create-steps li.active{color:var(--accent-strong)}.user-create-steps li.active>span{border-color:var(--accent);background:var(--accent-soft)}.user-create-steps li.active:after{background:var(--accent)}.user-create-intro{border-radius:var(--radius-sm);background:var(--accent-soft);align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.user-create-intro>span{color:var(--accent-strong);margin-top:1px}.user-create-intro strong{font-size:.86rem}.user-create-intro p{color:var(--text-muted);margin:2px 0 0;font-size:.8rem}.user-create-actions{justify-content:flex-end;margin-top:10px}.user-create-account-summary{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);margin-bottom:22px;padding:12px 14px}.user-create-account-summary>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.user-create-account-summary strong,.user-create-account-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-create-account-summary span{color:var(--text-muted);font-size:.78rem}.user-create-section-heading{justify-content:space-between;margin-bottom:4px}.user-create-section-heading span{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:700}.profile-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.profile-avatar-shell{border:3px solid var(--surface);outline:1px solid var(--border);background:var(--accent-soft);width:96px;height:96px;color:var(--accent-strong);box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;font-size:1.7rem;font-weight:800;display:flex;overflow:hidden}.profile-avatar-shell img{object-fit:cover;width:100%;height:100%;display:block}.profile-identity-copy h2{margin-bottom:2px;font-size:1.45rem}.profile-identity-copy>p{color:var(--text-muted);margin:0}.profile-meta{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.profile-meta span{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:650}.profile-photo-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.profile-photo-actions small{color:var(--text-muted);font-size:.7rem}.profile-photo-picker{color:var(--ink-900);flex-direction:row;margin:0}.profile-photo-picker:has(+input:focus-visible){box-shadow:0 0 0 3px var(--accent-soft)}.profile-photo-actions button,.profile-photo-picker,.user-create-actions button,.page-header>button{min-height:44px}.contract-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-form{max-width:980px}.contract-form .section-heading p{margin:3px 0 0}.contract-form textarea{min-height:88px}.contract-form-actions{justify-content:flex-end;gap:10px;display:flex}.contract-table-wrapper .data-table{min-width:1180px}.profile-contract-table .data-table{min-width:980px}.contract-date-range{color:var(--text-muted);white-space:nowrap;margin-top:5px;display:block}.contract-list-card>.card-header{margin-bottom:14px}.contract-table-wrapper .data-table button,.profile-contract-table .data-table button{min-height:44px}.collapsible{padding:0}.collapsible-header{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:var(--text);font:inherit;transition:background var(--duration-base) var(--ease-out);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:22px 24px;display:flex}.collapsible-header:hover{background:var(--surface-muted)}.collapsible-header:active{transform:none}.collapsible-title{color:var(--ink-900);align-items:center;gap:8px;font-family:Manrope,system-ui,sans-serif;font-size:1.05rem;font-weight:700;display:flex}.collapsible-header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.collapsible-summary{color:var(--text-muted);white-space:nowrap;font-size:.82rem;font-weight:500}.collapsible-chevron{color:var(--text-muted);transition:transform var(--duration-base) var(--ease-out);flex-shrink:0}.collapsible-chevron.open{transform:rotate(180deg)}.collapsible-body{padding:0 24px 22px}.table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;overscroll-behavior-inline:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;max-width:100%;overflow-x:auto}.table-wrapper .data-table{min-width:980px}.supplier-table-wrapper .supplier-table{min-width:1260px}.supplier-table input:not(.switch),.supplier-table select{max-width:100%}.supplier-term-input{width:92px}.supplier-table .supplier-actions{z-index:1;background:var(--surface);position:sticky;right:0;box-shadow:-10px 0 14px -14px #0f172a73}.supplier-list-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.supplier-search{width:min(430px,100%);position:relative}.supplier-search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.supplier-search input{width:100%;min-height:44px;padding-left:42px}.user-permissions-row>td{background:var(--surface-muted);padding:18px}.user-permissions-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.user-permissions-header h3{margin-bottom:3px}.user-permissions-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.user-permission-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:row;align-items:center;gap:10px;min-height:52px;margin:0;padding:10px 12px;display:flex}.user-permission-option input{flex:none;width:18px;height:18px}.user-permission-option span{color:var(--text);flex-direction:column;display:flex}.user-permission-option small{color:var(--text-muted);font-size:.7rem;font-weight:500}.user-permission-option:has(input:disabled){cursor:default;opacity:.75}.users-table-wrapper .data-table{min-width:940px;margin-top:0}.user-identity-column,.user-function-column{min-width:190px}.user-identity-cell,.user-function-cell{flex-direction:column;gap:2px;display:flex}.user-identity-cell span,.user-function-cell span{color:var(--text-muted);font-size:.76rem}.user-name-link{color:var(--ink-900);font-weight:750;text-decoration:none}.user-name-link:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.user-actions-column{min-width:196px}.user-actions-cell{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-primary-link,.user-primary-action{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:6px;min-height:44px;padding:7px 11px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.user-primary-link{color:var(--accent-strong);border:1px solid var(--accent);background:var(--accent-soft)}.user-primary-link:hover{background:color-mix(in srgb, var(--accent-soft) 72%, var(--accent))}.user-more-button{width:44px;min-width:44px;min-height:44px;padding:0}.user-actions-panel-row>td,.user-employment-row>td{background:var(--surface-muted);padding:0 18px 18px}.user-actions-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:14px;display:grid}.user-actions-group{flex-direction:column;gap:5px;display:flex}.user-actions-group>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:0 8px 4px;font-size:.68rem;font-weight:750}.user-actions-group button,.user-actions-group a{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--ink-900);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:9px;padding:8px 10px;font-size:.8rem;font-weight:650;text-decoration:none;display:flex}.user-actions-group button:hover,.user-actions-group a:hover{background:var(--surface-muted)}.user-actions-group.danger{border-left:1px solid var(--border);padding-left:12px}.user-actions-group.danger button{color:var(--danger)}.user-actions-group.danger button:hover{color:#fff;background:var(--danger)}.inactive-users-divider td{background:var(--surface-muted);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:700}.inactive-user-row{opacity:.72}.inactive-user-row:hover{opacity:1}.supplier-table tbody tr:hover .supplier-actions{background:var(--surface-muted)}.invoice-table-wrapper .data-table{min-width:900px}.data-table{border-collapse:collapse;width:100%;margin-top:4px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 12px;font-size:.87rem}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:600}.data-table tbody tr{transition:background var(--duration-base) var(--ease-out)}.data-table tbody tr:hover{background:var(--surface-muted)}.data-table tbody tr:last-child td{border-bottom:none}.invoice-workspace{padding-bottom:16px}.invoice-toolbar,.invoice-list-heading,.invoice-pagination,.invoice-table-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.invoice-search{flex:1;max-width:620px;position:relative}.invoice-search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.invoice-search input{width:100%;min-height:44px;padding-left:42px}.invoice-toolbar-actions,.invoice-row-actions,.invoice-pagination>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invoice-toolbar-actions button{min-height:44px}.invoice-toolbar-actions .active{background:var(--accent-soft);color:var(--accent-strong)}.filter-count{color:#fff;background:var(--accent);border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:.7rem;display:inline-grid}.invoice-filter-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:12px;margin-top:16px;padding:16px;display:grid}.invoice-filter-panel label{margin:0}.invoice-clear-filters{min-height:42px;margin-bottom:0}.invoice-list-heading{border-top:1px solid var(--border);align-items:flex-end;margin-top:20px;padding-top:18px}.invoice-list-heading h2{margin-bottom:2px}.invoice-list-heading p,.invoice-table-title span,.invoice-pagination>span{color:var(--text-muted);font-size:.82rem}.invoice-summary-strip{gap:24px;display:flex}.invoice-summary-strip span{flex-direction:column;align-items:flex-end;display:flex}.invoice-summary-strip small{color:var(--text-muted);font-size:.7rem}.invoice-summary-strip strong,.invoice-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-summary-strip .attention strong{color:var(--warning)}.invoice-list-card{padding:16px}.invoice-table-title{margin:0 4px 12px}.invoice-supplier-cell>strong{margin-right:6px;display:inline-block}.invoice-date-input{width:148px}.invoice-actions-cell{width:1%}.invoice-row-actions{justify-content:flex-end;min-width:160px}.invoice-row-actions button{white-space:nowrap}.invoice-payment-form{align-items:flex-end;padding:4px 0}.invoice-payment-form label{max-width:220px;margin-bottom:0}.invoice-pagination{margin-top:14px}.invoice-secondary-section{margin:30px 0 10px}.invoice-secondary-section h2{margin-bottom:2px}.invoice-management-row{align-items:flex-end;margin-top:14px}.invoice-management-row label{flex:0 280px;margin-bottom:0}.invoice-import-heading{margin-top:24px}.invoice-form-note{margin:-8px 0 14px}.finance-period-bar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 18px;display:flex}.finance-period-bar>div{flex-direction:column;display:flex}.finance-period-bar label{flex-direction:row;align-items:center;margin:0}.finance-period-bar input{min-height:42px}.finance-eyebrow{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.finance-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.finance-kpi{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:17px;display:grid}.finance-kpi-icon{width:36px;height:36px;color:var(--accent-strong);background:var(--accent-soft);border-radius:10px;grid-row:1/span 2;place-items:center;display:grid}.finance-kpi-icon.income{color:var(--success);background:var(--success-soft)}.finance-kpi-icon.expense{color:var(--danger);background:var(--danger-soft)}.finance-kpi-icon.payable{color:var(--warning);background:var(--warning-soft)}.finance-kpi-label{color:var(--text-muted);font-size:.76rem}.finance-kpi strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;grid-column:2;font-size:1.2rem}.finance-kpi small{color:var(--text-muted);grid-column:2;font-size:.7rem}.finance-kpi.result.positive strong{color:var(--success)}.finance-kpi.result.negative strong{color:var(--danger)}.finance-analysis-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.finance-analysis-grid .card{margin-bottom:20px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{margin-top:2px}.section-heading>svg{color:var(--text-muted)}.finance-share-bar{background:var(--surface-muted);border-radius:999px;height:9px;display:flex;overflow:hidden}.finance-share-bar .invoice-share{background:var(--accent)}.finance-share-bar .receipt-share{background:var(--success)}.finance-breakdown-list{margin:18px 0 0}.finance-breakdown-list>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.finance-breakdown-list dt{align-items:center;gap:8px;display:flex}.finance-breakdown-list dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:700}.finance-breakdown-list small{color:var(--text-muted);font-weight:500}.legend-dot{background:var(--accent);border-radius:999px;width:9px;height:9px}.legend-dot.receipt{background:var(--success)}.finance-note{margin-top:14px}.finance-category-list{flex-direction:column;gap:15px;display:flex}.finance-category-list>div>div:first-child{justify-content:space-between;gap:12px;margin-bottom:5px;display:flex}.finance-category-list strong{font-variant-numeric:tabular-nums;font-size:.84rem}.finance-trend-table .data-table{min-width:660px}.finance-trend-table td:not(:first-child),.finance-trend-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.finance-result{font-weight:700}.finance-result.positive{color:var(--success)}.finance-result.negative{color:var(--danger)}.personnel-analytics-panel{padding:22px}.personnel-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.personnel-panel-heading .eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:.7rem;font-weight:800;display:block}.personnel-panel-heading h2{margin-bottom:3px}.personnel-panel-heading p{color:var(--text-muted);font-size:.82rem}.personnel-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.personnel-kpi{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr);align-content:start;gap:3px 10px;padding:15px;display:grid}.personnel-kpi.is-primary{border-color:var(--personnel-primary-border);background:linear-gradient(145deg, var(--surface), var(--accent-soft))}.personnel-kpi-icon{width:35px;height:35px;color:var(--accent-strong);background:var(--accent-soft);border-radius:10px;grid-row:1/span 3;place-items:center;display:grid}.personnel-kpi-icon.is-hours{color:var(--personnel-hours);background:var(--personnel-hours-soft)}.personnel-kpi-icon.is-people{color:var(--personnel-people);background:var(--personnel-people-soft)}.personnel-kpi-icon.is-coverage{color:var(--warning);background:var(--warning-soft)}.personnel-kpi-icon.is-average{color:var(--personnel-average);background:var(--personnel-average-soft)}.personnel-kpi-icon.is-efficiency{color:var(--personnel-efficiency);background:var(--personnel-efficiency-soft)}.personnel-kpi-label{color:var(--text-muted);font-size:.74rem;line-height:1.35}.personnel-kpi strong{overflow-wrap:anywhere;min-width:0;color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:1.28rem;line-height:1.25}.personnel-kpi>small,.personnel-kpi-trend{color:var(--text-muted);grid-column:2;align-items:center;gap:4px;font-size:.69rem;line-height:1.4;display:flex}.personnel-kpi-trend.is-up{color:var(--personnel-hours)}.personnel-kpi-trend.is-down{color:var(--personnel-average)}.personnel-kpi-trend.is-flat{color:var(--text-muted)}.personnel-coverage-track{background:var(--border);border-radius:999px;grid-column:2;height:6px;overflow:hidden}.personnel-coverage-track span{border-radius:inherit;background:var(--warning);height:100%;display:block}.personnel-evolution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.personnel-chart-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);min-width:0;padding:16px 14px 8px}.personnel-chart-card>header{justify-content:space-between;align-items:flex-start;gap:14px;padding:0 3px 4px;display:flex}.personnel-chart-card h3{font-size:.9rem}.personnel-chart-card header p{color:var(--text-muted);font-size:.7rem}.personnel-chart-card header>strong{white-space:nowrap;color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:.85rem}.personnel-chart-viewport{width:100%;overflow-x:auto}.personnel-chart-viewport svg{width:100%;min-width:500px;height:auto;display:block}.personnel-chart-grid{stroke:var(--border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.personnel-chart-axis{fill:var(--text-muted);font-size:10px}.personnel-chart-area{fill:var(--accent-soft);opacity:.8}.personnel-chart-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.personnel-chart-card.is-hours .personnel-chart-area{fill:var(--personnel-hours-soft)}.personnel-chart-card.is-hours .personnel-chart-line{stroke:var(--personnel-hours-line)}.personnel-chart-point{fill:var(--surface);stroke:var(--accent);stroke-width:3px;pointer-events:none;vector-effect:non-scaling-stroke}.personnel-chart-card.is-hours .personnel-chart-point{stroke:var(--personnel-hours-line)}.personnel-chart-hit{fill:#0000;cursor:pointer}.personnel-chart-hit:focus{stroke:var(--accent);stroke-width:2px;outline:none}.personnel-chart-tooltip rect{fill:var(--ink-900);filter:drop-shadow(0 4px 8px #0f172a33)}.personnel-chart-tooltip text{fill:#fff}.personnel-chart-tooltip-period{font-size:10px;font-weight:600}.personnel-chart-tooltip-value{font-size:12px;font-weight:800}.personnel-history-data{color:var(--text-muted);margin-top:12px;font-size:.8rem}.personnel-history-data summary{cursor:pointer;width:fit-content;font-weight:700}.personnel-history-data .table-wrapper{margin-top:10px}.personnel-history-data .data-table{min-width:680px}.personnel-history-data td:not(:first-child),.personnel-history-data th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.fee-receipt-sync-panel{border:1px solid var(--personnel-primary-border);border-radius:var(--radius-md);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:18px;margin-bottom:8px;padding:15px;display:flex}.fee-receipt-sync-copy{align-items:flex-start;gap:11px;min-width:0;display:flex}.fee-receipt-sync-icon{width:35px;height:35px;color:var(--accent-strong);background:var(--surface);border-radius:10px;flex:none;place-items:center;display:grid}.fee-receipt-sync-copy h3{margin-bottom:2px;font-size:.92rem}.fee-receipt-sync-copy p{color:var(--text-muted);font-size:.78rem;line-height:1.45}.fee-receipt-sync-copy small{color:var(--text-muted);margin-top:4px;font-size:.7rem;display:block}.fee-receipt-sync-panel>button{flex:none}.fee-receipt-sync-message{margin:0 0 14px;display:block}.fee-receipt-table-wrapper .data-table{min-width:1030px}.fee-receipt-table-wrapper button{min-height:44px}.fee-receipt-table-wrapper td:nth-child(3),.fee-receipt-table-wrapper td:nth-child(4),.fee-receipt-table-wrapper td:nth-child(5){font-variant-numeric:tabular-nums}.fee-receipt-status-action{white-space:nowrap;margin-top:7px;display:flex}.catalog-list-item{flex-direction:column;gap:10px;display:flex}.catalog-item-header,.catalog-item-actions{align-items:center;display:flex}.catalog-item-header{justify-content:space-between;gap:12px}.catalog-item-header strong{overflow-wrap:anywhere;min-width:0}.catalog-item-actions{flex:none;gap:8px}.catalog-edit-action,.catalog-edit-form button{min-height:44px}.catalog-edit-action{padding-inline:12px}.catalog-deactivate-action{width:44px;height:44px;color:var(--text-muted);border:1px solid var(--border-strong)}.catalog-edit-form{align-items:flex-end;gap:10px;display:flex}.catalog-edit-field,.catalog-detail-field{flex:1;min-width:0}.catalog-edit-field input,.catalog-detail-field select{width:100%}.system-storage-card{border-color:var(--border-strong)}.system-storage-header,.system-storage-heading,.system-storage-summary{align-items:center;display:flex}.system-storage-header{justify-content:space-between;gap:18px;margin-bottom:22px}.system-storage-heading{align-items:flex-start;gap:12px}.system-storage-heading h2{margin:1px 0 3px}.system-storage-heading p,.system-storage-updated{color:var(--text-muted);font-size:.78rem}.system-storage-icon{width:40px;height:40px;color:var(--accent-strong);background:var(--accent-soft);border-radius:11px;flex:none;place-items:center;display:grid}.system-storage-refresh{flex:none;min-height:44px}.system-storage-content{padding-top:2px}.system-storage-summary{justify-content:space-between;gap:16px;margin-bottom:12px}.system-storage-summary>div{align-items:baseline;gap:8px;display:flex}.system-storage-summary strong{color:var(--ink-900);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:1.55rem}.system-storage-summary div span{color:var(--text-muted);font-size:.8rem}.system-storage-track{background:var(--surface-muted);border-radius:999px;height:10px;overflow:hidden}.system-storage-fill{border-radius:inherit;background:var(--success);width:100%;height:100%;transform:scaleX(var(--storage-progress,0));transform-origin:0;transition:transform var(--duration-base) var(--ease-out);display:block}.system-storage-track.is-warning .system-storage-fill{background:var(--warning)}.system-storage-track.is-danger .system-storage-fill{background:var(--danger)}.system-storage-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 12px;display:grid}.system-storage-metrics>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);padding:12px 14px}.system-storage-metrics dt{color:var(--text-muted);margin-bottom:3px;font-size:.7rem;font-weight:650}.system-storage-metrics dd{color:var(--ink-900);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:750}.system-storage-error{border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-soft);padding:12px 14px;font-size:.82rem}@media (prefers-reduced-motion:no-preference){.is-spinning{animation:.8s linear infinite spin}}.expense-chart-card{padding-bottom:18px}.expense-chart-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px;display:flex}.expense-chart-header h2{margin-bottom:3px}.expense-chart-total{color:var(--ink-900);white-space:nowrap;font-size:1.05rem;font-weight:800}.expense-chart-viewport{overscroll-behavior-inline:contain;width:100%;overflow-x:auto}.expense-chart{width:100%;height:auto;min-height:250px;display:block;overflow:visible}.expense-chart-grid{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.expense-chart-axis-label{fill:var(--text-muted);font-size:11px}.expense-chart-area{fill:var(--accent-soft);opacity:.75}.expense-chart-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.expense-chart-point{fill:var(--surface);stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.expense-chart-hit-area{fill:#0000;cursor:pointer}.expense-chart-hit-area:focus{stroke:var(--accent);stroke-width:2px;outline:none}.expense-chart-tooltip rect{fill:var(--ink-900);filter:drop-shadow(0 4px 8px #0f172a33)}.expense-chart-tooltip text{fill:#fff}.expense-chart-tooltip-period{font-size:11px;font-weight:600}.expense-chart-tooltip-value{font-size:13px;font-weight:800}.expense-chart-data{color:var(--text-muted);margin-top:4px;font-size:.82rem}.expense-chart-data summary{cursor:pointer;width:fit-content;font-weight:600}.expense-chart-data .table-wrapper{margin-top:10px}.expense-chart-data .data-table{min-width:480px}.muted{color:var(--text-muted);font-size:.8rem}.badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.muted{background:var(--surface-muted);color:var(--text-muted)}.badge.accent{background:var(--accent-soft);color:var(--accent-strong)}.progress-track{background:var(--surface-muted);border-radius:999px;width:100%;height:6px;margin-top:4px;overflow:hidden}.progress-fill{background:var(--accent);width:100%;height:100%;transform:scaleX(var(--progress,0));transform-origin:0;transition:transform var(--duration-base) var(--ease-out);border-radius:999px}.progress-fill.complete{background:var(--success)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);flex-direction:column;gap:10px;padding:18px 20px;text-decoration:none;display:flex}a.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stat-card-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-strong);transition:transform var(--duration-base) var(--ease-spring);border-radius:10px;justify-content:center;align-items:center;display:flex}.stat-card-icon.attention{background:var(--warning-soft);color:var(--warning)}.stat-card-value{color:var(--ink-900);letter-spacing:-.02em;font-size:1.7rem;font-weight:800}.stat-card-label{color:var(--text-muted);font-size:.82rem;font-weight:500}.quick-links-group{margin-bottom:20px}.quick-links-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:.78rem;font-weight:700}.quick-links{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:24px;display:grid}.quick-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink-900);transition:border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);align-items:center;gap:10px;padding:14px 16px;font-size:.87rem;font-weight:600;text-decoration:none;display:flex}.quick-link:hover{border-color:var(--accent);background:var(--accent-soft)}.quick-link svg{color:var(--accent-strong);transition:transform var(--duration-base) var(--ease-spring);flex-shrink:0}@media (hover:hover) and (pointer:fine){.nav-link:hover{transform:translate(2px)}.nav-link:hover svg{transform:scale(1.04)}a.stat-card:hover{transform:translateY(-2px)}a.stat-card:hover .stat-card-icon{transform:scale(1.04)}.quick-link:hover{transform:translateY(-1px)}.quick-link:hover svg{transform:scale(1.04)}}a.stat-card:active{transition-duration:var(--duration-fast);transform:translateY(-1px)}.quick-link:active{transition-duration:var(--duration-fast);transform:translateY(0)}.dashboard-feedback-link{flex-shrink:0}.feedback-form{max-width:720px}.feedback-form-heading{align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.feedback-form-heading h2{margin-bottom:3px}.feedback-form-heading p{margin:0}.feedback-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;display:inline-flex}.feedback-form textarea{min-height:150px}.field-hint{color:var(--text-muted);font-size:.75rem;font-weight:500}.feedback-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.feedback-success{text-align:center;max-width:720px;padding-block:42px}.feedback-success>svg{color:var(--success);margin-bottom:12px}.feedback-success h2{margin-bottom:6px}.feedback-success .feedback-actions{justify-content:center;margin-top:22px}.notification-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notification-list li{border-left:3px solid var(--accent);background:var(--surface-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 14px}.notification-list li.read{border-left-color:var(--border-strong);opacity:.65}.notification-list li p{margin:3px 0 0;font-size:.87rem}.timestamp{color:var(--text-muted);font-size:.75rem}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 20px;display:flex}.empty-state svg{color:var(--text-faint);margin-bottom:4px}.empty-state-title{color:var(--text);font-size:.92rem;font-weight:600}.empty-state-hint{max-width:320px;font-size:.82rem}.loading-row{color:var(--text-muted);align-items:center;gap:10px;padding:8px 0;font-size:.87rem;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:999px;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);margin-bottom:18px;padding:10px 14px;font-size:.87rem}.page-loading{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;display:flex}@media (width<=860px){.layout{flex-direction:column}.mobile-header{z-index:var(--z-header);min-height:64px;padding:max(10px, env(safe-area-inset-top)) 16px 10px;color:#fff;background:var(--ink-950);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-brand{margin:0;padding:0}.mobile-menu-button,.sidebar-close{color:#fff;background:#ffffff0f;border:1px solid #ffffff2e;width:44px;min-width:44px;height:44px;padding:0}.mobile-menu-button:hover,.sidebar-close:hover{background:#ffffff1f}.mobile-nav-backdrop{z-index:var(--z-backdrop);background:#0b0f178f;border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:0;display:block;position:fixed;inset:0}.sidebar{z-index:var(--z-drawer);width:min(340px,100vw - 48px);height:100dvh;padding:max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);display:none;position:fixed;inset:0 auto 0 0}.sidebar.is-open{display:flex}.sidebar-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar .brand{margin-bottom:0;padding-left:8px}.sidebar nav{overscroll-behavior:contain;gap:18px;margin-top:24px;overflow-y:auto}.nav-group{flex-direction:column}.nav-link{white-space:normal}.nav-group-label{display:block}.nav-group-block{border-top:1px solid #ffffff14;border-left:0;margin:0;padding:14px 0 0;display:block}.nav-group-block:first-of-type{border-top:none;padding-top:0}.user-box{border-top:1px solid #ffffff1a;margin-top:14px;padding-top:14px}.content{padding:24px clamp(16px, 4vw, 28px) max(40px, env(safe-area-inset-bottom))}.expense-chart-header{flex-direction:column;gap:6px}.expense-chart{min-height:210px}}@media (width<=1080px){.invoice-filter-panel,.finance-kpi-grid,.personnel-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-evolution-grid{grid-template-columns:1fr}}@media (width<=680px){input,select,textarea{font-size:16px}.page-header{flex-direction:column;align-items:stretch;margin-bottom:22px}.page-header>button{justify-content:center;width:100%}.card{margin-bottom:16px;padding:18px}.card-header,.section-heading{flex-direction:column;align-items:flex-start;gap:10px}.form-row{flex-direction:column;gap:0}.form-row label{width:100%;min-width:0}.checkbox-row{min-height:44px}.dashboard-feedback-link,.feedback-actions>*{width:100%}.user-create-heading{align-items:flex-start}.user-create-steps li{flex-direction:column;align-items:flex-start;gap:6px}.user-create-steps li:after{margin:0;position:absolute;top:14px;left:38px;right:8px}.user-create-actions{flex-direction:column-reverse;align-items:stretch}.user-create-actions button{justify-content:center;width:100%}.profile-hero{grid-template-columns:auto 1fr;align-items:center}.profile-avatar-shell{width:76px;height:76px}.profile-photo-actions{grid-column:1/-1;align-items:stretch}.profile-photo-actions>*{justify-content:center;width:100%}.contract-stat-grid{grid-template-columns:1fr}.contract-form-actions{flex-direction:column-reverse;align-items:stretch}.contract-form-actions button{justify-content:center;width:100%;min-height:44px}.invoice-toolbar,.invoice-list-heading,.finance-period-bar{flex-direction:column;align-items:stretch}.invoice-search{max-width:none}.invoice-toolbar-actions{width:100%}.invoice-toolbar-actions button{flex:1;justify-content:center}.invoice-filter-panel{grid-template-columns:1fr}.invoice-summary-strip{justify-content:space-between;gap:12px}.invoice-summary-strip span{align-items:flex-start}.invoice-summary-strip strong{font-size:.84rem}.invoice-table-title{flex-direction:column;align-items:flex-start;gap:2px}.invoice-pagination{flex-direction:column;align-items:stretch}.invoice-pagination>div button{flex:1;justify-content:center}.finance-period-bar label,.finance-period-bar input,.finance-period-bar select{width:100%}.finance-kpi-grid,.finance-analysis-grid{grid-template-columns:1fr}.personnel-analytics-panel{padding:16px}.personnel-panel-heading{flex-direction:column;gap:10px}.personnel-kpi-grid{grid-template-columns:1fr}.personnel-chart-card>header{flex-direction:column;gap:4px}.personnel-chart-viewport svg{min-width:560px}.fee-receipt-sync-panel{flex-direction:column;align-items:stretch}.fee-receipt-sync-panel>button{justify-content:center;width:100%;min-height:44px}.finance-analysis-grid .card{margin-bottom:0}.finance-analysis-grid{margin-bottom:20px}.expense-chart-header{flex-direction:column;gap:4px}.expense-chart{min-width:640px}.expense-chart-total{white-space:normal}.finance-breakdown-list>div,.finance-category-list>div>div:first-child{flex-direction:column;align-items:flex-start;gap:4px}.finance-breakdown-list dd{text-align:left}.supplier-list-toolbar,.user-permissions-header{flex-direction:column;align-items:stretch}.user-permissions-grid{grid-template-columns:1fr}.users-table-wrapper{background:0 0;border:0;overflow:visible}.users-table-wrapper .users-table{border-collapse:separate;min-width:0}.users-table thead{display:none}.users-table tbody,.users-table tr,.users-table td{width:100%;display:block}.users-table tbody{gap:12px;display:grid}.users-table .user-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:15px;display:grid}.users-table .user-row td{border:0;min-width:0;padding:0}.users-table .user-row td:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;font-size:.66rem;font-weight:750;display:block}.users-table .user-identity-column,.users-table .user-actions-column{grid-column:1/-1}.users-table .user-actions-column:before{display:none}.users-table .user-actions-cell{justify-content:flex-start}.users-table .user-primary-link,.users-table .user-primary-action{flex:1;min-height:44px}.users-table .user-more-button{width:44px;min-width:44px;min-height:44px}.users-table .inactive-users-divider td{background:0 0;border:0;padding:14px 4px 0}.users-table .user-actions-panel-row>td,.users-table .user-permissions-row>td,.users-table .user-employment-row>td{background:0 0;border:0;padding:0}.user-actions-panel{grid-template-columns:1fr}.user-actions-group.danger{border-top:1px solid var(--border);border-left:0;padding:10px 0 0}.catalog-edit-form{flex-direction:column;align-items:stretch}.catalog-edit-form .catalog-item-actions>button{flex:1;justify-content:center}.system-storage-header{flex-direction:column;align-items:stretch}.system-storage-refresh{justify-content:center;width:100%}.system-storage-metrics{grid-template-columns:1fr}}@media (width<=420px){h1{font-size:1.4rem}.content{padding-inline:12px}.card{border-radius:10px;padding:16px 14px}.login-page{padding:max(20px, env(safe-area-inset-top)) 12px;align-items:flex-start}.login-card{padding:28px 20px}.invoice-summary-strip{flex-direction:column}.invoice-summary-strip span{align-items:flex-start}.profile-hero{grid-template-columns:1fr}.profile-photo-actions{grid-column:auto}}
