/* TSP Employee Portal — Dark Theme v1.8.0 */
.tspre-portal{font-family:'Inter','Segoe UI',sans-serif;background:#0f172a;color:#e2e8f0;min-height:100vh;padding:0;margin:-20px}
.tp-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.tp-brand-name{font-size:18px;font-weight:700;color:#fff}
.tp-brand-sub{font-size:12px;color:#94a3b8;margin-top:2px}
.tp-header-right{display:flex;align-items:center;gap:10px}
.tp-status-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px}
.tp-status-in{color:#10b981;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3)}
.tp-status-out{color:#ef4444;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}
.tp-btn{border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center}
.tp-btn-primary{background:#3b82f6;color:#fff}.tp-btn-primary:hover{background:#2563eb}
.tp-btn-success{background:#10b981;color:#fff}.tp-btn-success:hover{background:#059669}
.tp-btn-danger{background:#ef4444;color:#fff}.tp-btn-danger:hover{background:#dc2626}
.tp-btn-ghost{background:rgba(255,255,255,.08);color:#94a3b8;border:1px solid rgba(255,255,255,.12)}.tp-btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.tp-tabs{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto}
.tp-tab{background:none;border:none;color:#94a3b8;font-size:13px;font-weight:600;padding:10px 16px;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s;white-space:nowrap}
.tp-tab:hover{color:#e2e8f0;background:rgba(255,255,255,.06)}
.tp-tab.active{color:#fff;background:rgba(255,255,255,.1);border-bottom:2px solid #6366f1}
.tp-tab-content{display:none;padding:24px}
.tp-tab-content.active{display:block}
.tp-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:16px;overflow:hidden}
.tp-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
.tp-card-title{font-size:15px;font-weight:700;color:#f1f5f9}
.tp-card-sub{font-size:12px;color:#94a3b8;margin-top:2px}
.tp-loading{color:#9ca3af;font-size:13px;padding:40px;text-align:center}
.tp-empty{color:#9ca3af;font-size:13px;padding:32px;text-align:center}
/* Dashboard */
.tp-dashboard{display:flex;flex-direction:column;gap:16px}
.tp-hero-card{background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(59,130,246,.1));border:1px solid rgba(99,102,241,.3);border-radius:14px;padding:24px;display:flex;gap:20px;align-items:flex-start}
.tp-hero-avatar{width:56px;height:56px;background:linear-gradient(135deg,#6366f1,#3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;flex-shrink:0}
.tp-hero-name{font-size:22px;font-weight:700;color:#fff}
.tp-hero-sub{font-size:13px;color:#94a3b8;margin-top:4px}
.tp-chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:4px 12px;font-size:12px;color:#94a3b8}
.tp-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.tp-kpi-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-top:3px solid;border-radius:10px;padding:16px;text-align:center}
.tp-kpi-icon{font-size:20px;margin-bottom:6px}
.tp-kpi-value{font-size:22px;font-weight:700;margin-bottom:4px}
.tp-kpi-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}
/* Schools */
.tp-search-bar{margin-bottom:16px}
.tp-schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.tp-school-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px}
.tp-school-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.tp-school-name{font-size:14px;font-weight:700;color:#f1f5f9}
.tp-school-udise{font-size:11px;color:#9ca3af;margin-top:2px}
.tp-status-chip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}
.tp-school-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#94a3b8;margin-bottom:12px}
/* Table */
.tp-table{width:100%;border-collapse:collapse;font-size:13px}
.tp-table thead{background:rgba(255,255,255,.06)}
.tp-table th{padding:12px 14px;text-align:left;font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}
.tp-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05);color:#d1d5db}
.tp-table tbody tr:hover{background:rgba(255,255,255,.03)}
/* Payroll */
.tp-payroll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.tp-payroll-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px;text-align:center}
.tp-paycard-total{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.06)}
.tp-paycard-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.tp-paycard-value{font-size:20px;font-weight:700;color:#f1f5f9}
/* Form elements */
.tp-form-group{margin-bottom:14px}
.tspre-portal label{display:block !important;font-size:12px !important;font-weight:600 !important;color:#94a3b8 !important;margin-bottom:6px !important}
.tspre-portal .tp-input,
.tspre-portal input,
.tspre-portal input[type="text"],
.tspre-portal input[type="email"],
.tspre-portal input[type="password"],
.tspre-portal input[type="number"],
.tspre-portal input[type="tel"] {
    width: 100% !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    color: #f1f5f9 !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}
.tspre-portal .tp-input:focus,
.tspre-portal input:focus,
.tspre-portal input[type="text"]:focus,
.tspre-portal input[type="email"]:focus,
.tspre-portal input[type="password"]:focus,
.tspre-portal input[type="number"]:focus,
.tspre-portal input[type="tel"]:focus {
    outline: none !important;
    border-color: #6366f1 !important;
}
.tspre-portal .tp-select,
.tspre-portal select {
    width: 100% !important;
    background: #1e293b !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    color: #f1f5f9 !important;
    font-size: 13px !important;
}
.tp-check-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#d1d5db;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;cursor:pointer}
/* CRM Modal */
.tp-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;box-sizing:border-box}
.tp-modal-box{background:#1e2a4a;color:#f1f5f9;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:28px;max-width:560px;width:100%;margin-bottom:40px}
.tp-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.tp-btn-close{background:rgba(255,255,255,.08);border:none;color:#94a3b8;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px}
.tp-btn-close:hover{background:rgba(255,255,255,.14)}
/* CRM Log */
.tp-crm-log-entry{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px;margin-bottom:8px}

/* Championship Duty Booking Layout */
.tp-booking-layout {
    display: grid;
    grid-template-columns: 1.2fr 2fr !important;
    gap: 24px;
    align-items: flex-start;
}
@media (max-width: 900px) {
    .tp-booking-layout {
        grid-template-columns: 1fr !important;
    }
}

