:root{--bg:#f8f6f0;--white:#fffefa;--ink:#253a36;--muted:#74847d;--line:#e5e7df;--green:#2f6958;--green2:#eaf3ec;--accent:#d5a56f;--shadow:0 15px 45px rgba(33,54,44,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55;font-size:15px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(255,254,250,.65)}.brand{font-size:20px;font-weight:760;letter-spacing:-.75px;text-decoration:none;color:var(--ink);display:flex;gap:12px;align-items:center;white-space:nowrap}.brand em{font-style:normal;color:#669582}.mark{color:#bf9a63;font-size:32px;font-weight:400}.top-subtitle{color:var(--muted);border-left:1px solid var(--line);padding-left:26px}.status{margin-left:auto;font-size:12px;color:var(--muted)}.dot,.live-dot{display:inline-block;background:#76ab87;border-radius:50%;width:8px;height:8px;margin-right:8px}.main{flex:1;width:min(1180px,calc(100% - 48px));margin:0 auto}.home{padding:66px 0 40px}.intro{max-width:790px;margin-bottom:43px}.eyebrow{letter-spacing:2.2px;color:#b18c5b;font-size:11px;font-weight:800}.intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(37px,4vw,58px);letter-spacing:-1.5px;line-height:1.18;margin:21px 0}.intro h1 i{font-weight:400;color:#64927e}.intro p{font-size:17px;max-width:700px;color:#60736b}.home-columns{display:grid;grid-template-columns:1.08fr .92fr;gap:23px}.panel{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.formpanel,.principles{padding:34px}.panel-head{display:flex;align-items:center;gap:15px;margin-bottom:20px}.panel-icon{background:#eff4ec;color:#5d8e70;display:flex;align-items:center;justify-content:center;font-size:25px;width:52px;height:52px;border-radius:15px}.panel h2,.panel h3{margin:0}.panel h2{font-size:21px;letter-spacing:-.4px}.panel-head p,.principles p{color:var(--muted);margin:4px 0 0;font-size:13px}label{display:block;font-size:12px;font-weight:700;margin:17px 0 7px}input:not([type=checkbox]),textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #dfe5df;border-radius:9px;padding:13px 14px;outline:none;transition:border .15s}textarea{resize:vertical}input:focus,textarea:focus{border-color:#74a68f;box-shadow:0 0 0 3px #74a68f22}.checkline{display:flex;align-items:flex-start;font-size:13px;gap:10px;font-weight:600;cursor:pointer}.checkline input{margin-top:5px;accent-color:var(--green)}.checkline small{font-weight:400;color:var(--muted)}.fine{font-size:12px;color:var(--muted);line-height:1.55}.primary,.outline,.danger-outline{border:0;border-radius:9px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:12px 17px}.primary{background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:30px}.primary:hover{background:#285a4a}.primary:disabled{opacity:.55;cursor:not-allowed}.formpanel>.primary{width:100%;margin-top:12px}.outline{border:1px solid #cbd9d1;color:var(--green);background:white}.outline:hover{background:var(--green2)}.danger-outline{background:white;color:#a45148;border:1px solid #e7c8c5}.principles{background:#f2f3eb}.orb{font-size:31px;color:var(--accent);text-align:right}.rule{display:flex;gap:19px;margin-top:23px}.rule>span{font-family:Georgia,serif;color:#bc9a6f;font-size:23px}.rule strong{font-size:14px}.principles blockquote{border-top:1px solid #dde1d4;margin:35px 0 0;padding:25px 0 0;color:#67816d;font:italic 19px/1.5 Georgia,serif}.join-hint{color:var(--muted);font-size:13px;text-align:center;margin:30px}.circle{padding:40px 0 55px}.circle-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.circle-heading h1{font:400 clamp(30px,3vw,44px) Georgia,serif;letter-spacing:-.5px;margin:10px 0 6px}.circle-heading p{color:#6c7b72;margin:0 0 12px;max-width:770px}.privacy{background:#eef3e9;border:1px solid #dee9d9;border-radius:11px;padding:13px 17px;font-size:12px;color:#586c5f;margin:20px 0}.join-card{background:var(--white);border:1px solid var(--line);padding:32px;border-radius:18px;max-width:450px;margin:35px auto;text-align:center}.join-illustration{font:100px/1 Georgia,serif;color:#b7cdb8}.join-card h2{font-size:26px;margin:5px}.join-card p{color:var(--muted)}.join-card form{text-align:left;margin-top:22px}.join-card button{width:100%;justify-content:center;margin-top:18px}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px}.chat-panel{display:flex;flex-direction:column;height:min(710px,calc(100vh - 265px));min-height:470px;overflow:hidden}.chat-top{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid var(--line)}.chat-top strong{font-size:16px}.chat-top small{display:block;font-size:12px;color:var(--muted)}.pill{background:var(--green2);border-radius:30px;padding:6px 11px;color:var(--green);font-size:12px}.messages{padding:24px;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:15px}.welcome-note{text-align:center;color:var(--muted);margin:12px auto 15px}.welcome-note strong{display:block;color:var(--ink)}.welcome-note p{font-size:12px}.msg{max-width:84%;align-self:flex-start}.msg.mine{align-self:flex-end}.msg-meta{display:flex;gap:10px;align-items:center;color:#91a098;font-size:11px;margin:0 3px 5px}.msg.mine .msg-meta{justify-content:flex-end}.msg-meta strong{color:#5b7265;font-weight:700;font-size:12px}.bubble{padding:12px 16px;border-radius:4px 14px 14px 14px;background:#f0f3ef;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.mine .bubble{background:#e0efe6;border-radius:14px 4px 14px 14px}.msg-action{border:none;background:none;padding:2px 3px;color:#a0a9a1;font-size:11px;cursor:pointer}.system-msg{text-align:center;font-size:11px;color:#a2ada4;padding:5px 0}.composer{padding:16px 22px;border-top:1px solid var(--line)}.composer textarea{min-height:72px;max-height:160px}.composer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.composer-bottom>span{color:var(--muted);font-size:11px}.side-panel{padding:23px;margin-bottom:18px}.side-title{display:flex;align-items:center;justify-content:space-between}.side-panel h3{font-size:15px}.side-panel p{font-size:13px;color:#697b71}.people{margin-top:15px;display:flex;flex-direction:column;gap:8px}.person{display:flex;gap:9px;align-items:center;background:none;border:0;text-align:left;color:var(--ink);padding:5px;border-radius:9px;font:inherit;font-size:13px}.person.host-manage{cursor:pointer}.person.host-manage:hover{background:#edf3ec}.avatar{height:33px;width:33px;display:grid;place-items:center;border-radius:50%;color:#547e64;background:#e9f1e7;font-weight:700}.person small{color:var(--muted);display:block;font-size:10px}.quiet{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}.smallnote{font-size:11px!important}.danger-outline{margin-top:8px}.hidden{display:none!important}.sr-only{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}footer{text-align:center;border-top:1px solid var(--line);padding:21px;color:#99a49a;font-size:12px}footer span{padding:0 10px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#263d34;color:white;padding:12px 22px;border-radius:10px;font-size:13px;box-shadow:var(--shadow);z-index:10;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}dialog{border:0;border-radius:18px;box-shadow:0 20px 90px #0003;padding:0;max-width:95vw}dialog::backdrop{background:#1a2e2880}.dialogbox{padding:27px}.dialogbox p{color:var(--muted)}.dialog-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:810px){.topbar{padding:0 20px}.top-subtitle,.status{display:none}.main{width:calc(100% - 30px)}.home{padding-top:35px}.home-columns,.chat-layout{grid-template-columns:1fr}.circle-heading{align-items:flex-start;flex-direction:column}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px}.side-panel{margin:0}.chat-panel{height:65vh;min-height:470px}}@media(max-width:520px){.formpanel,.principles{padding:22px}.intro h1{font-size:36px}.intro p{font-size:15px}.sidebar{grid-template-columns:1fr}.messages{padding:12px}.msg{max-width:93%}.chat-panel{min-height:490px}.circle{padding-top:22px}}

.reports{margin:14px 0;max-height:300px;overflow:auto}.report-row{border-top:1px solid var(--line);padding:12px 0}.report-row p{word-break:break-word;margin:6px 0}.report-row small{font-size:11px;color:var(--muted)}

/* v0.2: verejný adresár otvorených kruhov */
.directory { margin: 0 0 34px; }
.directory-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:21px; }
.directory-heading h2 { font: 400 34px/1.2 Georgia,serif; margin:8px 0 5px; }
.directory-heading p { color:var(--muted); margin:0; font-size:14px; }
.room-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.room-card { padding:23px 25px; display:flex; flex-direction:column; gap:12px; min-width:0; }
.room-card-meta { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:12px; }
.room-open { color:var(--green); font-weight:700; }
.room-card h3 { margin:0; font:400 25px/1.25 Georgia,serif; overflow-wrap:anywhere; }
.room-topic { margin:0; color:#63766a; font-size:13px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; white-space:pre-wrap; overflow-wrap:anywhere; min-height:3.9em; }
.room-card-footer { border-top:1px solid var(--line); padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.room-card-footer .primary { flex-shrink:0; }
.room-ai { font-size:11px; color:var(--muted); }
.directory-message { grid-column:1/-1; border:1px dashed #c9d5c9; border-radius:14px; padding:35px; text-align:center; color:#62776b; background:#f4f6ef; }
.directory-message p { margin:6px 0 0; font-size:13px; }
.directory-note { font-size:12px; color:var(--muted); margin:14px 2px 0; }
.back-home { white-space:nowrap; align-self:center; }
.circle-heading { flex-wrap:wrap; }
.circle-heading > div { flex:1; min-width:250px; }
@media(max-width:810px){.room-list{grid-template-columns:1fr}.directory-heading h2{font-size:30px}}
@media(max-width:520px){.directory-heading{align-items:flex-start;flex-direction:column}.room-card-footer{flex-wrap:wrap}.circle-heading{gap:13px}.back-home{align-self:flex-start}}

/* v0.4: otvorené kruhy vľavo, pravidlá a nový kruh vpravo */
.home-columns { grid-template-columns: minmax(0, 1.3fr) minmax(320px, .85fr); align-items: start; }
.home-right { display:flex; flex-direction:column; gap:22px; min-width:0; }
.home-columns > .directory { margin:0; padding:30px; min-width:0; }
.home-columns .directory-heading { flex-wrap:wrap; align-items:flex-end; }
.home-columns .room-list { grid-template-columns:1fr; }
.home-columns .room-card { padding:21px 23px; }
.home-columns .directory-heading h2 { font-size:30px; }
.home-columns .principles .orb { display:none; }
@media(max-width:810px) {
  .home-columns { grid-template-columns:1fr; }
  .home-columns > .directory { padding:22px; }
  .home-right { gap:18px; }
}

/* v0.5: pravidlá vo výške úvodu, pod nimi dva rovnocenné funkčné bloky */
.topbar { gap:20px; }
.topnav { display:flex; align-items:center; gap:12px; margin-left:auto; }
.nav-link,.nav-action { font:inherit; font-size:13px; font-weight:700; cursor:pointer; border-radius:9px; padding:10px 15px; }
.nav-link { background:transparent; color:var(--green); border:1px solid transparent; }
.nav-link:hover,.nav-link:focus-visible { background:var(--green2); }
.nav-action { color:#fff; background:var(--green); border:1px solid var(--green); }
.nav-action:hover,.nav-action:focus-visible { background:#285a4a; }
.home { padding-top:40px; }
.intro { margin-bottom:22px; max-width:none; }
.intro h1 { margin:14px 0 12px; }
.intro p { margin-bottom:0; }
.rules-strip { border:1px solid #dde7d9; border-radius:16px; background:#f1f3ea; padding:19px 25px; margin-bottom:22px; }
.rules-strip h2 { font-size:15px; margin:0 0 10px; }
.rules-inline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 22px; }
.rules-inline p { margin:0; font-size:13px; color:#63746b; }
.rules-inline strong { color:var(--ink); }
.home-columns { display:grid; grid-template-columns:minmax(0,1.24fr) minmax(320px,1fr); align-items:start; gap:22px; }
.home-columns > .directory { margin:0; }
.home-columns > .formpanel { min-width:0; }
#directory,#newCircle { scroll-margin-top:20px; }
@media(max-width:810px) {
  .home-columns { grid-template-columns:minmax(0,1fr); }
  .rules-inline { grid-template-columns:1fr; gap:8px; }
  .rules-strip { margin-bottom:18px; padding:18px 22px; }
  .home { padding-top:28px; }
}
@media(max-width:520px) {
  .topbar { height:auto; min-height:68px; padding:10px 15px; gap:8px; flex-wrap:wrap; }
  .brand { font-size:18px; }
  .topnav { gap:3px; }
  .nav-link,.nav-action { padding:9px 8px; font-size:11px; }
  .rules-strip { padding:16px 18px; }
}

/* v0.7 – schválený symbol kruhu v hlavičke */
.brand-logo { width:52px; height:52px; object-fit:contain; flex:0 0 52px; }
@media(max-width:520px) { .brand-logo { width:40px; height:40px; flex-basis:40px; } }


/* v0.8 – dynamický symbol kruhu podľa počtu účastníkov */
.dynamic-burst{display:flex;align-items:center;justify-content:center}
.join-illustration.dynamic-burst{min-height:180px;margin:6px 0 2px}
.welcome-burst{margin:0 auto 12px;width:132px;height:132px}
.burst-svg{width:100%;height:auto;overflow:visible}
.burst-core{fill:#f3eadc;stroke:#c58e52;stroke-width:2.4}
.burst-core-inner{fill:#d8a266;opacity:.95}
.burst-empty-ring{fill:none;stroke:#d5b48b;stroke-width:2.6;stroke-dasharray:4 6;opacity:.9}
.burst-ray{stroke:#d5b48b;stroke-width:2.2;stroke-linecap:round;opacity:.95}
.burst-head{stroke:none}
.burst-body{fill:none;stroke-linecap:round;stroke-width:2.2}
.burst-figure-a .burst-head,.burst-figure-a .burst-body{fill:#b7743f;stroke:#b7743f}
.burst-figure-b .burst-head,.burst-figure-b .burst-body{fill:#d09a61;stroke:#d09a61}
.burst-figure-c .burst-head,.burst-figure-c .burst-body{fill:#9f6338;stroke:#9f6338}
.burst-figure-d .burst-head,.burst-figure-d .burst-body{fill:#e0bc8b;stroke:#c99357}
.welcome-note>span{display:block;color:#bc9f75;font-size:37px}

/* v0.9 – stále viditeľný symbol v hlavičke rozhovoru */
.chat-identity{display:flex;align-items:center;gap:14px;min-width:0}
.chat-burst{height:76px;width:76px;flex:0 0 76px}
.chat-top{min-height:104px}
@media(max-width:520px){.chat-identity{gap:8px}.chat-burst{height:58px;width:58px;flex-basis:58px}.chat-top{min-height:84px;padding:10px 12px}}

/* v0.11 – odchod z kruhu */
.circle-heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.leave-room{border-color:#e2c7ae;color:#8e5434}
.leave-room:hover{background:#f9eee3}
@media(max-width:810px){.circle-heading-actions{justify-content:flex-start}}


/* v0.12 – predvolené tematické kruhy a ilustračné vizuály */
.preset-section{padding:28px 30px;margin:0 0 22px}
.preset-heading h2{font:400 34px/1.2 Georgia,serif;margin:8px 0 6px}
.preset-heading p{margin:0;color:var(--muted);font-size:14px;max-width:760px}
.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.preset-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:stretch;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.preset-visual{background:#f4efe7;min-height:100%;display:flex;align-items:center;justify-content:center}
.preset-visual img{display:block;width:100%;height:100%;object-fit:cover}
.preset-body{padding:18px 18px 16px}
.preset-body h3{margin:0 0 6px;font:400 24px/1.25 Georgia,serif}
.preset-subtitle{margin:0 0 10px;color:#69796f;font-size:13px}
.preset-question{margin:0;color:#485952;font-size:14px;line-height:1.5}
.preset-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.room-card-hero{position:relative;height:132px;border-radius:14px;overflow:hidden;background:#f4efe7}
.room-card-hero img{display:block;width:100%;height:100%;object-fit:cover}
.template-badge{position:absolute;left:12px;top:12px;background:rgba(255,254,250,.92);border:1px solid #e9d9c3;color:#8a6743;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}
.room-card{padding:18px 18px 20px}
.room-card h3{font-size:23px}
.room-card-meta{margin-top:2px}
@media(max-width:980px){.preset-grid{grid-template-columns:1fr}.preset-card{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:680px){.preset-section{padding:22px}.preset-heading h2{font-size:30px}.preset-card{grid-template-columns:1fr}.preset-visual{height:150px}.preset-body{padding:16px}.preset-actions .primary,.preset-actions .outline{width:100%;justify-content:center}}


/* v0.13 – čitateľné poradie stránok a modal pre vlastný kruh */
.topbar{position:relative;z-index:5}
.home>.directory{margin:0 0 22px;padding:28px 30px}
.home>.directory .room-list{grid-template-columns:repeat(2,minmax(0,1fr))}
#directory,#suggestedCircles,#newCircle{scroll-margin-top:88px}
.custom-circle{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:26px 30px;margin-bottom:15px;background:#fbf8f2}
.custom-circle h2{font:400 30px/1.2 Georgia,serif;margin:7px 0}
.custom-circle p{font-size:14px;color:var(--muted);margin:0}
.custom-circle>.primary{white-space:nowrap}
#createDialog{width:min(570px,calc(100% - 32px));max-height:min(90dvh,850px);overflow-y:auto;margin:auto;padding:0;border:1px solid #e5e7df;border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 20px 80px #152b2250}
#createDialog::backdrop{background:rgba(20,38,31,.6)}
.create-modal{padding:28px 32px 30px}
.create-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.create-modal-header h2{font:400 30px/1.25 Georgia,serif;margin:6px 0 10px}
.create-close{border:1px solid var(--line);width:36px;height:36px;border-radius:50%;cursor:pointer;background:#fff;color:#63766a;font:26px/1 Arial,sans-serif;flex-shrink:0}
.create-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:810px){
  .topbar{position:sticky;top:0;background:rgba(255,254,250,.97);box-shadow:0 3px 16px rgba(33,54,44,.05)}
  .home>.directory{padding:22px}
  .home>.directory .room-list{grid-template-columns:1fr}
  .custom-circle{padding:22px}
}
@media(max-width:520px){
  .topbar{flex-wrap:nowrap;gap:6px}
  .topnav{gap:2px}
  .nav-link,.nav-action{font-size:11px;padding:9px 7px;white-space:nowrap}
  .nav-link[href="admin.php"]{display:none}
  .custom-circle{display:block}
  .custom-circle>.primary{margin-top:16px;width:100%;justify-content:center}
  .custom-circle h2{font-size:27px}
  .create-modal{padding:23px 20px 24px}
  .create-modal-header h2{font-size:26px}
  .create-modal-actions{flex-direction:column-reverse}
  .create-modal-actions>button{width:100%;justify-content:center}
}


/* v0.15 – dobrovoľné pozvánky do nových kruhov */
.invitations-panel{padding:30px;margin:22px 0 0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;align-items:start}
.invitations-copy h2{font:400 34px/1.2 Georgia,serif;margin:10px 0}
.invitations-copy p{font-size:14px;color:var(--muted);max-width:480px}
.invitations-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.invitations-frequency{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:14px 0}
.invitations-frequency legend{padding:0 4px;font-size:12px;font-weight:700}
.invitations-frequency label{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:400;margin:8px 0!important;cursor:pointer}
.invitations-frequency input,.invitations-consent input{accent-color:var(--green);flex:none}
.invitations-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;cursor:pointer;margin:12px 0 16px}
.invitations-consent a,.subscription-result a{color:var(--green)}
.invitations-message{font-weight:600;color:#356851;font-size:13px;min-height:1.2em}
.subscription-result{width:min(520px,calc(100% - 32px));margin:12vh auto;padding:35px}
.subscription-result h1{font:400 34px/1.2 Georgia,serif}
.subscription-result p{color:var(--muted)}
@media(max-width:900px){.invitations-panel{grid-template-columns:1fr;gap:14px}}
@media(max-width:600px){.invitations-panel{padding:22px}.invitations-fields{grid-template-columns:1fr}.invitations-copy h2{font-size:30px}}

/* v0.15.1 – oprava rozlozenia vyberu frekvencie.
   Povodne globalne input:not([type=checkbox]) nastavovalo aj radiu sirku 100 %. */
.invitations-form{min-width:0}
.invitations-frequency{min-width:0;display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px}
.invitations-frequency legend{max-width:100%;white-space:normal;padding:0 7px}
.invitations-frequency label{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
  margin:0!important;
  padding:10px 12px;
  border:1px solid #e6e7df;
  border-radius:9px;
  background:#fffefa;
  color:var(--ink);
  line-height:1.45;
  cursor:pointer;
}
.invitations-frequency label:hover{background:#f5f7f1;border-color:#cbd9d1}
.invitations-frequency input[type="radio"]{
  display:block;
  box-sizing:border-box;
  appearance:auto;
  -webkit-appearance:radio;
  flex:0 0 17px;
  width:17px!important;
  height:17px!important;
  min-width:17px;
  min-height:17px;
  margin:0;
  padding:0!important;
  border:0;
  border-radius:50%;
  box-shadow:none;
  accent-color:var(--green);
}
.invitations-frequency input[type="radio"]:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.invitations-consent{line-height:1.55;flex-wrap:wrap}
.invitations-consent input[type="checkbox"]{width:16px;height:16px;margin:1px 0 0;flex:0 0 16px}
@media(max-width:600px){
  .invitations-panel{gap:14px}
  .invitations-frequency{padding:12px}
  .invitations-frequency label{padding:11px 9px}
  .invitations-form>.primary{width:100%;justify-content:center}
}


/* v0.16 – kompaktné karty otvorených kruhov a návrhov (desktop aj mobil). */
.home>.directory .room-list{gap:12px}
.room-card.panel{
    display:grid;
    grid-template-columns:100px minmax(0,1fr);
    align-items:start;
    gap:14px;
    padding:14px;
    min-width:0;
}
.room-card-hero{
    width:100px;
    height:100px;
    min-height:0;
    border-radius:11px;
    overflow:hidden;
    align-self:start;
}
.room-card-hero img{width:100%;height:100%;object-fit:cover}
.room-card-content{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.room-card-content h3{font:400 21px/1.22 Georgia,serif;margin:0;overflow-wrap:anywhere}
.room-card-content .room-topic{
    margin:0;
    min-height:0;
    font-size:12px;
    line-height:1.42;
    -webkit-line-clamp:2;
    overflow-wrap:anywhere;
}
.room-card-content .room-card-meta{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:3px 10px;
    margin:0;
    font-size:11px;
}
.room-card-content .room-card-footer{
    width:100%;
    padding:2px 0 0;
    margin:0;
    border:0;
    justify-content:flex-start;
}
.room-card-content .primary,.preset-actions .primary{
    padding:9px 13px;
    font-size:12px;
    gap:8px;
    line-height:1.3;
}
.preset-grid{gap:12px}
.preset-card{
    grid-template-columns:100px minmax(0,1fr);
    align-items:start;
    gap:14px;
    padding:14px;
    border-radius:14px;
}
.preset-visual{
    width:100px;
    height:100px;
    min-height:0;
    overflow:hidden;
    border-radius:11px;
}
.preset-visual img{width:100%;height:100%;object-fit:cover}
.preset-body{display:flex;flex-direction:column;gap:6px;min-width:0;padding:0}
.preset-body h3{font:400 21px/1.22 Georgia,serif;margin:0;overflow-wrap:anywhere}
.preset-question{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:12px;
    line-height:1.42;
    margin:0;
}
.preset-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:3px 0 0}
.preset-actions .outline{
    padding:8px 10px;
    font-size:11px;
    line-height:1.35;
}
@media(max-width:680px){
    .preset-card{grid-template-columns:90px minmax(0,1fr);gap:12px}
    .preset-visual{width:90px;height:90px;min-height:0}
    .preset-body{padding:0}
    .preset-actions .primary,.preset-actions .outline{width:auto;justify-content:center}
}
@media(max-width:520px){
    .room-card.panel{grid-template-columns:86px minmax(0,1fr);gap:11px;padding:12px}
    .room-card-hero{width:86px;height:86px}
    .room-card-content h3,.preset-body h3{font-size:19px}
    .room-card-content .room-card-meta{font-size:10px}
    .preset-card{grid-template-columns:86px minmax(0,1fr);gap:11px;padding:12px}
    .preset-visual{width:86px;height:86px;min-height:0}
}
