/* --- BEACHY TYPOGRAPHY & RESET --- */

:root {
    /* "Midnight Beach Party" Palette */
    --bg-deep: #020617; /* Deepest Night */
    --bg-glass: rgba(15, 23, 42, 0.6); /* Transparent Glass */
    
    /* Accents */
    --ocean-blue: #0ea5e9; /* Vivid Sky Blue */
    --foam-white: #f0f9ff;
    --sand-gold: #fbbf24; /* Golden Sand */
    --sunset-pink: #f472b6; /* Subtle accent */
    
    /* Effects */
    --glass-border: 1px solid rgba(255, 255, 255, 0.1);
    --gold-glow: 0 0 25px rgba(251, 191, 36, 0.2);
    --blue-glow: 0 0 25px rgba(14, 165, 233, 0.2);
    
    --radius-bubble: 24px; /* Super Round */
    --transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); /* Bouncy transition */
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--bg-deep);
    /* Palm Trees & Night Beach Background */
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: var(--foam-white);
    overflow: hidden; 
    color-scheme: dark; /* Helps browser defaults */
}

/* The application fills the viewport; internal views own their scrolling. */
#appContainer {
    width: 100%;
    max-width: none;
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: auto;
}

/* --- LOGIN CARD SPECIFIC --- */
.login-card {
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(251, 191, 36, 0.3); /* Gold Border */
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5), inset 0 0 30px rgba(251, 191, 36, 0.05);
    border-radius: 32px;
    padding: 3rem;
    position: relative;
    overflow: hidden;
}

/* Palm Leaf Decoration (CSS Shapes) */
.palm-decor {
    position: absolute;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(20px);
    pointer-events: none;
}

/* --- TYPOGRAPHY --- */
h1.workspace-title {
    font-family: 'Poppins', sans-serif; /* Bubbly Header */
    letter-spacing: 0.02em;
    background: linear-gradient(to right, var(--sand-gold), #fff, var(--ocean-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 10px rgba(14, 165, 233, 0.4));
}

h2, h3 { font-weight: 700; letter-spacing: -0.01em; }

/* --- BUTTONS (Bubbly & Bouncy) --- */
.action-button {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 20px; /* Bubbly */
    transition: var(--transition);
    border: none;
    letter-spacing: 0.03em;
    cursor: pointer;
}

.btn-roblox {
    background: linear-gradient(135deg, #FF2D2D, #B91C1C); /* Roblox Red */
    color: white;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 24px;
    font-size: 1.1rem;
}

.btn-roblox:hover {
    transform: scale(1.02) translateY(-2px);
    box-shadow: 0 8px 25px rgba(220, 38, 38, 0.6);
}

.btn-primary {
    background: linear-gradient(135deg, var(--ocean-blue), #0284c7);
    color: white;
    box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3);
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(56, 189, 248, 0.5);
}

/* Secondary Button (Added for Admin Views) */
.btn-secondary {
    background: rgba(30, 41, 59, 0.8);
    color: var(--foam-white);
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.btn-secondary:hover {
    background: rgba(51, 65, 85, 0.9);
    transform: translateY(-2px);
    border-color: var(--ocean-blue);
    color: var(--ocean-blue);
}

/* --- SIDEBAR --- */
#sidebar {
    background: rgba(2, 6, 23, 0.85);
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.sidebar-button {
    border-radius: 16px;
    margin-bottom: 6px;
    font-weight: 600;
    color: var(--text-muted);
    transition: var(--transition);
}

.sidebar-button:hover {
    background: rgba(14, 165, 233, 0.1);
    color: var(--foam-white);
    transform: translateX(6px);
}

.sidebar-button.active {
    background: linear-gradient(90deg, rgba(14, 165, 233, 0.2), transparent);
    color: var(--sand-gold);
    border-left: 4px solid var(--sand-gold);
}

/* --- GENERIC UTILS --- */
.text-sky-400 { color: var(--ocean-blue) !important; }
.text-amber-400, .text-yellow-400 { color: var(--sand-gold) !important; }
.bg-slate-800 { 
    background: rgba(30, 41, 59, 0.5) !important; 
    border-radius: 20px !important;
}

/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: rgba(0,0,0,0.1); }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }

/* --- FORM & UX FIXES (Screenshot Resolution) --- */

/* Force Inputs to have dark background and white text */
input, select, textarea, .form-input {
    background-color: rgba(15, 23, 42, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: white !important;
    width: 100%;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    transition: all 0.2s;
    display: block; /* Ensures they don't sit side-by-side unless in a grid */
}

input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--ocean-blue) !important;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.2);
}

/* Label Styling */
.form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #94a3b8; /* slate-400 */
    letter-spacing: 0.05em;
}

/* Fix for Grid Gap Squashing */
form .grid, .grid.gap-4 {
    align-items: start !important;
    column-gap: 1.5rem; /* Ensure space between grid columns */
}

/* Ensure dynamic log forms (like in Department Logs) don't squash inputs */
#modal-dynamic-fields input {
    margin-top: 0.25rem;
}

/* --- APPLICATION MANAGER FIXES --- */

/* Tab Buttons */
.app-tab-btn {
    position: relative;
    padding-bottom: 12px;
    color: var(--text-muted);
    font-weight: 600;
    transition: all 0.3s ease;
}
.app-tab-btn:hover {
    color: var(--foam-white);
}
.app-tab-btn.text-sky-400 { /* Active */
    color: var(--ocean-blue) !important;
    border-bottom: 2px solid var(--ocean-blue) !important;
    text-shadow: 0 0 10px rgba(14, 165, 233, 0.4);
}

/* Status Toggle Switch */
input#app-status-toggle:checked ~ div {
    background-color: #10b981; /* Emerald 500 */
}
input#app-status-toggle:focus ~ div {
    box-shadow: 0 0 0 2px #0f172a, 0 0 0 4px #0ea5e9;
}

/* Pending Applications List Cards */
#apps-pending-list .bg-slate-900 {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.4) 0%, rgba(15, 23, 42, 0.6) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(5px);
}

/* Question Editor Modal */
#q-editor-backdrop .bg-slate-800 {
    background-color: rgba(15, 23, 42, 0.95) !important; /* Nearly opaque */
    border: 1px solid var(--ocean-blue);
    box-shadow: 0 0 100px rgba(0, 0, 0, 0.9);
}

/* Mobile */
@media (max-width: 768px) {
    #appContainer {
        border-radius: 0;
        height: 100dvh;
        width: 100%;
        border: none;
    }
    h1.workspace-title { font-size: 2.5rem; }
}
/* Alliance Manager → Suggested Alliances board. Scoped light theme. */
.alliance-suggestions-board{--asb-navy:#0f1f3d;--asb-text:#334155;--asb-muted:#5b6b82;--asb-border:#dfe7f2;--asb-surface:#f4f8fd;--asb-blue:#0b6fe0;
 background:var(--asb-surface);color:var(--asb-text);border-radius:18px;padding:24px;font-family:inherit;display:flex;flex-direction:column;gap:18px;min-width:0}
.alliance-suggestions-board *{box-sizing:border-box}
.asb-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--asb-border)}
.asb-header h1{margin:0;color:var(--asb-navy);font-size:2rem;font-weight:800;letter-spacing:-.02em}
.asb-primary{background:var(--asb-blue);color:#fff;font-weight:700;border:0;border-radius:10px;padding:11px 26px;box-shadow:0 2px 6px rgba(11,111,224,.25);cursor:pointer}
.asb-primary:hover{background:#095bc0}
/* Keep the selected tab and primary action blue despite the app-wide button hover palette. */
#appContainer .alliance-suggestions-board .asb-tab.is-active:hover,#appContainer .alliance-suggestions-board .asb-primary:hover{background-color:#095bc0!important;color:#fff!important}
.asb-error:empty{display:none}.asb-error{color:#c62828;margin:0}
.asb-tabs{display:flex;flex-wrap:wrap;gap:6px}
.asb-tab{border:0;border-radius:10px;padding:10px 18px;font-weight:700;background:#e8eef6;color:var(--asb-navy);cursor:pointer}
.asb-tab:hover{background:#dbe5f2}
.asb-tab.is-active,.asb-tab.is-active:hover{background:var(--asb-blue);color:#fff;transition:none}
.asb-overview{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--asb-border);border-radius:14px;padding:18px 22px;box-shadow:0 1px 3px rgba(15,31,61,.04)}
.asb-overview-icon{flex:none;width:64px;height:64px;border-radius:14px;background:#e6f0fc;color:var(--asb-blue);display:grid;place-items:center}
.asb-overview-icon svg{width:34px;height:34px}
.asb-overview-text{flex:1;min-width:0}
.asb-overview h2{margin:0;color:var(--asb-navy);font-size:1.2rem;font-weight:800}
.asb-overview p{margin:4px 0 0;color:var(--asb-muted)}
.asb-total{flex:none;border-left:1px solid var(--asb-border);padding-left:28px;min-width:170px;display:flex;flex-direction:column}
.asb-total strong{color:var(--asb-navy);font-size:1.5rem;font-weight:800;line-height:1.1}
.asb-total span{color:var(--asb-muted);font-size:.9rem}
.asb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.asb-panel{--tone:#0b6fe0;--tint:#eaf3fd;--badge:#d6e7fb;background:#fff;border:1px solid var(--asb-border);border-radius:14px;padding:10px;display:flex;flex-direction:column;min-width:0;min-height:300px}
.asb-review{--tone:#f5a50b;--tint:#fff6e5;--badge:#fde9bf}
.asb-contacted{--tone:#3d7cf2;--tint:#edf2fd;--badge:#dbe6fc}
.asb-negotiating{--tone:#8b4fe0;--tint:#f4effd;--badge:#e7dcfa}
.asb-accepted{--tone:#22a05a;--tint:#eaf7ef;--badge:#d1f0dd}
.asb-denied{--tone:#e5383b;--tint:#fdeeee;--badge:#fbdada}
.asb-panel-head{display:flex;align-items:flex-start;gap:14px;background:var(--tint);border-radius:10px;padding:12px 14px}
.asb-status-icon{flex:none;width:48px;height:48px;border-radius:50%;background:var(--tone);color:#fff;display:grid;place-items:center}
.asb-status-icon svg{width:26px;height:26px}
.asb-panel-title{flex:1;min-width:0}
.asb-panel-title h2{margin:2px 0 0;color:var(--asb-navy);font-size:1.15rem;font-weight:800}
.asb-panel-title p{margin:4px 0 0;color:var(--asb-muted);font-size:.85rem;line-height:1.35}
.asb-count{flex:none;min-width:40px;height:30px;padding:0 10px;border-radius:999px;background:var(--badge);color:var(--tone);font-weight:800;display:grid;place-items:center}
.asb-accepted .asb-count{color:#167a43}.asb-review .asb-count{color:#a86a00}
/* Each panel scrolls on its own; the status header stays outside the scroller. */
.asb-list{flex:1;margin-top:8px;max-height:340px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px;border-radius:10px}
.asb-list:focus-visible{outline:3px solid #8bbcf5;outline-offset:1px}
.asb-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.asb-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--asb-border);border-radius:10px;padding:10px 12px;color:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(15,31,61,.04)}
.asb-card:hover{border-color:var(--tone);background:#fbfdff}
.asb-card:focus-visible{outline:3px solid var(--tone);outline-offset:1px}
.asb-card-icon{flex:none;width:38px;height:38px;border-radius:50%;background:var(--tint);color:var(--asb-navy);display:grid;place-items:center}
.asb-card-icon svg{width:20px;height:20px}
.asb-card-text{flex:1;min-width:0;display:flex;flex-direction:column}
.asb-card-title{color:var(--asb-navy);font-weight:800;overflow-wrap:anywhere}
.asb-card-meta{color:var(--asb-muted);font-size:.8rem;overflow-wrap:anywhere}
.asb-chevron{flex:none;color:#4b5b72}.asb-chevron svg{width:18px;height:18px}
.asb-empty{color:var(--asb-muted);text-align:center;padding:24px 8px;margin:0}
.asb-more{width:100%;margin-top:8px;padding:9px;border-radius:10px;border:1px dashed var(--asb-border);background:var(--tint);color:var(--asb-navy);font-weight:700;cursor:pointer}
.asb-more:disabled{opacity:.6;cursor:progress}
.asb-footer{color:var(--asb-muted);font-size:.9rem}
@media (max-width:1100px){.asb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
 .alliance-suggestions-board{padding:16px;border-radius:12px}
 .asb-header h1{font-size:1.6rem}
 .asb-grid{grid-template-columns:minmax(0,1fr)}
 .asb-overview{flex-wrap:wrap;gap:14px}
 .asb-overview-icon{width:52px;height:52px}
 .asb-total{border-left:0;border-top:1px solid var(--asb-border);padding:12px 0 0;width:100%}
 .asb-list{max-height:300px}
}

/* Alliance Manager → Current Alliances list + detail (scoped). */
.current-alliances{--ca-navy:#0f1f3d;--ca-muted:#5b6b82;--ca-border:#dfe7f2;--ca-blue:#0b6fe0;background:#f4f8fd;color:#334155;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:18px;min-width:0}
.current-alliances *{box-sizing:border-box}
.current-alliances h1{margin:0;color:var(--ca-navy);font-size:2rem;font-weight:800;letter-spacing:-.02em}
.current-alliances h2{margin:0;color:var(--ca-navy);font-size:1.05rem;font-weight:800}
.current-alliances h3{margin:0 0 8px;color:var(--ca-muted);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ca-i{width:18px;height:18px;flex:none}
.ca-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--ca-border)}
.ca-top p,.ca-detail-head>p{margin:4px 0 0;color:var(--ca-muted)}
.ca-top-actions{display:flex;flex-wrap:wrap;gap:8px}
.ca-error:empty{display:none}.ca-error{color:#c62828;margin:0}
.ca-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:9px 16px;font-weight:700;font-size:.88rem;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.ca-primary{background:var(--ca-blue);color:#fff}.ca-primary:hover{background:#095bc0}
.ca-ghost{background:#fff;color:#1f3b63;border-color:var(--ca-border)}.ca-ghost:hover{background:#eef5ff}
.ca-ghost:disabled{opacity:.5;cursor:not-allowed}
.ca-danger{color:#b4232a;border-color:#f3c2c4}.ca-danger:hover{background:#fdeeee}
.ca-destructive{background:#dc2626!important}.ca-destructive:hover{background:#b91c1c!important}
#appContainer .current-alliances .ca-primary:hover{background-color:#095bc0!important;color:#fff!important}
.ca-tabs{display:flex;flex-wrap:wrap;gap:6px}
.ca-tab{border:0;border-radius:10px;padding:10px 18px;font-weight:700;background:#e8eef6;color:var(--ca-navy);cursor:pointer}
.ca-tab.is-active,#appContainer .current-alliances .ca-tab.is-active:hover{background:var(--ca-blue)!important;color:#fff!important}
.ca-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ca-metric{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ca-border);border-radius:14px;padding:14px 16px;min-width:0}
.ca-metric p{margin:0;color:var(--ca-muted);font-size:.82rem;font-weight:600}
.ca-metric strong{display:block;color:var(--ca-navy);font-size:1.5rem;font-weight:800;line-height:1.1}
.ca-metric-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}
.ca-metric-icon.ca-blue{background:#e6f0fc;color:#0b6fe0}.ca-metric-icon.ca-green{background:#e3f6ec;color:#15803d}.ca-metric-icon.ca-amber{background:#fff4dc;color:#b45309}.ca-metric-icon.ca-orange{background:#ffeedd;color:#c2410c}.ca-metric-icon.ca-red{background:#fde8e8;color:#b91c1c}
.ca-card{background:#fff;border:1px solid var(--ca-border);border-radius:16px;box-shadow:0 1px 3px rgba(15,31,61,.04);min-width:0}
.ca-filters{display:flex;flex-wrap:wrap;gap:10px;padding:14px;border-bottom:1px solid var(--ca-border)}
.ca-search{position:relative;flex:1 1 260px;display:block}
.ca-search .ca-i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#7b8fa6}
.ca-filters input,.ca-filters select,.ca-panel-head select{width:100%;border:1px solid var(--ca-border);border-radius:10px;padding:9px 12px;background:#f9fcff;color:var(--ca-navy);font:inherit;font-size:.9rem}
.current-alliances .ca-search input{padding-left:38px!important}
.ca-filters>label:not(.ca-search){flex:0 1 190px}
.ca-table-wrap{overflow-x:auto}
.ca-table{width:100%;border-collapse:collapse;font-size:.9rem}
.ca-table th{text-align:left;padding:12px 16px;color:var(--ca-muted);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#f8fbff;border-bottom:1px solid var(--ca-border)}
.ca-table td{padding:12px 16px;border-bottom:1px solid #eef3f9;color:#334155;vertical-align:middle}
.ca-table tbody tr[data-ca-row]{cursor:pointer}.ca-table tbody tr[data-ca-row]:hover{background:#f6faff}
.ca-name{display:flex;align-items:center;gap:12px}
.ca-name strong{display:block;color:var(--ca-navy)}.ca-name small{color:var(--ca-muted)}
.ca-name-icon{width:38px;height:38px;border-radius:50%;background:#e6f0fc;color:#0b6fe0;display:grid;place-items:center;flex:none}
.ca-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;border:1px solid}
.ca-badge.ca-green{background:#eaf8f0;color:#157347;border-color:#bfe6cf}.ca-badge.ca-amber{background:#fff6e6;color:#9a5700;border-color:#f5d39a}.ca-badge.ca-orange{background:#fff1e8;color:#b04a0c;border-color:#f6c6a4}.ca-badge.ca-red{background:#fdeeee;color:#b4232a;border-color:#f3c2c4}.ca-badge.ca-slate{background:#f3f6f9;color:#475569;border-color:#dbe3ea}
.ca-empty{text-align:center;color:var(--ca-muted);font-style:italic;padding:28px 8px!important;list-style:none}
.ca-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;color:var(--ca-muted);font-size:.88rem}
.ca-pager{display:flex;align-items:center;gap:8px}
.ca-detail-head{display:flex;flex-direction:column;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--ca-border)}
.ca-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--ca-blue);font-weight:700;cursor:pointer;padding:0}
.ca-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ca-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.ca-main,.ca-side{display:flex;flex-direction:column;gap:18px;min-width:0}
.ca-panel{padding:18px}
.ca-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.ca-panel-head label{flex:0 0 170px}
.ca-sub{margin:0 0 10px;color:var(--ca-muted);font-size:.88rem}
.ca-muted{color:var(--ca-muted);font-size:.85rem}
.ca-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:0}
.ca-overview dt,.ca-stats dt,.ca-rep-sync dt{color:var(--ca-muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ca-overview dd,.ca-stats dd{margin:3px 0 0;color:var(--ca-navy);font-weight:700;overflow-wrap:anywhere}
.ca-link{display:inline-flex;align-items:center;gap:6px;color:var(--ca-blue);font-weight:700;text-decoration:none}.ca-link:hover{text-decoration:underline}
.ca-actions-grid{display:grid;grid-template-columns:1fr 2fr;gap:18px}
.ca-actions{display:flex;flex-wrap:wrap;gap:8px}
.ca-action{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ca-border);background:#fff;color:#1f3b63;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.ca-action:hover{background:#f3f8ff}
.ca-action.ca-orange{color:#c2410c;border-color:#f6c6a4}.ca-action.ca-blue{color:#0b5cbf;border-color:#c6dcfa}.ca-action.ca-red{color:#b4232a;border-color:#f3c2c4}.ca-action.ca-amber{color:#9a5700;border-color:#f5d39a}
.ca-restore{margin-top:10px;border:0;background:none;color:var(--ca-muted);font-size:.82rem;text-decoration:underline;cursor:pointer;padding:0}
.ca-pill{background:#e6f0fc;color:#0b5cbf;border-radius:999px;padding:3px 10px;font-weight:800;font-size:.8rem}
.ca-reps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ca-rep{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 14px;border:1px solid var(--ca-border);border-radius:12px;padding:12px}
.ca-rep-avatar{width:44px;height:44px;border:2px solid #e3eefa}
.ca-rep-id strong{display:block;color:var(--ca-navy)}.ca-rep-id small{color:var(--ca-muted);overflow-wrap:anywhere}
.ca-rep-sync{display:flex;flex-wrap:wrap;gap:12px 18px;margin:0;grid-column:2/-1;grid-row:2}.ca-rep-sync dd{margin:3px 0 0}
.ca-rep-actions{display:flex;flex-wrap:wrap;gap:6px}.ca-rep-actions .ca-btn{padding:6px 10px;font-size:.8rem}
.ca-chip{display:inline-flex;border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:700}
.ca-chip.ca-green{background:#eaf8f0;color:#157347}.ca-chip.ca-amber{background:#fff6e6;color:#9a5700}.ca-chip.ca-red{background:#fdeeee;color:#b4232a}.ca-chip.ca-violet{background:#f3efff;color:#6236c7}.ca-chip.ca-slate{background:#f3f6f9;color:#475569}
.ca-past-list{margin-top:12px}.ca-past-list summary{cursor:pointer;color:var(--ca-muted);font-weight:700;font-size:.88rem}
.ca-past-list ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}
.ca-past{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.85rem;color:var(--ca-muted);border:1px dashed var(--ca-border);border-radius:10px;padding:8px 10px}
.ca-rep-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--ca-border)}
.ca-rep-form label,.ca-dialog label{display:block;font-size:.82rem;font-weight:700;color:#334155}
.ca-rep-form input,.ca-dialog input:not([type=checkbox]),.ca-dialog textarea{display:block;width:100%;margin-top:4px;border:1px solid var(--ca-border);border-radius:10px;padding:9px 10px;color:var(--ca-navy);background:#fff;font:inherit}
.ca-timeline{list-style:none;margin:0;padding:0 0 0 6px;display:flex;flex-direction:column;gap:14px;border-left:2px solid #e3ecf7}
.ca-event{position:relative;display:flex;gap:12px;padding-left:14px}
.ca-event[hidden]{display:none}
.ca-dot{position:absolute;left:-8px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:#94a3b8}
.ca-dot.ca-discipline{background:#ea580c}.ca-dot.ca-representatives{background:#0b6fe0}.ca-dot.ca-provisioning{background:#7c3aed}.ca-dot.ca-management{background:#16a34a}
.ca-event p{margin:0}.ca-event-title{color:var(--ca-navy);font-weight:700}.ca-event-note{color:#475569;font-size:.88rem;white-space:pre-wrap;margin-top:2px!important}
.ca-event-warn{color:#9a3d0a;font-size:.84rem;margin-top:4px!important}
.ca-status-big{margin-bottom:8px}
.ca-stats{display:flex;flex-direction:column;gap:10px;margin:0}
.ca-quick{display:flex;flex-direction:column;gap:10px}
.ca-tip{display:flex;gap:10px;background:#eef5ff;border:1px solid #c6dcfa;border-radius:14px;padding:14px;color:#0b4f9e}
.ca-tip p{margin:4px 0 0;font-size:.85rem;color:#25476f}
.ca-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.ca-modal-backdrop{position:absolute;inset:0;background:rgba(15,31,61,.55)}
.ca-dialog{position:relative;width:min(100%,34rem);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(15,31,61,.3)}
.ca-dialog header,.ca-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--ca-border)}
.ca-dialog footer{justify-content:flex-end;border-top:1px solid var(--ca-border);border-bottom:0}
.ca-dialog-body{display:flex;flex-direction:column;gap:12px;padding:18px}
.ca-x{border:0;background:#f1f5fa;border-radius:8px;width:32px;height:32px;font-size:1.2rem;cursor:pointer}
.ca-req{color:#b4232a;font-weight:600}
.ca-confirm{display:flex!important;gap:8px;align-items:flex-start;font-weight:600!important}
@media (max-width:1100px){.ca-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ca-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
 .current-alliances{padding:16px;border-radius:12px}.current-alliances h1{font-size:1.6rem}
 .ca-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-metric{padding:12px;gap:8px}.ca-metric-icon{width:32px;height:32px;border-radius:10px}.ca-metric p{font-size:.76rem;overflow-wrap:normal;word-break:keep-all}
 .ca-actions-grid,.ca-rep-form{grid-template-columns:minmax(0,1fr)}
 .ca-table thead{display:none}.ca-table,.ca-table tbody,.ca-table tr,.ca-table td{display:block;width:100%}
 .ca-table tr{border-bottom:1px solid var(--ca-border);padding:8px 0}.ca-table td{border:0;padding:6px 14px;display:flex;justify-content:space-between;gap:10px}
 .ca-table td::before{content:attr(data-label);color:var(--ca-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
 .ca-table td[data-label="Alliance Name"]::before{display:none}
 .ca-rep{grid-template-columns:auto minmax(0,1fr)}.ca-rep-sync{grid-column:1/-1;grid-row:auto}.ca-rep-actions{grid-column:1/-1}.ca-panel-head{flex-wrap:wrap}.ca-panel-head label{flex:1 1 100%}
}

/* HRD + MOD Punishment Logs (scoped). */
.punishment-logs{--pl-navy:#0f2a4a;--pl-muted:#5b7088;--pl-border:#d9e8f5;--pl-blue:#0b6fe0;background:#f3f8fd;border:1px solid #e1edf8;border-radius:24px;padding:24px;color:#22364d;max-width:72rem;margin:0 auto;min-width:0}
.punishment-logs *{box-sizing:border-box}
.pl-header h2{margin:0;color:var(--pl-navy);font-size:1.75rem;font-weight:800;letter-spacing:-.01em}
.pl-header p{margin:4px 0 0;color:var(--pl-muted)}
.pl-feedback:empty{display:none}.pl-feedback{margin:12px 0 0;color:#0c4a6e;font-size:.9rem}
.pl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:12px;background:#fff;border:1px solid var(--pl-border);border-radius:16px;box-shadow:0 1px 3px rgba(15,42,74,.05)}
.pl-filters{display:flex;flex-wrap:wrap;gap:8px;padding-right:12px;border-right:1px solid var(--pl-border)}
.pl-filter{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--pl-border);background:#fff;color:#334a63;border-radius:10px;padding:8px 12px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap}
.pl-filter .pl-count{font-weight:600;opacity:.8}
.pl-filter.pl-tone-blue.is-active{border-color:var(--pl-blue);color:var(--pl-blue);background:#eef5ff;box-shadow:inset 0 0 0 1px var(--pl-blue)}
.pl-filter.pl-tone-amber{color:#a35c00}.pl-filter.pl-tone-amber.is-active{border-color:#f0a020;background:#fff6e6;box-shadow:inset 0 0 0 1px #f0a020}
.pl-filter.pl-tone-green{color:#157347}.pl-filter.pl-tone-green.is-active{border-color:#22a05a;background:#eaf8f0;box-shadow:inset 0 0 0 1px #22a05a}
.pl-filter.pl-tone-red{color:#b4232a}.pl-filter.pl-tone-red.is-active{border-color:#e5484d;background:#fdeeee;box-shadow:inset 0 0 0 1px #e5484d}
.pl-search{position:relative;flex:1 1 280px;min-width:0;display:block}
.pl-search-icon{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#7b8fa6}
.pl-search input{width:100%;border:1px solid var(--pl-border);border-radius:10px;padding:10px 12px 10px 38px;font-size:.92rem;color:var(--pl-navy);background:#f9fcff}
.punishment-logs .pl-search input{padding-left:40px!important}
.pl-search input:focus{outline:2px solid #8bbcf5;outline-offset:1px;background:#fff}
.pl-create{display:inline-flex;align-items:center;gap:8px;background:var(--pl-blue);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer;white-space:nowrap}
.pl-create:hover{background:#095bc0}
.pl-icon{width:18px;height:18px;flex:none}
.pl-panel{background:#fff;border:1px solid var(--pl-border);border-radius:18px;box-shadow:0 1px 3px rgba(15,42,74,.05)}
.pl-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--pl-border)}
.pl-panel-head h3{margin:0;color:var(--pl-navy);font-size:1.1rem;font-weight:800}
.pl-panel-head span{color:var(--pl-muted);font-size:.88rem}
.pl-list{display:flex;flex-direction:column;gap:14px;padding:16px}
.pl-empty{text-align:center;color:var(--pl-muted);font-style:italic;padding:40px 8px;margin:0}
.pl-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;border:1px solid var(--pl-border);border-radius:16px;padding:20px;background:#fff;box-shadow:0 1px 2px rgba(15,42,74,.04)}
.pl-main{min-width:0;display:flex;flex-direction:column;gap:12px}
.pl-badges{display:flex;flex-wrap:wrap;gap:8px}
.pl-badge{display:inline-flex;align-items:center;border:1px solid;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pl-badge.pl-tone-blue{background:#eef5ff;color:#0b5cbf;border-color:#c6dcfa}.pl-badge.pl-tone-amber{background:#fff6e6;color:#9a5700;border-color:#f5d39a}.pl-badge.pl-tone-orange{background:#fff1e8;color:#b04a0c;border-color:#f6c6a4}.pl-badge.pl-tone-red{background:#fdeeee;color:#b4232a;border-color:#f3c2c4}.pl-badge.pl-tone-green{background:#eaf8f0;color:#157347;border-color:#bfe6cf}.pl-badge.pl-tone-violet{background:#f3efff;color:#6236c7;border-color:#d8cbfa}.pl-badge.pl-tone-slate{background:#f3f6f9;color:#475569;border-color:#dbe3ea}
.pl-badge.is-status{text-transform:none;letter-spacing:0;font-weight:700}
.pl-field{display:flex;gap:10px;align-items:flex-start}
.pl-field-icon{width:18px;height:18px;margin-top:2px;color:#6d8cb0;flex:none}
.pl-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6a7f96}
.pl-value{margin-top:2px;color:var(--pl-navy);font-weight:600;overflow-wrap:anywhere}
.pl-value .pl-target{font-size:1.05rem;font-weight:800}
.pl-value .pl-sub{color:var(--pl-muted);font-weight:500;font-size:.88rem}
.pl-arrow{color:#94a3b8;margin:0 6px}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px}
.pl-evidence{display:flex;flex-wrap:wrap;gap:8px}
.pl-evidence [data-log-evidence]{margin-top:0!important}
.pl-note{border-radius:10px;padding:10px 12px;font-size:.88rem;margin:0}
.pl-note.pl-tone-red{background:#fdeeee;color:#9b1c22;border:1px solid #f3c2c4}.pl-note.pl-tone-orange{background:#fff1e8;color:#9a3d0a;border:1px solid #f6c6a4}
.pl-side{display:flex;flex-direction:column;gap:14px;border-left:1px solid var(--pl-border);padding-left:20px;min-width:0}
.pl-issuer{display:flex;align-items:center;gap:12px}
.pl-avatar{width:44px;height:44px;border:2px solid #e3eefa}
.pl-issuer-name{margin:2px 0 0;font-weight:800;color:var(--pl-navy);overflow-wrap:anywhere}
.pl-date{display:block;margin-top:2px;color:#334a63;font-weight:600;font-size:.9rem}
.pl-actions{display:flex;flex-direction:column;gap:8px}
.pl-approve,.pl-deny{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border-radius:10px;padding:10px;font-weight:700;cursor:pointer}
.pl-approve{background:#16a34a;color:#fff;border:1px solid #16a34a}.pl-approve:hover{background:#15803d}
.pl-deny{background:#fff;color:#b4232a;border:1px solid #f0b4b7}.pl-deny:hover{background:#fdeeee}
.pl-approve:disabled,.pl-deny:disabled{opacity:.6;cursor:progress}
.pl-state{display:flex;gap:8px;align-items:flex-start;border-radius:12px;padding:10px 12px;font-size:.86rem;line-height:1.35}
.pl-state p{margin:0}
.pl-state.pl-tone-green{background:#eaf8f0;color:#14613b;border:1px solid #bfe6cf}.pl-state.pl-tone-red{background:#fdeeee;color:#9b1c22;border:1px solid #f3c2c4}.pl-state.pl-tone-amber{background:#fff6e6;color:#8a4b00;border:1px solid #f5d39a}.pl-state.pl-tone-violet{background:#f3efff;color:#5527b5;border:1px solid #d8cbfa}.pl-state.pl-tone-blue{background:#eef5ff;color:#0b4f9e;border:1px solid #c6dcfa}
.pl-more{margin:-8px 0 16px;color:#334a63}
.pl-more summary{cursor:pointer;font-weight:700;font-size:.88rem;color:var(--pl-blue)}
.pl-more form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:10px;padding:12px;background:#fff;border:1px solid var(--pl-border);border-radius:12px}
.pl-more label,.pl-form label{font-size:.82rem;font-weight:700;color:#334a63}
.pl-more input,.pl-more select,.pl-form input,.pl-form select,.pl-form textarea{display:block;width:100%;margin-top:4px;border:1px solid var(--pl-border);border-radius:8px;padding:8px;color:var(--pl-navy);background:#fff;font:inherit}
.pl-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.pl-modal[hidden]{display:none}
.pl-modal-backdrop{position:absolute;inset:0;background:rgba(15,42,74,.55)}
.pl-dialog{position:relative;width:min(100%,44rem);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(15,42,74,.3);color:#22364d}
.pl-dialog:focus{outline:none}
.pl-dialog-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--pl-border)}
.pl-dialog-head h3{margin:0;color:var(--pl-navy);font-weight:800;font-size:1.15rem}
.pl-close{border:0;background:#f1f5fa;border-radius:8px;padding:6px;color:#334a63;cursor:pointer}
.pl-dialog-body{padding:20px}
.pl-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pl-form .pl-span{grid-column:1/-1}
.pl-target-search{position:relative}
.pl-target-results{position:absolute;left:0;right:0;top:100%;margin-top:4px;z-index:5;max-height:16rem;overflow-y:auto;background:#fff;border:1px solid var(--pl-border);border-radius:12px;box-shadow:0 10px 24px rgba(15,42,74,.15)}
.pl-target-results .search-result-item{color:var(--pl-navy)}
.pl-target-results .search-result-item:hover{background:#eef5ff}
.pl-target-results .search-result-item .text-white{color:var(--pl-navy)!important}
.pl-selected{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--pl-border);border-radius:12px;background:#f6faff;margin:14px 0}
.punishment-logs #create-log-modal .form-label,.punishment-logs #create-log-modal label{color:#334a63}
.punishment-logs #create-log-modal .form-input{background:#fff;color:var(--pl-navy);border:1px solid var(--pl-border)}
@media (max-width:1024px){.pl-filters{border-right:0;padding-right:0;width:100%}}
@media (max-width:760px){
 .punishment-logs{padding:16px;border-radius:16px}
 .pl-header h2{font-size:1.45rem}
 .pl-search{flex-basis:100%}
 .pl-create{width:100%;justify-content:center}
 .pl-card{grid-template-columns:minmax(0,1fr);padding:16px}
 .pl-side{border-left:0;border-top:1px solid var(--pl-border);padding:14px 0 0}
 .pl-form{grid-template-columns:minmax(0,1fr)}
 .pl-list{padding:12px}
}

/* HRD Create New Log: larger dialog, handbook reasons and Internal Notes (scoped). */
.pl-dialog.pl-dialog-lg{width:min(100%,56rem);max-height:min(90dvh,calc(100dvh - 32px))}
.pl-dialog-lg .pl-dialog-body{padding:24px}
.hrd-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-bottom:16px}
.hrd-create-grid .hrd-span{grid-column:1/-1}
.hrd-guidance{margin:8px 0 0;display:inline-block;background:#eef5ff;border:1px solid #c6dcfa;color:#0b4f9e;border-radius:8px;padding:6px 10px;font-size:.85rem;font-weight:600}
.hrd-help{margin:2px 0 6px;color:#5b7088;font-size:.82rem}
.hrd-internal-notes{border:1px dashed #c9b8f5;background:#f8f5ff;border-radius:12px;padding:10px 12px;color:#3b2a6b}
.hrd-internal-notes .hrd-help{color:#6b5aa0}
@media (max-width:760px){.hrd-create-grid{grid-template-columns:minmax(0,1fr)}.pl-dialog-lg .pl-dialog-body{padding:16px}}
/* HRD Create New Log: keep the target search roomy before a user is selected. */
.pl-dialog.pl-dialog-lg{min-height:min(36rem,calc(100dvh - 32px))}
.pl-dialog-lg .pl-target-results{position:static;margin-top:8px;max-height:24rem;box-shadow:none}
.hrd-fixed-rank{margin:6px 0 0;padding:9px 12px;border:1px solid #d9e8f5;border-radius:8px;background:#f3f8fd;color:#0f2a4a;font-weight:700}
