/* SORTICI.COM PRODUCTION */
:root{
    --ink:#172c2b;
    --deep:#11312d;
    --pine:#214c43;
    --cream:#f8f7f2;
    --paper:#ffffff;
    --sand:#e9e7dc;
    --muted:#63736c;
    --line:#e0e4dc;
    --lime:#e5ecbb;
    --gold:#e0c589;
    --rust:#be6b50;
    --shadow:0 24px 65px rgba(14,47,41,.09);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    color:var(--ink);
    background:var(--cream);
    font-synthesis:none;
    -webkit-font-smoothing:antialiased
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    min-width:320px
}
h1,h2,h3,p{
    margin-top:0
}
h1,h2,h3{
    letter-spacing:-.05em
}
p{
    line-height:1.7
}
a{
    color:inherit;
    text-decoration:none
}
button,input,select,textarea{
    font:inherit
}
button{
    cursor:pointer
}
img,svg{
    max-width:100%
}
input,select,textarea{
    width:100%;
    min-width:0
}
::selection{
    background:var(--gold);
    color:var(--ink)
}
:focus-visible{
    outline:3px solid #a6ad5f;
    outline-offset:3px
}
.container{
    width:min(1216px,calc(100% - 72px));
    margin-inline:auto
}
.site-header{
    position:relative;
    z-index:10;
    background:#fafaf7;
    border-bottom:1px solid #e9e9e2
}
.topbar{
    height:90px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px
}
.brand{
    display:inline-flex;
    gap:10px;
    align-items:center;
    white-space:nowrap;
    font-weight:840;
    font-size:33px;
    letter-spacing:-.075em;
    line-height:1;
    color:var(--ink)
}

.desktop-nav{
    display:flex;
    align-items:center;
    gap:37px;
    margin-left:65px
}
.desktop-nav a,.nav-login{
    font-size:13px;
    font-weight:680;
    color:#41564f;
    transition:color .18s
}
.desktop-nav a:hover,.nav-login:hover{
    color:#ad654d
}
.account-nav{
    display:flex;
    align-items:center;
    gap:19px
}
.inline-form{
    display:inline-block;
    margin:0
}
.btn{
    border:1px solid transparent;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    line-height:1.2;
    border-radius:7px;
    padding:16px 21px;
    font-weight:730;
    font-size:13px;
    white-space:normal;
    text-align:center;
    transition:transform .16s,background .16s,box-shadow .16s;
    min-height:49px
}
.btn:hover{
    transform:translateY(-2px)
}
.btn-primary{
    background:var(--pine);
    color:white
}
.btn-primary:hover{
    background:var(--deep);
    box-shadow:0 8px 22px #19392e2c
}
.btn-dark{
    background:var(--deep);
    color:white
}
.btn-dark:hover{
    background:#2e5249
}
.btn-quiet{
    background:transparent;
    border-color:var(--line);
    color:var(--ink)
}
.btn-outline{
    background:transparent;
    color:var(--ink);
    border-color:#b9c4b8
}
.btn-outline:hover{
    background:#edf0e7
}
.btn-cream{
    background:var(--lime);
    color:var(--ink)
}
.btn-tiny{
    font-size:12px;
    min-height:38px;
    padding:10px 14px;
    gap:13px
}
.btn-full{
    width:100%
}
.skip-link{
    position:absolute;
    top:-99px;
    left:20px;
    padding:12px;
    z-index:999;
    background:white
}
.skip-link:focus{
    top:10px
}
.site-frame{
    min-height:100vh;
    display:flex;
    flex-direction:column
}
.site-frame>main{
    flex:1
}

.hero{
    overflow:hidden;
    background:var(--deep);
    color:white;
    position:relative
}
.hero:after{
    content:'';
    position:absolute;
    left:-30%;
    bottom:-310px;
    width:75%;
    height:370px;
    border-radius:50%;
    background:#356052;
    filter:blur(100px);
    opacity:.37
}
.hero-layout{
    min-height:570px;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    position:relative;
    z-index:1
}
.hero-content{
    padding:82px 0 65px;
    position:relative;
    z-index:2
}
.hero-kicker,.eyebrow{
    font-size:11px;
    letter-spacing:.2em;
    font-weight:840;
    color:#8c9c7f
}
.hero-kicker{
    display:flex;
    align-items:center;
    gap:10px;
    color:#d1d9b6;
    font-size:10px;
    letter-spacing:.19em
}
.gold-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--gold)
}
.hero h1{
    font-family:Georgia,"Times New Roman",serif;
    letter-spacing:-.058em;
    font-size:clamp(52px,5.45vw,82px);
    font-weight:400;
    line-height:1.06;
    max-width:680px;
    margin:24px 0 25px
}
.hero h1 em,.promise-copy em,.spotlight-content em,.page-intro em,.workspace-heading em,.auth-context em{
    font-weight:400;
    color:#e6cf93;
    font-style:italic
}
.hero-intro{
    font-size:15px;
    line-height:1.85;
    max-width:450px;
    color:#d0dbd0;
    margin:0 0 35px
}
.hero-search{
    width:min(790px,calc(100vw - 88px));
    position:relative;
    z-index:3;
    filter:drop-shadow(0 14px 30px rgba(0,0,0,.12))
}
.search-inner{
    display:flex;
    align-items:stretch;
    background:#fff;
    min-height:89px;
    border-radius:9px;
    padding:7px;
    color:var(--ink)
}
.search-field{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:10px 18px
}
.search-field label{
    color:#435c51;
    font-size:11px;
    font-weight:780;
    margin-bottom:8px
}
.search-place{
    flex:1
}
.search-value{
    display:flex;
    gap:10px;
    align-items:center
}
.field-icon{
    color:#809486;
    font-size:22px;
    line-height:1
}
.search-field input,.search-field select{
    background:transparent;
    border:0;
    outline:0;
    color:var(--ink);
    height:auto;
    padding:3px 0;
    font-size:13px;
    font-weight:600
}
.search-field input::placeholder{
    color:#a3ada7;
    font-weight:500
}
.search-time{
    width:169px;
    border-left:1px solid var(--line)
}
.search-field select{
    cursor:pointer
}
.btn-search{
    align-self:stretch;
    min-width:164px;
    background:var(--lime);
    color:#19392c;
    padding:12px 21px;
    border-radius:6px
}
.btn-search:hover{
    background:#f0f0cb
}
.hero-footnote{
    color:#b9c9b8;
    font-size:11px;
    margin-top:20px;
    display:flex;
    align-items:center;
    gap:11px
}
.tiny-star{
    color:var(--gold);
    font-size:17px
}
.hero-art{
    position:relative;
    min-height:100%;
    margin-left:-40px
}
.art-orbit{
    position:absolute;
    border:1px solid rgba(242,241,226,.12);
    border-radius:50%;
    width:490px;
    height:490px;
    right:-105px;
    top:43px
}
.orbit-two{
    width:335px;
    height:335px;
    right:-28px;
    top:121px;
    border-color:rgba(242,241,226,.14)
}
.ball{
    position:absolute;
    z-index:2;
    width:95px;
    height:95px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-family:Georgia,serif;
    font-size:31px;
    color:#2e5346;
    background:#e5dbbd;
    box-shadow:inset -14px -13px 21px #62766525,8px 24px 30px #06191524;
    transform:rotate(-11deg)
}
.ball-a{
    right:55px;
    top:59px;
    background:#eec1a4
}
.ball-b{
    right:325px;
    top:286px;
    width:78px;
    height:78px;
    font-size:24px;
    background:#d7e3bd
}
.ball-c{
    right:-25px;
    top:379px;
    width:120px;
    height:120px;
    font-size:37px;
    background:#d1c692
}
.art-ticket{
    z-index:1;
    position:absolute;
    left:55px;
    top:165px;
    width:350px;
    height:278px;
    padding:27px 30px;
    background:#f4efe2;
    border-radius:10px;
    color:var(--ink);
    transform:rotate(-8deg);
    box-shadow:17px 29px 42px rgba(0,0,0,.18);
    overflow:hidden
}
.art-ticket:before,.art-ticket:after{
    content:'';
    background:var(--deep);
    border-radius:50%;
    position:absolute;
    width:40px;
    height:40px;
    top:153px
}
.art-ticket:before{
    left:-23px
}
.art-ticket:after{
    right:-23px
}
.ticket-top{
    letter-spacing:.17em;
    font-size:10px;
    font-weight:800;
    color:#76877a;
    padding-bottom:17px;
    border-bottom:1px solid #b7c1b4
}
.ticket-main{
    font-family:Georgia,serif;
    font-size:52px;
    line-height:1.07;
    letter-spacing:-.05em;
    margin:22px 0 21px
}
.ticket-main span{
    color:#c68b69;
    position:absolute;
    right:23px;
    top:110px;
    font-size:39px
}
.ticket-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-top:1px dashed #c7cbbf;
    padding-top:18px;
    gap:12px
}
.ticket-bottom span:first-child{
    font-size:8px;
    letter-spacing:.09em;
    max-width:178px;
    font-weight:800;
    color:#7e8b7d
}
.ticket-dots{
    font-size:8px;
    letter-spacing:5px;
    color:#ba795c
}
.art-caption{
    position:absolute;
    right:85px;
    bottom:40px;
    color:#8fa99b;
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em
}
.quick-strip{
    border-bottom:1px solid var(--line);
    background:#f0f0e9
}
.quick-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:22px 0;
    font-size:12px;
    color:#5b6b62
}
.quick-inner strong{
    color:var(--ink)
}
.quick-inner a{
    color:#37695b;
    font-weight:800;
    white-space:nowrap
}
.quick-spark{
    color:var(--rust);
    margin-right:13px;
    font-size:17px
}
.section-padding{
    padding-top:103px;
    padding-bottom:109px
}
.section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:38px
}
.section-head h2,.spotlight-content h2,.promise-copy h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(34px,3.65vw,50px);
    line-height:1.13;
    letter-spacing:-.053em;
    margin:14px 0 12px
}
.section-head p{
    font-size:14px;
    color:var(--muted);
    margin:0
}
.accent{
    color:var(--rust)
}
.text-link{
    font-size:12px;
    font-weight:800;
    color:#38695b;
    border-bottom:1px solid #bacbbd;
    padding-bottom:9px;
    white-space:nowrap
}
.event-list{
    border-top:1px solid #d5dfd5
}
.event-row{
    min-height:171px;
    padding:26px 5px;
    display:flex;
    align-items:center;
    gap:28px;
    border-bottom:1px solid #d5dfd5;
    transition:background .18s
}
.event-row:hover{
    background:#f0f2e9
}
.event-date{
    width:94px;
    height:100px;
    flex:0 0 94px;
    border:1px solid #ced9ca;
    border-radius:7px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    background:#fff
}
.event-date span{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:42px;
    line-height:1.1;
    letter-spacing:-.065em
}
.event-date small{
    font-size:10px;
    letter-spacing:.15em;
    font-weight:850;
    color:#687d67;
    margin-top:5px
}
.event-row-main{
    flex:1;
    min-width:0
}
.event-tags{
    display:flex;
    gap:8px
}
.tag{
    display:inline-block;
    font-size:10px;
    font-weight:730;
    letter-spacing:.02em;
    background:#e9ece5;
    color:#516a5d;
    border-radius:4px;
    padding:5px 8px
}
.tag-olive{
    background:#e8edd9;
    color:#577044
}
.tag-red{
    background:#fce8e4;
    color:#9a422b
}
.event-row h3{
    font-size:22px;
    line-height:1.25;
    letter-spacing:-.04em;
    margin:9px 0 10px
}
.event-row h3 a:hover{
    text-decoration:underline;
    text-decoration-color:var(--rust);
    text-underline-offset:5px
}
.event-meta{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    font-size:12px;
    font-weight:600;
    color:#63786a;
    margin:0 0 9px
}
.event-by{
    font-size:11px;
    color:#8c988d;
    margin:0
}
.event-arrow{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    flex:0 0 43px;
    border:1px solid #d5ded1;
    border-radius:50%;
    color:#37695b;
    font-size:20px;
    transition:.18s
}
.event-arrow:hover{
    background:#d9e7d5;
    transform:rotate(45deg)
}
.empty-state{
    text-align:center;
    padding:57px 26px;
    background:#f2f3ea
}
.editorial-empty{
    border-radius:0 0 9px 9px
}
.empty-icon{
    display:block;
    color:#c38b5e;
    font-size:49px;
    font-weight:400;
    line-height:1;
    margin-bottom:18px
}
.empty-state h3{
    font-family:Georgia,serif;
    font-size:27px;
    font-weight:400;
    letter-spacing:-.035em;
    margin:0 0 10px
}
.empty-state p{
    max-width:480px;
    margin:0 auto 25px;
    font-size:13px;
    color:var(--muted)
}
.empty-actions{
    display:flex;
    gap:12px;
    justify-content:center;
    flex-wrap:wrap
}
.mini-empty{
    padding:55px 25px
}
.promise-section{
    background:var(--pine);
    color:white
}
.promise-grid{
    padding:99px 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:130px
}
.eyebrow-light{
    color:#bdcbab
}
.promise-copy h2{
    font-size:clamp(39px,4.6vw,61px);
    margin:22px 0
}
.promise-copy p{
    max-width:460px;
    color:#d0ded2;
    font-size:14px;
    margin-bottom:27px
}
.promise-points{
    padding:5px 0
}
.promise-point{
    padding:21px 0;
    display:flex;
    gap:34px;
    border-bottom:1px solid #ffffff25
}
.promise-point:first-child{
    padding-top:0
}
.promise-point>span{
    color:#d1d9b4;
    font-size:12px;
    font-weight:760;
    letter-spacing:.11em;
    margin-top:5px
}
.promise-point h3{
    font-size:20px;
    letter-spacing:-.025em;
    margin-bottom:7px
}
.promise-point p{
    font-size:12px;
    color:#c9d7c9;
    margin:0
}
.organizer-spotlight{
    display:grid;
    grid-template-columns:.2fr 1.3fr .9fr;
    gap:42px;
    align-items:center
}
.spotlight-deco{
    width:130px;
    height:130px;
    display:grid;
    place-items:center;
    font-size:108px;
    font-weight:300;
    color:#c59d7f
}
.spotlight-content h2{
    margin:18px 0
}
.spotlight-content h2 em{
    color:#ab7156
}
.spotlight-content p{
    font-size:14px;
    color:var(--muted);
    max-width:500px
}
.spotlight-facts{
    border-top:1px solid #cdd8ca
}
.spotlight-facts div{
    display:flex;
    gap:18px;
    align-items:center;
    padding:22px 0;
    border-bottom:1px solid #cdd8ca
}
.spotlight-facts span{
    font-family:Georgia,serif;
    font-size:26px;
    color:#b28b6f
}
.spotlight-facts strong{
    font-size:14px;
    letter-spacing:-.015em
}
.site-footer{
    background:#102925;
    color:#d1dfd2
}
.footer-main{
    padding:63px 0 60px;
    display:flex;
    justify-content:space-between;
    gap:35px
}
.brand-light{
    color:white
}

.footer-main p{
    color:#a2b8aa;
    font-size:12px;
    margin:20px 0 0
}
.footer-main nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(140px,1fr));
    gap:16px 29px
}
.footer-main nav a{
    font-size:12px;
    color:#c3d4c7
}
.footer-main nav a:hover{
    color:white;
    text-decoration:underline
}
.footer-bottom{
    border-top:1px solid #ffffff24;
    padding:18px 0 26px;
    display:flex;
    justify-content:space-between;
    color:#8fa79a;
    font-size:10px;
    gap:15px
}

.page-intro{
    padding-top:76px;
    padding-bottom:35px
}
.page-intro h1,.workspace-heading h1,.auth-context h1,.event-story h1{
    font-family:Georgia,serif;
    font-weight:400;
    letter-spacing:-.065em;
    line-height:1.13;
    font-size:clamp(39px,5vw,67px);
    margin:16px 0
}
.page-intro h1 em,.workspace-heading h1 em,.auth-context h1 em{
    color:#a66e50
}
.page-intro p,.workspace-heading p{
    color:var(--muted);
    font-size:14px
}
.directory-layout{
    display:grid;
    grid-template-columns:285px 1fr;
    gap:50px;
    align-items:start;
    padding-bottom:110px
}
.filter-panel{
    background:#fff;
    border:1px solid var(--line);
    padding:25px;
    border-radius:8px;
    position:sticky;
    top:18px
}
.filter-title{
    font-size:15px;
    font-weight:800;
    display:flex;
    justify-content:space-between;
    padding-bottom:23px;
    border-bottom:1px solid var(--line)
}
.filter-title span{
    font-size:24px;
    font-weight:400
}
.filter-form{
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-top:24px
}
.filter-form label,.stack-form label:not(.checkbox-label),.form-grid label,.review-actions label{
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:12px;
    color:#39544a;
    font-weight:750
}
.filter-form input,.filter-form select,.stack-form input:not([type=checkbox]),.stack-form select,.stack-form textarea,.form-grid input,.form-grid select,.table-actions select,.review-actions input{
    border:1px solid #ccd5cc;
    border-radius:5px;
    background:#fff;
    padding:13px 12px;
    min-height:46px;
    color:var(--ink);
    font-size:13px;
    transition:border-color .16s
}
.filter-form input:focus,.filter-form select:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.form-grid input:focus,.form-grid select:focus{
    outline:2px solid #9cb0a0;
    outline-offset:1px;
    border-color:#789a89
}
.filter-reset{
    text-align:center;
    color:#4c7163;
    font-size:12px;
    font-weight:730
}
.filter-help,.form-hint{
    font-size:11px;
    line-height:1.7;
    color:#7f8b80;
    margin:16px 0 0
}
.directory-top{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:14px;
    padding:8px 0 25px
}
.directory-top h2{
    font-family:Georgia,serif;
    font-size:31px;
    font-weight:400;
    letter-spacing:-.045em;
    margin:9px 0 0
}
.directory-order{
    color:#778779;
    font-size:11px;
    padding-bottom:4px
}
.pager{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    padding:27px;
    font-size:12px
}
.pager a{
    color:#326b56;
    font-weight:780
}
.pager span{
    color:#738378
}
.breadcrumbs{
    display:flex;
    align-items:center;
    gap:12px;
    color:#758479;
    font-size:11px;
    padding-bottom:29px
}
.breadcrumbs a{
    color:#456d5b
}
.event-detail-wrap{
    padding-top:43px;
    padding-bottom:105px
}
.event-detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:74px;
    align-items:start
}
.event-story h1{
    font-size:clamp(38px,4.4vw,61px);
    margin:20px 0
}
.detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    font-size:12px;
    color:#6c7d6f
}
.detail-divider{
    height:1px;
    background:var(--line);
    margin:33px 0
}
.event-story h2{
    font-family:Georgia,serif;
    font-size:28px;
    letter-spacing:-.04em;
    font-weight:400;
    margin:30px 0 10px
}
.prose{
    color:#40564b;
    font-size:14px;
    line-height:1.9;
    overflow-wrap:anywhere
}
.detail-pair-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px 40px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:28px 0;
    margin:37px 0
}
.detail-pair-label,.detail-aside small{
    color:#708076;
    font-size:10px;
    letter-spacing:.07em;
    font-weight:800;
    text-transform:uppercase
}
.detail-pair-grid p{
    font-size:13px;
    margin:9px 0 0;
    color:#3d594c
}
.organizer-sign{
    display:flex;
    align-items:center;
    gap:15px
}
.organizer-icon{
    width:54px;
    height:54px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e7ecd7;
    color:#3c6b58;
    font-size:25px
}
.organizer-sign small{
    display:block;
    font-size:11px;
    color:#78867a
}
.organizer-sign strong{
    font-size:14px
}
.detail-aside{
    background:#fff;
    border:1px solid var(--line);
    padding:28px;
    border-radius:9px;
    box-shadow:var(--shadow)
}
.detail-date-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    padding-bottom:28px;
    border-bottom:1px solid var(--line)
}
.detail-day{
    font-family:Georgia,serif;
    display:block;
    font-size:66px;
    line-height:.94;
    letter-spacing:-.09em
}
.detail-month{
    display:block;
    font-size:13px;
    font-weight:700;
    margin-top:8px
}
.detail-label{
    color:#768e7b;
    font-size:9px;
    letter-spacing:.18em;
    font-weight:850
}
.detail-schedule{
    display:flex;
    gap:25px;
    padding:26px 0;
    border-bottom:1px solid var(--line)
}
.detail-schedule div{
    flex:1
}
.detail-schedule small{
    display:block
}
.detail-schedule strong{
    display:block;
    font-size:18px;
    margin-top:8px
}
.detail-location{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:24px 0 22px
}
.detail-location strong{
    font-size:16px
}
.detail-location span{
    font-size:12px;
    color:#708075;
    line-height:1.7
}
.detail-aside .btn{
    margin-bottom:11px
}
.detail-actions{
    padding-top:5px;
    border-top:1px solid var(--line);
    margin-top:5px
}
.detail-actions form{
    margin:0
}
.detail-contact{
    display:flex;
    flex-direction:column;
    gap:8px;
    border-top:1px solid var(--line);
    margin-top:13px;
    padding-top:20px
}
.detail-contact a{
    color:#2d6252;
    font-size:13px;
    overflow-wrap:anywhere
}
.report-panel{
    margin-top:19px;
    background:#f0f2eb;
    border-radius:7px;
    padding:14px 20px
}
.report-panel summary{
    cursor:pointer;
    font-size:11px;
    font-weight:700;
    display:flex;
    justify-content:space-between
}
.report-panel details[open] .stack-form{
    padding-top:22px
}

.workspace{
    padding-top:68px;
    padding-bottom:110px
}
.workspace-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
    margin-bottom:34px
}
.workspace-heading h1{
    font-size:clamp(38px,4.4vw,61px)
}
.workspace-heading p{
    margin-bottom:0
}
.workspace-content{
    background:#fff;
    padding:36px;
    border:1px solid var(--line);
    border-radius:8px
}
.workspace-content .event-list{
    margin-top:24px
}
.workspace-content .section-head h2{
    margin:0;
    font-size:28px
}
.onboarding-banner{
    background:#e6ebd5;
    border-radius:7px;
    display:flex;
    gap:27px;
    align-items:center;
    padding:23px 29px;
    margin-bottom:28px
}
.onboarding-number{
    color:#4c6b55;
    font-weight:850;
    letter-spacing:.13em;
    font-size:11px;
    white-space:nowrap
}
.onboarding-banner h2{
    font-size:18px;
    letter-spacing:-.03em;
    margin:0 0 5px
}
.onboarding-banner p{
    font-size:12px;
    margin:0;
    color:#6b7d69
}
.workspace-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px
}
.work-panel{
    min-width:0;
    background:white;
    border:1px solid var(--line);
    padding:32px;
    border-radius:8px;
    margin-bottom:26px
}
.panel-top{
    padding-bottom:23px;
    margin-bottom:25px;
    border-bottom:1px solid var(--line)
}
.panel-top h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:29px;
    letter-spacing:-.04em;
    margin:10px 0 8px
}
.panel-top p{
    font-size:12px;
    color:var(--muted);
    margin:0
}
.stack-form{
    display:flex;
    flex-direction:column;
    gap:20px
}
.stack-form textarea{
    resize:vertical;
    line-height:1.6
}
.stack-form small,.form-grid small{
    font-size:10px;
    color:#8a9688;
    font-weight:500
}
.stack-form p{
    margin:0
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px
}
.form-grid label.full{
    grid-column:1/-1
}
.form-grid label{
    min-width:0
}
.form-grid label small{
    font-weight:400
}
.organizer-events{
    display:flex;
    flex-direction:column
}
.organizer-event,.plain-entry{
    padding:19px 0;
    border-bottom:1px solid var(--line)
}
.organizer-event:first-child{
    padding-top:0
}
.organizer-event h3,.plain-entry h3{
    font-size:17px;
    letter-spacing:-.03em;
    margin:10px 0 6px
}
.organizer-event p,.plain-entry p{
    font-size:12px;
    color:var(--muted);
    margin:0
}
.organizer-actions{
    display:flex;
    align-items:center;
    gap:17px;
    margin-top:11px;
    font-size:12px;
    color:#376956;
    font-weight:740
}
.organizer-actions form{
    margin:0
}
.link-danger{
    border:0;
    background:none;
    color:#a15b4d;
    padding:0;
    font-size:12px;
    font-weight:700
}
.status-pill{
    display:inline-flex;
    border-radius:20px;
    background:#e9ebdf;
    color:#647263;
    padding:5px 10px;
    font-size:10px;
    font-weight:820
}
.status-pending,.status-received{
    background:#fff2d9;
    color:#946c31
}
.status-published,.status-in_review{
    background:#e4efdc;
    color:#42784a
}
.status-rejected,.status-cancelled,.status-suspended{
    background:#fbe7e2;
    color:#a14d3b
}
.status-draft,.status-closed{
    background:#e9ebe8;
    color:#657368
}
.event-edit-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 335px;
    gap:30px;
    align-items:start
}
.event-edit-side{
    position:sticky;
    top:15px
}
.event-edit-side .work-panel{
    background:#e9eee5
}
.event-edit-side h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:31px;
    margin:16px 0
}
.event-edit-side p{
    font-size:13px;
    color:#607567
}
.event-edit-side .btn{
    margin:10px 0
}
.checklines{
    display:flex;
    flex-direction:column;
    gap:12px;
    border-block:1px solid #c7d6c7;
    padding:21px 0;
    margin:19px 0;
    font-size:12px;
    color:#405c4c
}
.form-back{
    display:block;
    text-align:center;
    margin-top:12px;
    font-size:11px;
    color:#6d796a
}
.moderation-head{
    padding:27px 0 17px
}
.moderation-head h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:28px;
    margin:0
}
.count-circle{
    background:#e2eacb;
    color:#4c684c;
    border-radius:50%;
    font-family:ui-sans-serif,sans-serif;
    padding:6px 11px;
    font-size:14px;
    vertical-align:middle
}
.review-list{
    border-top:1px solid var(--line)
}
.review-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    border-bottom:1px solid var(--line);
    padding:24px 0
}
.review-main{
    flex:1
}
.review-main h3{
    font-size:19px;
    margin:7px 0
}
.review-main p{
    font-size:12px;
    color:var(--muted);
    margin:0 0 8px;
    white-space:normal
}
.review-main a{
    font-size:11px;
    color:#326b53;
    font-weight:800
}
.review-actions{
    width:330px
}
.review-actions>div{
    display:flex;
    gap:10px;
    margin-top:10px
}
.review-actions .btn{
    min-width:120px
}
.subdued{
    font-size:12px;
    color:#7b8c80
}
.admin-kpis{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:17px;
    margin-bottom:28px
}
.admin-kpis div{
    background:#e7ede2;
    padding:27px;
    border-radius:7px
}
.admin-kpis span{
    font-size:11px;
    font-weight:730;
    color:#5c7564
}
.admin-kpis strong{
    display:block;
    font-family:Georgia,serif;
    font-size:46px;
    font-weight:400;
    letter-spacing:-.065em;
    margin-top:12px
}
.table-scroll{
    overflow-x:auto
}
.data-table{
    border-collapse:collapse;
    text-align:left;
    width:100%;
    font-size:12px
}
.data-table th{
    font-size:10px;
    letter-spacing:.1em;
    color:#788b7e;
    padding:14px;
    border-bottom:1px solid var(--line)
}
.data-table td{
    border-bottom:1px solid var(--line);
    padding:14px;
    vertical-align:middle
}
.data-table td strong,.data-table td small{
    display:block
}
.data-table td small{
    color:#89968d;
    margin-top:6px;
    font-size:10px
}
.table-actions{
    display:flex;
    gap:7px;
    align-items:center
}
.table-actions select{
    min-width:112px;
    padding:10px 8px
}
.review-item>.stack-form{
    min-width:190px
}

.auth-page{
    display:grid;
    grid-template-columns:minmax(0,1fr) 480px;
    gap:105px;
    padding-top:85px;
    padding-bottom:113px;
    align-items:start
}
.auth-context{
    padding-top:60px
}
.auth-context h1{
    font-size:clamp(46px,5vw,70px);
    max-width:530px
}
.auth-context p{
    color:#61766a;
    max-width:450px;
    font-size:15px
}
.auth-context-note{
    display:flex;
    gap:18px;
    align-items:flex-start;
    border-top:1px solid var(--line);
    margin-top:58px;
    padding-top:28px;
    font-size:12px;
    line-height:1.8;
    color:#6b7d6c
}
.auth-context-note>span:first-child{
    color:#c49571;
    font-size:28px
}
.auth-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:38px 40px;
    box-shadow:var(--shadow)
}
.auth-card h2{
    font-family:Georgia,serif;
    font-size:34px;
    letter-spacing:-.045em;
    font-weight:400;
    margin:0 0 7px
}
.auth-card>p{
    color:var(--muted);
    font-size:12px;
    margin:0 0 25px
}
.auth-switch{
    border-top:1px solid var(--line);
    padding-top:20px;
    text-align:center;
    color:#667b70;
    font-size:12px!important;
    margin:23px 0 0!important
}
.auth-switch a{
    color:#205744;
    font-weight:800
}
.role-picker{
    padding:0;
    margin:0;
    border:0
}
.role-picker legend{
    font-size:12px;
    font-weight:750;
    color:#39544a;
    margin-bottom:12px
}
.role-choice{
    border:1px solid #dbe1d9;
    border-radius:7px;
    padding:14px 15px;
    display:flex;
    gap:15px;
    align-items:center;
    margin-bottom:9px;
    cursor:pointer;
    transition:.16s
}
.role-choice:has(input:checked){
    background:#edf5f0;
    border-color:#327360;
    box-shadow:none
}
.role-choice input{
    accent-color:#235f4d;
    width:15px;
    height:15px;
    flex-shrink:0
}
.role-decoration{
    color:#a66f50;
    font-size:25px;
    min-width:28px;
    text-align:center
}
.role-choice strong,.role-choice small{
    display:block
}
.role-choice strong{
    font-size:12px
}
.role-choice small{
    margin-top:4px;
    font-size:10px;
    line-height:1.5;
    color:#718275
}
.checkbox-label{
    display:flex!important;
    align-items:flex-start;
    gap:10px!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1.6
}
.checkbox-label input{
    width:16px;
    height:16px;
    margin-top:1px;
    flex:0 0 16px;
    accent-color:#245642
}
.checkbox-label a{
    text-decoration:underline;
    text-underline-offset:3px
}
.honeypot{
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important
}
.installer-body{
    background:#eaf0e7
}
.installer-shell{
    max-width:855px;
    margin:65px auto 100px;
    padding:35px
}
.installer-heading{
    margin:55px 0 45px
}
.installer-heading h1{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(42px,5vw,65px);
    letter-spacing:-.06em;
    margin:13px 0
}
.installer-heading p{
    max-width:590px;
    font-size:14px;
    color:#647a69
}
.installer-form{
    border:1px solid #d5dfd2;
    background:white;
    border-radius:10px;
    box-shadow:var(--shadow);
    padding:35px 45px
}
.installer-form section{
    margin:10px 0 30px
}
.installer-form section+section{
    border-top:1px solid var(--line);
    padding-top:24px
}
.installer-form h2{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:25px;
    margin-bottom:28px;
    display:flex;
    align-items:baseline;
    gap:15px;
    color:#b58b66
}
.installer-form h2 span{
    color:var(--ink)
}
.installer-form .form-grid label{
    margin-bottom:7px
}
.installer-bottom{
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:center;
    border-top:1px solid var(--line);
    padding-top:24px
}
.installer-bottom p{
    font-size:11px;
    color:#60766b;
    max-width:370px;
    margin:0
}
.notice-strip{
    padding-top:16px
}
.notice{
    padding:15px 18px;
    border-radius:6px;
    background:#e8eee4;
    color:#345c47;
    font-size:12px;
    margin:18px 0
}
.notice.success{
    background:#e2eddc;
    color:#326845
}
.notice.error{
    background:#ffefea;
    color:#a34333
}
.notice.info{
    background:#e8eef0;
    color:#315d73
}
.notice p{
    font-size:12px;
    margin:8px 0 0
}
.message-page{
    text-align:center;
    padding:120px 0
}
.message-page h1,.legal-page h1{
    font-family:Georgia,serif;
    font-weight:400;
    font-size:50px;
    letter-spacing:-.05em
}
.message-page p{
    max-width:540px;
    margin:0 auto 25px;
    color:var(--muted);
    font-size:14px
}
.legal-page{
    max-width:820px;
    padding-top:90px;
    padding-bottom:120px
}
.legal-page p{
    color:#546a5a;
    font-size:14px
}
.legal-page .text-link{
    display:inline-block;
    margin-top:20px
}
