/* GIPSA Salary Calculator - WordPress Plugin Styles */
/* All rules scoped to #gipsa-app to avoid theme conflicts */

#gipsa-app{font-family:'Outfit',sans-serif;background:linear-gradient(135deg,#0a0e1a,#0f1629,#0a1020);color:#e2e8f0;-webkit-font-smoothing:antialiased;padding:16px;max-width:1100px;margin:0 auto;min-height:100vh;line-height:1.5;border-radius:20px}
#gipsa-app *{box-sizing:border-box}
#gipsa-app h1,#gipsa-app h2,#gipsa-app h3,#gipsa-app p,#gipsa-app div,#gipsa-app span,#gipsa-app label,#gipsa-app td,#gipsa-app th{margin:0;padding:0;border:none;font-family:'Outfit',sans-serif}
#gipsa-app a{color:#eab308;text-decoration:none}

/* Loading */
#gipsa-loading{text-align:center;padding:60px 20px}
#gipsa-loading p{color:#eab308;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase}
.gipsa-spinner{width:40px;height:40px;border:3px solid rgba(234,179,8,0.2);border-top-color:#eab308;border-radius:50%;animation:gipsa-spin 0.8s linear infinite;margin:0 auto 16px}
@keyframes gipsa-spin{to{transform:rotate(360deg)}}

/* Utility */
#gipsa-app .mono{font-family:'Space Mono',monospace}
#gipsa-app .glass{background:rgba(15,23,42,0.65);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.06);border-radius:16px}
#gipsa-app .glass-gold{background:linear-gradient(135deg,rgba(234,179,8,0.08),rgba(202,138,4,0.03));border:1px solid rgba(234,179,8,0.15);border-radius:16px}
#gipsa-app section,#gipsa-app header,#gipsa-app footer{margin-bottom:20px}
#gipsa-app .tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.15em;color:rgba(234,179,8,0.7);display:block;margin-bottom:6px}

/* Form Elements */
#gipsa-app select,
#gipsa-app input[type="date"],
#gipsa-app input[type="number"],
#gipsa-app input[type="month"]{
    width:100%;padding:8px 10px;border-radius:8px;
    border:1px solid rgba(255,255,255,0.1)!important;
    background:rgba(15,23,42,0.8)!important;
    font-size:12px;font-weight:600;color:#e2e8f0!important;
    font-family:'Outfit',sans-serif;outline:none;
    transition:border-color 0.2s;
    -webkit-appearance:none;
    height:auto;line-height:1.4;
    box-shadow:none!important;
}
#gipsa-app select:focus,#gipsa-app input:focus{
    border-color:#eab308!important;
    box-shadow:0 0 0 2px rgba(234,179,8,0.12)!important;
}
#gipsa-app select option{background:#1e293b;color:#e2e8f0}
#gipsa-app input[type="checkbox"]{
    width:14px!important;height:14px!important;
    accent-color:#eab308;cursor:pointer;
    margin:0!important;padding:0!important;
}

/* Grid */
#gipsa-app .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#gipsa-app .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
#gipsa-app .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:768px){
    #gipsa-app .grid2,#gipsa-app .grid3,#gipsa-app .grid4{grid-template-columns:1fr}
}
@media(min-width:769px) and (max-width:1024px){
    #gipsa-app .grid3{grid-template-columns:1fr 1fr}
    #gipsa-app .grid4{grid-template-columns:1fr 1fr}
}

/* Table */
#gipsa-app table{width:100%;border-collapse:collapse;font-size:12px;border:none!important}
#gipsa-app th{text-align:left;padding:10px 14px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:#64748b;border-bottom:1px solid rgba(255,255,255,0.05)!important;border:none;background:transparent}
#gipsa-app td{padding:8px 14px;border-bottom:1px solid rgba(255,255,255,0.03)!important;border:none;background:transparent}
#gipsa-app thead{background:rgba(30,41,59,0.5)}
#gipsa-app tbody tr:hover{background:rgba(255,255,255,0.015)}

/* Alignment */
#gipsa-app .txt-r{text-align:right}
#gipsa-app .txt-c{text-align:center}

/* Colors */
#gipsa-app .c-gold{color:#eab308}
#gipsa-app .c-green{color:#34d399}
#gipsa-app .c-red{color:#fb7185}
#gipsa-app .c-blue{color:#60a5fa}
#gipsa-app .c-indigo{color:#a5b4fc}
#gipsa-app .c-white{color:#fff}
#gipsa-app .c-muted{color:#64748b}
#gipsa-app .c-slate{color:#94a3b8}
#gipsa-app .c-light{color:#cbd5e1}

/* Typography */
#gipsa-app .fw-b{font-weight:700}
#gipsa-app .fw-xb{font-weight:800}
#gipsa-app .fs-xs{font-size:10px}
#gipsa-app .fs-sm{font-size:12px}
#gipsa-app .fs-md{font-size:14px}
#gipsa-app .fs-lg{font-size:18px}
#gipsa-app .fs-xl{font-size:24px}

/* Spacing */
#gipsa-app .p4{padding:16px}
#gipsa-app .p5{padding:20px}
#gipsa-app .p6{padding:24px}
#gipsa-app .mb2{margin-bottom:8px}
#gipsa-app .mb3{margin-bottom:12px}
#gipsa-app .mb4{margin-bottom:16px}
#gipsa-app .mt2{margin-top:8px}

/* Flex */
#gipsa-app .flex{display:flex}
#gipsa-app .flex-wrap{flex-wrap:wrap}
#gipsa-app .items-center{align-items:center}
#gipsa-app .justify-between{justify-content:space-between}
#gipsa-app .justify-center{justify-content:center}
#gipsa-app .gap2{gap:8px}
#gipsa-app .gap3{gap:12px}
#gipsa-app .gap4{gap:16px}
#gipsa-app .flex1{flex:1}
#gipsa-app .inline-flex{display:inline-flex}
#gipsa-app .hidden{display:none!important}
#gipsa-app .overflow-x{overflow-x:auto}
#gipsa-app .relative{position:relative}

/* Checkbox card */
#gipsa-app .check-card{display:flex;align-items:center;padding:10px;border-radius:10px;cursor:pointer;transition:all 0.2s;border:1px solid rgba(255,255,255,0.05);background:rgba(30,41,59,0.4);user-select:none}
#gipsa-app .check-card:hover{border-color:rgba(255,255,255,0.1)}
#gipsa-app .check-card.active{background:rgba(234,179,8,0.08);border-color:rgba(234,179,8,0.25)}
#gipsa-app .check-card input[type="checkbox"]{width:13px!important;height:13px!important;margin-right:8px!important}
#gipsa-app .check-card label{font-size:10px;font-weight:700;color:#cbd5e1;cursor:pointer;line-height:1.3}

/* Buttons */
#gipsa-app .btn-ex{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 24px;border-radius:12px;
    font-weight:700;font-size:11px;text-transform:uppercase;
    letter-spacing:0.06em;cursor:pointer;border:none;
    color:white;transition:all 0.2s;font-family:'Outfit',sans-serif;
    text-decoration:none;
}
#gipsa-app .btn-ex:hover{opacity:0.9;transform:translateY(-1px)}
#gipsa-app .btn-ex:active{transform:scale(0.97)}
#gipsa-app .btn-green{background:#059669;box-shadow:0 4px 20px rgba(5,150,105,0.25)}
#gipsa-app .btn-red{background:#e11d48;box-shadow:0 4px 20px rgba(225,29,72,0.25)}
#gipsa-app .btn-gold{
    background:rgba(234,179,8,0.08);border:1px solid rgba(234,179,8,0.2);
    color:#eab308;border-radius:50px;padding:10px 24px;
    font-size:10px;font-weight:700;text-transform:uppercase;
    letter-spacing:0.1em;cursor:pointer;font-family:'Outfit',sans-serif;
    transition:all 0.2s;
}
#gipsa-app .btn-gold:hover{background:rgba(234,179,8,0.15);border-color:rgba(234,179,8,0.35)}

/* Special cards */
#gipsa-app .payout-card{
    background:linear-gradient(135deg,#059669,#047857);border-radius:16px;
    padding:24px;text-align:center;
    box-shadow:0 0 40px rgba(16,185,129,0.15);
}
#gipsa-app .subcard{
    background:rgba(15,23,42,0.65);backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:20px;
}
#gipsa-app .results-wrap{
    border-radius:16px;overflow:hidden;
    border:1px solid rgba(16,185,129,0.1);
    background:linear-gradient(135deg,#0f172a,rgba(6,78,59,0.12),#0f172a);
    box-shadow:0 0 60px rgba(16,185,129,0.05);
}
#gipsa-app .stat-box{text-align:center;padding:12px}
#gipsa-app .stat-box .tag{margin-bottom:4px}

/* Table footer */
#gipsa-app .tfoot-row{background:rgba(234,179,8,0.08)!important;border-top:1px solid rgba(234,179,8,0.2)!important}
#gipsa-app .tfoot-row td{font-weight:800!important;color:#eab308!important;padding:12px 14px!important}

/* Month rows */
#gipsa-app .month-row{border:1px solid rgba(255,255,255,0.05);border-radius:12px;margin-bottom:8px;overflow:hidden;background:rgba(15,23,42,0.65);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#gipsa-app .month-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background 0.15s}
#gipsa-app .month-header:hover{background:rgba(255,255,255,0.02)}
#gipsa-app .month-detail{padding:20px;border-top:1px solid rgba(255,255,255,0.04);background:rgba(255,255,255,0.01)}

/* Canvas */
#gipsa-app canvas{max-height:100px;width:100%!important;height:auto!important}

/* Animations */
@keyframes gipsa-pulse{0%,100%{box-shadow:0 0 0 0 rgba(234,179,8,0.2)}50%{box-shadow:0 0 0 8px rgba(234,179,8,0)}}
#gipsa-app .pulse-dot{width:6px;height:6px;border-radius:50%;background:#facc15;animation:gipsa-pulse 2s infinite;display:inline-block}
@keyframes gipsa-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#gipsa-app .fade-in{animation:gipsa-fade 0.35s ease-out}

/* Scrollbar */
#gipsa-app ::-webkit-scrollbar{width:5px;height:5px}
#gipsa-app ::-webkit-scrollbar-track{background:rgba(15,23,42,0.5)}
#gipsa-app ::-webkit-scrollbar-thumb{background:rgba(234,179,8,0.3);border-radius:10px}

/* Override common WP theme conflicts */
#gipsa-app table{margin:0!important;border-spacing:0!important}
#gipsa-app table td,#gipsa-app table th{border-left:none!important;border-right:none!important}
#gipsa-app input,#gipsa-app select{margin:0!important;max-width:100%!important}
#gipsa-app label{font-weight:inherit;margin:0}
