:root{
    --bg:#080909;
    --sidebar:#090a0a;
    --panel:#111313;
    --panel2:#151717;
    --line:#252828;
    --gold:#d8b45c;
    --gold2:#f0d28a;
    --text:#f4f4f1;
    --muted:#929796;
}

*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    background:var(--bg);
    color:var(--text);
    font-family:Inter,Arial,sans-serif
}

a{color:inherit;text-decoration:none}

.app-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:245px minmax(0,1fr)
}

.sidebar{
    min-height:100vh;
    position:sticky;
    top:0;
    height:100vh;
    padding:27px 17px;
    background:linear-gradient(180deg,#0b0c0c,#070808);
    border-right:1px solid #1f2222;
    display:flex;
    flex-direction:column
}

.brand{
    padding:0 15px 28px
}

.brand strong{
    display:block;
    color:var(--gold2);
    font-family:Georgia,serif;
    font-size:31px;
    font-weight:500;
    letter-spacing:.12em
}

.brand span{
    display:block;
    margin-top:2px;
    font-size:10px;
    letter-spacing:.22em
}

.brand small{
    display:block;
    margin-top:13px;
    color:var(--gold2);
    font-size:8px;
    letter-spacing:.13em
}

nav{
    display:grid;
    gap:5px
}

nav a{
    padding:13px 15px;
    border-radius:8px;
    color:#d6d8d7;
    display:flex;
    gap:12px;
    align-items:center
}

nav a:hover,
nav a.active{
    color:#fff;
    background:linear-gradient(90deg,#806526,#342c17);
    box-shadow:inset 3px 0 var(--gold)
}

.sidebar-links{
    margin-top:38px;
    padding-top:22px;
    border-top:1px solid #202222;
    display:grid;
    gap:15px
}

.sidebar-links a{
    color:#d7d7d4;
    font-size:13px;
    padding-left:12px
}

.sidebar-signature{
    margin-top:auto;
    padding:25px 12px 5px;
    text-align:center;
    color:#ddd
}

.sidebar-signature span{
    display:block;
    font-family:Georgia,serif;
    font-size:11px;
    letter-spacing:.24em;
    margin:8px
}

.sidebar-signature i{
    display:block;
    width:35px;
    height:1px;
    background:var(--gold);
    margin:25px auto
}

.sidebar-signature strong{
    display:block;
    font-family:Georgia,serif;
    letter-spacing:.18em
}

.sidebar-signature small{
    color:#888;
    font-size:9px;
    letter-spacing:.12em
}

.main{
    min-width:0;
    padding:0 22px 25px
}

.topbar{
    height:65px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:30px
}

.search{
    width:310px;
    border:1px solid #292c2c;
    background:#0c0e0e;
    color:#777;
    padding:11px 15px;
    border-radius:8px;
    font-size:12px
}

.profile{
    display:flex;
    gap:10px;
    align-items:center
}

.profile .avatar{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--gold2);
    color:#111;
    font-weight:800
}

.profile strong,
.profile small{
    display:block
}

.profile small{
    color:#888;
    margin-top:3px
}

.hero{
    min-height:280px;
    border:1px solid #242727;
    border-radius:14px;
    overflow:hidden;
    padding:35px 40px;
    display:flex;
    justify-content:space-between;
    background:
        radial-gradient(circle at 76% 45%,rgba(216,180,92,.23),transparent 18%),
        linear-gradient(100deg,#111 0%,#121313 45%,#21180e 100%);
    position:relative
}

.hero:after{
    content:"";
    position:absolute;
    right:8%;
    bottom:-100px;
    width:310px;
    height:310px;
    border-radius:50%;
    border:1px solid rgba(216,180,92,.12);
    box-shadow:
        0 0 0 40px rgba(216,180,92,.025),
        0 0 0 80px rgba(216,180,92,.018)
}

.eyebrow{
    color:#aaa;
    font-size:12px
}

.hero h1{
    margin:4px 0 8px;
    font-size:34px
}

.hero p{
    margin:0;
    color:#d0d0cd
}

.hero-message{
    margin-top:55px
}

.hero-message strong{
    display:block;
    font-family:Georgia,serif;
    color:#eee3c7;
    font-size:20px;
    line-height:1.5;
    letter-spacing:.18em
}

.hero-message span{
    display:block;
    margin-top:18px;
    color:#bbb;
    font-size:10px;
    letter-spacing:.15em;
    text-transform:uppercase
}

.hero-quote{
    align-self:center;
    position:relative;
    z-index:1;
    max-width:270px;
    text-align:right;
    font:italic 22px/1.4 Georgia,serif;
    color:#e8dfcc
}

.hero-quote small{
    display:block;
    margin-top:15px;
    font:10px Arial,sans-serif;
    letter-spacing:.25em
}

.primary-actions{
    display:grid;
    grid-template-columns:1fr 1fr 1.65fr;
    gap:15px;
    margin:16px 0
}

.primary-action{
    min-height:78px;
    padding:15px 20px;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:15px;
    color:#15120b;
    background:linear-gradient(135deg,#f2d78f,#b88b40)
}

.action-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#302718;
    color:var(--gold2);
    font-size:25px
}

.primary-action strong,
.primary-action small{
    display:block
}

.primary-action small{
    margin-top:5px
}

.brand-thought{
    display:grid;
    place-items:center;
    text-align:center;
    border:1px solid #242727;
    border-radius:10px;
    background:#121414;
    color:#ddd5c4;
    font:italic 15px/1.5 Georgia,serif
}

.panel{
    border:1px solid #242727;
    border-radius:11px;
    background:linear-gradient(180deg,#121414,#0e1010);
    padding:16px
}

.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:14px
}

.section-heading h2{
    margin:0;
    font-size:17px
}

.section-heading a{
    color:var(--gold2);
    font-size:12px
}

.period{
    border:1px solid #292c2c;
    padding:8px 12px;
    border-radius:7px;
    color:#ccc;
    font-size:11px
}

.metrics{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px
}

.metrics article{
    padding:18px;
    min-height:120px;
    border:1px solid #272a2a;
    border-radius:9px;
    background:#151717
}

.metrics span,
.metrics strong,
.metrics small{
    display:block
}

.metrics span{
    color:#aaa;
    font-size:12px
}

.metrics strong{
    margin:13px 0 9px;
    color:var(--gold2);
    font-size:25px
}

.metrics small{
    color:#707574;
    font-size:10px
}

.dashboard-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:14px;
    margin:15px 0
}

.empty-state{
    min-height:130px;
    border:1px dashed #2d3030;
    border-radius:8px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:20px
}

.empty-state strong{
    color:#ddd
}

.empty-state span{
    color:#777;
    font-size:12px;
    margin-top:8px;
    line-height:1.5
}

.empty-state.large{
    min-height:165px
}

footer{
    color:#555;
    text-align:center;
    font-size:10px;
    padding:30px 0 5px;
    letter-spacing:.1em
}

@media(max-width:1050px){
    .metrics{grid-template-columns:repeat(2,1fr)}
    .dashboard-grid{grid-template-columns:1fr}
    .primary-actions{grid-template-columns:1fr 1fr}
    .brand-thought{grid-column:1/-1;min-height:75px}
}

@media(max-width:760px){
    .app-shell{display:block}
    .sidebar{
        position:relative;
        height:auto;
        min-height:0
    }
    .sidebar-signature{display:none}
    .main{padding:0 12px 20px}
    .topbar{justify-content:space-between}
    .search{width:55%}
    .hero{padding:25px;min-height:330px}
    .hero-quote{display:none}
    .primary-actions{grid-template-columns:1fr}
    .brand-thought{grid-column:auto;padding:20px}
    .metrics{grid-template-columns:1fr}
}

/* =========================================================
   CONTENT STUDIO
   ========================================================= */

.studio-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin:18px 0 22px
}

.studio-heading h1{
    margin:5px 0 5px;
    font:500 34px/1.1 Georgia,serif
}

.studio-heading p{
    margin:0;
    color:var(--muted)
}

.studio-steps{
    display:flex;
    align-items:center;
    gap:8px
}

.studio-steps span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:20px;
    color:#777;
    font-size:11px
}

.studio-steps span.active{
    color:#17130b;
    background:var(--gold2);
    border-color:var(--gold2)
}

.studio-steps b{
    font-weight:600
}

.studio-main{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);
    gap:15px
}

.studio-left,
.studio-right{
    display:grid;
    align-content:start;
    gap:15px
}

.media-drop{
    min-height:175px;
    border:1px dashed #393d3d;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:25px;
    background:#0c0e0e
}

.media-drop strong{
    font:500 20px Georgia,serif;
    color:#e8dfcc
}

.media-drop>span{
    max-width:520px;
    margin:9px auto 20px;
    color:#777;
    font-size:12px;
    line-height:1.6
}

.media-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px
}

button,
input,
select,
textarea{
    font:inherit
}

button{
    border:1px solid #383b3b;
    background:#171919;
    color:#ddd;
    border-radius:7px;
    padding:10px 14px
}

button:disabled{
    color:#626666;
    cursor:not-allowed
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}

.form-grid label,
.field-block{
    display:block
}

.form-grid label.wide{
    grid-column:1/-1
}

.form-grid label>span,
.field-block>span{
    display:block;
    margin-bottom:7px;
    color:#a9acab;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em
}

input,
select,
textarea{
    width:100%;
    color:#eee;
    background:#0b0d0d;
    border:1px solid #303333;
    border-radius:7px;
    padding:12px 13px;
    outline:none
}

input:focus,
select:focus,
textarea:focus{
    border-color:#8f7338;
    box-shadow:0 0 0 2px rgba(216,180,92,.08)
}

select option{
    background:#111;
    color:#eee
}

textarea{
    resize:vertical;
    line-height:1.6
}

.field-block+.field-block{
    margin-top:14px
}

.quick-inserts{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px
}

.quick-inserts>span{
    margin-right:5px;
    color:#777;
    font-size:11px
}

.preview-placeholder{
    min-height:260px;
    margin-top:13px;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(216,180,92,.18),
            transparent 25%
        ),
        linear-gradient(
            145deg,
            #171818,
            #0a0b0b
        );
    border:1px solid #292c2c
}

.preview-placeholder strong{
    font:500 24px Georgia,serif;
    letter-spacing:.16em;
    color:var(--gold2)
}

.preview-placeholder span{
    margin-top:12px;
    color:#777;
    font-size:11px
}

.muted-copy{
    color:#777;
    font-size:12px;
    line-height:1.6
}

.platform-options{
    display:grid;
    gap:8px
}

.platform-option{
    display:flex;
    align-items:center;
    gap:11px;
    padding:12px;
    border:1px solid #292c2c;
    border-radius:8px;
    background:#0d0f0f;
    cursor:pointer
}

.platform-option input{
    width:auto;
    accent-color:#d8b45c
}

.platform-option strong,
.platform-option small{
    display:block
}

.platform-option strong{
    font-size:12px
}

.platform-option small{
    margin-top:3px;
    color:#737777;
    font-size:10px
}

.ai-panel button{
    width:100%;
    margin-top:7px;
    text-align:left
}

.studio-footer-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin:15px 0;
    padding:15px 18px;
    border:1px solid #252828;
    border-radius:10px;
    background:#0e1010
}

.studio-footer-actions>span{
    color:#777;
    font-size:11px
}

.studio-footer-actions>div{
    display:flex;
    gap:8px
}

.gold-button{
    color:#161109;
    border-color:#d8b45c;
    background:linear-gradient(
        135deg,
        #f0d28a,
        #b78a3f
    );
    font-weight:700
}

.flash{
    margin-bottom:15px;
    padding:13px 16px;
    border-radius:8px;
    font-size:13px
}

.flash.success{
    border:1px solid #576a43;
    background:#162014;
    color:#dce9d2
}

.flash.error{
    border:1px solid #744b4b;
    background:#211313;
    color:#f0d2d2
}

.recent-studio-content{
    margin-top:15px
}

.content-table-wrap{
    overflow-x:auto
}

.content-table{
    width:100%;
    border-collapse:collapse;
    font-size:12px
}

.content-table th{
    color:#777;
    text-align:left;
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-bottom:1px solid #292c2c;
    padding:11px
}

.content-table td{
    padding:13px 11px;
    border-bottom:1px solid #202323;
    color:#c7c9c8
}

.status-pill{
    display:inline-block;
    padding:5px 8px;
    border:1px solid #5e512f;
    border-radius:20px;
    color:var(--gold2);
    background:#1c1810;
    font-size:10px
}

@media(max-width:1000px){
    .studio-main{
        grid-template-columns:1fr
    }

    .studio-heading{
        align-items:flex-start;
        flex-direction:column
    }
}

@media(max-width:760px){
    .studio-steps{
        width:100%;
        overflow-x:auto
    }

    .studio-steps span{
        white-space:nowrap
    }

    .form-grid{
        grid-template-columns:1fr
    }

    .form-grid label.wide{
        grid-column:auto
    }

    .studio-footer-actions{
        align-items:stretch;
        flex-direction:column
    }

    .studio-footer-actions>div{
        display:grid;
        grid-template-columns:1fr
    }
}

/* =========================================================
   CONTENT LIBRARY
   ========================================================= */

.library-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:25px;
    margin:18px 0 22px
}

.library-heading h1{
    margin:5px 0;
    font:500 34px/1.1 Georgia,serif
}

.library-heading p{
    margin:0;
    color:var(--muted)
}

.library-stats{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:10px;
    margin-bottom:15px
}

.library-stats article{
    padding:15px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#101212
}

.library-stats span{
    display:block;
    color:#777;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em
}

.library-stats strong{
    display:block;
    margin-top:7px;
    font:500 24px Georgia,serif;
    color:#eee
}

.library-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:15px
}

.library-categories{
    display:flex;
    flex-wrap:wrap;
    gap:7px
}

.library-categories a{
    padding:8px 11px;
    border:1px solid #2d3030;
    border-radius:20px;
    color:#898d8c;
    text-decoration:none;
    font-size:11px
}

.library-categories a.active{
    color:#17130b;
    border-color:var(--gold2);
    background:var(--gold2)
}

.library-filters{
    display:flex;
    gap:7px
}

.library-filters select{
    min-width:190px
}

.library-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:15px
}

.library-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    align-content:start
}

.media-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #272a2a;
    border-radius:11px;
    color:inherit;
    text-decoration:none;
    background:#101212;
    transition:.2s ease
}

.media-card:hover,
.media-card.selected{
    border-color:#8e7339;
    transform:translateY(-2px)
}

.media-card-preview{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#080909
}

.media-card-preview img,
.media-card-preview video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover
}

.permission-badge,
.video-badge{
    position:absolute;
    padding:5px 7px;
    border-radius:20px;
    font-size:9px;
    letter-spacing:.05em;
    backdrop-filter:blur(8px)
}

.permission-badge{
    left:9px;
    bottom:9px
}

.permission-badge.approved{
    color:#dcebd5;
    background:rgba(31,67,33,.85);
    border:1px solid #58764d
}

.permission-badge.restricted{
    color:#f1d8c0;
    background:rgba(82,50,25,.88);
    border:1px solid #8b623d
}

.permission-badge.internal{
    color:#d1d1d1;
    background:rgba(43,45,45,.9);
    border:1px solid #616565
}

.video-badge{
    top:9px;
    right:9px;
    color:#17130b;
    background:var(--gold2)
}

.media-card-body{
    padding:11px
}

.media-card-body strong{
    display:block;
    overflow:hidden;
    color:#ddd;
    font-size:12px;
    white-space:nowrap;
    text-overflow:ellipsis
}

.media-card-body span{
    display:block;
    margin-top:5px;
    color:#737777;
    font-size:10px
}

.library-detail{
    position:sticky;
    top:18px;
    align-self:start
}

.library-detail h2{
    margin:8px 0 18px;
    font:500 20px/1.25 Georgia,serif;
    overflow-wrap:anywhere
}

.media-details{
    margin:0
}

.media-details div{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid #232626
}

.media-details dt{
    color:#6f7372;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.05em
}

.media-details dd{
    margin:0;
    color:#c4c7c6;
    font-size:11px;
    overflow-wrap:anywhere
}

.library-open-media{
    display:block;
    margin-top:16px;
    padding:10px;
    text-align:center;
    color:var(--gold2);
    border:1px solid #594b2b;
    border-radius:7px;
    text-decoration:none
}

.library-empty{
    grid-column:1/-1;
    min-height:320px
}

.upload-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    padding:25px;
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(8px);
    overflow:auto
}

.upload-modal[hidden]{
    display:none
}

.upload-dialog{
    width:min(760px,100%);
    margin:35px auto;
    padding:22px;
    border:1px solid #35312a;
    border-radius:14px;
    background:#111313;
    box-shadow:0 30px 100px rgba(0,0,0,.65)
}

.upload-dialog-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:18px
}

.upload-dialog-heading h2{
    margin:5px 0 0;
    font:500 27px Georgia,serif
}

.upload-dialog-heading button{
    width:38px;
    height:38px;
    padding:0;
    font-size:24px
}

.upload-drop{
    display:block;
    margin-bottom:17px;
    padding:28px;
    text-align:center;
    border:1px dashed #4a4435;
    border-radius:10px;
    background:#0b0d0d
}

.upload-drop strong,
.upload-drop span{
    display:block
}

.upload-drop strong{
    color:#e7dcc3;
    font:500 18px Georgia,serif
}

.upload-drop span{
    margin:7px 0 15px;
    color:#777;
    font-size:11px
}

.upload-drop input{
    padding:10px
}

.permission-note{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-top:17px;
    padding:13px;
    border-left:3px solid var(--gold2);
    background:#17150f
}

.permission-note strong{
    color:#d8c18b;
    font-size:11px
}

.permission-note span{
    color:#8e8c84;
    font-size:11px;
    line-height:1.6
}

.upload-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:18px
}

.file-placeholder{
    height:100%;
    display:grid;
    place-items:center;
    color:#777;
    letter-spacing:.15em
}

@media(max-width:1150px){
    .library-stats{
        grid-template-columns:repeat(3,1fr)
    }

    .library-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width:850px){
    .library-layout{
        grid-template-columns:1fr
    }

    .library-detail{
        position:static
    }

    .library-toolbar{
        align-items:stretch;
        flex-direction:column
    }
}

@media(max-width:620px){
    .library-heading{
        align-items:stretch;
        flex-direction:column
    }

    .library-stats{
        grid-template-columns:repeat(2,1fr)
    }

    .library-grid{
        grid-template-columns:1fr
    }

    .library-filters{
        flex-direction:column
    }

    .library-filters select{
        min-width:0
    }

    .upload-modal{
        padding:10px
    }

    .upload-dialog{
        margin:10px auto
    }
}

/* ==========================================================
   Content Studio Library Picker
   ========================================================== */

.studio-library-empty {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding: 1.25rem;
    margin-top: 1rem;
    border: 1px dashed rgba(212, 175, 55, .28);
    border-radius: 16px;
    background: rgba(255, 255, 255, .02);
}

.studio-library-empty span {
    color: var(--muted, #a9a9a9);
}

.studio-library-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fill, minmax(160px, 1fr));
    gap: .9rem;
    margin-top: 1rem;
}

.studio-library-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, .16);
    border-radius: 15px;
    background: rgba(255, 255, 255, .025);
    cursor: pointer;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.studio-library-card:hover {
    transform: translateY(-2px);
    border-color: rgba(212, 175, 55, .5);
}

.studio-library-card > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.studio-library-card:has(input:checked) {
    border-color: #d4af37;
    box-shadow:
        0 0 0 1px rgba(212, 175, 55, .22),
        0 14px 34px rgba(0, 0, 0, .28);
}

.studio-library-preview {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #111;
}

.studio-library-preview img,
.studio-library-preview video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-kind {
    position: absolute;
    top: .55rem;
    left: .55rem;
    padding: .28rem .48rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, .72);
    color: #fff;
    font-size: .64rem;
    letter-spacing: .06em;
}

.selected-mark {
    position: absolute;
    right: .55rem;
    bottom: .55rem;
    padding: .3rem .5rem;
    border-radius: 999px;
    background: #d4af37;
    color: #111;
    font-size: .68rem;
    font-weight: 700;
    opacity: 0;
    transform: translateY(4px);
    transition:
        opacity .2s ease,
        transform .2s ease;
}

.studio-library-card:has(input:checked)
.selected-mark {
    opacity: 1;
    transform: translateY(0);
}

.studio-library-meta {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .75rem;
}

.studio-library-meta strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-library-meta small {
    color: var(--muted, #a9a9a9);
}

.approved-label {
    align-self: flex-start;
    margin-top: .15rem;
    padding: .25rem .45rem;
    border: 1px solid rgba(212, 175, 55, .32);
    border-radius: 999px;
    color: #d4af37;
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.studio-selection-count {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    margin-top: .9rem;
    color: var(--muted, #a9a9a9);
}

.studio-selection-count strong {
    color: #d4af37;
    font-size: 1.15rem;
}

@media (max-width: 720px) {
    .studio-library-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================
   SNOKU Campaigns Core
   ========================================================== */

.campaign-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    padding: 2rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(212,175,55,.16);
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(212,175,55,.13),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.01)
        );
}

.campaign-hero h1 {
    margin: .25rem 0 .5rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.campaign-hero p {
    max-width: 700px;
    margin: 0;
    color: var(--muted, #aaa);
}

.campaign-new-button {
    white-space: nowrap;
}

.campaign-metrics {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .9rem;
    margin-bottom: 1.25rem;
}

.campaign-metrics article {
    padding: 1.1rem;
    border: 1px solid rgba(212,175,55,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.025);
}

.campaign-metrics span {
    display: block;
    color: var(--muted, #aaa);
    font-size: .78rem;
}

.campaign-metrics strong {
    display: block;
    margin-top: .35rem;
    font-size: 1.7rem;
}

.campaign-template-panel {
    margin-bottom: 1.25rem;
}

.campaign-template-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .8rem;
}

.campaign-template-grid article {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1rem;
    border: 1px solid rgba(212,175,55,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.02);
}

.campaign-template-grid span {
    color: var(--muted, #aaa);
    font-size: .82rem;
}

.campaign-tabs {
    display: flex;
    gap: .45rem;
    overflow-x: auto;
    margin: 1.25rem 0;
    padding-bottom: .25rem;
}

.campaign-tabs a {
    padding: .6rem .85rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    color: var(--muted, #aaa);
    text-decoration: none;
    white-space: nowrap;
}

.campaign-tabs a.active {
    border-color: rgba(212,175,55,.5);
    background: rgba(212,175,55,.1);
    color: #d4af37;
}

.campaign-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
    gap: 1rem;
    align-items: start;
}

.campaign-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1rem;
}

.campaign-card {
    display: block;
    padding: 1.15rem;
    border: 1px solid rgba(212,175,55,.14);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        );
    color: inherit;
    text-decoration: none;
    transition:
        transform .2s ease,
        border-color .2s ease;
}

.campaign-card:hover,
.campaign-card.selected {
    transform: translateY(-2px);
    border-color: rgba(212,175,55,.58);
}

.campaign-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.campaign-card h2 {
    margin: 1rem 0 .45rem;
}

.campaign-card p {
    min-height: 2.8rem;
    color: var(--muted, #aaa);
}

.campaign-brand {
    color: var(--muted, #aaa);
    font-size: .72rem;
}

.campaign-status {
    display: inline-flex;
    padding: .3rem .55rem;
    border: 1px solid rgba(212,175,55,.3);
    border-radius: 999px;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.status-active {
    color: #d4af37;
}

.status-scheduled {
    color: #d9c98c;
}

.status-draft {
    color: #aaa;
}

.status-completed {
    color: #ddd;
}

.status-archived {
    opacity: .65;
}

.campaign-card-stats {
    display: flex;
    gap: 1.25rem;
    margin-top: 1rem;
}

.campaign-card-stats span {
    display: flex;
    flex-direction: column;
    color: var(--muted, #aaa);
    font-size: .72rem;
}

.campaign-card-stats strong {
    color: #fff;
    font-size: 1.15rem;
}

.campaign-goal {
    margin-top: 1rem;
    padding-top: .8rem;
    border-top: 1px solid rgba(255,255,255,.07);
    color: #d4af37;
    font-size: .78rem;
}

.campaign-detail {
    position: sticky;
    top: 1rem;
}

.campaign-detail h2 {
    margin: .4rem 0 .75rem;
}

.campaign-detail-list {
    margin: 1.25rem 0;
}

.campaign-detail-list div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: .75rem;
    padding: .65rem 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.campaign-detail-list dt {
    color: var(--muted, #aaa);
    font-size: .75rem;
}

.campaign-detail-list dd {
    margin: 0;
}

.campaign-status-actions {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.07);
}

.campaign-status-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .65rem;
}

.campaign-status-actions form {
    margin: 0;
}

.campaign-status-actions button {
    padding: .45rem .65rem;
}

.campaign-linked-content {
    margin-top: 1.4rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.07);
}

.campaign-content-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.campaign-content-row > span:first-child {
    display: flex;
    flex-direction: column;
}

.campaign-content-row small {
    color: var(--muted, #aaa);
}

.campaign-mini-empty,
.campaign-empty {
    color: var(--muted, #aaa);
}

.campaign-empty {
    grid-column: 1 / -1;
}

.campaign-modal[hidden] {
    display: none;
}

.campaign-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.campaign-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.78);
    backdrop-filter: blur(8px);
}

.campaign-modal-card {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.5rem;
    border: 1px solid rgba(212,175,55,.3);
    border-radius: 20px;
    background: #111;
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}

.campaign-modal-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.8rem;
}

.campaign-platform-field {
    margin: 0;
    padding: 0;
    border: 0;
}

.campaign-platform-field legend {
    margin-bottom: .6rem;
}

.campaign-platform-options {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.campaign-platform-options label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .4rem;
    padding: .55rem .7rem;
    border: 1px solid rgba(212,175,55,.16);
    border-radius: 999px;
}

.campaign-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: .7rem;
    margin-top: 1.25rem;
}

body.modal-open {
    overflow: hidden;
}

@media (max-width: 1050px) {
    .campaign-metrics {
        grid-template-columns:
            repeat(3, minmax(0,1fr));
    }

    .campaign-template-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .campaign-workspace {
        grid-template-columns: 1fr;
    }

    .campaign-detail {
        position: static;
    }
}

@media (max-width: 720px) {
    .campaign-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .campaign-metrics {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .campaign-template-grid,
    .campaign-list {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   SNOKU Leads & Conversions Core
   ========================================================== */

.leads-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    padding: 2rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(212,175,55,.16);
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(212,175,55,.13),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.01)
        );
}

.leads-hero h1 {
    margin: .25rem 0 .5rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.leads-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--muted, #aaa);
}

.lead-kpis {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .9rem;
    margin-bottom: 1.25rem;
}

.lead-kpis article {
    padding: 1.1rem;
    border: 1px solid rgba(212,175,55,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.025);
}

.lead-kpis span {
    display: block;
    color: var(--muted, #aaa);
    font-size: .78rem;
}

.lead-kpis strong {
    display: block;
    margin-top: .35rem;
    font-size: 1.55rem;
}

.lead-insights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.funnel-stack,
.lead-breakdown {
    display: grid;
    gap: .55rem;
}

.funnel-stack div,
.lead-breakdown div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: .7rem .8rem;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    background: rgba(255,255,255,.018);
}

.funnel-stack span,
.lead-breakdown span {
    color: var(--muted, #aaa);
}

.lead-campaign-performance {
    margin-bottom: 1rem;
}

.lead-performance-table {
    display: grid;
    min-width: 620px;
}

.lead-performance-head,
.lead-performance-row {
    display: grid;
    grid-template-columns: 2fr .8fr .8fr 1fr;
    gap: 1rem;
    padding: .7rem .8rem;
}

.lead-performance-head {
    color: var(--muted, #aaa);
    font-size: .72rem;
    text-transform: uppercase;
}

.lead-performance-row {
    border-top: 1px solid rgba(255,255,255,.06);
}

.lead-filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 1rem 0;
}

.lead-status-tabs {
    display: flex;
    gap: .45rem;
    overflow-x: auto;
}

.lead-status-tabs a {
    padding: .55rem .8rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    color: var(--muted, #aaa);
    text-decoration: none;
    white-space: nowrap;
}

.lead-status-tabs a.active {
    border-color: rgba(212,175,55,.5);
    background: rgba(212,175,55,.1);
    color: #d4af37;
}

.lead-source-filter select {
    min-width: 160px;
}

.lead-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, .7fr);
    gap: 1rem;
    align-items: start;
}

.lead-table-scroll {
    overflow-x: auto;
}

.lead-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
}

.lead-table th,
.lead-table td {
    padding: .8rem .65rem;
    border-bottom: 1px solid rgba(255,255,255,.06);
    text-align: left;
    vertical-align: top;
}

.lead-table th {
    color: var(--muted, #aaa);
    font-size: .7rem;
    text-transform: uppercase;
}

.lead-table td a {
    color: #fff;
    text-decoration: none;
}

.lead-table td small {
    display: block;
    margin-top: .2rem;
    color: var(--muted, #aaa);
}

.lead-status {
    display: inline-flex;
    padding: .3rem .55rem;
    border: 1px solid rgba(212,175,55,.25);
    border-radius: 999px;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.status-new {
    color: #ddd;
}

.status-contacted {
    color: #d9c98c;
}

.status-qualified,
.status-converted {
    color: #d4af37;
}

.status-lost {
    opacity: .62;
}

.lead-detail {
    position: sticky;
    top: 1rem;
}

.lead-detail h2 {
    margin: .4rem 0 .75rem;
}

.lead-detail-list {
    margin: 1.25rem 0;
}

.lead-detail-list div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: .75rem;
    padding: .65rem 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.lead-detail-list dt {
    color: var(--muted, #aaa);
    font-size: .75rem;
}

.lead-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.lead-notes {
    padding: .9rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(212,175,55,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
}

.lead-notes p {
    margin-bottom: 0;
    color: var(--muted, #aaa);
}

.lead-status-form {
    display: grid;
    gap: .8rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.07);
}

.lead-status-form label {
    display: grid;
    gap: .4rem;
}

.lead-empty {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1.2rem;
    color: var(--muted, #aaa);
}

.lead-empty-mini {
    color: var(--muted, #aaa);
    padding: .8rem 0;
}

.lead-modal[hidden] {
    display: none;
}

.lead-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.lead-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.78);
    backdrop-filter: blur(8px);
}

.lead-modal-card {
    position: relative;
    z-index: 1;
    width: min(820px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.5rem;
    border: 1px solid rgba(212,175,55,.3);
    border-radius: 20px;
    background: #111;
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}

.lead-modal-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.8rem;
}

.lead-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: .7rem;
    margin-top: 1.25rem;
}

@media (max-width: 1100px) {
    .lead-kpis {
        grid-template-columns:
            repeat(3, minmax(0,1fr));
    }

    .lead-insights {
        grid-template-columns: 1fr;
    }

    .lead-workspace {
        grid-template-columns: 1fr;
    }

    .lead-detail {
        position: static;
    }
}

@media (max-width: 720px) {
    .leads-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .lead-kpis {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .lead-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }
}

/* SNOKU Brand & Settings Core */
.settings-page {
    display: grid;
    gap: 24px;
}

.settings-hero {
    position: relative;
    overflow: hidden;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 42px;
    border: 1px solid rgba(210, 171, 83, .22);
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 82% 40%,
            rgba(210, 171, 83, .18),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            rgba(21, 21, 21, .98),
            rgba(7, 7, 7, .98)
        );
}

.settings-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            115deg,
            transparent 0 55%,
            rgba(210, 171, 83, .04) 55% 56%,
            transparent 56% 100%
        );
}

.settings-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 720px;
}

.settings-hero h1 {
    margin: 8px 0 12px;
    font-size: clamp(34px, 5vw, 62px);
    line-height: .98;
    letter-spacing: -.04em;
}

.settings-hero p {
    max-width: 620px;
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}

.settings-hero-mark {
    position: relative;
    z-index: 1;
    min-width: 190px;
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px solid rgba(210, 171, 83, .28);
    border-radius: 50%;
    box-shadow:
        0 0 70px rgba(210, 171, 83, .08),
        inset 0 0 50px rgba(210, 171, 83, .04);
}

.settings-hero-mark span {
    display: block;
    font-size: 28px;
    letter-spacing: .18em;
}

.settings-hero-mark strong {
    margin-top: 6px;
    color: var(--gold);
    font-size: 11px;
    letter-spacing: .28em;
}

.settings-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .02);
}

.settings-tabs span {
    white-space: nowrap;
    padding: 10px 14px;
    border-radius: 11px;
    color: var(--muted);
    font-size: 13px;
}

.settings-tabs span.active {
    color: var(--gold);
    background: rgba(210, 171, 83, .10);
}

.settings-form {
    display: grid;
    gap: 22px;
}

.settings-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.7fr)
        minmax(300px, .8fr);
    gap: 22px;
    align-items: start;
}

.settings-main,
.settings-side {
    display: grid;
    gap: 22px;
}

.settings-panel {
    padding: 24px;
}

.settings-panel h2 {
    margin: 5px 0 18px;
}

.panel-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
}

.form-grid {
    display: grid;
    gap: 16px;
}

.form-grid.two {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.settings-panel label {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.settings-panel label > span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
}

.settings-panel input,
.settings-panel textarea,
.settings-panel select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    outline: none;
    padding: 12px 13px;
    color: var(--text);
    background: rgba(255, 255, 255, .035);
}

.settings-panel textarea {
    resize: vertical;
}

.settings-panel input:focus,
.settings-panel textarea:focus,
.settings-panel select:focus {
    border-color: rgba(210, 171, 83, .55);
    box-shadow: 0 0 0 3px rgba(210, 171, 83, .08);
}

.settings-muted {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.status-pill,
.connection-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: 6px 9px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.status-pill.active,
.connection-badge.connected {
    color: #d9f8dc;
    border: 1px solid rgba(93, 193, 105, .28);
    background: rgba(93, 193, 105, .09);
}

.connection-badge.configured {
    color: var(--gold);
    border: 1px solid rgba(210, 171, 83, .28);
    background: rgba(210, 171, 83, .09);
}

.connection-badge.not_connected {
    color: var(--muted);
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .03);
}

.social-settings-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.social-setting {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(255, 255, 255, .018);
}

.social-setting-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.toggle-row {
    display: flex !important;
    align-items: center;
    gap: 9px !important;
}

.toggle-row input {
    width: auto;
}

.integration-list {
    display: grid;
    gap: 10px;
}

.integration-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}

.integration-row:last-child {
    border-bottom: 0;
}

.integration-row div {
    display: grid;
    gap: 3px;
}

.integration-row div span {
    color: var(--muted);
    font-size: 12px;
}

.help-panel {
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(210, 171, 83, .12),
            transparent 38%
        ),
        rgba(255, 255, 255, .025);
}

.settings-savebar {
    position: sticky;
    bottom: 14px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border: 1px solid rgba(210, 171, 83, .24);
    border-radius: 16px;
    background: rgba(10, 10, 10, .94);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}

.settings-savebar div {
    display: grid;
    gap: 3px;
}

.settings-savebar div span {
    color: var(--muted);
    font-size: 12px;
}

@media (max-width: 1050px) {
    .settings-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .settings-hero {
        min-height: 0;
        padding: 28px 22px;
    }

    .settings-hero-mark {
        display: none;
    }

    .form-grid.two {
        grid-template-columns: 1fr;
    }

    .settings-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-savebar .button {
        width: 100%;
    }
}

/* SNOKU Marketing authentication */
.auth-body {
    margin: 0;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(
            circle at 72% 22%,
            rgba(210,171,83,.13),
            transparent 28%
        ),
        #070808;
}

.auth-shell {
    width: min(100%, 480px);
}

.auth-card {
    padding: 38px;
    border: 1px solid rgba(210,171,83,.24);
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(22,22,22,.98),
            rgba(10,10,10,.98)
        );
    box-shadow:
        0 30px 90px rgba(0,0,0,.48);
}

.auth-brand {
    display: grid;
    gap: 3px;
    margin-bottom: 42px;
}

.auth-brand span {
    font-size: 25px;
    letter-spacing: .2em;
}

.auth-brand strong {
    color: var(--gold);
    font-size: 10px;
    letter-spacing: .28em;
}

.auth-copy h1 {
    margin: 8px 0 10px;
    font-size: 42px;
}

.auth-copy p {
    color: var(--muted);
    line-height: 1.65;
}

.auth-form {
    display: grid;
    gap: 17px;
    margin-top: 28px;
}

.auth-form label {
    display: grid;
    gap: 8px;
}

.auth-form input {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    background: rgba(255,255,255,.035);
}

.auth-submit {
    width: 100%;
    margin-top: 4px;
}

.auth-security-note {
    margin: 24px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    text-align: center;
    font-size: 11px;
}

.sidebar-auth {
    margin-top: auto;
    padding-top: 18px;
}

.sidebar-auth form {
    margin: 0;
}

.sidebar-logout {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    cursor: pointer;
    color: var(--muted);
    background: rgba(255,255,255,.025);
}

.sidebar-logout:hover {
    color: var(--gold);
    border-color: rgba(210,171,83,.30);
}

/* SNOKU Settings password security */
.settings-security-panel {
    margin-top: 28px;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.025),
            rgba(255,255,255,.01)
        );
}

.settings-security-copy {
    max-width: 720px;
    margin-bottom: 22px;
}

.settings-security-copy h2 {
    margin: 7px 0 8px;
}

.settings-security-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.settings-password-form {
    display: grid;
    gap: 18px;
    max-width: 760px;
}

.settings-password-form label {
    display: grid;
    gap: 8px;
}

.settings-password-form label span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
}

.settings-password-form input {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    outline: none;
    color: var(--text);
    background: rgba(255,255,255,.035);
}

.settings-password-form input:focus {
    border-color: rgba(210,171,83,.58);
    box-shadow:
        0 0 0 3px rgba(210,171,83,.08);
}

.settings-password-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0,1fr));
    gap: 16px;
}

.password-guidance {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.settings-password-form .button {
    justify-self: start;
}

@media (max-width: 720px) {
    .settings-password-grid {
        grid-template-columns: 1fr;
    }
}
