.admin-layout{min-height:100vh;background:#f4f5fa}.admin-layout__header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:#fff;border-bottom:1px solid #e6e5f2}.admin-layout__left{display:flex;align-items:center;gap:28px}.admin-layout__brand{font-size:18px;font-weight:800;color:#3a3466;text-decoration:none}.admin-layout__nav{display:flex;gap:4px}.admin-layout__tab{font-size:14px;font-weight:600;color:#8b8299;text-decoration:none;padding:6px 14px;border-radius:8px;transition:color .15s ease,background .15s ease}.admin-layout__tab:hover{color:#3a3466;background:#f4f3fb}.admin-layout__tab--active{color:#6a5ce8;background:#ededfc}.admin-layout__logout{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:13px;font-weight:600;padding:8px 16px;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.admin-layout__logout:hover{background:#f4f3fb;border-color:#c7c4e0}.admin-layout__content{max-width:1000px;margin:0 auto;padding:32px 24px 60px}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f5fa;padding:20px}.admin-login__card{width:100%;max-width:360px;background:#fff;border-radius:20px;padding:32px 28px;box-shadow:0 12px 32px #1e183c14}.admin-login__title{margin:0 0 6px;font-size:22px;font-weight:800;color:#2d2440}.admin-login__subtitle{margin:0 0 22px;font-size:14px;color:#8b8299}.admin-login__field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;color:#5b5480}.admin-login__field input{border:1px solid #d9d7ea;border-radius:10px;padding:10px 12px;font-size:14px;color:#2d2440;outline:none;transition:border-color .15s ease}.admin-login__field input:focus{border-color:#7b6ff2}.admin-login__error{color:#d64545;font-size:13px;margin:-4px 0 14px}.admin-login__submit{width:100%;border:none;background:#6a5ce8;color:#fff;font-size:15px;font-weight:700;padding:12px;border-radius:12px;cursor:pointer;transition:filter .15s ease}.admin-login__submit:hover{filter:brightness(1.06)}.dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.dashboard__title{font-size:24px;font-weight:800;color:#2d2440;margin:0}.dashboard__create{background:#6a5ce8;color:#fff;font-size:14px;font-weight:700;padding:10px 18px;border-radius:12px;text-decoration:none;transition:filter .15s ease}.dashboard__create:hover{filter:brightness(1.06)}.dashboard__empty{color:#8b8299;font-size:15px}.dashboard__list{display:flex;flex-direction:column;gap:12px}.land-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 4px 14px #1e183c0f;flex-wrap:wrap}.land-row__title{margin:0 0 4px;font-size:16px;font-weight:700;color:#2d2440}.land-row__meta{margin:0;font-size:13px;color:#8b8299}.land-row__actions{display:flex;gap:8px;flex-wrap:wrap}.land-row__btn{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease}.land-row__btn:hover{background:#f4f3fb;border-color:#c7c4e0}.land-row__btn--danger{color:#d64545;border-color:#f3d3d3}.land-row__btn--danger:hover{background:#fdecec;border-color:#e8a5a5}.editor__title{font-size:24px;font-weight:800;color:#2d2440;margin:0 0 22px}.editor__section{background:#fff;border-radius:16px;padding:22px 20px;margin-bottom:18px;box-shadow:0 4px 14px #1e183c0f}.editor__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.editor__section-header h2{font-size:16px;font-weight:700;color:#2d2440;margin:0}.editor__add-participant{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer}.editor__add-participant:hover{background:#f4f3fb}.editor__field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:600;color:#5b5480}.editor__field input,.editor__field textarea{border:1px solid #d9d7ea;border-radius:10px;padding:9px 12px;font-size:14px;color:#2d2440;outline:none;font-family:inherit;resize:vertical;transition:border-color .15s ease}.editor__field input:focus,.editor__field textarea:focus{border-color:#7b6ff2}.editor__slug-row{display:flex;align-items:center;border:1px solid #d9d7ea;border-radius:10px;overflow:hidden}.editor__slug-prefix{padding:9px 4px 9px 12px;color:#b3abc4;font-size:14px}.editor__slug-row input{border:none;flex:1;padding:9px 12px 9px 0}.editor__slug-row input:focus{border:none}.design-picker{display:flex;gap:10px;flex-wrap:wrap}.design-picker__option{flex:1;min-width:180px;border:2px solid #e6e5f2;border-radius:12px;padding:14px 16px;background:#fff;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease,box-shadow .15s ease}.design-picker__option:hover{border-color:#c7c4e0}.design-picker__option--active{border-color:#6a5ce8;box-shadow:0 0 0 3px #6a5ce826}.design-picker__label{font-size:14px;font-weight:700;color:#2d2440}.design-picker__desc{font-size:12px;color:#8b8299}.editor__participants{display:flex;flex-direction:column;gap:16px}.participant-form{border:1px solid #ece9f7;border-radius:14px;padding:16px}.participant-form__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px;font-weight:700;color:#8b8299}.participant-form__remove{border:none;background:transparent;color:#d64545;font-size:12px;font-weight:600;cursor:pointer}.participant-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.participant-form__row{display:flex;align-items:center;gap:12px;margin-top:6px}.participant-form__label{font-size:13px;font-weight:600;color:#5b5480;min-width:64px}.drawing-picker{display:flex;gap:8px}.drawing-picker__option{width:44px;height:44px;border-radius:10px;border:2px solid transparent;padding:0;overflow:hidden;cursor:pointer;background:none}.drawing-picker__option--active{border-color:#6a5ce8}.drawing-picker__preview{width:100%;height:100%;display:block}.color-picker{display:flex;gap:8px}.color-picker__swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-picker__swatch--active{border-color:#2d2440}.editor__error{color:#d64545;font-size:13px;margin:0 0 14px}.editor__actions{display:flex;justify-content:flex-end;gap:10px}.editor__cancel{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:14px;font-weight:600;padding:10px 20px;border-radius:12px;cursor:pointer}.editor__submit{border:none;background:#6a5ce8;color:#fff;font-size:14px;font-weight:700;padding:10px 24px;border-radius:12px;cursor:pointer}.editor__submit:hover{filter:brightness(1.06)}@media (max-width: 560px){.participant-form__grid{grid-template-columns:1fr}}.sessions__header{margin-bottom:24px}.sessions__title-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.sessions__title{font-size:24px;font-weight:800;color:#2d2440;margin:0}.sessions__badge{background:#e1f7ea;color:#2a7d4f;font-size:13px;font-weight:700;padding:4px 12px;border-radius:20px}.sessions__filters{display:flex;gap:6px}.sessions__filter{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:13px;font-weight:600;padding:7px 14px;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sessions__filter:hover{background:#f4f3fb;border-color:#c7c4e0}.sessions__filter--active{background:#6a5ce8;border-color:#6a5ce8;color:#fff}.sessions__filter--active:hover{background:#5a4dd6;border-color:#5a4dd6}.sessions__empty{color:#8b8299;font-size:15px}.sessions__error{color:#d64545;font-size:14px;margin-bottom:16px}.sessions__list{display:flex;flex-direction:column;gap:10px}.session-row{display:flex;align-items:flex-start;gap:14px;background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 4px 14px #1e183c0f}.session-row__status{padding-top:6px}.session-row__dot{display:block;width:10px;height:10px;border-radius:50%;background:#d9d7ea}.session-row__dot--online{background:#4caf50;box-shadow:0 0 6px #4caf5080}.session-row__info{flex:1;min-width:0}.session-row__name{font-size:15px;font-weight:700;color:#2d2440;margin-bottom:4px}.session-row__username{color:#6a5ce8;font-weight:600;margin-left:8px;font-size:13px}.session-row__meta{font-size:13px;color:#5b5480;margin-bottom:2px}.session-row__dates{font-size:12px;color:#8b8299}.session-row__actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.session-row__online-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;background:#f4f3fb;color:#8b8299}.session-row__online-badge--active{background:#e1f7ea;color:#2a7d4f}.session-row__download-wrap{position:relative}.session-row__download{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:13px;font-weight:600;padding:7px 14px;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.session-row__download:hover{background:#f4f3fb;border-color:#c7c4e0}.session-row__menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e6e5f2;border-radius:12px;box-shadow:0 8px 24px #1e183c1f;z-index:10;overflow:hidden;min-width:260px}.session-row__menu button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:10px 16px;font-size:13px;font-weight:600;color:#2d2440;cursor:pointer;transition:background .12s ease}.session-row__menu button:hover{background:#f4f3fb}.session-row__check{border:1px solid #d9d7ea;background:#fff;color:#5b5480;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;cursor:pointer;transition:background .15s ease}.session-row__check:hover{background:#f4f3fb}.session-row__delete{border:none;background:transparent;color:#d64545;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;cursor:pointer;transition:background .15s ease}.session-row__delete:hover{background:#fdecec}@media (max-width: 600px){.session-row{flex-direction:column}.session-row__actions{flex-direction:row;align-items:center;width:100%;flex-wrap:wrap}}.card{display:flex;gap:18px;align-items:center;background:#fff;border-radius:24px;padding:18px;box-shadow:0 6px 20px #281e3c14;border:3px solid transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #281e3c1f}.card--voted{border-color:var(--accent)}.card__avatar{position:relative;flex-shrink:0;width:108px;height:108px;border-radius:20px;overflow:hidden;background:var(--accent-soft);border:4px solid var(--accent);display:flex;align-items:center;justify-content:center}.card__avatar-img{width:100%;height:100%;display:block}.card__badge{position:absolute;top:-8px;right:-8px;width:30px;height:30px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 3px 8px #0003}.card__body{flex:1;min-width:0}.card__name{margin:0;font-size:20px;font-weight:800;color:#2d2440}.card__meta{margin:2px 0 0;font-size:13px;color:#8b8299}.card__work{margin:8px 0 0;font-size:15px;color:#4a3f66;font-style:italic}.card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.card__votes{font-size:13px;color:#6b6180}.card__votes strong{font-size:17px;color:var(--accent)}.vote-btn{border:none;background:var(--accent);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .12s ease,filter .12s ease;box-shadow:0 4px 12px #0000001f}.vote-btn:hover:not(:disabled){transform:scale(1.05);filter:brightness(1.06)}.vote-btn:active:not(:disabled){transform:scale(.97)}.vote-btn:disabled{cursor:default;opacity:.55}.vote-btn--done{opacity:1;background:var(--accent)}@media (max-width: 480px){.card{flex-direction:column;align-items:flex-start;text-align:left}.card__avatar{width:100%;height:160px}}.auth-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d24408c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fadeIn .15s ease}.auth-modal{position:relative;background:#fff;border-radius:24px;padding:32px 28px 26px;max-width:380px;width:100%;text-align:center;box-shadow:0 24px 60px #140f284d;animation:popIn .22s cubic-bezier(.2,.8,.2,1)}.auth-modal__close{position:absolute;top:12px;right:14px;border:none;background:transparent;font-size:22px;line-height:1;color:#b3abc4;cursor:pointer;padding:4px 8px;border-radius:8px}.auth-modal__close:hover{background:#f3eef9;color:#6b6180}.auth-modal__icon{display:flex;justify-content:center;margin-bottom:14px}.auth-modal__icon svg{width:56px;height:56px}.auth-modal__title{margin:0 0 10px;font-size:21px;font-weight:800;color:#2d2440}.auth-modal__text{margin:0 0 22px;font-size:14px;line-height:1.55;color:#6b6180}.tg-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:none;background:#29a9ea;color:#fff;font-size:15px;font-weight:700;padding:13px 18px;border-radius:14px;cursor:pointer;transition:transform .12s ease,filter .12s ease;box-shadow:0 6px 16px #29a9ea59}.tg-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.tg-btn:active{transform:translateY(0) scale(.98)}.tg-btn__icon{width:20px;height:20px}.tg-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-modal__input-group{margin-bottom:16px}.auth-modal__input{width:100%;border:2px solid #e6e5f2;border-radius:12px;padding:12px 16px;font-size:16px;font-family:inherit;color:#2d2440;outline:none;text-align:center;transition:border-color .15s ease;box-sizing:border-box}.auth-modal__input:focus{border-color:#29a9ea}.auth-modal__input::placeholder{color:#b3abc4}.auth-modal__input--code{font-size:24px;font-weight:700;letter-spacing:8px}.auth-modal__error{color:#d64545;font-size:13px;margin:-8px 0 12px}.auth-modal__back{border:none;background:transparent;color:#8b8299;font-size:13px;font-weight:600;cursor:pointer;padding:8px 0;margin-top:8px;transition:color .15s ease}.auth-modal__back:hover{color:#5b5480}.spinner--small{width:14px;height:14px;border-width:2px}.auth-modal__status{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:700;color:#4a3f66;padding:13px 0}.auth-modal__status--success{color:#2f9e5c}.spinner{width:18px;height:18px;border:3px solid #e2dcee;border-top-color:#29a9ea;border-radius:50%;animation:spin .8s linear infinite}.auth-modal__hint{margin:18px 0 0;font-size:12px;color:#b3abc4}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.landing{position:relative;min-height:100vh;padding:48px 20px 40px;overflow:hidden}.landing__decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.decor{position:absolute;font-size:22px;opacity:.35}.decor--star{color:#ffb84d}.decor--dot{color:#ff8fb1;font-size:14px}.landing__header{position:relative;max-width:720px;margin:0 auto 40px;text-align:center}.landing__eyebrow{display:inline-block;background:#fff2cc;color:#c07a00;font-size:12px;font-weight:800;letter-spacing:.06em;padding:6px 14px;border-radius:999px;margin-bottom:14px}.landing__title{font-size:clamp(28px,4vw,42px);font-weight:900;color:#2d2440;margin:0 0 12px;line-height:1.2}.landing__subtitle{font-size:16px;color:#6b6180;margin:0;line-height:1.5}.landing__grid{position:relative;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.landing__thanks{position:relative;max-width:760px;margin:28px auto 0;text-align:center;background:#fff;border-radius:16px;padding:16px 20px;color:#4a3f66;font-weight:600;box-shadow:0 6px 18px #281e3c14}.landing__footer{position:relative;text-align:center;margin-top:48px;font-size:13px;color:#b3abc4}.not-found-land{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#6b6180}.not-found-land h1{font-size:28px;color:#2d2440;margin:0 0 10px}.not-found-land p{margin:0;font-size:15px}:root{color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Segoe UI,Nunito,system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,#fef6ec,#fdf1f7 55%,#eef6ff);color:#2d2440;min-height:100vh}button{font-family:inherit}#root{min-height:100vh}
