: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}}.settings-tabs{display:flex;gap:2px;background:#f0f3fa;border-radius:10px;padding:3px;width:-moz-fit-content;width:fit-content;margin-bottom:24px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-tab{padding:8px 20px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;color:#6b7a9b;background:none;border:none;font-family:inherit;transition:.15s ease;white-space:nowrap}.settings-tab.active{background:#fff;color:#22653b;font-weight:600;box-shadow:0 1px 4px #0000000f}.settings-card{background:#fff;border:1px solid #dde3f0;border-radius:14px;padding:28px;max-width:980px;margin-bottom:20px}.settings-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.settings-card__title{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:-.3px;font-size:19px;margin-bottom:20px}.settings-card__head .settings-card__title{margin-bottom:0}.info-note{display:flex;gap:10px;align-items:flex-start;background:#f0f4ff;border-radius:8px;padding:12px 16px;font-size:13px;color:#1a5cc8;margin-bottom:20px;line-height:1.5}.info-note app-icon{flex-shrink:0;margin-top:1px}.modal-overlay{position:fixed;inset:0;background:#22653b80;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.modal{background:#fff;border-radius:14px;padding:24px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal h3{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:-.3px;font-size:18px;margin-bottom:16px}.modal--wide{max-width:720px}@media (max-width: 640px){.settings-card{padding:18px}.settings-card__head{flex-direction:column;align-items:stretch}.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:100%;max-height:88vh;border-radius:16px 16px 0 0;padding:18px;animation:sheet-in .2s ease}.modal--wide{max-width:100%}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}}.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:20px}@media (max-width: 640px){.mode-cards{grid-template-columns:1fr}}.mode-card{display:flex;gap:12px;align-items:flex-start;text-align:left;background:#f6f8fd;border:1.5px solid #dde3f0;border-radius:12px;padding:16px;cursor:pointer;transition:.15s ease;font-family:DM Sans,system-ui,-apple-system,sans-serif}.mode-card:hover{border-color:#349a5a}.mode-card--active{background:#fff;border-color:#22653b;box-shadow:0 0 0 3px #22653b14}.mode-card__icon{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f0f3fa;color:#6b7a9b}.mode-card--active .mode-card__icon{background:#22653b;color:#fff}.mode-card__title{font-size:14px;font-weight:700;color:#1a2744;margin-bottom:3px}.mode-card__desc{font-size:12px;color:#6b7a9b;line-height:1.5}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid #dde3f0;border-radius:12px;overflow:hidden;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.stat-card__value{font-size:24px;font-weight:700;letter-spacing:-.4px;color:#1a2744}.stat-card__label{font-size:11.5px;font-weight:600;color:#6b7a9b;text-transform:uppercase;letter-spacing:.3px}.kanban-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.kanban-column{flex:0 0 280px;scroll-snap-align:start;background:#f6f8fd;border-radius:12px;border:1px solid #dde3f0;display:flex;flex-direction:column;max-height:calc(100vh - 320px);min-height:220px}@media (max-width: 640px){.kanban-column{flex-basis:84vw}}.kanban-column__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #dde3f0;font-size:13px;font-weight:700;color:#1a2744;flex-shrink:0}.kanban-column__count{font-size:11px;font-weight:700;background:#fff;border:1px solid #dde3f0;color:#6b7a9b;border-radius:20px;padding:1px 9px}.kanban-column__body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:60px}.kanban-column__empty{font-size:12px;color:#97a3c0;text-align:center;padding:18px 8px;border:1.5px dashed #dde3f0;border-radius:8px}.kanban-card{background:#fff;border:1px solid #dde3f0;border-radius:8px;padding:10px 12px;cursor:grab;box-shadow:0 1px 4px #0000000f;transition:box-shadow .15s ease,transform .15s ease}.kanban-card:active{cursor:grabbing}.kanban-card.cdk-drag-preview{box-shadow:0 8px 32px #0000001f}.kanban-card.cdk-drag-placeholder{opacity:.35}.kanban-card__name{font-size:13px;font-weight:700;color:#1a2744;margin-bottom:2px}.kanban-card__meta{font-size:11px;color:#6b7a9b;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.kanban-card__rating{display:flex;align-items:center;gap:2px;color:#c07a10;margin-top:6px;font-size:11px;font-weight:700}.kanban-drop-list{min-height:60px}
