:root{--st-bg:#f5f7fb;--st-surface:#fff;--st-ink:#111827;--st-muted:#6b7280;--st-border:#e5e7eb;--st-primary:#2563eb;--st-primary-dark:#1d4ed8;--st-dark:#111827;--st-dark-2:#1f2937;--st-sidebar-width:280px;--st-radius:16px;--st-shadow:0 10px 30px rgba(15,23,42,.08)}html,body{min-height:100%}body{margin:0;padding-top:72px;background:var(--st-bg);color:var(--st-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.st-navbar{background:linear-gradient(135deg,var(--st-dark),var(--st-dark-2));box-shadow:0 8px 24px rgba(15,23,42,.18);z-index:1040}.st-brand-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;margin-right:.5rem;border-radius:10px;background:rgba(255,255,255,.12)}.navbar-brand{font-weight:800;letter-spacing:-.02em}.navbar .nav-link{color:rgba(255,255,255,.78);font-weight:600;border-radius:10px;padding:.5rem .75rem}.navbar .nav-link:hover,.navbar .nav-link.active{color:#fff;background:rgba(255,255,255,.12)}.st-main{max-width:1320px;margin:0 auto;padding:24px;transition:margin-left .2s ease,max-width .2s ease}body.st-sidebar-open .st-main{margin-left:var(--st-sidebar-width);max-width:calc(1320px - var(--st-sidebar-width))}.st-admin-sidebar{position:fixed;top:72px;left:0;bottom:0;width:var(--st-sidebar-width);background:#fff;border-right:1px solid var(--st-border);box-shadow:12px 0 28px rgba(15,23,42,.08);transform:translateX(-100%);transition:transform .2s ease;z-index:1030;overflow-y:auto}body.st-sidebar-open .st-admin-sidebar{transform:translateX(0)}.st-admin-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--st-border)}.st-admin-nav{padding:12px}.st-admin-nav-group{margin-bottom:8px}.st-admin-nav-main{display:flex;align-items:center;gap:10px;color:var(--st-ink);text-decoration:none;font-weight:750;padding:10px 12px;border-radius:12px}.st-admin-nav-main:hover,.st-admin-nav-main.active{background:#eff6ff;color:var(--st-primary)}.st-admin-nav-sub{display:flex;gap:10px;padding:4px 12px 8px 40px}.st-admin-nav-sub a{color:var(--st-muted);font-size:.88rem;text-decoration:none;font-weight:650}.st-admin-nav-sub a:hover{color:var(--st-primary)}.st-sidebar-backdrop{display:none}.st-page-header{margin-bottom:24px}.st-page-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:850;letter-spacing:-.04em;margin:0}.st-page-subtitle,.st-muted{color:var(--st-muted)}.card,.st-card{background:var(--st-surface);border:1px solid var(--st-border);border-radius:var(--st-radius);box-shadow:var(--st-shadow)}.btn{font-weight:700;border-radius:10px}.form-control,.form-select{border-radius:12px}.table{background:#fff;border-radius:var(--st-radius);overflow:hidden}.table thead th{background:#f8fafc;color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--st-border)}.auth-shell{min-height:calc(100vh - 120px);display:grid;place-items:center}.auth-card{width:min(460px,100%)}@media(max-width:991.98px){body{padding-top:64px}.st-main{padding:16px}body.st-sidebar-open .st-main{margin-left:0;max-width:1320px}.st-admin-sidebar{top:64px;z-index:1050}.st-sidebar-backdrop{position:fixed;inset:64px 0 0 0;background:rgba(15,23,42,.35);z-index:1045}body.st-sidebar-open .st-sidebar-backdrop{display:block}}


.mood-option input:checked + .mood-face {
    border-color: var(--st-primary);
    background: #eff6ff;
}


.mood-1 input:checked + .mood-face {
    border-color: #dc2626;
    background: #fee2e2;
}

.mood-2 input:checked + .mood-face {
    border-color: #ea580c;
    background: #ffedd5;
}

.mood-3 input:checked + .mood-face {
    border-color: #6b7280;
    background: #f3f4f6;
}

.mood-4 input:checked + .mood-face {
    border-color: #2563eb;
    background: #dbeafe;
}

.mood-5 input:checked + .mood-face {
    border-color: #16a34a;
    background: #dcfce7;
}

.mood-option {
    flex: 1;
    text-align: center;
    cursor: pointer;
}

    .mood-option input {
        display: none;
    }

.mood-face {
    display: block;
    font-size: 2rem;
    padding: 12px;
    border: 2px solid var(--st-border);
    border-radius: 16px;
    background: white;
}

.mood-label {
    display: block;
    margin-top: 6px;
    font-size: .8rem;
    color: var(--st-muted);
    font-weight: 700;
}
