:root{--primary: #22653B;--primary-mid: #2A7C48;--primary-light: #349A5A;--primary-dark: #184A2B;--accent: #C72A2B;--accent-light: #DB5354;--bg-app: #f0f3fa;--bg-card: #ffffff;--bg-subtle: #f6f8fd;--text: #1a2744;--text-muted: #6b7a9b;--text-faint: #97a3c0;--success: #1e8c5a;--success-bg: #e8f7f0;--warning: #c07a10;--warning-bg: #fef4e0;--danger: #b53030;--danger-bg: #faeaea;--info: #1a5cc8;--info-bg: #e6f0ff;--border: #dde3f0;--radius: 8px;--radius-lg: 12px;--shadow: 0 4px 16px rgba(0, 0, 0, .08);--transition: .15s ease;--font-body: DM Sans, system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, SF Mono, Cascadia Code, Consolas, monospace}@keyframes skeleton-shimmer{to{background-position:-200% 0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:13px;color:#1a2744;background:#f0f3fa;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:-.3px;line-height:1.2;color:#1a2744}h1{font-size:28px}h2{font-size:23px}h3{font-size:19px;letter-spacing:-.2px}h4{font-size:16px;letter-spacing:-.1px}h5{font-size:14px;letter-spacing:0;font-weight:600}a{color:#1a5cc8;text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SF Mono,Cascadia Code,Consolas,monospace;font-size:12px;background:#f0f3fa;padding:2px 6px;border-radius:6px;color:#1a2744}.tabular-nums{font-variant-numeric:tabular-nums}input,select,textarea,button{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:13px;color:#1a2744}input,select,textarea{padding:9px 12px;border:1.5px solid #dde3f0;border-radius:8px;font-size:13px;font-family:DM Sans,system-ui,-apple-system,sans-serif;background:#fff;color:#1a2744;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}input:focus,select:focus,textarea:focus{border-color:#22653b;box-shadow:0 0 0 3px #22653b14}input.ng-invalid.ng-touched,input.input--invalid,select.ng-invalid.ng-touched,select.input--invalid,textarea.ng-invalid.ng-touched,textarea.input--invalid{border-color:#b53030}input:disabled,input.input--readonly,select:disabled,select.input--readonly,textarea:disabled,textarea.input--readonly{background:#f0f3fa;color:#6b7a9b;cursor:not-allowed}@media (max-width: 640px){input,select,textarea{font-size:16px;padding:11px 12px}}textarea{resize:vertical;line-height:1.5}input[type=checkbox],input[type=radio]{width:auto;padding:0;cursor:pointer;accent-color:#22653B}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;font-family:DM Sans,system-ui,-apple-system,sans-serif;cursor:pointer;border:none;text-decoration:none;transition:background .15s ease,box-shadow .15s ease,transform .15s ease,border-color .15s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:#22653b;color:#fff}.btn-primary:hover:not(:disabled){background:#349a5a}.btn-success{background:#1e8c5a;color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.08)}.btn-danger{background:#b53030;color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-outline{background:transparent;color:#1a2744;border:1.5px solid #dde3f0}.btn-outline:hover:not(:disabled){border-color:#22653b;background:#f0f3fa}.btn-ghost{background:transparent;color:#6b7a9b;border:none}.btn-ghost:hover:not(:disabled){background:#f0f3fa;color:#1a2744}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}.btn-icon{padding:7px;width:34px;height:34px;border-radius:8px}.badge-success{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#e8f7f0;color:#1e8c5a}.badge-success:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-warning{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#fef4e0;color:#c07a10}.badge-warning:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-danger{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#faeaea;color:#b53030}.badge-danger:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-info{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#e6f0ff;color:#1a5cc8}.badge-info:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-neutral{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#f0f3fa;color:#6b7a9b}.badge-neutral:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-navy{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#e8edf8;color:#22653b}.badge-navy:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:12px;font-weight:600;color:#6b7a9b;letter-spacing:.2px}.form-group label .req{color:#b53030}.form-group .field-error{font-size:11px;color:#b53030}.form-group--full{grid-column:1/-1}.form-group--checkbox{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px}.form-group--toggles{grid-column:1/-1;display:flex;gap:20px;flex-wrap:wrap;padding:14px 0;border-top:1px solid #dde3f0;border-bottom:1px solid #dde3f0}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.form-grid--2{grid-template-columns:repeat(2,1fr)}.form-grid--3{grid-template-columns:repeat(3,1fr)}.form-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width: 800px){.form-grid--3,.form-grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.form-grid{gap:14px}.form-grid,.form-grid--2,.form-grid--3,.form-grid--4{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}:focus-visible{outline:2px solid #22653B;outline-offset:2px}.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}app-icon svg{stroke:currentColor}.text-muted{color:#6b7a9b}.text-faint{color:#97a3c0}.text-success{color:#1e8c5a}.text-danger{color:#b53030}.text-warning{color:#c07a10}.text-navy{color:#22653b}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.no-print{display:none!important}body{background:#fff}}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.act-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:13px;font-weight:600;font-family:DM Sans,system-ui,-apple-system,sans-serif;cursor:pointer;border:none;text-decoration:none;transition:background .15s ease,box-shadow .15s ease,transform .15s ease,border-color .15s ease;white-space:nowrap;padding:5px 13px;font-size:12px;gap:4px;background:#f0f3fa;color:#6b7a9b}.act-btn:active{transform:translateY(1px)}.act-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.act-btn--approve,.act-btn--run,.act-btn--post,.act-btn--pay,.act-btn--activate{background:#e8f7f0;color:#1e8c5a}.act-btn--approve:hover:not(:disabled),.act-btn--run:hover:not(:disabled),.act-btn--post:hover:not(:disabled),.act-btn--pay:hover:not(:disabled),.act-btn--activate:hover:not(:disabled){background:#1e8c5a;color:#fff}.act-btn--reject,.act-btn--delete{background:#faeaea;color:#b53030}.act-btn--reject:hover:not(:disabled),.act-btn--delete:hover:not(:disabled){background:#b53030;color:#fff}.act-btn--edit{background:#e6f0ff;color:#1a5cc8}.act-btn--edit:hover:not(:disabled){background:#1a5cc8;color:#fff}.act-btn--pause{background:#fef4e0;color:#c07a10}.act-btn--pause:hover:not(:disabled){background:#c07a10;color:#fff}.link-btn,.act-link{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-size:12px;font-weight:600;font-family:DM Sans,system-ui,-apple-system,sans-serif;color:#1a5cc8;cursor:pointer;text-decoration:none;white-space:nowrap}.link-btn:hover,.act-link:hover{text-decoration:underline}.link-btn--danger{color:#b53030}.link-btn--muted,.act-link--dl{color:#6b7a9b}@media (max-width: 640px){.card-actions .row-actions,.row-actions-cell,.dept-actions{width:100%}.card-actions .act-btn,.card-actions .btn,.row-actions-cell .act-btn,.dept-actions .act-btn,.row-actions-cell .btn,.dept-actions .btn{flex:1 1 0;justify-content:center;min-height:40px;padding:9px 12px}.card-actions .link-btn,.card-actions .act-link,.row-actions-cell .link-btn,.dept-actions .link-btn{flex:1 1 0;justify-content:center;min-height:40px;padding:8px 10px;border:1.5px solid #dde3f0;border-radius:8px;text-decoration:none!important}.card-actions .link-btn--danger,.row-actions-cell .link-btn--danger,.dept-actions .link-btn--danger{border-color:#b530304d}}@media (max-width: 560px){app-page-header .page-header{flex-direction:column;align-items:stretch}app-page-header .header-actions{width:100%}app-page-header .header-actions>*{flex:1 1 auto;justify-content:center}}.page-content{max-width:100%;overflow-x:hidden}@media (max-width: 640px){app-page-header .header-actions{flex-wrap:wrap;gap:8px}.status-tabs,.settings-tabs{overflow-x:auto;flex-wrap:nowrap;width:100%;-webkit-overflow-scrolling:touch}.table-wrapper th,.table-wrapper td{padding:8px 10px;font-size:12px}}@media (max-width: 768px){button,a,[role=button]{min-height:36px}}
