.sidebar{width:240px;height:100vh;max-height:100vh;background:var(--bg-surface);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar__brand{flex-shrink:0;padding:var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border-soft)}.sidebar__brand-title{font-family:var(--font-secondary);font-size:var(--text-lg, 18px);font-weight:700;color:var(--color-primary-500);margin:0;letter-spacing:-.02em}.sidebar__nav{flex:1;min-height:0;padding:var(--space-3) 0;overflow-y:auto}.sidebar__section{margin-bottom:var(--space-4)}.sidebar__section-title{font-size:var(--text-caption-size);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 var(--space-4);margin:0 0 var(--space-2)}.sidebar__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:var(--text-body-size);font-weight:500;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar__link:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar__link--active{background:var(--color-primary-50);color:var(--color-primary-600)}.sidebar__link-icon{width:16px;height:16px;flex-shrink:0;color:inherit}.sidebar__bottom{flex-shrink:0;padding:var(--space-4);border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:var(--space-2)}.sidebar__status{padding:var(--space-2) var(--space-4);margin:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-caption-size);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__status-label{font-weight:600}.sidebar__status-date{color:var(--text-muted);font-weight:500}.sidebar__status--active{background:var(--color-success-bg, rgba(0, 128, 0, .08));color:var(--color-success, #0d7d0d)}.sidebar__status--blocked{background:var(--color-error-bg, rgba(200, 0, 0, .08));color:var(--color-error, #c00)}.sidebar__status--demo{background:var(--surface-secondary);color:var(--text-secondary)}.sidebar__bottom .sidebar__link{margin:0}.sidebar__logout-btn{width:100%;border:none;background:none;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit}.sidebar__link,.sidebar__logout-btn{min-height:44px;align-items:center}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:101;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-xl);padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left)}.layout--menu-open .sidebar{transform:translate(0)}.sidebar__link,.sidebar__logout-btn{padding:var(--space-3) var(--space-4)}}.radio-player{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);padding-bottom:max(var(--space-3),env(safe-area-inset-bottom));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));background:var(--bg-surface);border-top:1px solid var(--border-soft);box-shadow:0 -4px 20px #24295014}.radio-player__info{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.radio-player__art{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary)}.radio-player__art-img{width:100%;height:100%;object-fit:cover}.radio-player__art-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-200));display:flex;align-items:center;justify-content:center}.radio-player__art-icon{font-size:24px;color:var(--color-primary-600)}.radio-player__meta{min-width:0}.radio-player__station{font-size:var(--text-body-size);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-player__track{font-size:var(--text-caption-size);color:var(--text-tertiary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-player__track-info{font-size:var(--text-caption-size);color:var(--text-tertiary);margin:var(--space-1) 0 0}.radio-player__controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.radio-player__btn{width:44px;height:44px;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-primary-500);color:var(--text-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast)}.radio-player__btn:hover{background:var(--color-primary-600)}.radio-player__btn--stop{background:var(--bg-secondary);color:var(--text-secondary)}.radio-player__btn--stop:hover{background:var(--border-soft);color:var(--text-primary)}.radio-player__btn--nav{background:var(--bg-secondary);color:var(--text-secondary)}.radio-player__btn--nav:hover:not(:disabled){background:var(--border-soft);color:var(--text-primary)}.radio-player__btn--nav:disabled{opacity:.4;cursor:not-allowed}.radio-player__btn--schedule{background:var(--bg-secondary);color:var(--text-secondary)}.radio-player__btn--schedule:hover{background:var(--border-soft);color:var(--text-primary)}.radio-player__btn--schedule-disabled{background:var(--color-error-100);color:var(--color-error-600)}.radio-player__btn--schedule-disabled:hover{background:var(--color-error-200);color:var(--color-error-700)}.radio-player__icon{width:24px;height:24px}.layout{display:flex;height:100vh;max-height:100vh;width:100%;max-width:100vw;overflow:hidden}.layout__mobile-header{display:none}.layout__main{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-primary);min-width:0;width:100%}.layout__main .layout__content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.layout__content{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;min-width:0}@media (max-width: 768px){.layout{flex-direction:column}.layout__main{flex:1;min-height:0}.layout__mobile-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3),env(safe-area-inset-top));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));background:var(--bg-surface);border-bottom:1px solid var(--border-soft);position:sticky;top:0;z-index:10;width:100%;min-width:0}.layout__menu-btn{flex-shrink:0;width:44px;height:44px;padding:0;border:none;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.layout__menu-btn-icon{width:20px;height:20px;font-size:20px;color:var(--text-primary)}.layout__mobile-title{font-family:var(--font-secondary);font-size:var(--text-base, 16px);font-weight:600;color:var(--color-primary-500);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#24295066;z-index:100;animation:layout-overlay-in .2s ease}.layout__content{padding:var(--space-4);padding-right:max(var(--space-4),env(safe-area-inset-right))}}@media (max-width: 768px){body.layout__body--menu-open{overflow:hidden}}@keyframes layout-overlay-in{0%{opacity:0}to{opacity:1}}.btn{font-family:var(--font-primary);font-weight:600;border-radius:var(--radius-full);min-height:40px;padding:10px 18px;font-size:14px;line-height:1.2;border:none;cursor:pointer;transition:var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn:disabled{cursor:not-allowed}.btn--primary{background-color:var(--color-primary-500);color:var(--text-inverse);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-md)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-600);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn--primary:active:not(:disabled){background-color:var(--color-primary-700);box-shadow:var(--shadow-sm);transform:translateY(0)}.btn--primary:disabled{background-color:#5058c059;color:#ffffffbf;box-shadow:none}.btn--cta{background-image:linear-gradient(90deg,#5957b2,#d34d8b 55%,#ec427c);color:var(--text-inverse);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 28px #24295029}.btn--cta:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 18px 44px #2429502e;transform:translateY(-1px)}.btn--cta:active:not(:disabled){filter:brightness(.98);transform:translateY(0)}.btn--cta:disabled{background-image:linear-gradient(90deg,#5957b266,#d34d8b59 55%,#ec427c59);color:#ffffffbf;box-shadow:none}.btn--outline{background-color:var(--color-neutral-0);color:var(--color-primary-500);border:1px solid var(--border-subtle);box-shadow:none}.btn--outline:hover:not(:disabled){background-color:#5058c00f;border-color:#5058c047}.btn--outline:disabled{color:#5058c059;border-color:#5058c029;background-color:#fff9}.btn--sm{min-height:32px;padding:8px 14px;font-size:12px}.btn--lg{min-height:48px;padding:12px 22px;font-size:14px}.input-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.input-wrap label{font-size:var(--text-caption-size);font-weight:500;color:var(--text-secondary)}.input{height:36px;background-color:#5058c00f;border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:8px 14px;font-family:var(--font-primary);font-size:12px;color:var(--text-secondary);transition:var(--transition-normal);width:100%}.input::placeholder{color:var(--text-muted);opacity:1}.input:focus{outline:none;background-color:#5058c014;border-color:#5058c038;box-shadow:0 0 0 3px #dde1ffe6}@media (max-width: 768px){.input{min-height:44px;height:auto;padding:12px 14px;font-size:16px}}.input--error{background-color:#ec427c0f;border-color:#ec427c59}.input--error:focus{box-shadow:0 0 0 3px #f2dbede6}.err-msg{font-size:12px;color:var(--color-error)}.card{background-color:var(--bg-surface);border:1px solid rgba(36,41,80,.06);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);min-width:0}.card--elevated{border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-lg)}.card--soft{background-color:var(--bg-surface-muted);border:1px solid rgba(36,41,80,.05);box-shadow:0 6px 16px #24295014}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);position:relative}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--bg-brand) 0%,var(--bg-brand-dark) 100%);z-index:0}.login-card{position:relative;z-index:1;width:100%;max-width:420px}.login-title{margin-bottom:var(--space-2)}.login-subtitle{font-size:var(--text-body-size);color:var(--text-secondary);margin:0 0 var(--space-6)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-remember{display:flex;align-items:center;gap:var(--space-2);margin-top:calc(-1 * var(--space-2))}.login-remember__checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary-500)}.login-remember__label{font-size:var(--text-body-size);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember__checkbox:disabled+.login-remember__label{opacity:.6;cursor:not-allowed}.login-error{color:var(--color-error);font-size:var(--text-caption-size);margin:0}.login-submit{margin-top:var(--space-2);width:100%;min-height:44px}@media (max-width: 768px){.login-page{padding:var(--space-4);align-items:flex-start;padding-top:var(--space-8)}.login-card{max-width:100%}}.profile-page{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;min-width:0}@media (max-width: 768px){.profile-page{padding:0}}.profile-page__title{margin:0 0 var(--space-6);overflow:hidden;text-overflow:ellipsis}.profile-card{max-width:560px;width:100%;min-width:0}.profile-card h2{margin-top:0;margin-bottom:var(--space-4)}.profile-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-6);margin:0;min-width:0}.profile-dl dt{font-size:var(--text-caption-size);color:var(--text-tertiary);font-weight:500}.profile-dl dd{margin:0;font-size:var(--text-body-size);color:var(--text-primary);min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width: 768px){.profile-dl{grid-template-columns:1fr;gap:var(--space-1) 0}.profile-dl dt{margin-top:var(--space-2)}.profile-dl dt:first-child{margin-top:0}.profile-dl dd{margin-bottom:var(--space-2)}}.profile-id{font-family:var(--font-primary);font-size:var(--text-caption-size);color:var(--text-muted)}.dashboard{padding:0;width:100%;min-width:0}.dashboard__title{margin:0 0 var(--space-4);font-size:var(--text-h1-size)}@media (max-width: 768px){.dashboard__title{font-size:var(--text-h2-size);margin-bottom:var(--space-3)}}.dashboard__welcome{color:var(--text-secondary);font-size:var(--text-body-size);margin:0 0 var(--space-6)}.dashboard__stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media (max-width: 768px){.dashboard__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}}@media (max-width: 380px){.dashboard__stats{grid-template-columns:1fr}}.dashboard__stat{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);min-width:0}.dashboard__stat-value{font-family:var(--font-secondary);font-size:var(--text-2xl, 24px);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-1)}.dashboard__stat-label{font-size:var(--text-caption-size);color:var(--text-tertiary);margin:0}.dashboard__section-title{font-size:var(--text-h3-size);margin:0 0 var(--space-4)}.dashboard__list{list-style:none;padding:0;margin:0}.dashboard__list-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin-bottom:var(--space-2);font-size:var(--text-body-size)}.dashboard__list-item:last-child{margin-bottom:0}.dashboard__list-item-title{font-weight:500;color:var(--text-primary)}.dashboard__list-item-link{color:var(--text-link);text-decoration:none}.dashboard__list-item-link:hover{color:var(--text-link-hover);text-decoration:underline}.dashboard__list-item-meta{font-size:var(--text-caption-size);color:var(--text-tertiary)}.dashboard__list-item-meta_invoices{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.dashboard__list-item-meta_invoices>span:not(.dashboard__invoice-badge):after{content:"·";margin-left:var(--space-2);color:var(--text-tertiary)}.dashboard__list-item-meta_invoices>span:not(.dashboard__invoice-badge):last-of-type:after{content:none;margin-left:0}.dashboard__invoice-badge{font-size:var(--text-caption-size);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm, 4px);white-space:nowrap}.dashboard__invoice-badge--pending{background:#3b82f626;color:#2563eb}.dashboard__invoice-badge--paid{background:#22c55e26;color:#16a34a}.dashboard__invoice-badge--canceled{background:#ef444426;color:#dc2626}.dashboard__invoice-badge--partiallypaid{background:var(--surface-secondary);color:var(--text-primary)}.dashboard__invoice-badge:not([class*=--pending]):not([class*=--paid]):not([class*=--canceled]):not([class*=--partiallypaid]){background:var(--surface-secondary);color:var(--text-secondary)}.dashboard__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);min-width:0}@media (max-width: 768px){.dashboard__grid{grid-template-columns:1fr;gap:var(--space-4)}.dashboard__list-item{padding:var(--space-3)}.dashboard__list-item-title,.dashboard__list-item-meta{min-width:0;overflow:hidden;text-overflow:ellipsis}}.radio-page{padding:0}.radio-page__title{margin:0 0 var(--space-2);font-size:var(--text-h1-size)}.radio-page__subtitle{color:var(--text-tertiary);font-size:var(--text-body-size);margin:0 0 var(--space-4)}.radio-page__blocked{padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-error-bg, rgba(200, 0, 0, .08));color:var(--color-error, #c00);border-radius:var(--radius-md);font-weight:500}.radio-page__filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.radio-page__filter-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-soft);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-body-size);font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.radio-page__filter-chip:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-default)}.radio-page__filter-chip--active{background:var(--color-primary-500);color:var(--text-inverse);border-color:var(--color-primary-500)}.radio-page__filter-chip--active:hover{background:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--text-inverse)}.radio-page__msg,.radio-page__error{margin:0 0 var(--space-4)}.radio-page__error{color:var(--color-error)}.radio-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.radio-tile{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.radio-tile:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.radio-tile__art{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) var(--space-4);background:var(--bg-secondary)}.radio-tile__art-img{width:100%;height:100%;object-fit:cover}.radio-tile__art-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-200))}.radio-tile__live{position:absolute;bottom:var(--space-2);left:var(--space-2);font-size:var(--text-caption-size);font-weight:600;color:var(--text-inverse);background:var(--color-primary-500);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.radio-tile__body{min-width:0}.radio-tile__name{margin:0 0 var(--space-1);font-size:var(--text-h3-size)}.radio-tile__genre{display:inline-block;font-size:var(--text-caption-size);color:var(--color-primary-600);background:var(--color-primary-50);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.radio-tile__desc{font-size:var(--text-caption-size);color:var(--text-tertiary);margin:0 0 var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.radio-tile__track{font-size:var(--text-body-size);color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-tile__artist,.radio-tile__title{font-style:normal}@media (max-width: 768px){.radio-page__grid{grid-template-columns:1fr}}.playlists-page{padding:0}.playlists-page__title{margin:0 0 var(--space-2);font-size:var(--text-h1-size)}.playlists-page__subtitle{color:var(--text-tertiary);font-size:var(--text-body-size);margin:0 0 var(--space-4)}.playlists-page__msg,.playlists-page__error{margin:0 0 var(--space-4)}.playlists-page__error{color:var(--color-error)}.playlists-page__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.playlists-tile{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.playlists-tile:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.playlists-tile__card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-5);min-height:160px}.playlists-tile__icon{width:64px;height:64px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-200));display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3)}.playlists-tile__icon-svg{font-size:32px;color:var(--color-primary-600)}.playlists-tile__body{width:100%;min-width:0}.playlists-tile__name{margin:0 0 var(--space-2);font-size:var(--text-h3-size);word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlists-tile__badge{display:inline-block;font-size:var(--text-caption-size);color:var(--color-primary-600);background:var(--color-primary-50);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.playlists-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md)}.playlists-breadcrumbs__item{display:flex;align-items:center;gap:var(--space-1)}.playlists-breadcrumbs__separator{font-size:var(--text-caption-size);color:var(--text-tertiary);margin:0 var(--space-1)}.playlists-breadcrumbs__link{background:none;border:none;color:var(--text-secondary);font-size:var(--text-body-size);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.playlists-breadcrumbs__link:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.playlists-breadcrumbs__link:disabled{color:var(--text-primary);font-weight:500;cursor:default}@media (max-width: 900px){.playlists-page__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.playlists-page__grid{grid-template-columns:repeat(2,1fr)}.playlists-tile__card{min-height:140px;padding:var(--space-4)}.playlists-tile__icon{width:48px;height:48px}.playlists-tile__icon-svg{font-size:24px}}@media (max-width: 480px){.playlists-page__grid{grid-template-columns:1fr}}.schedule-card{display:flex;flex-direction:column;transition:box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);position:relative}.schedule-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.schedule-card--disabled{opacity:.6}.schedule-card--active{border-color:var(--color-success-500);box-shadow:0 0 0 2px var(--color-success-100)}.schedule-card__badge{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fffffffa;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:700;letter-spacing:.2px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 8px 18px #22c55e40;border:1px solid rgba(255,255,255,.35);animation:schedule-badge-pulse 1.8s ease-in-out infinite}@keyframes schedule-badge-pulse{0%,to{opacity:1}50%{opacity:.8}}.schedule-card__header{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.schedule-card__right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:var(--space-2)}.schedule-card__icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-200));display:flex;align-items:center;justify-content:center;flex-shrink:0}.schedule-card__icon-svg{font-size:24px;color:var(--color-primary-600)}.schedule-card__title-wrap{flex:1;min-width:0}.schedule-card__title{margin:0 0 var(--space-1);font-size:var(--text-h3-size);word-break:break-word}.schedule-card__type{display:inline-block;font-size:var(--text-caption-size);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500}.schedule-card__type--radio{color:var(--color-primary-600);background:var(--color-primary-50)}.schedule-card__type--playlist{color:var(--color-success-600);background:var(--color-success-50)}.schedule-card__toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;cursor:pointer}.schedule-card__toggle input{opacity:0;width:0;height:0}.schedule-card__toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:24px;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.schedule-card__toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--text-secondary);border-radius:50%;transition:transform var(--transition-fast),background-color var(--transition-fast)}.schedule-card__toggle input:checked+.schedule-card__toggle-slider{background-color:var(--color-primary-500);border-color:var(--color-primary-500)}.schedule-card__toggle input:checked+.schedule-card__toggle-slider:before{transform:translate(20px);background-color:var(--text-inverse)}.schedule-card__body{display:flex;flex-direction:column;gap:var(--space-3)}.schedule-card__info{display:flex;flex-direction:column;gap:var(--space-2)}.schedule-card__info-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-body-size)}.schedule-card__info-icon{font-size:var(--text-body-size);color:var(--text-tertiary);width:16px}.schedule-card__info-label{color:var(--text-secondary);font-weight:500;min-width:60px}.schedule-card__info-value{color:var(--text-primary)}.schedule-card__target{font-family:monospace;font-size:var(--text-caption-size);background:var(--bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-card__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.schedule-card__actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-1)}@media (max-width: 768px){.schedule-card__actions{flex-direction:column}.schedule-card__actions .btn{width:100%}}.playlist-tree{max-height:400px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-2)}.playlist-tree__empty{padding:var(--space-4);text-align:center;color:var(--text-tertiary)}.playlist-tree__node{margin-bottom:var(--space-1)}.playlist-tree__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none}.playlist-tree__item:hover{background:var(--bg-secondary)}.playlist-tree__item--selected{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:500}.playlist-tree__item--playlist{font-weight:500}.playlist-tree__chevron{font-size:12px;color:var(--text-tertiary);width:16px;flex-shrink:0}.playlist-tree__spacer{width:16px;flex-shrink:0}.playlist-tree__icon{font-size:16px;width:20px;flex-shrink:0}.playlist-tree__icon--folder{color:var(--color-primary-500)}.playlist-tree__icon--playlist{color:var(--color-success-500)}.playlist-tree__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-tree__check{color:var(--color-primary-600);font-weight:700;font-size:18px}.playlist-tree__children{margin-left:var(--space-2)}.schedule-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#24295080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:schedule-modal-overlay-in .2s ease}@keyframes schedule-modal-overlay-in{0%{opacity:0}to{opacity:1}}.schedule-modal{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:schedule-modal-in .2s ease}@keyframes schedule-modal-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.schedule-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border-soft);position:sticky;top:0;background:var(--bg-surface);z-index:1}.schedule-modal__title{margin:0;font-size:var(--text-h2-size)}.schedule-modal__close{width:32px;height:32px;padding:0;border:none;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.schedule-modal__close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.schedule-modal__form{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.schedule-modal__error{padding:var(--space-3);background:var(--color-error-bg, rgba(200, 0, 0, .08));color:var(--color-error, #c00);border-radius:var(--radius-md);font-size:var(--text-body-size)}.schedule-modal__field{display:flex;flex-direction:column;gap:var(--space-2)}.schedule-modal__label{font-size:var(--text-body-size);font-weight:500;color:var(--text-primary);display:flex;flex-direction:column;gap:var(--space-1)}.schedule-modal__label-hint{font-size:var(--text-caption-size);font-weight:400;color:var(--text-tertiary);font-style:italic}.schedule-modal__radio-group{display:flex;gap:var(--space-4)}.schedule-modal__radio{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-body-size)}.schedule-modal__radio input[type=radio]{width:18px;height:18px;cursor:pointer}.schedule-modal__select{padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-body-size);width:100%;cursor:pointer;transition:border-color var(--transition-fast)}.schedule-modal__select:focus{outline:none;border-color:var(--color-primary-500)}.schedule-modal__days{display:flex;gap:var(--space-1);flex-wrap:wrap}.schedule-modal__day{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);font-size:var(--text-caption-size)}.schedule-modal__day--compact{min-width:44px;padding:var(--space-1) var(--space-2)}.schedule-modal__day:hover{background:var(--bg-secondary);border-color:var(--border-default)}.schedule-modal__day input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0}.schedule-modal__day--compact input[type=checkbox]{width:14px;height:14px}.schedule-modal__day input[type=checkbox]:checked+span{font-weight:600;color:var(--color-primary-600)}.schedule-modal__day:has(input[type=checkbox]:checked),.schedule-modal__day--selected{background:var(--color-primary-50);border-color:var(--color-primary-500)}.schedule-modal__day-short{font-weight:500;font-size:var(--text-caption-size);line-height:1.2}.schedule-modal__day--compact .schedule-modal__day-short{font-size:11px}.schedule-modal__days-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.schedule-modal__days-action{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-caption-size);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.schedule-modal__days-action:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-soft)}.schedule-modal__field-error{font-size:var(--text-caption-size);color:var(--color-error);margin-top:var(--space-1)}.schedule-modal__playlist-selector{display:flex;flex-direction:column;gap:var(--space-2)}.schedule-modal__loading{padding:var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-body-size)}.schedule-modal__selected-playlist{padding:var(--space-2) var(--space-3);background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-sm);font-size:var(--text-body-size);color:var(--color-primary-700);display:flex;align-items:center;gap:var(--space-2)}.schedule-modal__selected-icon{color:var(--color-success-500);font-size:18px}.schedule-modal__priority-controls{display:flex;gap:var(--space-2);align-items:center}.schedule-modal__priority-input{flex:1}.schedule-modal__priority-buttons{display:flex;gap:var(--space-1)}.schedule-modal__priority-btn{width:36px;height:36px;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-h3-size);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.schedule-modal__priority-btn:hover{background:var(--bg-secondary);border-color:var(--border-soft)}.schedule-modal__time-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.schedule-modal__actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.schedule-modal__actions .btn{flex:1}.schedule-modal{max-width:700px}@media (max-width: 768px){.schedule-modal-overlay{padding:var(--space-2)}.schedule-modal{max-height:95vh;max-width:100%}.schedule-modal__header,.schedule-modal__form{padding:var(--space-4)}.schedule-modal__time-row{grid-template-columns:1fr}.schedule-modal__actions{flex-direction:column}.schedule-modal__days{grid-template-columns:repeat(4,1fr)}.schedule-modal__day-full{display:none}}.week-schedule-view{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.week-schedule-view__error{background:#dc262614;border:1px solid rgba(220,38,38,.18);color:#b91c1c;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-body-size)}.week-schedule-view__header{display:flex;align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-3);padding-top:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-soft)}.week-schedule-view__time-label{font-size:var(--text-caption-size);color:var(--text-tertiary);font-weight:500;min-width:40px}.week-schedule-view__time-scale{flex:1;position:relative;height:32px}.week-schedule-view__hour-mark{position:absolute;top:16px;width:1px;height:16px;background:var(--border-soft)}.week-schedule-view__hour-mark:nth-child(6n+1){background:var(--border-default);height:16px}.week-schedule-view__hour-label{position:absolute;top:0;left:0;transform:translate(-50%);font-size:10px;color:var(--text-tertiary);white-space:nowrap}.week-schedule-view__days{display:flex;flex-direction:column;gap:var(--space-2)}.week-schedule-view__day{display:flex;align-items:flex-start;gap:var(--space-3);min-height:32px}.week-schedule-view__day--today{background:var(--color-primary-50);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2))}.week-schedule-view__day--drop .week-schedule-view__day-timeline{outline:2px dashed rgba(37,99,235,.55);outline-offset:2px;background:#2563eb0f}.week-schedule-view__day-label{font-size:var(--text-body-size);font-weight:600;color:var(--text-primary);min-width:32px;text-align:center}.week-schedule-view__day--today .week-schedule-view__day-label{color:var(--color-primary-700)}.week-schedule-view__day-timeline{flex:1;position:relative;min-height:32px;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-soft)}.week-schedule-view__block{position:absolute;border-radius:var(--radius-sm);height:18px;color:#fffffff5;text-shadow:0 1px 1px rgba(0,0,0,.25);font-size:9px;font-weight:600;display:flex;align-items:center;padding:0 var(--space-1);overflow:hidden;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 14px #00000024;-webkit-user-select:none;user-select:none;touch-action:none}.week-schedule-view__block--interactive{cursor:grab;border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 18px #00000029}.week-schedule-view__block--interactive:active{cursor:grabbing}.week-schedule-view__block--saving{opacity:.7;pointer-events:none}.week-schedule-view__handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;opacity:0;transition:opacity var(--transition-fast)}.week-schedule-view__block--interactive:hover .week-schedule-view__handle,.week-schedule-view__block--interactive:active .week-schedule-view__handle{opacity:1}.week-schedule-view__handle--start{left:0;border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm);background:linear-gradient(to right,#1118272e,#11182700)}.week-schedule-view__handle--end{right:0;border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);background:linear-gradient(to left,#1118272e,#11182700)}.week-schedule-view__block:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0000002e;z-index:10}.week-schedule-view__block-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.week-schedule-view__empty{padding:var(--space-6);text-align:center;color:var(--text-tertiary);font-size:var(--text-body-size)}@media (max-width: 768px){.week-schedule-view{padding:var(--space-3)}.week-schedule-view__header{flex-wrap:wrap}.week-schedule-view__time-scale{width:100%;order:3}.week-schedule-view__day-label{min-width:28px;font-size:var(--text-caption-size)}.week-schedule-view__block{font-size:9px;padding:0 2px}}.schedules-page{padding:0}.schedules-page__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;position:relative;z-index:1}.schedules-page__title{margin:0 0 var(--space-2);font-size:var(--text-h1-size)}.schedules-page__subtitle{color:var(--text-tertiary);font-size:var(--text-body-size);margin:0}.schedules-page__header-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;flex-shrink:0}.schedules-page__header-actions .btn--cta{min-width:280px;white-space:nowrap;flex-shrink:0;height:48px;box-sizing:border-box}.schedules-page__msg,.schedules-page__error{margin:0 0 var(--space-4);min-height:0}.schedules-page__error{color:var(--color-error);padding:var(--space-3);background:var(--color-error-bg, rgba(200, 0, 0, .08));border-radius:var(--radius-md);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.schedules-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;gap:var(--space-4)}.schedules-page__empty-text{color:var(--text-tertiary);font-size:var(--text-body-size)}.schedules-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}@media (max-width: 768px){.schedules-page__header{flex-direction:column}.schedules-page__header-actions{width:100%;flex-direction:column}.schedules-page__header-actions .btn{width:100%;min-width:unset}.schedules-page__grid{grid-template-columns:1fr}}.ads-assets{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.ads-assets__columns{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6);align-items:start}@media (max-width: 900px){.ads-assets__columns{grid-template-columns:1fr}}.ads-assets__list{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.ads-assets__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.ads-assets__upload{position:sticky;top:var(--space-4)}.ads-assets__header{display:flex;flex-direction:column;gap:var(--space-1)}.ads-assets__title{margin:0;font-size:var(--text-h2-size, 20px)}.ads-assets__subtitle{margin:0;color:var(--text-tertiary);font-size:var(--text-body-size)}.ads-assets__form{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.ads-assets__row{display:flex;flex-wrap:nowrap;gap:var(--space-3);align-items:flex-end;justify-content:center;position:relative;margin-bottom:24px}.ads-assets__campaign-wrap{flex-shrink:0;display:flex;flex-direction:column}.ads-assets__campaign-wrap .input-wrap{margin-bottom:0}.ads-assets__file{display:flex;flex-direction:column;gap:0;position:relative;flex-shrink:0}.ads-assets__file-label{position:absolute;top:-20px;left:0;font-size:12px;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.ads-assets__upload-wrap{flex-shrink:0}.ads-assets__file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ads-assets__file-picker{display:flex;align-items:center;gap:0;position:relative}.ads-assets__file-hint{position:absolute;top:calc(100% + 4px);left:0;font-size:12px;color:var(--text-tertiary);line-height:1.3;white-space:nowrap}.ads-assets__file-btn.btn--outline{white-space:nowrap;background-color:#fff!important;color:#5058c0!important;border:1px solid rgba(80,88,192,.22)!important;border-radius:9999px!important;box-shadow:none!important;transition:var(--transition-normal);max-width:300px;overflow:hidden;text-overflow:ellipsis}.ads-assets__file-btn.btn--outline span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block}.ads-assets__file-btn.btn--outline:hover:not(:disabled){background-color:#5058c00f!important;border-color:#5058c047!important}.ads-assets__file-btn.btn--outline:active:not(:disabled){background-color:#5058c01a!important}.ads-assets__file-btn.btn--outline:disabled{color:#5058c059!important;border-color:#5058c029!important;background-color:#fff9!important}.ads-assets__file-btn.btn--outline:focus{outline:none!important;box-shadow:0 0 0 3px #dde1ffe6!important}.ads-assets__file-btn.btn--outline svg{color:#5058c0!important}.ads-assets__file-meta{color:var(--text-secondary);font-weight:500}.ads-assets__asset{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.ads-assets__asset-title{margin:0;font-weight:600}.ads-assets__row .btn--cta{background-image:linear-gradient(90deg,#5957b2,#d34d8b 55%,#ec427c);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:9999px;box-shadow:0 12px 28px #24295029;min-height:40px;padding:10px 18px;font-size:14px;font-weight:600;transition:var(--transition-normal)}.ads-assets__row .btn--cta:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 18px 44px #2429502e;transform:translateY(-1px)}.ads-assets__row .btn--cta:active:not(:disabled){filter:brightness(.98);box-shadow:0 8px 20px #24295024;transform:translateY(0)}.ads-assets__row .btn--cta:disabled{background-image:linear-gradient(90deg,#5957b266,#d34d8b59 55%,#ec427c59);color:#ffffffbf;box-shadow:none}.ads-assets__row .btn--cta:focus{outline:none;box-shadow:0 0 0 3px #f2dbede6}.ads-assets__row .btn--cta svg{color:#fff}.placeholder-page{padding:var(--space-6) 0;width:100%;min-width:0}.placeholder-page h1{margin-bottom:var(--space-2)}.placeholder-page p{color:var(--text-tertiary);margin:0}.contracts-page{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;min-width:0}@media (max-width: 768px){.contracts-page{padding:var(--space-4)}}.contracts-page__title{margin:0 0 var(--space-6);overflow:hidden;text-overflow:ellipsis}.contracts-page__loading,.contracts-page__empty,.contracts-page__error{margin:0;color:var(--text-tertiary)}.contracts-page__error{color:var(--color-error, #c00)}.contracts-page__total{margin-top:var(--space-4);font-size:var(--text-caption-size);color:var(--text-muted)}.contracts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.contracts-card{width:100%;min-width:0}.contracts-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.contracts-card__number{font-weight:600;font-size:var(--text-body-size);color:var(--text-primary)}.contracts-card__status{font-size:var(--text-caption-size);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm, 4px);background:var(--surface-secondary);color:var(--text-secondary)}.contracts-card__status--current{background:var(--color-success-bg, rgba(0, 128, 0, .1));color:var(--color-success, #0a0)}.contracts-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-6);margin:0;min-width:0}.contracts-dl dt{font-size:var(--text-caption-size);color:var(--text-tertiary);font-weight:500}.contracts-dl dd{margin:0;font-size:var(--text-body-size);color:var(--text-primary);min-width:0;word-break:break-word}@media (max-width: 768px){.contracts-dl{grid-template-columns:1fr;gap:var(--space-1) 0}.contracts-dl dt{margin-top:var(--space-2)}.contracts-dl dt:first-child{margin-top:0}.contracts-dl dd{margin-bottom:var(--space-2)}}.invoices-page{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;min-width:0}@media (max-width: 768px){.invoices-page{padding:var(--space-4)}}.invoices-page__title{margin:0 0 var(--space-6);overflow:hidden;text-overflow:ellipsis}.invoices-page__loading,.invoices-page__empty,.invoices-page__error{margin:0;color:var(--text-tertiary)}.invoices-page__error{color:var(--color-error, #c00)}.invoices-page__footer{margin-top:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.invoices-page__total{margin:0;font-size:var(--text-caption-size);color:var(--text-muted)}.invoices-table-wrap{overflow-x:auto;border-radius:var(--radius-md, 12px);border:1px solid var(--border-primary);box-shadow:0 6px 16px #24295014}.invoices-table{width:100%;border-collapse:collapse;font-size:var(--text-body-size)}.invoices-table th,.invoices-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid rgba(36,41,80,.06)}.invoices-table thead th{font-weight:600;font-size:var(--text-caption-size);color:#fff;background:#5058c0;white-space:nowrap;border-bottom:none}.invoices-table thead tr:first-child th:first-child{border-radius:12px 0 0}.invoices-table thead tr:first-child th:last-child{border-radius:0 12px 0 0}.invoices-table tbody tr:last-child td{border-bottom:none}.invoices-table tbody tr:hover{background:var(--surface-secondary)}.invoices-table td{color:var(--text-primary);vertical-align:middle}.invoices-table__badge{display:inline-block;font-size:var(--text-caption-size);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm, 4px);background:var(--surface-secondary);color:var(--text-secondary);white-space:nowrap}.invoices-table__badge--pending{background:var(--color-warning-bg, rgba(200, 150, 0, .1));color:var(--color-warning, #b8860b)}.invoices-table__badge--paid,.invoices-table__badge--current{background:var(--color-success-bg, rgba(0, 128, 0, .1));color:var(--color-success, #0a0)}.invoices-table__badge--canceled{background:var(--surface-tertiary);color:var(--text-tertiary)}.invoices-table__badge--partiallypaid{background:var(--color-info-bg, rgba(0, 100, 200, .1));color:var(--color-info, #06c)}.invoices-table__download{color:#5058c0;text-decoration:none;font-weight:500;font-size:var(--text-caption-size);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.invoices-table__download:hover:not(:disabled){color:#4b53b0;text-decoration:underline}.invoices-table__download:disabled{opacity:.7;cursor:wait}@media (max-width: 768px){.invoices-table th,.invoices-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-caption-size)}}.invoices-pagination{display:flex;align-items:center;gap:var(--space-3)}.invoices-pagination__btn{font-size:var(--text-body-size);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm, 4px);border:1px solid var(--border-primary);background:var(--surface-primary);color:var(--text-primary);cursor:pointer}.invoices-pagination__btn:hover:not(:disabled){background:var(--surface-secondary)}.invoices-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.invoices-pagination__info{font-size:var(--text-caption-size);color:var(--text-muted)}.cases-page{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;min-width:0}.cases-page__title{margin-bottom:var(--space-2)}.cases-page__subtitle{font-size:var(--text-body-size);color:var(--text-secondary);margin:0 0 var(--space-6)}.cases-page__content{display:grid;grid-template-columns:1fr 400px;gap:var(--space-6);align-items:start}.cases-page__list{min-width:0}.cases-page__form-section{position:sticky;top:var(--space-6)}.cases-page__section-title{font-size:var(--text-lg, 18px);font-weight:600;margin:0 0 var(--space-4);color:var(--text-primary)}.cases-page__loading,.cases-page__empty,.cases-page__error{margin:0;color:var(--text-tertiary)}.cases-page__error{color:var(--color-error, #c00)}.cases-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.cases-card{width:100%;min-width:0}.cases-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap}.cases-card__name{font-weight:600;font-size:var(--text-body-size);color:var(--text-primary);margin:0;flex:1;min-width:0}.cases-card__status{font-size:var(--text-caption-size);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm, 4px);background:var(--surface-secondary);color:var(--text-secondary);white-space:nowrap}.cases-card__status--new{background:var(--color-primary-50);color:var(--color-primary-600)}.cases-card__status--assigned,.cases-card__status--inprogress{background:var(--color-warning-bg, rgba(255, 193, 7, .1));color:var(--color-warning, #ff9800)}.cases-card__status--solved,.cases-card__status--closed{background:var(--color-success-bg, rgba(0, 128, 0, .1));color:var(--color-success, #0a0)}.cases-card__description{font-size:var(--text-body-size);color:var(--text-secondary);margin:0 0 var(--space-3);line-height:1.5}.cases-card__meta{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-6);margin:0;min-width:0}.cases-card__meta dt{font-size:var(--text-caption-size);color:var(--text-tertiary);font-weight:500}.cases-card__meta dd{margin:0;font-size:var(--text-body-size);color:var(--text-primary);min-width:0;word-break:break-word}.cases-form-card{max-width:100%}.cases-form{display:flex;flex-direction:column;gap:var(--space-4)}.cases-form__textarea{min-height:120px;height:auto;resize:vertical;font-family:var(--font-primary);padding:12px 14px;border-radius:var(--radius-md, 8px);line-height:1.5}.cases-form__error{color:var(--color-error);font-size:var(--text-caption-size);margin:0}.cases-form__success{color:var(--color-success, #0d7d0d);font-size:var(--text-caption-size);margin:0}.cases-form__submit{margin-top:var(--space-2);width:100%;min-height:44px}@media (max-width: 768px){.cases-page{padding:var(--space-4)}.cases-page__content{grid-template-columns:1fr;gap:var(--space-6)}.cases-page__form-section{position:static}.cases-card__meta{grid-template-columns:1fr;gap:var(--space-1) 0}.cases-card__meta dt{margin-top:var(--space-2)}.cases-card__meta dt:first-child{margin-top:0}.cases-card__meta dd{margin-bottom:var(--space-2)}}.instructions-page{padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%;min-width:0}.instructions-page__title{margin:0 0 var(--space-2);font-size:var(--text-h1-size);font-weight:600;color:var(--text-primary)}.instructions-page__subtitle{font-size:var(--text-body-size);color:var(--text-secondary);margin:0 0 var(--space-6)}.instructions-page__layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-6);align-items:start}@media (max-width: 768px){.instructions-page__layout{grid-template-columns:1fr}}.instructions-toc{position:sticky;top:var(--space-6)}.instructions-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.instructions-toc__item{margin:0}.instructions-toc__link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md, 8px);color:var(--text-primary);text-decoration:none;font-size:var(--text-body-size);transition:background-color .15s ease,color .15s ease}.instructions-toc__link:hover{background-color:var(--neutral-100, #f3f4fb);color:var(--primary-600, #4b53b0)}.instructions-toc__link--active{background-color:var(--primary-50, #eef0ff);color:var(--primary-600, #4b53b0);font-weight:600}.instructions-article{min-width:0}.instructions-article__card{padding:var(--space-6)}.instructions-article__heading{margin:0 0 var(--space-4);font-size:var(--text-h2-size);font-weight:600;color:var(--text-primary)}.instructions-article__body{font-size:var(--text-body-size);line-height:1.6;color:var(--text-primary)}.instructions-article__body>p:first-child{margin-top:0}.instructions-article__body>p{margin:0 0 var(--space-4)}.instructions-article__body h2{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-h3-size);font-weight:600;color:var(--text-primary)}.instructions-article__body h2:first-child{margin-top:0}.instructions-article__body ul{margin:0 0 var(--space-4);padding-left:var(--space-5)}.instructions-article__body li{margin-bottom:var(--space-2)}.instructions-article__body li:last-child{margin-bottom:0}.instructions-note{margin:var(--space-4) 0 0;padding:var(--space-4);background-color:var(--primary-50, #eef0ff);border-radius:var(--radius-md, 8px);border-left:4px solid var(--primary-500, #5058c0);font-size:var(--text-body-size);color:var(--text-primary)}.instructions-note p{margin:0}.instructions-note strong{font-weight:600}.instructions-article__placeholder{margin:0;color:var(--text-secondary);font-size:var(--text-body-size)}.instructions-toc__link--highlighted{background-color:var(--warning-50, #fff8e6);border-left:3px solid var(--warning-500, #e6a800);padding-left:calc(var(--space-3) - 3px)}.instructions-toc__link--highlighted:hover{background-color:var(--warning-100, #ffefb8)}.instructions-toc__link--highlighted.instructions-toc__link--active{background-color:var(--warning-100, #ffefb8);border-left-color:var(--warning-600, #b38600)}.instructions-toc__badge{display:inline-block;margin-right:var(--space-2);padding:2px var(--space-1);font-size:11px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.02em;color:var(--warning-700, #806000);background-color:var(--warning-200, #ffd966);border-radius:var(--radius-sm, 4px)}.instructions-quote{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);font-size:var(--text-body-size);font-style:italic;color:var(--text-secondary);background-color:var(--neutral-100, #f3f4fb);border-radius:var(--radius-md, 8px);border-left:4px solid var(--primary-400, #6b73d4)}.instructions-quote p{margin:0}.instructions-accordion{margin:var(--space-4) 0 0;border:1px solid var(--neutral-200, #e5e7eb);border-radius:var(--radius-md, 8px);overflow:hidden;background-color:var(--neutral-50, #fafafa)}.instructions-accordion__item{border-bottom:1px solid var(--neutral-200, #e5e7eb)}.instructions-accordion__item:last-child{border-bottom:none}.instructions-accordion__item[data-open=true] .instructions-accordion__trigger{background-color:var(--primary-50, #eef0ff);color:var(--primary-700, #3d4399)}.instructions-accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-body-size);font-weight:600;color:var(--text-primary);background:none;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease,color .2s ease}.instructions-accordion__trigger:hover{background-color:var(--neutral-100, #f3f4fb)}.instructions-accordion__trigger:focus-visible{outline:2px solid var(--primary-500, #5058c0);outline-offset:-2px}.instructions-accordion__trigger-text{flex:1;padding-right:var(--space-2)}.instructions-accordion__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:18px;line-height:1;color:var(--primary-600, #4b53b0)}.instructions-accordion__panel{overflow:hidden}.instructions-accordion__panel[hidden]{display:none}.instructions-accordion__content{padding:0 var(--space-4) var(--space-4);font-size:var(--text-body-size);line-height:1.6;color:var(--text-primary)}.instructions-accordion__content>p:first-child{margin-top:0}.instructions-accordion__content>p{margin:0 0 var(--space-2)}.instructions-accordion__content>p:last-child,.instructions-accordion__content>ul:last-child{margin-bottom:0}.instructions-accordion__content ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.instructions-accordion__content li{margin-bottom:var(--space-1)}.instructions-accordion__content .instructions-quote{margin:var(--space-2) 0 0}.faq-page{padding:var(--space-6);max-width:800px;margin:0 auto;width:100%;min-width:0}.faq-page__title{margin:0 0 var(--space-2);font-size:var(--text-h1-size);font-weight:600;color:var(--text-primary)}.faq-page__subtitle{font-size:var(--text-body-size);color:var(--text-secondary);margin:0 0 var(--space-6)}.faq-page__card{padding:var(--space-4)}.faq-page__card .instructions-accordion{margin-top:0}:root{--color-primary-50: #EEF0FF;--color-primary-100: #DDE1FF;--color-primary-200: #BFC6FF;--color-primary-300: #9EA9F3;--color-primary-400: #747DE0;--color-primary-500: #5058C0;--color-primary-600: #4B53B0;--color-primary-700: #3C438C;--color-primary-800: #2F356E;--color-primary-900: #242950;--color-secondary-500: #EC427C;--color-secondary-600: #D63A70;--color-neutral-0: #FFFFFF;--color-neutral-25: #FBFAFC;--color-neutral-50: #FAF9FD;--color-neutral-100: #F3F4FB;--color-neutral-200: #E6E8F3;--color-neutral-300: #D1D5E6;--color-neutral-400: #A6AAD4;--color-neutral-600: #60606B;--color-neutral-700: #3A3B45;--color-neutral-800: #24252C;--color-neutral-900: #14151A;--color-success: #2BC48A;--color-warning: #FDD605;--color-error: #EC427C;--color-info: #5058C0;--bg-primary: #FAF9FD;--bg-secondary: #F3F4FB;--bg-surface: #FFFFFF;--bg-surface-muted: #FBFAFC;--bg-brand: #5058C0;--bg-brand-dark: #4B53B0;--text-primary: #242950;--text-secondary: rgba(36, 41, 80, .72);--text-tertiary: rgba(36, 41, 80, .52);--text-muted: rgba(36, 41, 80, .38);--text-inverse: #FFFFFF;--text-link: #5058C0;--text-link-hover: #4B53B0;--text-accent: #EC427C;--border-subtle: rgba(80, 88, 192, .12);--border-soft: rgba(36, 41, 80, .1);--border-hard: rgba(36, 41, 80, .18);--color-yellow-400: #FDD605;--color-yellow-500: #F2C900;--color-yellow-300: #FFD92D;--font-primary: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--font-secondary: "Montserrat", Inter, system-ui, sans-serif;--text-h1-size: 30px;--text-h1-weight: 700;--text-h2-size: 24px;--text-h2-weight: 700;--text-h3-size: 20px;--text-h3-weight: 600;--text-body-size: 14px;--text-body-weight: 400;--text-caption-size: 12px;--text-nav-size: 14px;--text-nav-weight: 500;--text-nav-active-weight: 600;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-container: 26px;--radius-full: 9999px;--shadow-sm: 0px 6px 16px rgba(36, 41, 80, .1);--shadow-md: 0px 10px 24px rgba(36, 41, 80, .12);--shadow-lg: 0px 16px 40px rgba(36, 41, 80, .14);--shadow-xl: 0px 24px 64px rgba(36, 41, 80, .16);--shadow-container: 0px 20px 60px rgba(36, 41, 80, .2);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:hidden}@media (max-width: 768px){html{font-size:15px}}body{margin:0;font-family:var(--font-primary);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden}#root{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover)}h1,h2,h3{font-family:var(--font-secondary);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-4)}h1{font-size:var(--text-h1-size);line-height:1.2;letter-spacing:-.02em}h2{font-size:var(--text-h2-size);line-height:1.25;letter-spacing:-.02em}h3{font-size:var(--text-h3-size);font-weight:600;line-height:1.35;letter-spacing:-.01em}
