
/* ALS OS Enterprise v5.1.3 — Component Library */
.als-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px}
.als-page-header__eyebrow{display:block;color:var(--als-gold-500);font-size:.67rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.als-page-header h1{margin:5px 0 0;color:var(--als-text-900);font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em}
.als-page-header p{margin:6px 0 0;color:var(--als-text-500)}
.als-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--als-border);border-radius:var(--als-radius-md);background:var(--als-surface);box-shadow:var(--als-shadow-sm)}
.als-toolbar__group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.als-card{position:relative;padding:20px;border:1px solid var(--als-border);border-radius:var(--als-radius-lg);background:var(--als-surface);box-shadow:var(--als-shadow-sm)}
.als-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.als-card__title{margin:0;color:var(--als-text-900);font-size:1.1rem;letter-spacing:-.02em}
.als-card__subtitle{margin:4px 0 0;color:var(--als-text-500);font-size:.78rem}
.als-card__footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--als-border)}
.als-grid{display:grid;gap:16px}
.als-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.als-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.als-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.als-kpi{padding:18px;border:1px solid var(--als-border);border-radius:var(--als-radius-md);background:var(--als-surface);box-shadow:var(--als-shadow-sm)}
.als-kpi__label{display:block;color:var(--als-text-500);font-size:.72rem}
.als-kpi__value{display:block;margin-top:6px;color:var(--als-text-900);font-size:1.55rem;font-weight:900;letter-spacing:-.035em}
.als-kpi__meta{display:block;margin-top:4px;color:var(--als-text-500);font-size:.66rem}
.als-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid transparent;border-radius:var(--als-radius-sm);font:inherit;font-size:.76rem;font-weight:900;text-decoration:none;cursor:pointer}
.als-btn--primary{background:var(--als-green-700);color:#fff}
.als-btn--secondary{background:var(--als-green-100);color:var(--als-green-700)}
.als-btn--outline{border-color:var(--als-border);background:#fff;color:var(--als-text-700)}
.als-btn--success{background:#2d8d56;color:#fff}
.als-btn--warning{background:#d89b18;color:#fff}
.als-btn--danger{background:var(--als-red-500);color:#fff}
.als-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.als-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:900}
.als-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}
.als-badge--success{background:#e2f7e8;color:#176c37}
.als-badge--warning{background:#fff2cf;color:#8a5c00}
.als-badge--danger{background:#fdecea;color:#a22921}
.als-badge--info{background:#eaf2fb;color:#2f6fb0}
.als-alert{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:14px;border-radius:var(--als-radius-md);border:1px solid var(--als-border)}
.als-alert__icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-weight:900}
.als-alert strong,.als-alert small{display:block}.als-alert small{margin-top:4px;line-height:1.45}
.als-alert--success{background:#f3fbf5}.als-alert--success .als-alert__icon{background:#e2f7e8;color:#176c37}
.als-alert--warning{background:#fffaf0}.als-alert--warning .als-alert__icon{background:#fff2cf;color:#8a5c00}
.als-alert--danger{background:#fff7f6}.als-alert--danger .als-alert__icon{background:#fdecea;color:#a22921}
.als-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.als-field{display:grid;gap:6px}.als-field--full{grid-column:1/-1}
.als-field label{color:var(--als-text-700);font-size:.72rem;font-weight:900}
.als-field small{color:var(--als-text-500);font-size:.64rem}
.als-field input,.als-field select,.als-field textarea{width:100%;padding:10px 12px;background:#fff}
.als-field textarea{min-height:120px;resize:vertical}
.als-table-wrap{overflow:auto;border:1px solid var(--als-border);border-radius:var(--als-radius-md);background:#fff}
.als-table{width:100%;min-width:760px;border-collapse:collapse}
.als-table th,.als-table td{padding:12px 14px;border-bottom:1px solid #edf1ee;text-align:left;vertical-align:middle}
.als-table th{background:var(--als-surface-soft);color:var(--als-text-500);font-size:.66rem;text-transform:uppercase}
.als-table tbody tr:hover{background:#f9fbfa}
.als-table tbody tr:last-child td{border-bottom:0}
.als-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.als-pagination__pages{display:flex;gap:6px}.als-pagination button{min-width:34px;height:34px;border:1px solid var(--als-border);border-radius:8px;background:#fff;color:var(--als-text-700);font-weight:900}
.als-pagination button.active{background:var(--als-green-700);color:#fff}
.als-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,31,17,.55);z-index:1400}
.als-modal.is-open{display:flex}
.als-modal__dialog{width:min(680px,100%);max-height:90vh;overflow:auto;border-radius:var(--als-radius-xl);background:#fff;box-shadow:var(--als-shadow-lg)}
.als-modal__header,.als-modal__body,.als-modal__footer{padding:18px 20px}
.als-modal__header{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--als-border)}
.als-modal__footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--als-border)}
.als-empty{padding:40px 20px;text-align:center;color:var(--als-text-500)}
.als-empty strong,.als-empty small{display:block}.als-empty strong{margin-top:8px;color:var(--als-text-900)}
@media(max-width:900px){.als-grid--4,.als-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.als-page-header{align-items:flex-start;flex-direction:column}.als-grid--4,.als-grid--3,.als-grid--2,.als-form-grid{grid-template-columns:1fr}.als-pagination{align-items:flex-start;flex-direction:column}}
