:root{
    --fgs-p-bg:#0d0f14;
    --fgs-p-panel:#151923;
    --fgs-p-panel-2:#1d2330;
    --fgs-p-border:rgba(255,255,255,.10);
    --fgs-p-text:#fbf6ea;
    --fgs-p-muted:#c4bdad;
    --fgs-p-gold:#d9aa4e;
    --fgs-p-ivory:#fffaf0;
}
.fgs-client-dashboard{
    color:var(--fgs-p-text);
    background:radial-gradient(circle at top left,rgba(217,170,78,.16),transparent 34%),linear-gradient(145deg,#090b10,#151923);
    border:1px solid var(--fgs-p-border);
    border-radius:28px;
    padding:28px;
    box-shadow:0 28px 80px rgba(0,0,0,.32);
}
.fgs-restricted{
    max-width:720px;
    margin:24px auto;
}
.fgs-public-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:24px;
    background:linear-gradient(145deg,var(--fgs-p-panel),var(--fgs-p-panel-2));
    border:1px solid var(--fgs-p-border);
    border-radius:24px;
    margin-bottom:18px;
}
.fgs-public-kicker{
    display:inline-flex;
    color:var(--fgs-p-gold);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:8px;
}
.fgs-public-hero h1{
    margin:.1em 0;
    color:var(--fgs-p-ivory);
    font-size:clamp(28px,4vw,48px);
    line-height:1;
    letter-spacing:-.04em;
}
.fgs-public-hero p,
.fgs-muted{
    color:var(--fgs-p-muted);
}
.fgs-progress-ring{
    width:140px;
    height:140px;
    border-radius:50%;
    background:linear-gradient(145deg,rgba(217,170,78,.28),rgba(255,255,255,.04));
    border:1px solid rgba(217,170,78,.42);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    text-align:center;
}
.fgs-progress-ring strong{
    color:var(--fgs-p-ivory);
    font-size:34px;
    line-height:1;
}
.fgs-progress-ring span{
    color:var(--fgs-p-muted);
    font-size:12px;
    font-weight:800;
}
.fgs-public-grid{
    display:grid;
    gap:18px;
    margin-bottom:18px;
}
.fgs-public-grid-four{
    grid-template-columns:repeat(4,minmax(140px,1fr));
}
.fgs-public-grid-two{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.fgs-public-card,
.fgs-public-panel{
    background:rgba(255,255,255,.045);
    border:1px solid var(--fgs-p-border);
    border-radius:22px;
    padding:20px;
}
.fgs-public-card{
    display:grid;
    gap:8px;
}
.fgs-public-card span{
    font-size:20px;
}
.fgs-public-card strong{
    color:var(--fgs-p-ivory);
    font-size:30px;
    line-height:1;
}
.fgs-public-card small{
    color:var(--fgs-p-muted);
    font-weight:800;
}
.fgs-public-panel h2{
    color:var(--fgs-p-ivory);
    font-size:20px;
    margin-top:0;
    letter-spacing:-.02em;
}
.fgs-public-panel h3,
.fgs-public-panel h4{
    color:var(--fgs-p-ivory);
}
.fgs-public-panel a{
    color:var(--fgs-p-gold);
}
.fgs-public-table-wrap{
    overflow:auto;
    border-radius:16px;
    border:1px solid var(--fgs-p-border);
}
.fgs-public-table{
    width:100%;
    border-collapse:collapse;
}
.fgs-public-table th,
.fgs-public-table td{
    padding:12px;
    border-bottom:1px solid var(--fgs-p-border);
    text-align:left;
    vertical-align:top;
}
.fgs-public-table th{
    color:var(--fgs-p-gold);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.fgs-public-table tr:last-child td{
    border-bottom:none;
}
.fgs-client-dashboard .fgs-badge{
    display:inline-flex;
    border-radius:999px;
    padding:4px 9px;
    font-size:11px;
    font-weight:900;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.14);
    color:var(--fgs-p-ivory);
}
.fgs-client-dashboard .fgs-status-active,
.fgs-client-dashboard .fgs-status-completed,
.fgs-client-dashboard .fgs-status-good,
.fgs-client-dashboard .fgs-status-published,
.fgs-client-dashboard .fgs-status-won,
.fgs-client-dashboard .fgs-status-improving{
    background:rgba(74,222,128,.16);
    border-color:rgba(74,222,128,.32);
    color:#bbf7d0;
}
.fgs-client-dashboard .fgs-status-pending,
.fgs-client-dashboard .fgs-status-in-progress,
.fgs-client-dashboard .fgs-status-needs-review,
.fgs-client-dashboard .fgs-status-needs-work,
.fgs-client-dashboard .fgs-status-tracking{
    background:rgba(245,158,11,.16);
    border-color:rgba(245,158,11,.32);
    color:#fde68a;
}
.fgs-client-dashboard .fgs-status-inactive,
.fgs-client-dashboard .fgs-status-blocked,
.fgs-client-dashboard .fgs-status-declining{
    background:rgba(248,113,113,.16);
    border-color:rgba(248,113,113,.34);
    color:#fecaca;
}
.fgs-public-form{
    display:grid;
    gap:10px;
}
.fgs-public-form label{
    font-weight:900;
    color:var(--fgs-p-ivory);
}
.fgs-public-form select,
.fgs-public-form textarea{
    width:100%;
    border-radius:14px;
    border:1px solid var(--fgs-p-border);
    background:#0d1017;
    color:var(--fgs-p-text);
    padding:12px;
}
.fgs-public-form button{
    border:none;
    border-radius:999px;
    padding:12px 18px;
    background:linear-gradient(135deg,#d9aa4e,#f6cc78);
    color:#141414;
    font-weight:900;
    cursor:pointer;
}
.fgs-public-notice{
    border:1px solid rgba(74,222,128,.35);
    background:rgba(74,222,128,.12);
    color:#bbf7d0;
    padding:12px 14px;
    border-radius:16px;
    margin-bottom:16px;
}
.fgs-client-selector{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.06);
    border:1px solid var(--fgs-p-border);
}
.fgs-client-selector label{
    color:var(--fgs-p-gold);
    font-weight:900;
}
.fgs-client-selector select{
    border-radius:12px;
    padding:8px 10px;
}
@media (max-width:980px){
    .fgs-public-grid-four,
    .fgs-public-grid-two{grid-template-columns:1fr;}
    .fgs-public-hero{align-items:flex-start;flex-direction:column;}
}
@media (max-width:640px){
    .fgs-client-dashboard{padding:16px;border-radius:20px;}
    .fgs-public-hero{padding:18px;}
    .fgs-progress-ring{width:110px;height:110px;}
}

.fgs-client-dashboard.fgs-restricted h2{color:var(--fgs-p-ivory);margin-top:0;}
.fgs-client-dashboard.fgs-restricted p{color:var(--fgs-p-muted);}
