:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif;color:#1a1a1a;background:#f5f5f3;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface-strong: #ffffff;--surface-soft: #fafaf9;--border-strong: #e5e5e3;--border-subtle: #eeeeec;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-tertiary: #9a9a9a;--brand-accent: #c96442;--brand-accent-hover: #b55a3a;--online: #1a7f4b;--offline: #c13a31;--ready: #0f766e;--in-progress: #b8860b;--unavailable: #8b6b50;--pending: #6b6b6b;--uploading: #2563eb;--setting-notes: #4f46e5;--submitting: #c2410c;--submitted: #15803d;--failed: #dc2626}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}#root{min-height:100vh}.dashboard-shell{width:min(960px,calc(100% - 48px));margin:0 auto;padding:48px 0 72px}.dashboard-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 32px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-strong)}.dashboard-hero__eyebrow,.section-card__eyebrow{margin:0 0 4px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-secondary)}.dashboard-hero h1,.section-card h2{margin:0}.dashboard-hero h1{font-size:1.25rem;font-weight:600}.dashboard-hero__description{max-width:640px;margin:6px 0 0;color:var(--text-secondary);font-size:.9rem}.dashboard-hero__status{display:flex;gap:10px;align-items:center;flex-shrink:0}.copy-feedback{margin:0;font-size:.85rem;color:var(--brand-accent)}.dashboard-grid{display:grid;gap:16px;margin-top:16px}.section-card{display:grid;gap:20px;padding:24px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-strong)}.section-card__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.section-card h2{font-size:1.05rem;font-weight:600}.section-card__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.section-card__body{display:grid;gap:16px}.field{display:grid;gap:6px}.field span{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.field input,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong);color:var(--text-primary);font-size:.9rem;transition:border-color .15s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #c964421a}.field textarea{resize:vertical;min-height:160px}.field--inline{display:flex;align-items:center;gap:8px}.field--inline input{width:4.5rem;padding:8px 10px}.admin-archive-layout{display:grid;gap:16px}.admin-archive-actions{display:flex;gap:12px;align-items:center}.admin-archive-checkbox{display:inline-flex;gap:8px;align-items:center;color:var(--text-secondary);font-size:.9rem}.admin-archive-file-list,.admin-archive-result-list{display:grid;gap:12px}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.metric-card{display:grid;gap:2px;padding:14px 16px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border-subtle)}.metric-card strong{font-size:1.4rem;font-weight:600}.metric-card span,.progress-item p,.empty-state p{color:var(--text-secondary);font-size:.85rem}.primary-button{border:0;border-radius:8px;padding:9px 18px;background:var(--text-primary);color:#fff;font-weight:600;font-size:.88rem;cursor:pointer;transition:background .15s}.primary-button:hover{background:#333}.primary-button:disabled{opacity:.4;cursor:not-allowed}.ghost-button{border:1px solid var(--border-strong);border-radius:8px;padding:8px 14px;background:var(--surface-strong);color:var(--text-primary);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.ghost-button:hover{background:var(--surface-soft);border-color:#d0d0ce}.progress-list{display:grid;gap:8px}.progress-item,.empty-state,.error-banner{padding:14px 16px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border-subtle)}.progress-item__header{display:flex;justify-content:space-between;gap:16px;align-items:center}.progress-item strong{display:block;font-size:.92rem}.progress-item{display:grid;gap:12px}.progress-item__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--text-secondary)}.progress-step-list{display:grid;gap:10px}.progress-step{padding:10px 12px;border-radius:8px;background:var(--surface-strong);border:1px solid var(--border-subtle)}.progress-step__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-step__label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.progress-step__meta{margin:8px 0 0;font-size:.78rem;color:var(--text-tertiary)}.locale-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.locale-tab{display:grid;gap:1px;min-width:78px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-strong);cursor:pointer;color:var(--text-primary);font-size:.82rem;transition:all .15s}.locale-tab strong{font-size:.95rem}.locale-tab[data-active=true]{border-color:var(--brand-accent);background:#c964420f}.locale-tab[data-over-limit=true]{border-color:#dc262659;color:var(--failed)}.status-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;background:#1a1a1a0f;color:var(--text-secondary);white-space:nowrap}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge[data-tone=online],.status-badge[data-tone=ready],.status-badge[data-tone=submitted]{background:#15803d14;color:var(--submitted)}.status-badge[data-tone=offline],.status-badge[data-tone=failed]{background:#dc262614;color:var(--failed)}.status-badge[data-tone=in_progress],.status-badge[data-tone=submitting]{background:#c2410c14;color:var(--submitting)}.status-badge[data-tone=pending]{background:#6b6b6b14;color:var(--pending)}.status-badge[data-tone=uploading]{background:#2563eb14;color:var(--uploading)}.status-badge[data-tone=setting_notes]{background:#4f46e514;color:var(--setting-notes)}.status-badge[data-tone=unavailable]{background:#8b6b5014;color:var(--unavailable)}.progress-bar{overflow:hidden;height:6px;margin-top:10px;border-radius:3px;background:#1a1a1a0f}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--brand-accent);transition:width .3s ease}.progress-bar--compact{margin-top:8px;height:5px}.empty-state{display:grid;gap:4px;text-align:center;padding:32px 16px}.empty-state strong{color:var(--text-secondary);font-size:.92rem}.error-banner{display:grid;gap:4px;background:#dc26260d;border-color:#dc262633}.error-banner p{color:var(--failed);font-size:.88rem}.wizard-stepper{display:flex;align-items:center;justify-content:center;gap:0;padding:16px 24px;margin-top:16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-strong)}.wizard-step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;color:var(--text-tertiary);transition:all .15s ease}.wizard-step--active{background:#c9644214;color:var(--brand-accent)}.wizard-step--completed{color:var(--submitted)}.wizard-step__number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:.82rem;background:#1a1a1a0f;transition:all .15s ease}.wizard-step--active .wizard-step__number{background:var(--brand-accent);color:#fff}.wizard-step--completed .wizard-step__number{background:#15803d1a;color:var(--submitted)}.wizard-step__label{font-weight:600;font-size:.88rem}.wizard-step__connector{display:block;width:32px;height:1px;margin:0 4px;background:var(--border-strong)}.wizard-step-content{display:grid;gap:16px}.wizard-nav{display:flex;justify-content:space-between;gap:12px;padding:16px 0 0}.wizard-nav .primary-button{margin-left:auto}.tab-group{display:flex;gap:0;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:var(--surface-soft)}.tab-group__tab{flex:1;padding:10px 16px;border:none;background:transparent;font-weight:500;font-size:.88rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.tab-group__tab--active{background:var(--surface-strong);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #0000000a}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:140px;padding:28px;border:1.5px dashed var(--border-strong);border-radius:10px;background:var(--surface-soft);cursor:pointer;transition:all .15s ease}.upload-zone:hover,.upload-zone--drag-over{border-color:var(--brand-accent);background:#c964420a}.upload-zone__icon{margin:0;font-size:1.6rem}.upload-zone__text{margin:0;color:var(--text-secondary);font-size:.88rem}.upload-zone__hint{margin:0;color:var(--text-tertiary);font-size:.8rem}.upload-zone__actions{display:flex;gap:8px;margin-top:6px}.upload-zone__errors{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.notes-editor{display:flex;flex-direction:column;gap:20px;margin-top:16px}.notes-editor-section{display:flex;flex-direction:column;gap:8px}.notes-editor-section__header{display:flex;align-items:center;justify-content:space-between}.notes-editor-section__header h3{margin:0;font-size:.92rem;font-weight:600}.notes-editor-section__meta{font-size:.8rem}.notes-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;font-size:.85rem;font-family:ui-monospace,SF Mono,Menlo,monospace;line-height:1.6;resize:vertical;background:var(--surface-soft);color:var(--text-primary);transition:border-color .15s}.notes-textarea:focus{outline:none;border-color:var(--brand-accent);background:var(--surface-strong);box-shadow:0 0 0 3px #c964421a}.notes-textarea--over-limit{border-color:var(--failed)}.notes-textarea--over-limit:focus{border-color:var(--failed);box-shadow:0 0 0 3px #dc26261a}.notes-placeholder{margin:24px 0 0;text-align:center;color:var(--text-tertiary);font-size:.88rem}.channel-progress-list{margin-top:16px;display:flex;flex-direction:column;gap:0;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.channel-progress-list__title{margin:0;padding:8px 16px;font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-soft);border-bottom:1px solid var(--border-subtle)}.channel-progress-item{padding:10px 16px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--border-subtle)}.channel-progress-item:last-child{border-bottom:none}.channel-progress-item__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.channel-progress-item__name{font-weight:600;font-size:.88rem}.channel-progress-item__status{display:flex;align-items:center;gap:6px}.channel-progress-item__progress{display:flex;align-items:center;gap:8px}.channel-progress-item__info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.channel-progress-item__filename{font-size:.8rem;color:var(--text-secondary);font-family:ui-monospace,SF Mono,Menlo,monospace;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-progress-item__version{font-size:.78rem;color:var(--text-secondary);background:#1a1a1a0a;padding:1px 6px;border-radius:4px}.channel-progress-item__size{font-size:.78rem;color:var(--text-tertiary)}.channel-progress-item__error{margin:0;font-size:.8rem;color:var(--failed)}.channel-apk-table{display:grid;gap:0;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.channel-apk-table__header,.channel-apk-table__row{display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr .8fr;gap:12px;padding:10px 16px;align-items:center;font-size:.85rem}.channel-apk-table__header{background:var(--surface-soft);font-weight:600;font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.channel-apk-table__row{border-top:1px solid var(--border-subtle);background:var(--surface-strong)}.channel-apk-table__channel{font-weight:600}.channel-apk-table__file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.channel-apk-table__code,.channel-apk-table__version{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;color:var(--text-secondary)}.task-list{display:grid;gap:8px}.task-card{display:grid;gap:8px;padding:16px 20px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border-subtle);cursor:pointer;transition:all .15s ease}.task-card:hover{border-color:var(--border-strong);background:var(--surface-strong)}.task-card__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.task-card__header strong{font-size:1rem;font-weight:600}.task-card__meta{display:flex;gap:16px;font-size:.82rem;color:var(--text-secondary)}.task-card__channels{display:flex;flex-wrap:wrap;gap:4px}.task-card__channel-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;background:#1a1a1a0d;color:var(--text-secondary)}.task-card__channel-badge[data-status=submitted]{background:#15803d14;color:var(--submitted)}.task-card__channel-badge[data-status=failed]{background:#dc262614;color:var(--failed)}.task-card__channel-badge[data-status=uploading]{background:#2563eb14;color:var(--uploading)}.release-confirm{display:grid;gap:16px}.release-confirm__channels{display:grid;gap:6px}.release-confirm__channel-row{display:grid;grid-template-columns:1fr auto 2fr;gap:12px;align-items:center;padding:10px 14px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border-subtle);font-size:.88rem}.release-confirm__file{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-import-section,.upload-section,.wizard-notes-input{display:grid;gap:12px}.btn{border:none;cursor:pointer;font-weight:500;transition:all .15s}.btn--secondary{background:var(--surface-strong);border:1px solid var(--border-strong);color:var(--text-primary)}.btn--secondary:hover{background:var(--surface-soft)}.btn--sm{padding:6px 12px;font-size:.82rem;border-radius:6px}@media(max-width:960px){.dashboard-hero,.progress-item__header,.section-card__header{grid-template-columns:1fr;display:grid}.dashboard-hero__status{justify-content:flex-start}}@media(max-width:640px){.dashboard-shell{width:min(100% - 24px,960px);padding:20px 0 40px}.dashboard-hero,.section-card{padding:18px;border-radius:10px}.metrics-row{grid-template-columns:1fr}.section-card__actions{justify-content:stretch}.section-card__actions button{width:100%}.wizard-stepper{flex-wrap:wrap;padding:12px}.wizard-step__connector{display:none}.channel-apk-table__header,.channel-apk-table__row{grid-template-columns:1fr 1.5fr auto}.channel-apk-table__code,.channel-apk-table__version,.channel-apk-table__header span:nth-child(3),.channel-apk-table__header span:nth-child(4){display:none}.release-confirm__channel-row{grid-template-columns:1fr auto}.release-confirm__file{display:none}}
