/* AIA Permissions (Leave / Absence) */

.aiaprm-wrap{max-width:1100px;margin:0 auto;padding:0 16px 48px;font-family:inherit;color:#1e293b;}
.aiaprm-notice{padding:14px 18px;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;}

/* ── Hero ── */
.aiaprm-hero{display:flex;align-items:center;gap:18px;padding:28px;margin:24px 0;border-radius:18px;
    background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 12px 30px rgba(79,70,229,.28);}
.aiaprm-hero--board{background:linear-gradient(135deg,#0891b2,#2563eb);box-shadow:0 12px 30px rgba(8,145,178,.28);}
.aiaprm-hero-icon{font-size:2.6rem;background:rgba(255,255,255,.18);width:74px;height:74px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.aiaprm-hero-title{margin:0;font-size:1.7rem;font-weight:800;}
.aiaprm-hero-sub{margin:6px 0 0;font-size:.95rem;opacity:.92;line-height:1.5;}

/* ── Alerts ── */
.aiaprm-alert{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:14px;font-weight:600;}
.aiaprm-alert--ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;}
.aiaprm-alert--err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}

/* ── My stats strip ── */
.aiaprm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;}
.aiaprm-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.aiaprm-stat-v{display:block;font-size:1.8rem;font-weight:800;line-height:1;}
.aiaprm-stat-l{display:block;font-size:11px;color:#64748b;margin-top:5px;font-weight:600;}

/* ── 2-column layout ── */
.aiaprm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
@media(max-width:840px){.aiaprm-grid-2{grid-template-columns:1fr;}.aiaprm-stats{grid-template-columns:repeat(2,1fr);}}

.aiaprm-card{background:#fff;border:1px solid #e8edf3;border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(15,23,42,.05);}
.aiaprm-card-title{margin:0 0 18px;font-size:1.1rem;font-weight:700;color:#0f172a;}

/* ── Form ── */
.aiaprm-label{display:block;font-size:13px;font-weight:700;color:#334155;margin:14px 0 8px;}
.aiaprm-form > .aiaprm-label:first-of-type{margin-top:0;}
.aiaprm-reason-chips{display:flex;flex-wrap:wrap;gap:8px;}
.aiaprm-reason-chip{position:relative;cursor:pointer;}
.aiaprm-reason-chip input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.aiaprm-reason-chip span{display:inline-block;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:600;
    border:1.5px solid #e2e8f0;background:#fff;color:#475569;transition:all .15s;}
.aiaprm-reason-chip input:checked + span{border-color:var(--c);background:var(--bg);color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 22%,transparent);}

.aiaprm-field-row{display:flex;gap:12px;}
.aiaprm-field{flex:1;}
.aiaprm-form input[type=date],.aiaprm-textarea{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;
    font-size:14px;box-sizing:border-box;font-family:inherit;background:#fff;}
.aiaprm-textarea{resize:vertical;min-height:72px;}
.aiaprm-duration-hint{margin:8px 0 0;font-size:12px;color:#4f46e5;font-weight:700;min-height:16px;}

.aiaprm-checkbox{display:flex;align-items:center;gap:9px;margin:16px 0 4px;font-size:13px;color:#475569;cursor:pointer;}
.aiaprm-checkbox input{width:17px;height:17px;}

.aiaprm-form-actions{display:flex;gap:10px;margin-top:20px;}
.aiaprm-wrap .aiaprm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 22px;border-radius:9px;text-decoration:none;font-size:14px;font-weight:700;
    border:1px solid #cbd5e1;background:#f8fafc;color:#334155;cursor:pointer;line-height:1.4;transition:all .15s;
    box-shadow:none;text-shadow:none;}
.aiaprm-wrap .aiaprm-btn:hover{background:#f1f5f9;color:#334155;}
.aiaprm-wrap button.aiaprm-btn--primary,
.aiaprm-wrap a.aiaprm-btn--primary,
.aiaprm-wrap .aiaprm-btn--primary{background:#4f46e5!important;background-image:none!important;
    color:#ffffff!important;border:1px solid #4f46e5!important;box-shadow:0 4px 12px rgba(79,70,229,.35)!important;}
.aiaprm-wrap .aiaprm-btn--primary:hover{background:#4338ca!important;color:#ffffff!important;border-color:#4338ca!important;}
.aiaprm-wrap .aiaprm-btn--danger{background:#fee2e2!important;color:#b91c1c!important;border:1px solid #fca5a5!important;}
.aiaprm-wrap .aiaprm-btn--danger:hover{background:#fecaca!important;color:#b91c1c!important;}
.aiaprm-wrap .aiaprm-btn--xs{padding:6px 14px;font-size:12px;}
.aiaprm-wrap button.aiaprm-btn{-webkit-appearance:none;appearance:none;width:auto;}

/* ── My list ── */
.aiaprm-mylist{display:flex;flex-direction:column;gap:12px;max-height:560px;overflow-y:auto;}
.aiaprm-myitem{display:flex;gap:12px;padding:14px;border:1px solid #eef2f7;border-radius:12px;background:#fcfdff;}
.aiaprm-myitem--cur{border-inline-start:4px solid #16a34a;}
.aiaprm-myitem--up{border-inline-start:4px solid #2563eb;}
.aiaprm-myitem--past{border-inline-start:4px solid #cbd5e1;opacity:.8;}
.aiaprm-myitem--cancel{border-inline-start:4px solid #f87171;opacity:.65;}
.aiaprm-myitem-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.aiaprm-myitem-main{flex:1;min-width:0;}
.aiaprm-myitem-top{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:5px;}
.aiaprm-myitem-type{font-weight:700;font-size:14px;}
.aiaprm-myitem-dates{font-size:13px;color:#475569;}
.aiaprm-myitem-days{color:#94a3b8;}
.aiaprm-myitem-note{font-size:12px;color:#64748b;margin-top:5px;line-height:1.5;}
.aiaprm-myitem-actions{display:flex;gap:8px;margin-top:10px;}

.aiaprm-pill{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;}
.aiaprm-pill--cur{background:#dcfce7;color:#166534;}
.aiaprm-pill--up{background:#dbeafe;color:#1d4ed8;}
.aiaprm-pill--past{background:#f1f5f9;color:#64748b;}
.aiaprm-pill--cancel{background:#fee2e2;color:#b91c1c;}

/* ── Empty ── */
.aiaprm-empty{text-align:center;padding:40px 20px;color:#94a3b8;}
.aiaprm-empty span{font-size:2.4rem;display:block;margin-bottom:8px;}
.aiaprm-empty p{margin:0;font-size:14px;}
.aiaprm-empty--inline{padding:28px 20px;}

/* ════════════════════════ BOARD ════════════════════════ */
.aiaprm-presence-bar{display:flex;align-items:center;gap:28px;background:#fff;border:1px solid #e8edf3;border-radius:18px;
    padding:22px 28px;margin-bottom:22px;box-shadow:0 2px 10px rgba(15,23,42,.05);flex-wrap:wrap;}
.aiaprm-presence-ring{width:120px;height:120px;border-radius:50%;flex-shrink:0;
    background:conic-gradient(#16a34a calc(var(--pct)*1%),#fee2e2 0);display:flex;align-items:center;justify-content:center;}
.aiaprm-presence-ring-inner{width:90px;height:90px;border-radius:50%;background:#fff;display:flex;flex-direction:column;
    align-items:center;justify-content:center;}
.aiaprm-presence-pct{font-size:1.7rem;font-weight:800;color:#16a34a;line-height:1;}
.aiaprm-presence-lbl{font-size:11px;color:#64748b;font-weight:600;margin-top:2px;}
.aiaprm-presence-stats{display:grid;grid-template-columns:repeat(4,auto);gap:26px;flex:1;}
@media(max-width:640px){.aiaprm-presence-stats{grid-template-columns:repeat(2,1fr);gap:16px;width:100%;}}
.aiaprm-pstat-v{display:block;font-size:1.9rem;font-weight:800;line-height:1;}
.aiaprm-pstat-l{display:block;font-size:11px;color:#64748b;font-weight:600;margin-top:4px;}

/* Tabs */
.aiaprm-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap;}
.aiaprm-tab{padding:8px 18px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;
    border:1px solid #e2e8f0;background:#fff;color:#475569;transition:all .15s;}
.aiaprm-tab:hover,.aiaprm-tab--active{background:#2563eb;color:#fff!important;border-color:#2563eb;}

/* Section */
.aiaprm-section{margin-bottom:30px;}
.aiaprm-section-title{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;color:#0f172a;margin:0 0 16px;}
.aiaprm-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;}
.aiaprm-dot--red{background:#dc2626;box-shadow:0 0 0 4px #fee2e2;}
.aiaprm-dot--blue{background:#2563eb;box-shadow:0 0 0 4px #dbeafe;}
.aiaprm-dot--gray{background:#64748b;box-shadow:0 0 0 4px #e2e8f0;}
.aiaprm-count{font-size:12px;font-weight:700;background:#f1f5f9;color:#475569;border-radius:999px;padding:2px 10px;}

/* Presence cards */
.aiaprm-pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.aiaprm-pcard{background:#fff;border:1px solid #e8edf3;border-radius:14px;padding:16px;box-shadow:0 2px 8px rgba(15,23,42,.05);
    transition:transform .15s,box-shadow .15s;}
.aiaprm-pcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(15,23,42,.1);}
.aiaprm-pcard--cur{border-top:3px solid #16a34a;}
.aiaprm-pcard--up{border-top:3px solid #2563eb;}
.aiaprm-pcard--past{border-top:3px solid #94a3b8;opacity:.85;}
.aiaprm-pcard-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.aiaprm-avatar{display:inline-block;border-radius:50%;background-size:cover;background-position:center;flex-shrink:0;
    background-color:#e0e7ff;}
.aiaprm-avatar--initial{display:flex;align-items:center;justify-content:center;font-weight:800;color:#4f46e5;
    background:linear-gradient(135deg,#e0e7ff,#ede9fe);}
.aiaprm-pcard-id{flex:1;min-width:0;}
.aiaprm-pcard-name{display:block;font-weight:700;font-size:15px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aiaprm-pcard-pos{display:block;font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aiaprm-reason-badge{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.aiaprm-pcard-body{border-top:1px solid #f1f5f9;padding-top:12px;}
.aiaprm-pcard-reason{font-weight:700;font-size:13px;margin-bottom:6px;}
.aiaprm-pcard-dates{font-size:13px;color:#475569;margin-bottom:10px;}
.aiaprm-pcard-foot{display:flex;align-items:center;gap:10px;}
.aiaprm-pcard-days{font-size:12px;font-weight:700;background:#f1f5f9;color:#334155;border-radius:7px;padding:3px 10px;}
.aiaprm-pcard-meta{font-size:12px;color:#94a3b8;}
.aiaprm-pcard-contact{margin-inline-start:auto;font-size:14px;}

/* Page-level tab bar (Presence Board / My Leave) — sits between the hero
 * and the existing filter chips. Named .aiaprm-ptab to avoid colliding
 * with the pre-existing .aiaprm-tab filter pill class. */
.aiaprm-ptabs{display:flex;gap:4px;margin:0 0 18px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:5px;box-shadow:0 2px 6px rgba(15,32,48,.04);}
.aiaprm-ptab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font:700 13.5px/1 inherit;color:#5b6b7b;background:transparent;border:0;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,box-shadow .15s;}
.aiaprm-ptab:hover{color:#0f2030;}
.aiaprm-ptab--on{background:#1a6e8a;color:#fff;box-shadow:0 2px 6px rgba(26,110,138,.25);}
.aiaprm-ptab--on:hover{color:#fff;}
.aiaprm-ptab-count{background:rgba(255,255,255,.22);color:#fff;font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px;line-height:1.5;}
.aiaprm-ptab:not(.aiaprm-ptab--on) .aiaprm-ptab-count{background:#e6f2f6;color:#1a6e8a;}
.aiaprm-panel{display:none;}
.aiaprm-panel--on{display:block;}

@media(max-width:600px){
    .aiaprm-hero{flex-direction:column;text-align:center;padding:24px 18px;}
    .aiaprm-pcards{grid-template-columns:1fr;}
    .aiaprm-ptab{padding:9px 10px;font-size:12.5px;}
}
