:root{--bg:#f4f5f1;--surface:#fff;--ink:#1d3028;--muted:#66756e;--line:#dfe5df;--green:#164e3b;--green-hover:#0d3b2b;--soft:#e9f0e8;--accent:#cce77f;--danger:#a8332f;--shadow:0 14px 45px #193e2810;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;transition:background .15s,transform .15s}button:disabled{opacity:.55;cursor:wait}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #78a856;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.16;letter-spacing:-1px;font-weight:680}h2{font-size:22px;line-height:1.3;letter-spacing:-.4px}h3{font-size:18px;line-height:1.35;letter-spacing:-.2px}p{overflow-wrap:anywhere}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--surface);border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;padding:34px 20px;display:flex;flex-direction:column;gap:30px}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none}.brand-icon{background:var(--green);color:#fff;width:42px;height:44px;display:grid;place-items:center;border-radius:12px;font-family:Georgia,serif;font-size:23px}.brand-name{font-size:18px;font-weight:730;letter-spacing:-.5px;line-height:1.25}.brand-name small{font-size:11px;letter-spacing:.6px;font-weight:500;color:var(--muted);display:block;margin-top:4px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:11px;background:none;color:var(--muted);text-align:left;font-weight:560}.nav button.active{background:var(--soft);color:var(--green)}.nav button:hover{background:var(--soft)}.sidebar-foot{margin-top:auto}.member-chip{display:flex;align-items:center;gap:10px;margin-bottom:12px}.member-chip strong{display:block;font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.content{width:100%;max-width:1150px;margin:0 auto;padding:38px 42px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px;color:var(--muted);font-size:13px}.topbar a{font-weight:600;text-decoration:none}.demo{border:1px solid #d8cfa5;background:#fff9e7;color:#706036;padding:9px 14px;border-radius:10px;font-size:12px;margin-bottom:24px;display:flex;justify-content:space-between;gap:12px;align-items:center}.demo button{background:transparent;text-decoration:underline;color:inherit;white-space:nowrap}.page-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.page-head p{color:var(--muted);margin-top:10px;max-width:590px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 17px;background:var(--green);color:#fff;border:1px solid transparent;border-radius:10px;font-weight:610;font-size:14px;text-decoration:none;white-space:normal}.btn:hover{background:var(--green-hover)}.btn.light{background:var(--soft);color:var(--green)}.btn.outline{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn.ghost{background:transparent;color:var(--muted);padding:8px}.btn.danger{color:var(--danger);background:#fceeea}.btn.compact{min-height:35px;font-size:12px;padding:6px 11px}.full{width:100%}.hero{background:var(--green);color:white;border-radius:19px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.hero .eyebrow{font-size:12px;color:#c8dfbf;margin-bottom:10px;display:block}.hero h2{font-size:26px;max-width:470px}.hero p{color:#d2dfd5;max-width:480px;font-size:14px;margin-top:9px}.hero .btn{background:var(--accent);color:#203a1f;margin-top:18px}.hero-art{height:128px;width:128px;min-width:128px;border:1px solid #ffffff30;border-radius:50%;display:grid;place-items:center;position:relative;font:italic 55px Georgia;color:var(--accent)}.hero-art:after{content:"";position:absolute;inset:15px;border:1px solid #ffffff30;border-radius:50%}.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}.stack{display:grid;gap:16px;align-content:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:23px;min-width:0}.card p{margin-top:12px}.card-top{display:flex;gap:10px;align-items:center;margin-bottom:17px}.card-top .by{flex:1;min-width:0}.by strong{font-size:13px;display:block}.by small{font-size:12px;color:var(--muted)}.avatar{height:40px;width:40px;min-width:40px;border-radius:50%;background:var(--soft);color:var(--green);display:grid;place-items:center;font-weight:640;font-size:13px}.avatar.big{height:62px;width:62px;font-size:20px}.avatar.c1{background:#eee8de;color:#866846}.avatar.c2{background:#e1eaf1;color:#395d7c}.avatar.c3{background:#ebe5f0;color:#6b527c}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;background:var(--soft);color:var(--green);padding:3px 8px;font-size:11px;font-weight:600;white-space:nowrap}.badge.paid{background:#f6efdb;color:#816121}.badge.pending{background:#fff1df;color:#895712}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.body-text{white-space:pre-wrap}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.actions .right{margin-left:auto}.action{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--muted);padding:6px;border-radius:7px;font-size:13px;min-height:34px}.action:hover,.action.on{color:var(--green);background:var(--soft)}.action svg{width:17px;height:17px}.filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 0 20px;padding:2px 0 4px;max-width:100%}.filter{white-space:nowrap;background:var(--surface);color:var(--muted);border:1px solid var(--line);padding:8px 14px;border-radius:9px;font-size:13px}.filter.active{background:var(--green);border-color:var(--green);color:#fff}.search{display:flex;gap:10px;align-items:center;background:var(--surface);padding:12px 15px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.search input{background:none;border:0;padding:0;flex:1;min-width:0;outline:none}.search svg{color:var(--muted)}.people-grid,.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.person-top{display:flex;gap:13px;align-items:center;margin-bottom:18px}.person-top h3{font-size:17px}.person-top p{font-size:12px;color:var(--muted);margin:3px 0}.info-label{display:block;font-size:11px;color:var(--muted);margin:18px 0 5px;font-weight:650;text-transform:uppercase;letter-spacing:.5px}.person-card .body-text{font-size:14px;margin:0}.reason{font-size:12px;color:var(--green);background:var(--soft);padding:10px 12px;border-radius:9px;margin:16px 0}.aside-title{font-size:15px;margin-bottom:13px}.task{display:flex;gap:10px;font-size:13px;align-items:flex-start;margin-top:13px}.task .step{display:grid;place-items:center;min-width:22px;height:22px;border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--muted)}.task.done .step{background:var(--soft);color:var(--green);border-color:var(--soft)}.mini-event{margin-top:16px;border-top:1px solid var(--line);padding-top:16px;font-size:13px}.mini-event strong{display:block;margin:5px 0}.event-card{display:flex;gap:20px}.date-box{background:var(--soft);color:var(--green);border-radius:12px;text-align:center;padding:10px;min-width:64px;height:77px}.date-box strong{display:block;font-size:29px;line-height:1.1}.date-box small{font-size:11px}.event-body{flex:1;min-width:0}.event-meta{display:flex;gap:13px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:9px 0}.rsvp{display:flex;gap:5px;margin-top:17px}.rsvp button{flex:1;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:12px;padding:9px 6px}.rsvp button.selected{background:var(--green);color:#fff;border-color:var(--green)}.note{padding:13px 16px;background:var(--soft);border-radius:10px;font-size:13px;color:var(--green);margin-bottom:18px}.lock-note{font-size:12px;color:var(--muted);margin-top:14px;display:flex;gap:7px;align-items:center}.resource-icon{width:45px;height:45px;border-radius:12px;background:var(--soft);color:var(--green);display:grid;place-items:center;margin-bottom:17px}.resource-card{display:flex;flex-direction:column;align-items:flex-start}.resource-card h3{font-size:19px}.resource-card p{font-size:13px;color:var(--muted);flex:1}.resource-card .actions{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:6px;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface);padding:11px 12px;font-size:14px;min-width:0}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);flex:none}label.check{display:flex;align-items:center;gap:10px;font-weight:450;margin-top:13px}.wide{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);font-weight:400}.form-actions{display:flex;gap:10px;margin-top:24px}.empty{padding:45px 24px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:15px;color:var(--muted)}.empty svg{height:30px;width:30px;color:var(--green);margin-bottom:14px}.empty h3{color:var(--ink);margin-bottom:8px}.empty p{font-size:14px;max-width:430px;margin:0 auto}.empty .btn{margin-top:18px}.loading{padding:80px 25px;text-align:center;color:var(--muted)}.error{padding:15px;background:#fff0ec;color:var(--danger);border-radius:10px;font-size:13px;margin-bottom:15px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font-size:28px;letter-spacing:-1px}.stat span{font-size:12px;color:var(--muted)}.admin-row{padding:18px 0;border-top:1px solid var(--line)}.admin-row:first-child{border:0;padding-top:0}.row-head{display:flex;gap:12px;justify-content:space-between;align-items:center}.row-head p{font-size:12px;margin:3px 0}.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:12px}.inline-form label{flex:1;min-width:110px;font-size:11px}.inline-form input,.inline-form select{font-size:12px;padding:8px}.history{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.comments{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.comment{background:var(--bg);padding:12px 15px;border-radius:10px;margin-bottom:10px}.comment strong{font-size:12px}.comment p{font-size:13px;margin-top:5px}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;padding:28px;width:min(620px,calc(100vw - 24px));max-height:90dvh;box-shadow:var(--shadow)}dialog::backdrop{background:#0c201e75;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.modal-head h2{font-size:23px}.modal-body{max-height:65dvh;overflow:auto}.close{background:var(--bg);color:var(--muted);width:35px;height:35px;border-radius:50%;display:grid;place-items:center;flex:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:50;background:var(--ink);color:#fff;padding:13px 20px;border-radius:12px;max-width:90vw;font-size:14px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.login{min-height:100dvh;display:grid;place-items:center;padding:25px}.login-card{max-width:460px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:36px}.login-card .brand{margin-bottom:42px}.login-card h1{font-size:32px}.login-card p{color:var(--muted);margin:15px 0 25px}.login-options{display:grid;gap:10px;margin-top:20px}.bottom-nav{display:none}.section-gap{margin-top:24px}.intro-status{font-size:12px;color:var(--green);margin-top:12px}.profile-summary{display:flex;gap:16px;align-items:center;margin-bottom:25px}.profile-summary p{color:var(--muted);margin-top:5px}.entry-steps{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.entry-steps span{padding:5px 9px;border:1px solid var(--line);border-radius:6px;font-size:11px}.entry-steps span.done{background:var(--soft);color:var(--green)}.mobile-brand{display:none}.split{display:flex;gap:10px;align-items:center;justify-content:space-between}.no-wrap{white-space:nowrap}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.content{padding-top:44px}}@media(max-width:1100px){.shell{grid-template-columns:200px 1fr}.sidebar{padding:26px 15px}.content{padding:30px 26px 55px}.layout{grid-template-columns:1fr}.layout>aside{display:grid}.brand-name{font-size:16px}.people-grid,.resource-grid{gap:13px}.card{padding:20px}}
@media(max-width:700px){.shell{display:block}.sidebar{display:none}.content{padding:18px 18px calc(98px + env(safe-area-inset-bottom))}.topbar{margin-bottom:20px}.topbar .desktop-label{display:none}.mobile-brand{display:flex}.mobile-brand .brand-icon{width:32px;height:34px;font-size:19px;border-radius:9px}.mobile-brand .brand-name{font-size:15px}.mobile-brand small{display:none}.demo{font-size:10px;padding:8px 10px;margin-bottom:21px;line-height:1.4}.demo button{font-size:10px}.page-head{margin-bottom:21px;gap:12px}.page-head .btn{padding:10px 12px;font-size:12px}.page-head .btn svg{width:17px}h1{font-size:29px}.page-head p{font-size:13px;margin-top:8px}.hero{padding:23px;border-radius:15px}.hero h2{font-size:24px}.hero p{font-size:13px}.hero-art{display:none}.hero .btn{font-size:13px}.people-grid,.resource-grid{grid-template-columns:1fr}.card{padding:20px}.event-card{gap:12px}.date-box{min-width:52px;height:65px;padding:8px}.date-box strong{font-size:25px}.event-meta{gap:7px}.event-body h3{font-size:17px}.event-body p{font-size:13px}.rsvp{gap:4px}.rsvp button{font-size:11px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 7px calc(8px + env(safe-area-inset-bottom));z-index:20}.bottom-nav button{background:none;color:var(--muted);padding:5px 0;font-size:10px;display:grid;gap:4px;justify-items:center}.bottom-nav button.active{color:var(--green);font-weight:650}.bottom-nav svg{width:21px;height:21px}.bottom-nav .active svg{stroke-width:2.2}#toast{bottom:95px}.stat-grid{grid-template-columns:1fr 1fr}.stat{padding:14px}.stat strong{font-size:25px}dialog{padding:23px;max-height:90dvh}.login-card{padding:29px}.inline-form{gap:8px}.inline-form label{min-width:100px}.topbar .btn{min-height:32px;font-size:11px;padding:5px 9px}.profile-summary .avatar{height:52px;width:52px}.filters{margin-bottom:17px}.resource-icon{margin-bottom:14px}}
@media(prefers-color-scheme:dark){:root{--bg:#14231e;--surface:#1d2f27;--ink:#eef3ea;--muted:#acb9ae;--line:#35483d;--green:#b0d99d;--green-hover:#c5e8b5;--soft:#2c4331;--accent:#cce77f;color-scheme:dark}.btn{color:#15301b}.hero{background:#203e2b}.hero h2{color:#f0f5ea}.hero .btn{color:#17361d}.brand-icon{color:#1d3028}.badge.paid{background:#4b432b;color:#f2d994}.demo{background:#393321;color:#ecdda8;border-color:#655936}.badge.pending{background:#544125;color:#f5dcb3}.error{background:#502c25;color:#ffcbbb}.btn.danger{background:#4d2e2b;color:#ffcbbb}.rsvp button.selected,.filter.active{color:#16331c}#toast{background:#dcebd5;color:#143021}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:var(--muted);font-size:10px;font-weight:600;line-height:1.2;flex:1;min-width:0;padding:10px 3px}.bottom-nav a span{font-size:21px;line-height:1}.bottom-nav a.active{color:var(--green)}
/* Club identity: original artwork supplied by the founder, no asset alterations. */
:root{--bg:#f5f6fa;--ink:#171b2a;--muted:#687083;--line:#e0e4ee;--green:#071cc7;--green-hover:#06169d;--soft:#edf0ff;--accent:#e4e9ff;--shadow:0 14px 45px #111c5010}
.club-logo{display:block;object-fit:contain;background:#fff;border-radius:8px;flex:none;width:62px;height:69px}.login-card>.club-logo{width:116px;height:129px;margin-bottom:18px}.brand{gap:8px}.mobile-brand{align-items:center;gap:7px;text-decoration:none;color:var(--ink);font-weight:700;line-height:1.1}.mobile-brand .club-logo{width:42px;height:47px}.mobile-brand span{font-size:13px}.nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:11px;text-decoration:none;color:var(--muted);font-weight:560}.nav a.active,.nav a:hover{background:var(--soft);color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#8797ff}
@media(prefers-color-scheme:dark){:root{--bg:#111423;--surface:#1a1e30;--ink:#f0f2fb;--muted:#a5acc5;--line:#343b55;--green:#9baaff;--green-hover:#bcc6ff;--soft:#252e50;--accent:#e4e9ff}.hero{background:#071cc7;color:#fff}.hero .btn{color:#071cc7}.club-logo{background:white}}
/* Palette sampled from the rendered https://fedorov-team.ru/club page. */
:root{--bg:#f2f3f5;--surface:#fff;--ink:#222;--muted:#666;--line:#e1e2e4;--green:#222;--green-hover:#333;--soft:#f0f3e5;--accent:#add600;--shadow:0 14px 45px #2222220c;color-scheme:light}
.btn{background:#add600;color:#1f2908}.btn:hover{background:#bedf3a;color:#1f2908}.btn.light{background:#add600;color:#1f2908}.btn.outline{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:#a8332f;color:#fff}.hero{background:#222;color:#fff}.hero .btn{background:#add600;color:#1f2908}.hero p{color:#e2e2e2}.hero .eyebrow{color:#add600}.hero-art{color:#add600}.filter.active,.rsvp.selected{background:#add600;color:#1f2908}.nav a.active,.nav a:hover{background:#add600;color:#1f2908}.bottom-nav a.active{color:#222;background:#f0f3e5;border-radius:10px}.bottom-nav a.active span{color:#526700}.badge{background:#f2f3f5;color:#444}.badge.paid{background:#eff5d9;color:#354400}.reason,.resource-icon,.date-box{background:#f0f3e5;color:#354400}.avatar{background:#e8e9eb;color:#444}.avatar.c1{background:#eff5d9;color:#354400}.avatar.c2{background:#ececec;color:#444}.avatar.c3{background:#f3ebe8;color:#654d45}.demo{background:#f7f7f2;border-color:#e1e2d8;color:#666}.note{background:#f2f3f5;color:#444}.action.on{color:#354400;background:#eff5d9}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#6c8600}
@media(prefers-color-scheme:dark){:root{--bg:#191919;--surface:#262626;--ink:#f5f5f5;--muted:#b3b3b3;--line:#414141;--green:#add600;--green-hover:#bedf3a;--soft:#303722;--accent:#add600;color-scheme:dark}.hero{background:#222}.hero .btn{color:#1f2908}.badge,.note{background:#333;color:#ddd}.badge.paid,.reason,.resource-icon,.date-box{background:#303722;color:#d5e99a}.demo{background:#262626;color:#bbb;border-color:#414141}.bottom-nav a.active{background:#303722;color:#f5f5f5}.bottom-nav a.active span{color:#add600}}
.video-wrap{aspect-ratio:16/9;background:#222;border-radius:12px;overflow:hidden;margin-top:20px}.video-wrap iframe{width:100%;height:100%;border:0;display:block}.attachment-link{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);overflow-wrap:anywhere}dialog:has(.video-wrap){width:min(920px,calc(100vw - 24px));max-width:920px}

/* Keep administrative actions within narrow Telegram/browser viewports. */
@media(max-width:600px){
 .page-head{flex-wrap:wrap}
 .page-head>div{flex:1 1 100%;min-width:0}
 .page-head>.btn{flex:1 1 140px;min-width:0}
 .form-grid label{min-width:0}
 .form-grid input,.form-grid select,.form-grid textarea{max-width:100%;min-width:0}
 .admin-row{overflow-wrap:anywhere}
}
