:root{--primary:#123E52;--sea:#197A91;--sand:#E39A3B;--secondary:#DCECEF;--bg:#F4F7F8;--card:#fff;--text:#17242B;--muted:#64747C;--line:#DDE6E9;--shadow:0 10px 35px rgba(18,62,82,.08);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:var(--sea);text-decoration:none}.container{width:min(1180px,calc(100% - 32px));margin:auto}
.site-header{position:relative;background:var(--primary);color:#fff;background-size:cover;background-position:center;box-shadow:0 2px 15px rgba(0,0,0,.12)}.site-header:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,62,82,.94),rgba(18,62,82,.72));pointer-events:none}.site-header>*{position:relative}
.topline{border-bottom:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#d9e8ed}.topline .container{display:flex;justify-content:space-between;padding:7px 0}.nav{min-height:78px;display:flex;align-items:center;gap:22px;justify-content:space-between}.brand{color:#fff;display:flex;align-items:center;gap:11px;font-weight:850;font-size:1.08rem;white-space:nowrap}.brand img{height:44px;width:auto;max-width:150px;object-fit:contain}.brand-mark{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:1.35rem}.desktop-tools{display:flex;align-items:center;gap:8px}.icon-button{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center}.nav nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.nav nav a{color:#eaf5f7;padding:9px 10px;border-radius:10px;font-weight:650;font-size:.94rem}.nav nav a:hover{background:rgba(255,255,255,.1)}
.hero{position:relative;padding:72px 0 82px;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(25,122,145,.5),transparent 34%),linear-gradient(135deg,var(--primary),#1b6476);overflow:hidden}.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-34px;height:80px;background:var(--bg);border-radius:50% 50% 0 0/100% 100% 0 0}.hero-content{max-width:760px;position:relative;z-index:1}.eyebrow{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);padding:7px 11px;border-radius:999px;font-size:.82rem;font-weight:750}.hero h1{font-size:clamp(2.3rem,6vw,4.7rem);line-height:1.02;margin:18px 0 14px;letter-spacing:-.045em}.hero p{font-size:1.16rem;color:#e8f3f5;max-width:650px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:var(--sand);color:#fff;padding:11px 17px;font:inherit;font-weight:800;cursor:pointer}.button.secondary{background:#fff;color:var(--primary);box-shadow:none}.button.ghost{background:var(--secondary);color:var(--primary)}
.section{padding:34px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:15px}.section-head h2{margin:0;font-size:1.65rem}.section-head p{margin:4px 0 0;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-22px;position:relative;z-index:3}.quick-card{background:#fff;border-radius:16px;padding:17px;border:1px solid var(--line);box-shadow:var(--shadow);font-weight:800}.quick-card span{display:block;color:var(--muted);font-size:.82rem;font-weight:500;margin-top:3px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:10px 0 30px}.card{background:var(--card);border:1px solid rgba(18,62,82,.06);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin:0}.feature-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.feature-icon{width:46px;height:46px;border-radius:14px;background:#FFF3DF;display:grid;place-items:center;font-size:1.35rem}.feature-card h3{margin:15px 0 5px}.feature-card p{color:var(--muted);margin:0}
.feed{display:grid;gap:14px}.post-card{padding:0;overflow:hidden}.post-head{display:flex;align-items:center;gap:10px;padding:16px 18px 10px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--secondary);display:grid;place-items:center;font-weight:850;color:var(--primary)}.post-meta strong{display:block}.post-meta small{color:var(--muted)}.post-body{padding:0 18px 17px}.post-body h3{margin:5px 0 8px}.post-body p{margin:0;color:#35464d}.post-actions{border-top:1px solid var(--line);display:flex;padding:9px 12px;gap:5px}.post-actions a{flex:1;text-align:center;padding:7px;border-radius:9px;color:var(--muted);font-weight:700}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.event-card{overflow:hidden;padding:0}.event-date{background:var(--primary);color:#fff;padding:14px 16px}.event-date strong{font-size:1.5rem;display:block}.event-content{padding:16px}.event-content h3{margin:0 0 8px}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.market-card{padding:0;overflow:hidden}.market-photo{height:145px;background:linear-gradient(135deg,#dbecef,#eef5f6);display:grid;place-items:center;font-size:2rem}.market-content{padding:14px}.price{font-size:1.25rem;font-weight:900;color:var(--primary)}.tag{display:inline-flex;background:var(--secondary);color:var(--primary);border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:800}
.search-box{display:flex;background:#fff;border:1px solid var(--line);border-radius:13px;padding:5px;max-width:410px}.search-box input{border:0!important;margin:0!important;box-shadow:none;outline:none}.search-box button{padding:9px 12px}
.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eef5f6,#f8f4ec)}.auth .card{width:min(440px,100%);padding:28px}label{display:block;font-weight:700;margin:12px 0}input,textarea,select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #ccd6da;border-radius:10px;background:#fff;font:inherit}textarea{min-height:130px}.alert{background:#fff0f0;border:1px solid #e6b0b0;padding:12px;border-radius:10px}.ok{background:#eaf7ef;border:1px solid #a9d7b8;padding:12px;border-radius:10px}
.adminbar{background:#101d24;color:#fff;padding:13px 0;position:sticky;top:0;z-index:20}.adminbar .container{display:flex;align-items:center;gap:18px;justify-content:space-between}.adminbar nav{display:flex;gap:5px;flex-wrap:wrap}.adminbar a{color:#fff;padding:7px 9px;border-radius:8px}.stat{font-size:2.2rem;display:block;margin-top:6px;color:var(--primary)}.tablewrap{overflow:auto;background:#fff;border-radius:14px}.tablewrap table{width:100%;border-collapse:collapse}.tablewrap th,.tablewrap td{padding:11px;border-bottom:1px solid #e5eaec;text-align:left;white-space:nowrap}.thumb{max-width:100%;max-height:180px;display:block;border-radius:10px;margin-bottom:10px}footer{background:#102f3d;color:#cfe0e5;text-align:center;padding:38px 0;margin-top:45px}.mobile-bottom{display:none}
@media(max-width:980px){.nav nav{display:none}.desktop-tools{margin-left:auto}.quick-grid{grid-template-columns:repeat(2,1fr)}.market-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){body{padding-bottom:72px}.container{width:calc(100% - 22px)}.topline{display:none}.nav{min-height:65px}.brand{font-size:.96rem}.brand img{height:38px}.brand-mark{width:38px;height:38px}.hero{padding:48px 0 64px}.hero h1{font-size:2.55rem}.hero p{font-size:1rem}.quick-grid{grid-template-columns:1fr 1fr;margin-top:-10px}.grid3,.event-grid,.market-grid{grid-template-columns:1fr}.section{padding:25px 0}.mobile-bottom{position:fixed;left:0;right:0;bottom:0;height:67px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:100;box-shadow:0 -5px 20px rgba(0,0,0,.07)}.mobile-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:.68rem;font-weight:750}.mobile-bottom .plus{width:44px;height:44px;margin-top:-19px;background:var(--sand);color:#fff;border:5px solid var(--bg);border-radius:50%;font-size:1.4rem}.adminbar .container{align-items:flex-start;flex-direction:column}}

body.theme-nordsee{
 --primary:#123E52;--sea:#197A91;--sand:#E39A3B;--secondary:#DCECEF;
 --bg:#F4F7F8;--card:#FFFFFF;--text:#17242B;--muted:#64747C;
 --radius:18px;--shadow:0 10px 35px rgba(18,62,82,.08);
}
body.theme-nordsee .site-header{background:var(--primary)}
body.theme-nordsee .hero{background:linear-gradient(135deg,var(--primary),var(--sea))}
body.theme-nordsee .feature-icon{background:var(--secondary)}
body.theme-nordsee .event-date{background:var(--primary)}
body.theme-nordsee .quick-card:hover,body.theme-nordsee .card:hover{transform:translateY(-1px)}


body.theme-friesland{
 --primary:#244F45;--sea:#4E806D;--sand:#D7A54A;--secondary:#E8F0EA;
 --bg:#F4F5EF;--card:#FFFFFF;--text:#23322D;--muted:#68766F;
 --radius:14px;--shadow:0 8px 28px rgba(36,79,69,.09);
}
body.theme-friesland .site-header{background:var(--primary)}
body.theme-friesland .hero{background:linear-gradient(135deg,var(--primary),var(--sea))}
body.theme-friesland .feature-icon{background:var(--secondary)}
body.theme-friesland .event-date{background:var(--primary)}
body.theme-friesland .quick-card:hover,body.theme-friesland .card:hover{transform:translateY(-1px)}


body.theme-wattenmeer{
 --primary:#315C68;--sea:#6E9E9A;--sand:#D7B36A;--secondary:#E5F0EF;
 --bg:#F3F6F5;--card:#FFFFFF;--text:#23353A;--muted:#68777A;
 --radius:20px;--shadow:0 12px 32px rgba(49,92,104,.10);
}
body.theme-wattenmeer .site-header{background:var(--primary)}
body.theme-wattenmeer .hero{background:linear-gradient(135deg,var(--primary),var(--sea))}
body.theme-wattenmeer .feature-icon{background:var(--secondary)}
body.theme-wattenmeer .event-date{background:var(--primary)}
body.theme-wattenmeer .quick-card:hover,body.theme-wattenmeer .card:hover{transform:translateY(-1px)}


body.theme-hafen{
 --primary:#162D3A;--sea:#27758A;--sand:#E07B39;--secondary:#DDE8EC;
 --bg:#EEF2F4;--card:#FFFFFF;--text:#17242B;--muted:#63727A;
 --radius:10px;--shadow:0 7px 24px rgba(22,45,58,.12);
}
body.theme-hafen .site-header{background:var(--primary)}
body.theme-hafen .hero{background:linear-gradient(135deg,var(--primary),var(--sea))}
body.theme-hafen .feature-icon{background:var(--secondary)}
body.theme-hafen .event-date{background:var(--primary)}
body.theme-hafen .quick-card:hover,body.theme-hafen .card:hover{transform:translateY(-1px)}


body.theme-deich{
 --primary:#456B48;--sea:#72945E;--sand:#C79B55;--secondary:#E8F0E3;
 --bg:#F5F4EC;--card:#FFFFFF;--text:#29372A;--muted:#687363;
 --radius:16px;--shadow:0 9px 30px rgba(69,107,72,.09);
}
body.theme-deich .site-header{background:var(--primary)}
body.theme-deich .hero{background:linear-gradient(135deg,var(--primary),var(--sea))}
body.theme-deich .feature-icon{background:var(--secondary)}
body.theme-deich .event-date{background:var(--primary)}
body.theme-deich .quick-card:hover,body.theme-deich .card:hover{transform:translateY(-1px)}


body.theme-friesenabend{
 --primary:#202D3A;--sea:#405E72;--sand:#D5A657;--secondary:#E5E8EA;
 --bg:#ECEEEF;--card:#FAFAF8;--text:#20272C;--muted:#687077;
 --radius:12px;--shadow:0 12px 34px rgba(32,45,58,.15);
}
body.theme-friesenabend .site-header{background:var(--primary)}
body.theme-friesenabend .hero{background:linear-gradient(135deg,var(--primary),var(--sea))}
body.theme-friesenabend .feature-icon{background:var(--secondary)}
body.theme-friesenabend .event-date{background:var(--primary)}
body.theme-friesenabend .quick-card:hover,body.theme-friesenabend .card:hover{transform:translateY(-1px)}

/* ===== Regionale Theme-Motive ===== */
.site-header,.hero{isolation:isolate}
.site-header:after,.hero:before{content:"";position:absolute;pointer-events:none;z-index:0}
.site-header:after{inset:auto 0 0;height:42px;opacity:.22;background-repeat:repeat-x;background-size:240px 42px}
.hero:before{inset:0;opacity:.22}

/* Nordsee & Küste – feine Wellen */
body.theme-nordsee{background-image:radial-gradient(circle at 15% 5%,rgba(25,122,145,.06) 0 2px,transparent 3px),radial-gradient(circle at 75% 20%,rgba(18,62,82,.035) 0 1px,transparent 2px)}
body.theme-nordsee .site-header:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='42' viewBox='0 0 240 42'%3E%3Cpath d='M0 24c20-18 40 18 60 0s40-18 60 0 40 18 60 0 40-18 60 0' fill='none' stroke='%23fff' stroke-width='3'/%3E%3Cpath d='M0 34c20-18 40 18 60 0s40-18 60 0 40 18 60 0 40-18 60 0' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
body.theme-nordsee .hero:before{background:radial-gradient(ellipse at 10% 75%,transparent 0 22%,rgba(255,255,255,.18) 23% 24%,transparent 25%),radial-gradient(ellipse at 90% 25%,rgba(255,255,255,.12),transparent 30%)}

/* Friesland & Weite – Felder / Schilf */
body.theme-friesland{background-image:linear-gradient(175deg,rgba(78,128,109,.045),transparent 240px)}
body.theme-friesland .site-header:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='42' viewBox='0 0 240 42'%3E%3Cpath d='M0 40V19m0 21V27m8 13V14m8 26V23m8 17V11m8 29V20m8 20V15m8 25V25m8 15V9m8 31V20m8 20V13m8 27V24m8 16V8m8 32V19m8 21V12m8 28V22m8 18V15m8 25V10m8 30V23m8 17V13m8 27V20m8 20V8m8 32V18m8 22V12m8 28V24m8 16V15m8 25V10' stroke='%23fff' stroke-width='2' opacity='.7'/%3E%3C/svg%3E")}
body.theme-friesland .hero:before{background:repeating-linear-gradient(170deg,transparent 0 34px,rgba(255,255,255,.055) 35px 36px)}

/* Wattenmeer – Wattlinien / Gezeiten */
body.theme-wattenmeer{background-image:repeating-linear-gradient(175deg,rgba(110,158,154,.035) 0 1px,transparent 1px 15px)}
body.theme-wattenmeer .site-header:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='42' viewBox='0 0 240 42'%3E%3Cpath d='M0 8c25 12 45-10 70 2s45 14 70 2 45-14 70-2 45 14 70 2M0 25c25 12 45-10 70 2s45 14 70 2 45-14 70-2 45 14 70 2' fill='none' stroke='%23fff' stroke-width='2'/%3E%3Ccircle cx='32' cy='33' r='2' fill='%23fff' opacity='.8'/%3E%3Ccircle cx='172' cy='34' r='2' fill='%23fff' opacity='.8'/%3E%3C/svg%3E")}
body.theme-wattenmeer .hero:before{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.18) 0 2px,transparent 3px),radial-gradient(circle at 70% 70%,rgba(255,255,255,.12) 0 2px,transparent 3px);background-size:90px 70px,120px 90px}

/* Hafen & Maritim – Stahlraster / Lichtpunkte */
body.theme-hafen{background-image:linear-gradient(90deg,rgba(22,45,58,.025) 1px,transparent 1px),linear-gradient(rgba(22,45,58,.025) 1px,transparent 1px);background-size:28px 28px}
body.theme-hafen .site-header:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='42' viewBox='0 0 240 42'%3E%3Cpath d='M8 40V7h36v33M8 13h36M16 20h28M28 7v33M72 40V18h48v22M72 25h48M80 18v22M110 18v22M145 40V8h3v32M148 13h30M160 13v27M178 13v27' fill='none' stroke='%23fff' stroke-width='3'/%3E%3Ccircle cx='198' cy='9' r='3' fill='%23fff'/%3E%3C/svg%3E")}
body.theme-hafen .hero:before{background:linear-gradient(180deg,transparent 55%,rgba(255,255,255,.08) 56%,transparent 57%),repeating-linear-gradient(90deg,transparent 0 70px,rgba(255,255,255,.025) 71px 72px)}

/* Deich & Natur – Gras / Deichkontur */
body.theme-deich{background-image:linear-gradient(180deg,rgba(114,148,94,.055),transparent 280px)}
body.theme-deich .site-header:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='42' viewBox='0 0 240 42'%3E%3Cpath d='M0 40c45-30 85-30 120 0 35-30 75-30 120 0' fill='none' stroke='%23fff' stroke-width='5'/%3E%3Cpath d='M0 40c15-13 30-13 45 0m30 0c15-13 30-13 45 0m60 0c15-13 30-13 45 0' fill='none' stroke='%23fff' stroke-width='2' opacity='.7'/%3E%3C/svg%3E")}
body.theme-deich .hero:before{background:radial-gradient(ellipse at 50% 115%,rgba(255,255,255,.12),transparent 48%),repeating-linear-gradient(165deg,transparent 0 45px,rgba(255,255,255,.035) 46px 47px)}

/* Friesenabend – dunkler Abendhimmel / Sterne */
body.theme-friesenabend{background-image:linear-gradient(180deg,rgba(32,45,58,.04),transparent 300px)}
body.theme-friesenabend .site-header:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='42' viewBox='0 0 240 42'%3E%3Ccircle cx='18' cy='12' r='1.5' fill='%23D5A657'/%3E%3Ccircle cx='58' cy='22' r='1' fill='%23fff'/%3E%3Ccircle cx='101' cy='9' r='1.5' fill='%23D5A657'/%3E%3Ccircle cx='142' cy='25' r='1' fill='%23fff'/%3E%3Ccircle cx='184' cy='10' r='1.5' fill='%23D5A657'/%3E%3Ccircle cx='220' cy='27' r='1' fill='%23fff'/%3E%3Cpath d='M0 39h240' stroke='%23D5A657' stroke-width='1' opacity='.35'/%3E%3C/svg%3E")}
body.theme-friesenabend .hero:before{background:radial-gradient(circle at 78% 18%,rgba(213,166,87,.25) 0 2px,transparent 3px),radial-gradient(circle at 82% 14%,rgba(255,255,255,.18) 0 1px,transparent 2px),radial-gradient(circle at 65% 28%,rgba(255,255,255,.14) 0 1px,transparent 2px);background-size:130px 90px,100px 80px,160px 120px}

/* Theme Cards im Admin */
.theme-grid{grid-template-columns:repeat(3,1fr)}
.theme-card{position:relative;overflow:hidden;min-height:170px;padding:0!important;border-top:0!important;transition:transform .18s ease,box-shadow .18s ease}
.theme-card:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(0,0,0,.12)}
.theme-preview{height:78px;position:relative;overflow:hidden;background:var(--preview,#315C68)}
.theme-preview:after{content:"";position:absolute;inset:auto 0 0;height:30px;background:var(--motif,#fff);opacity:.16;clip-path:polygon(0 60%,8% 35%,17% 65%,26% 30%,35% 60%,44% 35%,53% 65%,62% 30%,71% 60%,80% 35%,89% 65%,100% 30%,100% 100%,0 100%)}
.theme-card .theme-copy{padding:14px 16px}.theme-card h2{margin:0 0 4px;font-size:1.08rem}.theme-card p{margin:0;color:var(--muted);font-size:.85rem}.theme-active{box-shadow:0 0 0 3px var(--sea),0 12px 35px rgba(0,0,0,.12)}
@media(max-width:900px){.theme-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.theme-grid{grid-template-columns:1fr}}

.admin-form{display:grid;gap:12px}.admin-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-row h2{margin:0 0 5px}.admin-row p{margin:0}.tag{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--secondary);font-size:.78rem;font-weight:700}@media(max-width:600px){.admin-form .form-grid{grid-template-columns:1fr}.admin-row{flex-direction:column}}

/* ===== Public Portal Components ===== */
.eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;font-weight:850;color:var(--sea);margin-bottom:7px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h1{margin:0 0 6px}.section-head p{margin:0;color:var(--muted)}.search-large{max-width:900px;margin-bottom:28px}.result-grid,.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.result-card h2,.company-card h2,.market-card h2,.event-card h2,.feed-card h2{margin:10px 0 7px}.feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.feed-card{overflow:hidden;padding:0}.card-media{width:100%;height:190px;object-fit:cover;display:block}.feed-body,.company-body,.market-body{padding:20px}.feed-meta{font-size:.8rem;color:var(--muted);display:flex;gap:7px}.feed-actions{display:flex;gap:18px;align-items:center;margin-top:17px;color:var(--muted);font-size:.9rem}.reaction-btn{border:0;background:var(--secondary);color:var(--primary);border-radius:999px;padding:8px 13px;cursor:pointer;font:inherit;font-weight:750}.composer{margin-bottom:20px;padding:20px;background:linear-gradient(135deg,var(--secondary),var(--card))}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.event-card{overflow:hidden}.event-inner{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:20px}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;color:#fff;border-radius:14px}.event-date b{font-size:1.65rem;line-height:1}.event-date span{font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-top:4px}.event-card .muted{margin-top:8px}.filter-pills{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:.86rem;font-weight:700;background:var(--card)}.pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.market-card{overflow:hidden;padding:0}.market-placeholder{height:160px;display:grid;place-items:center;background:var(--secondary);font-size:3rem}.market-body .tag+.reserved{margin-left:6px;background:rgba(227,154,59,.16)}.market-foot{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.88rem}.market-foot strong{font-size:1.1rem}.market-foot span{color:var(--muted)}.company-card{overflow:hidden;padding:0}.company-card .card-media{height:145px}.company-links{display:flex;gap:8px;margin-top:15px}.company-links a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--secondary);color:var(--primary)}.empty-state{padding:32px;text-align:center;color:var(--muted);grid-column:1/-1}.result-card small{color:var(--muted)}
@media(max-width:900px){.result-grid,.company-grid,.market-grid{grid-template-columns:1fr 1fr}.feed-grid,.event-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.section-head .button{width:100%;text-align:center}}
@media(max-width:600px){.result-grid,.company-grid,.market-grid{grid-template-columns:1fr}.search-large button{white-space:nowrap}.event-inner{grid-template-columns:60px 1fr;padding:15px}.event-date{min-height:62px}.feed-card .card-media{height:170px}}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.stat-card{padding:22px}.stat-card strong{display:block;font-size:32px;line-height:1;margin-bottom:8px}.stat-card span{color:var(--muted,#68757b)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.panel-head h2{margin:3px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dashboard-row,.notification{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--border,#e4eaec)}.dashboard-row strong,.notification strong{display:block}.dashboard-row small,.notification small{display:block;color:var(--muted,#68757b);margin-top:4px}.notification.unread{background:rgba(227,154,59,.08);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:10px}.notification p{margin:4px 0}.ok{padding:10px 12px;margin-bottom:15px;border-radius:10px;background:#e8f6ed;color:#1c6b3c}@media(max-width:800px){.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}


/* Private chat */
.chat-layout{display:grid;grid-template-columns:320px 1fr;gap:18px;min-height:620px}
.chat-list{overflow:hidden}.chat-list-head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}
.chat-item{display:flex;gap:12px;padding:14px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border);transition:.18s}
.chat-item:hover,.chat-item.active{background:var(--surface-2)}
.avatar{width:42px;height:42px;min-width:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}
.chat-item-body{min-width:0;display:flex;flex-direction:column;gap:4px}.chat-item-body span{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-window{display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.chat-header span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.chat-messages{flex:1;min-height:420px;max-height:560px;overflow:auto;padding:20px;background:var(--surface-2)}
.message-row{display:flex;margin:0 0 12px}.message-row.mine{justify-content:flex-end}.message-bubble{max-width:min(75%,620px);padding:10px 13px;border-radius:16px 16px 16px 4px;background:var(--surface);box-shadow:var(--shadow-sm)}.message-row.mine .message-bubble{border-radius:16px 16px 4px 16px;background:var(--primary);color:#fff}.message-bubble time{display:block;font-size:.68rem;opacity:.65;margin-top:5px}.chat-compose{display:flex;gap:10px;padding:14px;border-top:1px solid var(--border)}.chat-compose textarea{flex:1;resize:none}.chat-empty{margin:auto;text-align:center;padding:50px}.chat-empty-icon{font-size:3rem;margin-bottom:12px}.empty-state{padding:30px;color:var(--muted);text-align:center}
@media(max-width:800px){.chat-layout{grid-template-columns:1fr}.chat-list{max-height:280px}.chat-messages{min-height:350px}.message-bubble{max-width:88%}.chat-compose{flex-direction:column}.chat-compose .btn{width:100%}}



/* Members */
.member-search{display:flex;gap:10px;padding:14px;margin-bottom:20px}.member-search input{flex:1}
.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.member-card{padding:18px}.member-top{display:flex;align-items:center;gap:12px}.member-card h2{margin:0 0 3px;font-size:1.05rem}.member-card p{color:var(--muted);line-height:1.55}.member-avatar{width:58px;height:58px;min-width:58px;border-radius:50%;object-fit:cover}.avatar-lg{width:100px;height:100px;font-size:2rem}.member-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-hero{display:flex;gap:24px;padding:26px;align-items:flex-start}.profile-avatar img{width:100px;height:100px;border-radius:50%;object-fit:cover}.profile-main h1{margin:.15rem 0}.profile-meta{color:var(--muted);margin-bottom:12px}.profile-posts{display:grid;gap:10px}.profile-post{padding:15px;text-decoration:none;color:inherit;display:flex;justify-content:space-between}.profile-post span{color:var(--muted)}.back-link{display:inline-block;margin-bottom:15px;color:var(--muted)}
@media(max-width:900px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.member-grid{grid-template-columns:1fr}.member-search{flex-direction:column}.profile-hero{flex-direction:column}}



/* Notifications */
.notification-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.notification-list{display:grid;gap:12px}.notification-item{display:flex;gap:15px;padding:17px}.notification-item.unread{border-left:4px solid var(--primary);background:var(--surface-2)}.notification-icon{font-size:1.55rem;width:38px;text-align:center}.notification-content{flex:1}.notification-title{display:flex;justify-content:space-between;gap:15px}.notification-title time{color:var(--muted);font-size:.78rem;white-space:nowrap}.notification-content p{margin:.45rem 0;color:var(--muted);line-height:1.5}.notification-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#d83a3a;color:#fff;font-size:.68rem;font-weight:800;vertical-align:middle}
@media(max-width:650px){.notification-heading{align-items:flex-start;flex-direction:column}.notification-title{flex-direction:column;gap:4px}}



/* Global search */
.search-hero{text-align:center;padding:30px 0 20px}.search-hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:.2rem 0}.search-hero p{color:var(--muted)}.global-search{display:flex;gap:10px;max-width:820px;margin:25px auto 0;padding:10px}.global-search input{flex:1;border:0;background:transparent;font-size:1.05rem;outline:none}.search-filters{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 25px}.search-filters a{padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:inherit}.search-filters a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.search-result{display:block;text-decoration:none;color:inherit;padding:17px}.search-result h3{margin:6px 0}.search-result p{margin:0;color:var(--muted)}.result-type{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}.search-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.search-start{display:flex;flex-direction:column;gap:7px;padding:20px;text-decoration:none;color:inherit}.search-start span{color:var(--muted);font-size:.9rem}
@media(max-width:800px){.search-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-results{grid-template-columns:1fr}}
@media(max-width:520px){.global-search{flex-direction:column}.global-search .btn{width:100%}.search-start-grid{grid-template-columns:1fr}}

.region-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:18px;margin-top:22px}.region-map-card{padding:10px;overflow:hidden}.region-map-card #region-map{height:470px;border-radius:14px;overflow:hidden}.map-note{padding:10px 6px 2px;color:var(--muted);font-size:.78rem}.region-side h2{margin-top:0}.region-link{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text)}.region-link:last-child{border-bottom:0}.region-link small{color:var(--muted)}.region-stats{margin-top:18px}.region-lists{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.region-lists section{min-width:0}.compact-row{padding:14px 16px;margin-bottom:10px}.compact-row strong{display:block}.compact-row small{display:block;color:var(--muted);margin-top:4px}@media(max-width:900px){.region-layout,.region-lists{grid-template-columns:1fr}.region-map-card #region-map{height:380px}}@media(max-width:600px){.region-map-card #region-map{height:320px}}
.breadcrumb{margin:.4rem 0 1rem}.breadcrumb a{color:var(--primary);font-weight:700}.region-children{margin-top:.5rem}.region-link small{display:block;margin-top:.2rem;opacity:.72}.admin-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-row .tag{white-space:nowrap}


/* 18+ area */
.nav-adult{font-weight:800}
.age-gate{max-width:680px;margin:4rem auto;text-align:center;padding:2.5rem}
.age-gate-icon{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;font-weight:900;font-size:1.25rem;border:2px solid currentColor;margin-bottom:1rem}
.check-row{display:flex;gap:.7rem;align-items:flex-start;text-align:left;margin:1.25rem 0}
.adult-badge{font-weight:900}
.adult-card{border-top:3px solid currentColor}
.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
.stack{display:grid;gap:1rem}


.region-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:.8rem;margin-bottom:1.4rem}
.region-card{text-decoration:none}
.region-detail{padding:2rem}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-top:1.5rem}
.category-tile{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--border,#ddd);border-radius:14px;text-decoration:none}
.category-tile span{font-size:1.5rem}.category-tile small{opacity:.75}
.breadcrumb{margin:1rem 0;color:var(--muted,#666)}
@media(max-width:700px){.region-filter{grid-template-columns:1fr}}


.adult-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem}
.adult-categories a{padding:.55rem .8rem;border:1px solid var(--border,#ddd);border-radius:999px;text-decoration:none}
.adult-categories a.active{font-weight:800}
.report-box{margin-top:1rem;padding-top:.7rem;border-top:1px solid var(--border,#ddd)}
.moderation-item{padding:1rem 0;border-bottom:1px solid var(--border,#ddd)}
.moderation-actions{display:grid;gap:.7rem;margin-top:.7rem}
.btn.danger{font-weight:800}


.adult-region-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end;margin-bottom:1.4rem}
.adult-region-filter label{display:block;font-weight:700;margin-bottom:.35rem}
@media(max-width:700px){.adult-region-filter{grid-template-columns:1fr}}


.adult-thread{padding:2rem}
.thread-content{font-size:1.08rem;line-height:1.75;margin:1.4rem 0}
.reaction-row{margin:1.2rem 0}
.reaction-row form{display:flex;flex-wrap:wrap;gap:.5rem}
.comment{padding:1rem 0;border-bottom:1px solid var(--border,#ddd)}
.comment p{margin:.45rem 0}
.btn.small{font-size:.85rem;padding:.35rem .6rem}


/* Local vector icon system */
.icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;stroke:currentColor;fill:none}
.icon-lg{width:1.7rem;height:1.7rem}.icon-xl{width:2.5rem;height:2.5rem}
.vector-banner{position:relative;overflow:hidden}.vector-banner::after{content:"";position:absolute;inset:auto 0 0;height:110px;background:url("/assets/graphics/wave.svg") center bottom/cover no-repeat;pointer-events:none}
.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.smiley-tools{position:relative;display:flex;align-items:center;gap:.4rem}.smiley-picker{position:absolute;z-index:20;top:calc(100% + .4rem);left:0;width:min(330px,90vw);padding:.6rem;border:1px solid var(--border,#ddd);border-radius:14px;background:var(--surface,#fff);box-shadow:0 12px 30px rgba(0,0,0,.15);display:grid;grid-template-columns:repeat(8,1fr);gap:.2rem}.smiley-picker[hidden]{display:none}.smiley{border:0;background:transparent;font-size:1.45rem;padding:.25rem;border-radius:8px;cursor:pointer}.smiley:hover{background:rgba(127,127,127,.12)}
.category-tile span,.adult-badge{display:inline-flex;align-items:center;gap:.35rem}

.search-panel{padding:18px;margin:20px 0 30px}.search-main{display:flex;gap:10px;align-items:center}.search-main input{flex:1;min-width:0}.search-filters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:15px}.search-filters-grid label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:800;color:var(--muted)}.search-filters-grid select,.search-filters-grid input{width:100%;box-sizing:border-box}.search-panel-actions{display:flex;gap:10px;align-items:center;margin-top:15px}.search-panel-actions .btn{text-decoration:none}.search-result-head{margin-top:10px;margin-bottom:16px}.search-result-head h2{margin:0 0 5px}.search-result-head p{margin:0;color:var(--muted)}
@media(max-width:900px){.search-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.search-main{flex-direction:column;align-items:stretch}.search-main .btn{width:100%}.search-filters-grid{grid-template-columns:1fr}.search-panel-actions{flex-direction:column;align-items:stretch}.search-panel-actions .btn{text-align:center}}


/* Legal & privacy */
.site-footer{margin-top:40px;padding:24px 0;border-top:1px solid var(--border);background:var(--surface)}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.footer-inner nav{display:flex;gap:14px;flex-wrap:wrap}.footer-inner a{color:inherit}.legal-page{max-width:900px;margin:0 auto;padding:30px}.legal-page h1{margin:.2rem 0 1rem}.legal-page h2{margin-top:2rem}.legal-page p{line-height:1.7}.legal-page .lead{font-size:1.08rem;color:var(--muted)}.profile-head-actions{display:flex;gap:8px;flex-wrap:wrap}.legal-links{margin-top:18px}.check-row{cursor:pointer}.btn.danger{border:1px solid currentColor;background:transparent;color:#b42318}
@media(max-width:700px){.footer-inner{align-items:flex-start;flex-direction:column}.legal-page{padding:22px}.profile-head-actions{width:100%}}
