@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--bg: #ffffff;--surface: #ffffff;--surface-soft: #f5f5f7;--surface-hover: #f2f2f7;--text: #1d1d1f;--text-muted: #86868b;--line: #d2d2d7;--line-strong: #c7c7cc;--cta: #0071e3;--cta-hover: #0077ed;--cta-subtle: #f5f5f7;--cta-text: #0071e3;--focus: rgba(0, 113, 227, .4);--danger: #ff3b30;--danger-bg: #fff0f0;--danger-text: #d70015;--success: #34c759;--success-bg: #e5f9e7;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .04);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .05);--transition: .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,strong{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:-.015em;color:var(--text)}a,button,input{font:inherit}button,.primary-button,.ghost-button,.card-actions a,.card-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer;transition:all var(--transition)}button:focus-visible,a:focus-visible,input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.boot-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.boot-inline{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:15px;font-weight:600}.boot-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(79,70,229,.2);border-top-color:#4f46e5;animation:spin .9s linear infinite}.boot-inline p{margin:0}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--surface)}.login-hero{padding:clamp(40px,8vw,80px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b);position:relative;overflow:hidden;color:#fff}.login-hero:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.15) 0%,transparent 50%);pointer-events:none}.brand-chip{width:fit-content;padding:6px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#818cf8;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:24px}.login-hero h1{margin:0;font-size:clamp(40px,5vw,64px);line-height:1.1;color:#fff}.login-hero p{margin:20px 0 0;max-width:500px;color:#94a3b8;font-size:18px;line-height:1.6}.hero-points{margin:40px 0 0;padding:0;list-style:none;display:grid;gap:16px}.hero-points li{position:relative;padding-left:28px;color:#cbd5e1;font-size:16px;font-weight:500}.hero-points li:before{content:"✓";position:absolute;left:0;top:0;color:#38bdf8;font-weight:700}.login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,8vw,80px);background:var(--surface);max-width:600px;margin:0 auto;width:100%}.login-card h2{margin:0;font-size:32px;color:var(--text)}.login-card p{margin:8px 0 0;color:var(--text-muted);font-size:16px}.login-methods-combined{margin-top:32px;display:flex;flex-direction:column}.login-divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:var(--text-muted);font-size:14px}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--line)}.login-divider span{padding:0 16px;background:var(--surface)}.login-method{display:flex;flex-direction:column}.login-internal{margin-top:8px}.internal-login-btn{width:100%;height:48px}.login-method label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.login-method input{border:1px solid transparent;border-radius:12px;padding:14px 16px;background:#f5f5f7;font-size:15px;transition:all var(--transition)}.login-method input:focus{background:#fff;border-color:var(--cta);box-shadow:0 0 0 4px var(--focus)}.primary-button{margin-top:20px;width:100%;border:none;border-radius:14px;text-decoration:none;font-weight:600;font-size:16px;color:#fff;background:var(--cta);box-shadow:0 2px 8px #0071e333;padding:14px 16px;height:auto}.primary-button:hover:not(:disabled){background:var(--cta-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0071e34d}.primary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ghost-button{width:100%;border:1px solid var(--line-strong);border-radius:14px;text-decoration:none;font-weight:600;font-size:16px;padding:14px 16px;height:auto;color:var(--text);background:var(--surface);transition:all var(--transition)}.ghost-button:hover{border-color:var(--text-muted);background:var(--surface-hover)}.dashboard-page{min-height:100vh;padding:32px;background:var(--surface-soft);max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.topbar{background:transparent;padding:12px 0 24px;display:flex;justify-content:space-between;align-items:center}.topbar-left{display:flex;align-items:center;gap:32px}.topbar-kicker{margin:0;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.topbar h1{margin:4px 0 0;font-size:28px;font-weight:700;letter-spacing:-.02em;color:#1d1d1f}.topbar-nav{display:flex;gap:8px;align-items:center;margin-top:12px}.nav-tab{background:transparent;border:none;padding:8px 16px;border-radius:999px;color:var(--text-muted);font-weight:600;font-size:15px;cursor:pointer;transition:all var(--transition);min-height:auto}.nav-tab:hover{color:var(--text);background:#0000000a}.nav-tab.active{background:#fff;color:var(--text);box-shadow:0 2px 8px #0000000f}.topbar-actions{display:flex;gap:8px;align-items:center}.topbar-actions button{border:none;border-radius:999px;padding:0 20px;font-weight:600;font-size:14px;color:#fff;background:var(--cta);height:40px;transition:all var(--transition)}.topbar-actions button:hover:not(:disabled){background:var(--cta-hover)}.topbar-actions .ghost-button{background:#f5f5f7;color:#1d1d1f;border:none;box-shadow:none;height:40px;display:flex;align-items:center;justify-content:center}.topbar-actions .ghost-button:hover{background:#e8e8ed;border-color:transparent}.user-menu{position:relative}.user-avatar{width:40px;height:40px;min-height:40px;border-radius:50%;background:var(--cta-subtle);color:var(--cta);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;border:2px solid transparent;cursor:pointer;padding:0}.user-avatar:hover{border-color:var(--cta)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:240px;z-index:50;overflow:hidden;animation:fade-in .2s ease-out}.user-info{padding:16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.user-info strong{font-size:16px;color:var(--text)}.user-info span{font-size:13px;color:var(--text-muted)}.role-badge{display:inline-block;width:fit-content;margin-top:4px;padding:2px 8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:11px!important;font-weight:600}.logout-action{display:block;padding:12px 16px;color:var(--danger);font-weight:600;font-size:14px;text-decoration:none;transition:background var(--transition)}.logout-action:hover{background:var(--danger-bg)}.upload-card,.invite-section{border-radius:20px;border:1px solid rgba(0,0,0,.04);background:var(--surface);box-shadow:0 4px 20px #00000008;padding:40px}.solutions-section{padding:0}.upload-card h2{margin:0;font-size:22px;display:flex;align-items:center;gap:8px;color:var(--text);letter-spacing:-.01em}.upload-hint{margin:10px 0 0;color:var(--text-muted);font-size:14px}.upload-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:end}.upload-grid label{font-size:14px;font-weight:600;color:var(--text);display:grid;gap:8px}.upload-grid input,.upload-grid select{width:100%;border-radius:12px;border:1px solid transparent;padding:12px 16px;font-size:15px;background:#f5f5f7;transition:all var(--transition)}.upload-grid input:focus,.upload-grid select:focus{background:#fff;border-color:var(--cta);box-shadow:0 0 0 4px var(--focus)}.upload-file-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#f8fafc);padding:16px;position:relative;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}.upload-file-card:hover{border-color:var(--cta);box-shadow:var(--shadow-md);transform:translateY(-1px)}.upload-file-label{font-size:13px;font-weight:700;color:var(--text)}.upload-file-name{font-size:15px;font-weight:600;color:var(--text);word-break:break-all}.upload-file-meta{font-size:12px;color:var(--text-muted)}.upload-file-cta{width:fit-content;margin-top:4px;border-radius:999px;border:1px solid rgba(37,99,235,.25);background:#2563eb1a;color:var(--cta);padding:4px 12px;font-size:12px;font-weight:700}.upload-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-action-row{grid-column:1 / -1;display:flex;justify-content:flex-end}.upload-grid button{border:none;border-radius:12px;padding:0 24px;font-weight:600;font-size:15px;color:#fff;background:var(--cta);height:48px;min-width:180px;transition:all var(--transition)}.upload-grid button:hover{background:var(--cta-hover)}.edit-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061780;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.edit-modal{width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:24px}.edit-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.edit-modal-head h2{margin:0}.edit-close{width:auto;min-height:36px;padding:0 14px}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}.edit-grid label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.edit-grid input,.edit-grid select{width:100%;border-radius:var(--radius-md);border:1px solid var(--line-strong);padding:10px 14px;font-size:14px;background:var(--surface)}.edit-grid input:focus,.edit-grid select:focus{border-color:var(--cta);box-shadow:0 0 0 3px var(--focus)}.edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.edit-actions button{border:none;border-radius:var(--radius-md);min-height:44px;padding:0 22px;font-weight:700;color:#fff;background:var(--cta)}.edit-actions button:hover:not(:disabled){background:var(--cta-hover)}.invite-form{margin-top:24px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}.invite-form label{font-size:14px;font-weight:600;color:var(--text);display:grid;gap:8px}.invite-form input{width:100%;border-radius:12px;border:1px solid transparent;padding:12px 16px;font-size:15px;background:#f5f5f7;transition:all var(--transition)}.invite-form input:focus{background:#fff;border-color:var(--cta);box-shadow:0 0 0 4px var(--focus)}.invite-form button{border:none;border-radius:12px;padding:0 24px;font-weight:600;font-size:15px;color:#fff;background:var(--cta);height:48px;transition:all var(--transition)}.invite-form button:hover:not(:disabled){background:var(--cta-hover)}.latest-code{margin:20px 0 0;padding:16px;border-radius:var(--radius-md);border:1px dashed var(--cta);background:var(--cta-subtle);color:var(--cta-text);font-size:15px;display:flex;align-items:center;justify-content:space-between}.latest-code strong{font-family:monospace;font-size:18px;background:#fff;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid rgba(37,99,235,.2)}.invite-list{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.invite-item{border:1px solid rgba(0,0,0,.04);border-radius:16px;background:#fff;padding:16px 20px;font-size:13px;transition:all var(--transition);box-shadow:0 2px 10px #00000005}.invite-item:hover{border-color:#00000014;box-shadow:0 8px 24px #0000000f;transform:translateY(-2px)}.invite-item p{margin:0 0 6px;color:var(--text-muted);display:flex;justify-content:space-between}.invite-item p:last-child{margin-bottom:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-head h2{font-size:24px;font-weight:600;color:#1d1d1f;letter-spacing:-.02em}.section-head p{margin:0;color:#86868b;font-size:13px;font-weight:500;background:#fff;padding:6px 12px;border-radius:999px;box-shadow:0 2px 8px #0000000a}.message{padding:16px;border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger-text);border:1px solid rgba(239,68,68,.2);font-weight:500;font-size:14px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.solution-card{border-radius:20px;background:var(--surface);box-shadow:0 4px 20px #00000008;border:1px solid rgba(0,0,0,.04);transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden}.solution-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 32px #00000014}.card-cover-wrapper{width:100%;height:180px;background-color:#f9f9fb;position:relative;border-bottom:1px solid rgba(0,0,0,.04);display:flex;align-items:center;justify-content:center}.card-cover{width:100%;height:100%;object-fit:cover;display:block}.card-cover-placeholder{width:48px;height:48px;opacity:.5}.card-content{padding:24px;display:flex;flex-direction:column;flex-grow:1}.card-tag{width:fit-content;color:#86868b;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}.card-public-badge{display:inline-block;font-size:11px;font-weight:600;color:#059669;background:#ecfdf5;padding:2px 8px;border-radius:4px;margin-bottom:12px}.solution-card h3{margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:600;color:#1d1d1f;letter-spacing:-.015em}.solution-card p{margin:0 0 16px;color:#86868b;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#86868b}.card-actions{margin-top:16px;display:flex;gap:8px}.card-actions a,.card-actions button{border-radius:999px;font-weight:600;font-size:13px;padding:0 16px;height:32px;min-height:auto;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all var(--transition);border:none}.action-preview{background:var(--cta-subtle);color:var(--cta);flex:1;font-weight:600}.action-preview:hover{background:var(--cta);color:#fff}.card-actions button,.card-actions .action-download{background:transparent;color:#86868b;border:1px solid #d2d2d7;flex:1}.card-actions button:hover,.card-actions .action-download:hover{background:#f5f5f7;color:#1d1d1f}.card-actions .action-delete:hover{color:#ff3b30;border-color:#ff3b304d;background:#fff0f0}.empty-state{grid-column:1 / -1;padding:64px 24px;border:1px dashed #d2d2d7;border-radius:20px;color:#86868b;text-align:center;font-size:15px;font-weight:500}.slug-preview{font-size:12px;color:var(--text-muted);font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.card-external-url{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.card-url-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.card-url-copy{display:flex;align-items:center;justify-content:space-between;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--cta);cursor:pointer;min-height:auto;transition:all var(--transition)}.card-url-copy:hover{border-color:var(--cta);background:#0071e30d}.copy-icon{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:11px;font-weight:600;color:var(--cta);margin-left:8px}.card-code-count{display:inline-block;width:fit-content;margin-bottom:12px;padding:2px 10px;border-radius:999px;background:var(--surface-soft);font-size:12px;font-weight:600;color:var(--text-muted)}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.external-verify-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.external-verify-card{width:min(480px,100%);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:40px;text-align:center}.external-cover-wrapper{width:100%;height:200px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px}.external-cover{width:100%;height:100%;object-fit:cover}.external-verify-card h2{margin:0 0 8px;font-size:24px}.external-description{margin:0 0 24px;color:var(--text-muted);font-size:15px}.external-verify-form{text-align:left}.external-verify-form label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.external-verify-form input{width:100%;border-radius:12px;border:1px solid transparent;padding:14px 16px;font-size:15px;background:#f5f5f7;transition:all var(--transition)}.external-verify-form input:focus{background:#fff;border-color:var(--cta);box-shadow:0 0 0 4px var(--focus)}.external-error{margin:12px 0 0;color:var(--danger);font-size:14px;font-weight:500}.external-view-page{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff}.external-view-iframe{width:100%;height:100%;border:none}.ac-manager{display:flex;flex-direction:column;gap:24px}.ac-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ac-stat-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow-sm);padding:24px;text-align:center}.ac-stat-value{display:block;font-size:32px;font-weight:700;color:var(--text);letter-spacing:-.02em}.ac-stat-label{display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--text-muted)}.ac-stat-active .ac-stat-value{color:var(--success)}.ac-stat-expired .ac-stat-value{color:var(--text-muted)}.ac-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ac-status-tabs{display:flex;gap:4px;background:var(--surface-soft);border-radius:999px;padding:4px}.ac-tab{border:none;background:transparent;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;min-height:auto;transition:all var(--transition)}.ac-tab:hover{color:var(--text)}.ac-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.ac-solution-select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;background:var(--surface);min-height:auto}.ac-search-form{display:flex;gap:8px;flex:1;min-width:200px}.ac-search-input{flex:1;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;background:var(--surface)}.ac-search-input:focus{border-color:var(--cta);box-shadow:0 0 0 3px var(--focus);outline:none}.ac-search-btn{border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:600;color:var(--text);background:var(--surface-soft);min-height:auto;cursor:pointer}.ac-search-btn:hover{background:var(--surface-hover)}.ac-create-btn{border:none;border-radius:var(--radius-sm);padding:8px 20px;font-size:13px;font-weight:600;color:#fff;background:var(--cta);min-height:auto;cursor:pointer;transition:all var(--transition)}.ac-create-btn:hover{background:var(--cta-hover)}.ac-table-wrapper{background:var(--surface);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow-sm);overflow-x:auto}.ac-table{width:100%;border-collapse:collapse;font-size:14px}.ac-table th{text-align:left;padding:14px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap}.ac-table td{padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.04);color:var(--text)}.ac-table tbody tr:hover{background:var(--surface-soft)}.ac-code-cell{display:flex;align-items:center;gap:8px}.ac-code-cell code{font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;background:var(--surface-soft);padding:4px 8px;border-radius:var(--radius-sm)}.ac-copy-btn{border:none;background:transparent;color:var(--cta);font-size:12px;font-weight:600;cursor:pointer;padding:2px 8px;min-height:auto;border-radius:var(--radius-sm)}.ac-copy-btn:hover{background:var(--surface-soft)}.ac-status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.ac-badge-active{background:var(--success-bg);color:#15803d}.ac-badge-expired{background:var(--surface-soft);color:var(--text-muted)}.ac-note-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-actions-cell{display:flex;gap:4px}.ac-actions-cell button{border:1px solid var(--line);background:transparent;border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;min-height:auto;transition:all var(--transition)}.ac-actions-cell button:hover{background:var(--surface-soft);color:var(--text)}.ac-delete-btn:hover{color:var(--danger)!important;border-color:#ff3b304d!important;background:var(--danger-bg)!important}.ac-pagination{display:flex;align-items:center;justify-content:center;gap:16px}.ac-pagination button{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;min-height:auto}.ac-pagination button:disabled{opacity:.4;cursor:not-allowed}.ac-pagination span{font-size:13px;color:var(--text-muted)}.ac-modal-form{display:flex;flex-direction:column;gap:16px}.ac-modal-form label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.ac-modal-form input,.ac-modal-form select{width:100%;border-radius:var(--radius-md);border:1px solid var(--line-strong);padding:10px 14px;font-size:14px;background:var(--surface)}.ac-modal-form input:focus,.ac-modal-form select:focus{border-color:var(--cta);box-shadow:0 0 0 3px var(--focus);outline:none}.ac-modal-code{display:block;font-family:SF Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;background:var(--surface-soft);padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--line)}.ac-modal-actions{display:flex;justify-content:flex-end;margin-top:8px}.ac-modal-actions button{border:none;border-radius:var(--radius-md);min-height:44px;padding:0 22px;font-weight:700;color:#fff;background:var(--cta);cursor:pointer}.ac-modal-actions button:hover:not(:disabled){background:var(--cta-hover)}.ac-modal-actions button:disabled{opacity:.5;cursor:not-allowed}.ac-delete-confirm{max-width:400px;text-align:center}.ac-delete-confirm h2{margin:0 0 12px}.ac-delete-confirm p{margin:0 0 24px;color:var(--text-muted);font-size:14px}.ac-delete-actions{display:flex;gap:12px;justify-content:center}.ac-delete-actions .ghost-button{width:auto;min-height:40px;padding:0 20px;font-size:14px}.ac-delete-confirm-btn{border:none;border-radius:14px;min-height:40px;padding:0 20px;font-weight:600;font-size:14px;color:#fff;background:var(--danger);cursor:pointer}.ac-delete-confirm-btn:hover:not(:disabled){background:#e5342a}.ac-delete-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.ac-loading,.ac-empty{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:14px}@media(max-width:1024px){.login-page{grid-template-columns:1fr}.login-hero{padding:60px 32px;text-align:center;align-items:center}.brand-chip{margin:0 auto 24px}.login-card{padding:40px 32px}}@media(max-width:768px){.dashboard-page{padding:16px;gap:16px}.upload-grid,.invite-form{grid-template-columns:1fr}.upload-grid button,.invite-form button{width:100%}.topbar{flex-direction:column;align-items:flex-start;gap:16px}.topbar-left{flex-direction:column;align-items:flex-start;gap:16px;width:100%}.topbar-nav{width:100%;overflow-x:auto;padding-bottom:8px}.topbar-actions{width:100%;justify-content:space-between}.topbar-actions button:not(.user-avatar),.topbar-actions .ghost-button:not(.user-avatar){flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}
