.admin-container{
    padding-top:8px;
}

.admin-settings-card{
    margin-bottom:14px;
    padding:16px;
    display:grid;
    gap:14px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:19px;
    box-shadow:var(--shadow);
}

.admin-settings-card>div:first-child{
    display:grid;
    gap:4px;
}

.admin-settings-card>div:first-child strong{
    color:var(--primary-dark);
}

.admin-settings-card>div:first-child span{
    color:var(--muted);
    font-size:.75rem;
}

.admin-tabs{
    position:sticky;
    top:10px;
    z-index:20;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    padding:5px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:var(--shadow);
}

.admin-tab{
    min-height:45px;
    padding:8px 6px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--muted);
    font-size:.75rem;
    font-weight:800;
    cursor:pointer;
}

.admin-tab.active{
    background:var(--primary);
    color:#fff;
}

.admin-panel{
    padding-top:2px;
}

.admin-form,
.admin-card{
    padding:16px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:19px;
    box-shadow:var(--shadow);
}

.admin-form,
.admin-fields,
.admin-list,
.password-zone{
    display:grid;
    gap:11px;
}

.admin-form label,
.admin-fields label,
.password-zone label{
    display:grid;
    gap:6px;
    color:var(--muted);
    font-size:.75rem;
}

.admin-form input,
.admin-form select,
.admin-fields input,
.admin-fields select,
.password-zone input{
    width:100%;
    min-height:47px;
    padding:0 12px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    color:var(--text);
    font-size:16px;
    outline:none;
}

.admin-form input:focus,
.admin-form select:focus,
.admin-fields input:focus,
.admin-fields select:focus,
.password-zone input:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(18,59,114,.08);
}

.admin-card-title{
    margin-bottom:15px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
}

.admin-card-title>div{
    display:grid;
    gap:3px;
}

.admin-card-title strong{
    color:var(--primary-dark);
}

.admin-card-title span{
    color:var(--muted);
    font-size:.7rem;
}

.role-badge{
    height:max-content;
    padding:6px 8px;
    border-radius:8px;
    background:var(--primary-light);
    color:var(--primary)!important;
    font-size:.65rem!important;
    font-weight:900;
}

.role-admin{
    background:var(--primary);
    color:#fff!important;
}

.admin-card>.btn{
    width:100%;
    margin-top:12px;
}

.password-zone{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--border);
}

.status-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#C8D2DE;
}

.status-dot.active{
    background:var(--success);
}

.admin-toggle{
    min-height:52px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#F7F9FC;
    cursor:pointer;
    user-select:none;
    transition:background .15s ease,border-color .15s ease,transform .08s ease;
}

.admin-toggle:active{
    transform:scale(.985);
}

.admin-toggle.active{
    background:var(--primary-light);
    border-color:rgba(18,59,114,.3);
}

.admin-toggle-text{
    display:grid;
    gap:2px;
}

.admin-toggle-text strong{
    color:var(--text);
    font-size:.82rem;
}

.admin-toggle-text span{
    color:var(--muted);
    font-size:.7rem;
}

.admin-toggle-indicator{
    position:relative;
    width:44px;
    height:26px;
    flex:0 0 44px;
    border-radius:999px;
    background:#D5DEE9;
    transition:background .18s ease;
}

.admin-toggle-indicator::after{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 6px rgba(16,36,62,.18);
    transition:transform .18s ease;
}

.admin-toggle.active .admin-toggle-indicator{
    background:var(--primary);
}

.admin-toggle.active .admin-toggle-indicator::after{
    transform:translateX(18px);
}

.workout-builder{
    grid-column:1/-1;
    display:grid;
    gap:10px;
    margin-top:5px;
}

.workout-builder>div:first-child{
    display:grid;
    gap:3px;
}

.workout-builder-list,
.workout-card-movements{
    display:grid;
    gap:9px;
    margin-top: 15px;
}

.workout-builder-row{
    min-height:72px;
    padding:11px 12px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:11px;
    background:#F7F9FC;
    border:1px solid var(--border);
    border-radius:15px;
    cursor:pointer;
    user-select:none;
    transition:background .15s ease,border-color .15s ease,transform .08s ease;
}

.workout-builder-row:active{
    transform:scale(.99);
}

.workout-builder-row.selected{
    background:var(--primary-light);
    border-color:rgba(18,59,114,.28);
}

.workout-select-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#E5EBF2;
    color:var(--muted);
}

.workout-builder-row.selected .workout-select-icon{
    background:var(--primary);
    color:#fff;
}

.workout-select-icon .material-symbols-rounded{
    font-size:21px;
}

.workout-builder-info{
    min-width:0;
    display:grid;
    gap:3px;
}

.workout-builder-info strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--text);
    font-size:.84rem;
}

.workout-builder-info span{
    color:var(--muted);
    font-size:.69rem;
}

.workout-target-wrapper{
    width:92px;
    padding:5px 7px;
    display:grid;
    gap:2px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:11px;
}

.workout-builder-row.selected .workout-target-wrapper{
    border-color:rgba(18,59,114,.25);
}

.workout-target-label{
    color:var(--muted);
    font-size:.58rem;
    font-weight:800;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.workout-target{
    width:100%!important;
    min-height:30px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--primary-dark)!important;
    box-shadow:none!important;
    text-align:center;
    font-size:1rem!important;
    font-weight:900;
    font-variant-numeric:tabular-nums;
}

.workout-target:focus{
    box-shadow:none!important;
}

.workout-target:disabled{
    color:#AAB5C2!important;
    cursor:not-allowed;
}

.admin-message{
    position:fixed;
    left:50%;
    bottom:calc(18px + env(safe-area-inset-bottom,0px));
    transform:translateX(-50%);
    z-index:1000;
    width:calc(100% - 30px);
    max-width:500px;
    padding:13px;
    border-radius:13px;
    background:var(--primary);
    color:#fff;
    text-align:center;
    font-weight:750;
    box-shadow:0 10px 30px rgba(18,59,114,.2);
}

.admin-message.error{
    background:var(--danger);
}

@media(max-width:380px){
    .workout-builder-row{
        grid-template-columns:auto minmax(0,1fr) 78px;
    }

    .workout-target-wrapper{
        width:78px;
    }
}

@media(min-width:600px){
    .admin-form,
    .admin-fields{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .admin-form button[type="submit"]{
        grid-column:1/-1;
    }
}
