.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:60vh;text-align:center;padding:24px}.loading-page__spinner{width:40px;height:40px;border-radius:50%;border:3px solid color-mix(in srgb,var(--tg-theme-button-color, #2481cc) 25%,transparent);border-top-color:var(--tg-theme-button-color, #2481cc);animation:spin .8s linear infinite}.loading-page__title{margin:0;font-size:1.25rem}.loading-page__subtitle{margin:0;color:var(--tg-theme-hint-color, #8e8e93)}.loading-page__error{color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:.9rem}.loading-page__retry{margin-top:8px;border:none;border-radius:12px;padding:10px 18px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #fff);font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}.office-page{display:flex;flex-direction:column;gap:20px;padding:20px 16px 32px}.office-page__header{display:flex;flex-direction:column;gap:6px}.office-page__eyebrow{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tg-theme-hint-color, #8e8e93)}.office-page__title{margin:0;font-size:1.6rem}.office-page__subtitle{margin:0;color:var(--tg-theme-hint-color, #8e8e93);line-height:1.4}.office-page__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.office-stat{padding:12px;border-radius:14px;background:var(--tg-theme-secondary-bg-color, rgba(120, 120, 128, .16))}.office-stat__label{display:block;font-size:.72rem;color:var(--tg-theme-hint-color, #8e8e93)}.office-stat__value{font-size:1rem}.office-page__canvas-placeholder{min-height:240px;border-radius:18px;border:1px dashed color-mix(in srgb,var(--tg-theme-hint-color, #8e8e93) 50%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:var(--tg-theme-hint-color, #8e8e93)}.office-page__user{margin:0;color:var(--tg-theme-text-color, #000);font-weight:600}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body.tg-viewport-managed{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:var(--app-stable-viewport-height, 100dvh);overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.app-shell{height:var(--app-stable-viewport-height, 100dvh);min-height:0;max-height:var(--app-stable-viewport-height, 100dvh);background:var(--app-bg);color:var(--app-text);overflow:hidden;overscroll-behavior-y:none;display:flex;flex-direction:column;box-sizing:border-box}.app-shell__content{flex:1 1 auto;min-height:0;width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;padding:0;overflow:hidden;overscroll-behavior-y:none;box-sizing:border-box}.app-shell__content:has(.studio-shell){max-width:none}.offline-banner{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--brand-warning) 20%,var(--app-bg));color:var(--brand-warning);text-align:center;padding:var(--space-2) var(--space-4);font-size:13px}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-md: 12px;--radius-lg: 16px;--elevation-1: 0 1px 3px rgba(0, 0, 0, .12);--elevation-2: 0 4px 12px rgba(0, 0, 0, .16);--tg-safe-area-top: env(safe-area-inset-top, 0px);--tg-safe-area-bottom: env(safe-area-inset-bottom, 0px);--app-bg: #171b1f;--app-text: #eef2f5;--app-hint: #a8b2bc;--app-link: #2f9e8f;--app-button: #2f9e8f;--app-button-text: #06241f;--app-secondary-bg: #22282e;--brand-primary: #2f9e8f;--brand-success: #3dba74;--brand-warning: #e3a23a;--brand-danger: #e15b5b;--brand-xp: #8ecf9a;--brand-cash: #e8b84a;--brand-rep: #5cb8e8}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.contract-detail__badges{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}
