.author-dashboard-overlay{display:none;position:fixed;inset:0;z-index:300}.author-dashboard-overlay--open{display:block}.author-dashboard-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4)}.author-dashboard-sheet{max-height:85vh}@keyframes dashboard-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.author-dashboard-handle{width:36px;height:4px;border-radius:2px;background:var(--tg-theme-section-separator-color,#e0e0e0);margin:10px auto 0;flex-shrink:0}.author-dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--tg-theme-section-separator-color,#e0e0e0);flex-shrink:0}.author-dashboard-title{font-size:var(--sf-font-size-lg);font-weight:var(--sf-font-weight-bold);color:var(--tg-theme-text-color,#000)}.author-dashboard-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:var(--tg-theme-hint-color,#999);border-radius:var(--sf-radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s;flex-shrink:0}.author-dashboard-close-btn:active{background:var(--tg-theme-secondary-bg-color,#f0f0f0)}.author-dashboard-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 24px}.author-dashboard-loading{display:flex;align-items:center;justify-content:center;padding:48px 0}.author-dashboard-spinner{width:28px;height:28px;border:2.5px solid var(--tg-theme-section-separator-color,#e0e0e0);border-top-color:var(--tg-theme-button-color,#3390ec);border-radius:50%;animation:dashboard-spin .7s linear infinite}@keyframes dashboard-spin{to{transform:rotate(1turn)}}.author-dashboard-error{padding:32px 16px;text-align:center;color:var(--tg-theme-hint-color,#999);font-size:var(--sf-font-size-base);display:flex;flex-direction:column;gap:6px;align-items:center}.author-dashboard-error-detail{font-size:var(--sf-font-size-xs);opacity:.7}.author-dashboard-retry-btn{margin-top:8px;padding:var(--sf-btn-padding-lg);border-radius:var(--sf-radius-lg);border:none;background:var(--tg-theme-button-color,#3390ec);color:var(--tg-theme-button-text-color,#fff);font-size:var(--sf-font-size-base);font-family:inherit;cursor:pointer}.author-dashboard-content{display:flex;flex-direction:column;gap:0}.author-score-block{display:flex;flex-direction:column;align-items:center;padding:24px 16px 16px;border-bottom:1px solid var(--tg-theme-section-separator-color,#e0e0e0)}.author-score-value{font-size:64px;font-weight:var(--sf-font-weight-extrabold);line-height:1;letter-spacing:-2px;font-variant-numeric:tabular-nums}.author-score-label{margin-top:6px;font-size:var(--sf-font-size-md);color:var(--tg-theme-hint-color,#999)}.author-score-max{font-size:var(--sf-font-size-xs);opacity:.7}.author-chart-block{padding:16px 16px 12px;border-bottom:1px solid var(--tg-theme-section-separator-color,#e0e0e0)}.author-chart-title{font-size:var(--sf-font-size-sm);font-weight:var(--sf-font-weight-semibold);color:var(--tg-theme-hint-color,#999);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.author-chart-svg{display:block;width:100%;height:80px}.author-chart-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:var(--sf-font-size-2xs);color:var(--tg-theme-hint-color,#999)}.author-cooldown-block{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:var(--sf-font-size-md);border-bottom:1px solid var(--tg-theme-section-separator-color,#e0e0e0)}.author-cooldown-ready{color:#34c759}.author-cooldown-waiting{color:var(--tg-theme-text-color,#000)}.author-cooldown-icon{font-size:var(--sf-font-size-lg);flex-shrink:0}.author-cooldown-text strong{font-weight:var(--sf-font-weight-bold)}.author-stats-block{padding:16px 16px 12px;border-bottom:1px solid var(--tg-theme-section-separator-color,#e0e0e0)}.author-stats-title{font-size:var(--sf-font-size-sm);font-weight:var(--sf-font-weight-semibold);color:var(--tg-theme-hint-color,#999);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.author-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px}.author-stats-grid .author-stat-item:nth-child(n+4){grid-column:span 1}.author-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.author-stat-value{font-size:20px;font-weight:var(--sf-font-weight-bold);color:var(--tg-theme-text-color,#000);font-variant-numeric:tabular-nums;line-height:1.2}.author-stat-value--likes{color:var(--tg-theme-button-color,#3390ec)}.author-stat-value--dislikes{color:#e53935}.author-stat-label{font-size:var(--sf-font-size-2xs);color:var(--tg-theme-hint-color,#999);text-align:center;line-height:1.3}.author-posts-block{padding:16px 16px 0}.author-posts-title{font-size:var(--sf-font-size-sm);font-weight:var(--sf-font-weight-semibold);color:var(--tg-theme-hint-color,#999);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.author-posts-empty{font-size:var(--sf-font-size-md);color:var(--tg-theme-hint-color,#999);padding:12px 0;text-align:center}.author-posts-list{display:flex;flex-direction:column;gap:0}.author-post-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--tg-theme-section-separator-color,#e0e0e0)}.author-post-row:last-child{border-bottom:none}.author-post-preview{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.author-post-text{font-size:var(--sf-font-size-md);color:var(--tg-theme-text-color,#000);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.author-post-status{display:inline-block;font-size:var(--sf-font-size-2xs);padding:1px 6px;border-radius:var(--sf-radius-xs);background:var(--tg-theme-secondary-bg-color,#f0f0f0);color:var(--tg-theme-hint-color,#999);font-weight:var(--sf-font-weight-medium);align-self:flex-start}.author-post-status--published{background:color-mix(in srgb,#34c759 15%,transparent);color:#34c759}@supports not (color:color-mix(in srgb,red 50%,blue)){.author-post-status--published{background:rgba(52,199,89,.15);color:#34c759}}.author-post-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.author-post-metric{display:inline-flex;align-items:center;gap:4px;font-size:var(--sf-font-size-xs);color:var(--tg-theme-hint-color,#999);font-variant-numeric:tabular-nums;white-space:nowrap}.author-post-metric--likes{color:var(--tg-theme-button-color,#3390ec)}.author-post-metric--dislikes{color:#e53935}.login-promo{display:flex;flex-direction:column;gap:8px;scroll-margin-top:calc(var(--sf-app-header-height) + 8px)}.login-promo-head{display:flex;align-items:center;gap:8px}.login-promo-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.login-promo-brand{font-size:var(--sf-font-size-base)}.login-promo-brand,.login-promo-title{font-weight:var(--sf-font-weight-semibold);color:var(--tg-theme-text-color,#000000)}.login-promo-title{font-size:var(--sf-font-size-lg);line-height:1.3;margin:2px 0 0}.login-promo-text{font-size:var(--sf-font-size-sm);color:var(--tg-theme-text-color,#000000);line-height:1.45}.login-promo .login-promo-button{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:var(--sf-btn-padding-lg);border:none;border-radius:var(--sf-radius-md);background:var(--tg-theme-button-color,#2678b6);color:var(--tg-theme-button-text-color,#ffffff);font-size:var(--sf-font-size-base);font-weight:var(--sf-font-weight-medium);cursor:pointer;transition:opacity .15s;text-decoration:none}.login-promo .login-promo-button:hover{opacity:.85;text-decoration:none}.admin-panel{display:flex;flex-direction:column;min-height:0;flex:1}.admin-tab-nav{display:flex;background:var(--tg-theme-secondary-bg-color);border-bottom:1px solid var(--tg-theme-section-separator-color);overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0;position:sticky;top:0;z-index:10}.admin-tab-btn{flex:1;min-width:60px;padding:12px 8px;background:transparent;color:var(--tg-theme-hint-color);font-size:var(--sf-font-size-sm);font-family:inherit;cursor:pointer;white-space:nowrap;border:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.admin-tab-btn.active{color:var(--tg-theme-button-color);border-bottom-color:var(--tg-theme-button-color);font-weight:var(--sf-font-weight-semibold)}.admin-tab-btn:active:not(.active){color:var(--tg-theme-text-color)}.admin-tab-panels{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-tab-content{padding:16px}.section-title{font-size:var(--sf-font-size-lg);font-weight:var(--sf-font-weight-bold);margin-bottom:12px;color:var(--tg-theme-text-color)}.state-empty,.state-error,.state-loading{text-align:center;padding:32px 16px;color:var(--tg-theme-hint-color);font-size:var(--sf-font-size-md)}.state-error{color:var(--tg-theme-destructive-text-color,#e53935)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--sf-font-size-sm)}.admin-table th{text-align:left;padding:8px 10px;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-hint-color);font-weight:var(--sf-font-weight-semibold);font-size:var(--sf-font-size-2xs);text-transform:uppercase;letter-spacing:.5px}.admin-table td,.admin-table th{border-bottom:1px solid var(--tg-theme-section-separator-color)}.admin-table td{padding:10px;vertical-align:top;word-break:break-word}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:active td{background:var(--tg-theme-secondary-bg-color)}.btn{display:inline-flex;align-items:center;padding:var(--sf-btn-padding-sm);border-radius:var(--sf-radius-sm);border:none;font-size:var(--sf-font-size-sm);font-family:inherit;cursor:pointer;transition:opacity .15s;white-space:nowrap;min-height:32px}.btn:active{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.btn-secondary{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color);border:1px solid var(--tg-theme-section-separator-color)}.btn-danger{background:var(--tg-theme-destructive-text-color,#e53935);color:#ffffff}.btn-success{background:#4caf50;color:#ffffff}.btn-sm{padding:4px 8px;font-size:var(--sf-font-size-xs);border-radius:var(--sf-radius-xs);min-height:28px}.btn-group{display:flex;gap:6px;flex-wrap:wrap}.admin-form{background:var(--tg-theme-secondary-bg-color);border-radius:var(--sf-radius-lg);padding:16px;margin-bottom:20px}.admin-form .form-title{font-size:var(--sf-font-size-md);font-weight:var(--sf-font-weight-semibold);margin-bottom:12px;color:var(--tg-theme-text-color)}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:var(--sf-font-size-xs);color:var(--tg-theme-hint-color);margin-bottom:4px;font-weight:var(--sf-font-weight-medium);text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 10px;border-radius:var(--sf-radius-sm);border:1px solid var(--tg-theme-section-separator-color);background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);font-size:var(--sf-font-size-md);font-family:inherit;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--tg-theme-button-color)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:10px}.form-row .form-group{flex:1}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.stat-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--sf-radius-lg);padding:14px;text-align:center}.stat-value{font-size:28px;font-weight:var(--sf-font-weight-bold);color:var(--tg-theme-button-color);line-height:1.1}.stat-label{color:var(--tg-theme-hint-color);margin-top:4px;letter-spacing:.4px}.badge,.stat-label{font-size:var(--sf-font-size-2xs);text-transform:uppercase}.badge{display:inline-block;padding:2px 7px;border-radius:var(--sf-radius-lg);font-weight:var(--sf-font-weight-semibold);letter-spacing:.3px}.badge-pending{background:#fff3cd;color:#856404}.badge-approved{background:#d4edda;color:#155724}.badge-rejected{background:#f8d7da;color:#721c24}.badge-active{background:#d4edda;color:#155724}.badge-permanent{background:#f8d7da;color:#721c24}.badge-temporary{background:#fff3cd;color:#856404}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.text-hint{color:var(--tg-theme-hint-color);font-size:var(--sf-font-size-xs)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--sf-radius-md);border:1px solid var(--tg-theme-section-separator-color);background:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color));margin-bottom:20px}.excerpt{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom;color:var(--tg-theme-hint-color);font-size:var(--sf-font-size-xs)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ad-row-edit{background:var(--tg-theme-secondary-bg-color)}@media (max-width:480px){.admin-tab-content{padding:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}}.consent-gate{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--tg-theme-bg-color);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch}.consent-gate-panel{background:var(--tg-theme-secondary-bg-color);border-radius:var(--sf-radius-2xl);padding:28px 24px;max-width:420px;width:100%;box-shadow:0 4px 24px rgba(0,0,0,.15)}.consent-gate-title{font-size:var(--sf-font-size-xl);font-weight:var(--sf-font-weight-bold);color:var(--tg-theme-text-color);margin:0 0 12px;text-align:center}.consent-gate-description{font-size:var(--sf-font-size-md);color:var(--tg-theme-hint-color);margin:0 0 20px;text-align:center;line-height:1.5}.consent-gate-checkbox{display:flex;align-items:flex-start;gap:10px;padding:12px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.consent-gate-checkbox input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--tg-theme-button-color);cursor:pointer}.consent-gate-label{font-size:var(--sf-font-size-md);color:var(--tg-theme-text-color);line-height:1.5}.consent-gate-link{color:var(--tg-theme-link-color);text-decoration:underline;cursor:pointer}.consent-gate-link:active{opacity:.7}.consent-gate-button{display:block;width:100%;margin-top:20px;padding:var(--sf-btn-padding-block);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:var(--sf-radius-md);font-size:var(--sf-font-size-base);font-weight:var(--sf-font-weight-semibold);font-family:inherit;cursor:pointer;transition:opacity .15s}.consent-gate-button:disabled{opacity:.5;cursor:not-allowed}.consent-gate-button:not(:disabled):active{opacity:.8}