:root {
  --ink: #111827;
  --muted: #667085;
  --subtle: #98a2b3;
  --line: #e6e8ef;
  --surface: #f7f8fc;
  --panel: #ffffff;
  --indigo: #5b5ce2;
  --indigo-dark: #4748c9;
  --violet: #8b5cf6;
  --cyan: #22d3ee;
  --mint: #34d399;
  --green: #16a34a;
  --amber: #d97706;
  --red: #dc2626;
  --shadow: 0 14px 40px rgba(17, 24, 39, 0.07);
  --radius: 18px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--surface);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--surface); }
button, input, textarea, select { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid rgba(91,92,226,.28); outline-offset:2px; }
button:disabled { cursor:not-allowed; opacity:.52; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }
.sidebar {
  position: sticky; top: 0; height: 100vh; padding: 22px 16px 18px;
  background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column;
}
.brand { display: flex; align-items: center; gap: 11px; padding: 2px 8px 21px; }
.brand-name { font-weight: 790; letter-spacing: -0.035em; font-size: 20px; }
.brand-mark { position: relative; width: 34px; height: 32px; display: inline-block; }
.brand-mark span { position: absolute; display: block; width: 25px; height: 20px; border-radius: 8px; transform: rotate(-7deg); }
.brand-mark span:first-child { left: 0; top: 1px; background: linear-gradient(135deg, var(--indigo), var(--violet)); box-shadow: 0 5px 12px rgba(91,92,226,.25); }
.brand-mark span:first-child::after { content:""; position:absolute; left:5px; bottom:-4px; border:5px solid transparent; border-top-color:var(--indigo); transform:rotate(20deg); }
.brand-mark span:last-child { right: 0; bottom: 1px; background: linear-gradient(135deg, var(--violet), var(--cyan)); transform: rotate(7deg); border: 2px solid #fff; }

.project-switcher { display: grid; grid-template-columns: 38px minmax(0, 1fr) 18px; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fbfbfd; margin-bottom: 20px; cursor: pointer; }
.project-switcher:hover { border-color: #cfd3df; }
.project-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; color: #fff; font-size: 12px; font-weight: 750; background: linear-gradient(135deg, #0f766e, #34d399); }
.project-switcher strong, .project-switcher span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project-switcher strong { font-size: 13px; }
.project-switcher span { color: var(--muted); font-size: 11px; margin-top: 2px; }
.project-switcher svg { width: 18px; fill: none; stroke: var(--muted); stroke-width: 1.8; }

nav { display: grid; gap: 5px; }
nav a, .sidebar-bottom > a { position: relative; display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 11px; color: #475467; font-size: 13px; font-weight: 610; border-radius: 11px; }
nav a:hover, .sidebar-bottom > a:hover { background: #f4f5fb; color: var(--ink); }
nav a.active, .sidebar-bottom > a.active { color: var(--indigo); background: #f0f0ff; }
nav a.active::before, .sidebar-bottom > a.active::before { content:""; position:absolute; left:-16px; width:3px; height:24px; background:var(--indigo); border-radius:0 4px 4px 0; }
.nav-icon { width: 22px; height: 22px; display: grid; place-items: center; color: currentColor; font-size: 14px; font-weight: 700; }
.nav-count { margin-left: auto; min-width: 22px; height: 20px; display: grid; place-items: center; border-radius: 10px; background: #fff; color: var(--indigo); font-size: 11px; border: 1px solid #dadaff; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 12px; }
.trial-card { padding: 14px; border-radius: 15px; background: linear-gradient(145deg, #f2f1ff, #f8faff 70%); border: 1px solid #e0e0ff; }
.trial-card .eyebrow { display: block; color: var(--indigo); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.trial-card strong { display:block; font-size:13px; margin:5px 0 10px; }
.trial-bar { height: 5px; background: #dddffe; border-radius: 5px; overflow: hidden; }
.trial-bar span { display:block; width:62%; height:100%; background: linear-gradient(90deg,var(--indigo),var(--violet)); }
.trial-card button { border:0; background:transparent; color:var(--indigo); padding:10px 0 0; font-size:12px; font-weight:700; cursor:pointer; }
.account-row { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:9px; padding:7px 8px 0; border-top:1px solid var(--line); }
.avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#111827; color:white; font-size:11px; font-weight:750; }
.account-row strong, .account-row small { display:block; }
.account-row strong { font-size:12px; }
.account-row small { font-size:10px; color:var(--muted); margin-top:2px; }
.account-row button { border:0; background:transparent; color:var(--muted); cursor:pointer; }

.main-shell { min-width: 0; }
.topbar { min-height: 92px; padding: 20px 30px; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:10; }
.breadcrumb { margin:0 0 4px; color:var(--muted); font-size:11px; }
.breadcrumb span { padding:0 5px; color:#c0c5d0; }
.topbar h1 { margin:0; font-size:23px; letter-spacing:-.035em; }
.topbar-actions { display:flex; align-items:center; gap:9px; }
.environment { height:34px; display:flex; align-items:center; gap:7px; padding:0 11px; border:1px solid var(--line); border-radius:18px; color:var(--muted); font-size:11px; background:#fff; }
.environment i { width:7px; height:7px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 3px #fff4e5; }
.environment.live i { background:var(--green); box-shadow:0 0 0 3px #eaf8ee; }
.icon-button, .button { border-radius:10px; min-height:38px; cursor:pointer; font-size:12px; font-weight:700; }
.icon-button { width:38px; border:1px solid var(--line); background:white; color:var(--muted); }
.button { padding:0 15px; border:1px solid transparent; }
.button.primary { background:var(--indigo); color:#fff; box-shadow:0 7px 17px rgba(91,92,226,.2); }
.button.primary:hover { background:var(--indigo-dark); }
.button.secondary { background:#fff; border-color:var(--line); color:#344054; }
.button.ghost { background:transparent; border-color:var(--line); color:#475467; }
.button.danger { background:#fff; border-color:#fecaca; color:var(--red); }
.button.small { min-height:32px; padding:0 11px; font-size:11px; }

.view-root { padding: 28px 30px 50px; max-width: 1500px; margin: 0 auto; }
.view-header { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.view-header h2 { margin:0 0 6px; font-size:22px; letter-spacing:-.035em; }
.view-header p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.header-actions { display:flex; gap:8px; }
.grid { display:grid; gap:18px; }
.grid.metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.grid.two { grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr); }
.grid.equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 1px 2px rgba(17,24,39,.015); }
.card.pad { padding:20px; }
.card-header { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.card-header h3 { margin:0; font-size:14px; letter-spacing:-.01em; }
.card-header p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.card-body { padding:20px; }
.metric-card { padding:18px; position:relative; overflow:hidden; }
.metric-card::after { content:""; position:absolute; width:80px; height:80px; border-radius:50%; right:-33px; top:-30px; background:radial-gradient(circle,rgba(91,92,226,.13),transparent 70%); }
.metric-label { color:var(--muted); font-size:11px; font-weight:650; }
.metric-value { display:flex; align-items:baseline; gap:8px; margin:9px 0 6px; }
.metric-value strong { font-size:26px; letter-spacing:-.045em; }
.metric-value small { color:var(--green); font-size:10px; font-weight:700; }
.metric-foot { color:var(--subtle); font-size:10px; }

.hero-card { padding:22px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:20px; overflow:hidden; position:relative; background:linear-gradient(135deg,#fff 20%,#f6f5ff 100%); }
.hero-card::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; right:-100px; bottom:-150px; background:radial-gradient(circle,rgba(34,211,238,.18),rgba(139,92,246,.07) 50%,transparent 70%); }
.hero-copy { position:relative; z-index:1; }
.pill { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 9px; border-radius:13px; color:var(--indigo); background:#eeeeff; border:1px solid #ddddff; font-size:10px; font-weight:750; }
.pill.green { background:#edf9f0; border-color:#ccefd5; color:var(--green); }
.pill.amber { background:#fff7e8; border-color:#fae2b8; color:var(--amber); }
.pill.red { background:#fff0f0; border-color:#ffd0d0; color:var(--red); }
.hero-card h2 { font-size:26px; max-width:560px; letter-spacing:-.045em; margin:14px 0 10px; }
.hero-card p { max-width:620px; margin:0 0 19px; color:var(--muted); line-height:1.62; font-size:13px; }
.hero-actions { display:flex; gap:8px; }
.context-illustration { position:relative; z-index:1; display:grid; place-items:center; min-height:220px; }
.context-window { width:100%; max-width:370px; background:#fff; border:1px solid #dfe2ed; border-radius:17px; box-shadow:var(--shadow); padding:14px; transform:rotate(1.4deg); }
.context-window .browser-bar { display:flex; gap:4px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.context-window .browser-bar i { width:6px; height:6px; border-radius:50%; background:#d0d5dd; }
.context-row { margin-top:10px; padding:10px; border-radius:11px; background:#f8f9fc; }
.context-row.selected { background:#f0f0ff; border:1px solid #d8d8ff; }
.context-row span { display:block; height:6px; border-radius:4px; background:#d9dde8; margin-bottom:7px; }
.context-row span:last-child { width:67%; margin:0; }
.context-row.selected span:first-child { width:84%; background:linear-gradient(90deg,var(--indigo),var(--violet)); }
.context-tag { position:absolute; right:8%; bottom:17%; background:#111827; color:#fff; border-radius:10px; padding:9px 11px; font-size:10px; box-shadow:0 10px 28px rgba(17,24,39,.2); }
.context-tag::before { content:""; position:absolute; left:16px; top:-6px; border:6px solid transparent; border-bottom-color:#111827; border-top:0; }

.language-list { display:grid; }
.language-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(170px,1.2fr) 90px 88px; align-items:center; gap:16px; padding:14px 20px; border-top:1px solid var(--line); }
.language-row:first-child { border-top:0; }
.language-name { display:flex; align-items:center; gap:10px; }
.flag { width:30px; height:22px; display:grid; place-items:center; border-radius:6px; background:#f2f4f7; font-size:15px; }
.language-name strong, .language-name small { display:block; }
.language-name strong { font-size:12px; }
.language-name small { color:var(--muted); font-size:10px; margin-top:2px; }
.progress { height:7px; background:#eff1f5; border-radius:5px; overflow:hidden; }
.progress span { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--indigo),var(--violet)); }
.progress.green span { background:linear-gradient(90deg,#16a34a,#34d399); }
.progress-label { color:var(--muted); font-size:10px; margin-top:5px; display:flex; justify-content:space-between; }
.status-dot { display:inline-flex; align-items:center; gap:6px; font-size:10px; color:var(--muted); }
.status-dot i { width:7px; height:7px; border-radius:50%; background:var(--green); }

.activity-list { display:grid; gap:15px; }
.activity { display:grid; grid-template-columns:30px 1fr auto; gap:10px; align-items:start; }
.activity-icon { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#f0f0ff; color:var(--indigo); font-size:12px; font-weight:800; }
.activity strong { font-size:11px; display:block; margin-top:1px; }
.activity p { margin:3px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.activity time { color:var(--subtle); font-size:9px; }

.insight-list { display:grid; gap:10px; }
.insight { padding:12px; border:1px solid var(--line); border-radius:12px; background:#fbfbfd; display:grid; grid-template-columns:30px 1fr; gap:10px; }
.insight > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:#edf9f0; color:var(--green); }
.insight strong { display:block; font-size:11px; }
.insight p { margin:3px 0 0; color:var(--muted); font-size:10px; line-height:1.48; }

.editor-shell { display:grid; grid-template-columns:300px minmax(420px,1fr) 320px; min-height:680px; overflow:hidden; }
.editor-list { border-right:1px solid var(--line); background:#fbfbfd; }
.editor-search { padding:14px; border-bottom:1px solid var(--line); }
.search { position:relative; }
.search input { width:100%; height:38px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:0 12px 0 34px; outline:none; font-size:11px; }
.search::before { content:"⌕"; position:absolute; left:12px; top:9px; color:var(--muted); }
.filter-row { display:flex; gap:6px; margin-top:9px; }
.filter-chip { border:1px solid var(--line); background:white; color:var(--muted); border-radius:9px; padding:6px 8px; font-size:9px; cursor:pointer; }
.filter-chip.active { background:#efefff; border-color:#d8d8ff; color:var(--indigo); }
.unit-list { max-height:615px; overflow:auto; }
.editor-pagination { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.editor-pagination div { display:flex; gap:6px; }
.unit-item { padding:14px; border-bottom:1px solid var(--line); cursor:pointer; background:#fbfbfd; }
.unit-item:hover { background:#f5f6fb; }
.unit-item.active { background:#fff; box-shadow:inset 3px 0 var(--indigo); }
.unit-item .unit-meta { display:flex; align-items:center; justify-content:space-between; color:var(--subtle); font-size:9px; margin-bottom:6px; }
.unit-item strong { font-size:11px; line-height:1.45; display:block; }
.unit-item p { margin:5px 0 0; color:var(--muted); font-size:10px; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.unit-state { width:7px; height:7px; border-radius:50%; background:var(--amber); }
.unit-state.green { background:var(--green); }
.unit-state.red { background:var(--red); }
.editor-main { padding:22px; }
.editor-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.editor-top .locale-pair { display:flex; gap:8px; align-items:center; font-size:11px; font-weight:700; }
.locale-box { padding:7px 9px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.copy-block { margin-bottom:18px; }
.copy-block label { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:10px; font-weight:700; margin-bottom:7px; }
.copy-block .source-copy { border:1px solid var(--line); background:#f8f9fc; border-radius:12px; padding:16px; font-size:14px; line-height:1.55; }
.copy-block textarea { width:100%; min-height:125px; resize:vertical; border:1px solid #cdd0f8; border-radius:12px; padding:16px; outline:none; color:var(--ink); background:#fff; font-size:14px; line-height:1.55; box-shadow:0 0 0 3px rgba(91,92,226,.06); }
.copy-block textarea:focus { border-color:var(--indigo); box-shadow:0 0 0 3px rgba(91,92,226,.12); }
.placeholder-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.token { padding:5px 7px; border-radius:7px; background:#eff1f5; color:#475467; font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace; }
.editor-actions { display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:1px solid var(--line); }
.editor-actions > div { display:flex; gap:8px; }
.keyboard { color:var(--subtle); font-size:9px; }
.context-panel { border-left:1px solid var(--line); background:#fbfbfd; padding:18px; }
.context-panel h3 { margin:0 0 15px; font-size:13px; }
.context-section { padding:13px 0; border-top:1px solid var(--line); }
.context-section:first-of-type { border-top:0; padding-top:0; }
.context-section h4 { margin:0 0 8px; color:var(--subtle); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.context-section dl { margin:0; display:grid; grid-template-columns:82px 1fr; gap:7px; font-size:10px; }
.context-section dt { color:var(--muted); }
.context-section dd { margin:0; color:#344054; font-weight:600; overflow-wrap:anywhere; }
.nearby-copy { padding:10px; border-radius:10px; background:#fff; border:1px solid var(--line); color:#475467; font-size:10px; line-height:1.5; }
.nearby-copy b { color:var(--indigo); }
.protected-term { display:flex; align-items:center; justify-content:space-between; padding:8px 9px; border:1px solid #dcdcff; border-radius:9px; background:#f3f2ff; font-size:10px; margin-top:7px; }
.protected-term span { color:var(--indigo); font-weight:700; }
.protected-term small { color:var(--muted); }

.table { width:100%; border-collapse:collapse; }
.table th { text-align:left; padding:11px 14px; color:var(--subtle); font-size:9px; text-transform:uppercase; letter-spacing:.07em; border-bottom:1px solid var(--line); background:#fbfbfd; }
.table td { padding:13px 14px; border-bottom:1px solid var(--line); font-size:11px; vertical-align:middle; }
.table tr:last-child td { border-bottom:0; }
.table td small { display:block; color:var(--muted); margin-top:3px; line-height:1.4; }
.term-name { font-weight:750; }
.behavior { display:inline-flex; height:23px; align-items:center; gap:5px; padding:0 8px; border-radius:12px; background:#f0f0ff; color:var(--indigo); font-size:9px; font-weight:700; }
.behavior.translate { background:#edf9f0; color:var(--green); }
.table-actions { display:flex; gap:4px; justify-content:flex-end; }
.table-actions button { border:0; background:transparent; color:var(--muted); cursor:pointer; padding:5px; }

.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.field { display:grid; gap:6px; }
.field.full { grid-column:1 / -1; }
.field label { color:#475467; font-size:10px; font-weight:700; }
.field input, .field textarea, .field select { width:100%; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); padding:10px 11px; font-size:11px; outline:none; }
.field textarea { min-height:80px; resize:vertical; line-height:1.5; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--indigo); box-shadow:0 0 0 3px rgba(91,92,226,.08); }
.field .hint { color:var(--subtle); font-size:9px; line-height:1.45; }
.toggle-row { display:flex; align-items:center; justify-content:space-between; padding:13px 0; border-top:1px solid var(--line); }
.toggle-row:first-child { border-top:0; padding-top:0; }
.toggle-row strong, .toggle-row small { display:block; }
.toggle-row strong { font-size:11px; }
.toggle-row small { color:var(--muted); margin-top:3px; font-size:9px; line-height:1.4; }
.toggle { position:relative; width:38px; height:22px; border-radius:12px; background:#d0d5dd; cursor:pointer; border:0; }
.toggle::after { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.15s; }
.toggle.on { background:var(--indigo); }
.toggle.on::after { transform:translateX(16px); }

.publish-grid { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:18px; }
.steps { display:grid; }
.step { display:grid; grid-template-columns:36px 1fr auto; gap:12px; padding:17px 20px; border-top:1px solid var(--line); align-items:start; }
.step:first-child { border-top:0; }
.step-number { width:32px; height:32px; border-radius:10px; display:grid; place-items:center; background:#f0f0ff; color:var(--indigo); font-size:11px; font-weight:800; }
.step.done .step-number { background:#eaf8ee; color:var(--green); }
.step strong { font-size:12px; display:block; margin-top:2px; }
.step p { margin:4px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.site-preview { padding:14px; background:#111827; border-radius:var(--radius); box-shadow:var(--shadow); }
.browser-preview { overflow:hidden; border-radius:12px; background:#fff; min-height:410px; }
.browser-chrome { height:34px; background:#eef0f5; display:flex; align-items:center; gap:5px; padding:0 10px; }
.browser-chrome i { width:6px; height:6px; border-radius:50%; background:#c3c7d0; }
.browser-url { margin-left:8px; flex:1; height:20px; border-radius:7px; background:#fff; color:#98a2b3; display:flex; align-items:center; padding:0 8px; font-size:7px; }
.site-body { min-height:376px; padding:28px 24px; background:linear-gradient(150deg,#f8fffd,#fff 55%,#f5f3ff); position:relative; }
.site-brand { font-size:10px; color:#0f766e; font-weight:800; }
.site-body h3 { max-width:280px; font-size:25px; letter-spacing:-.045em; margin:38px 0 9px; line-height:1.05; }
.site-body p { max-width:270px; color:#667085; font-size:9px; line-height:1.55; }
.site-cta { display:inline-flex; margin-top:12px; height:27px; align-items:center; padding:0 11px; background:#0f766e; color:white; border-radius:8px; font-size:8px; font-weight:700; }
.language-switcher-preview { position:absolute; right:18px; top:18px; min-width:108px; height:30px; background:#fff; border:1px solid #dfe2e8; border-radius:9px; display:flex; align-items:center; justify-content:space-between; padding:0 9px; font-size:8px; box-shadow:0 8px 25px rgba(17,24,39,.08); }
.site-orb { position:absolute; width:165px; height:165px; border-radius:50%; right:-45px; bottom:-55px; background:radial-gradient(circle at 35% 35%,#a7f3d0,#0f766e); opacity:.78; }
.code-box { background:#111827; color:#d1d5db; border-radius:12px; padding:14px; font:500 9px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; overflow:auto; }
.code-box .purple { color:#c4b5fd; }.code-box .cyan { color:#67e8f9; }.code-box .green { color:#86efac; }

.locale-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.locale-card { padding:17px; }
.locale-card-top { display:flex; align-items:center; justify-content:space-between; }
.locale-card h3 { margin:12px 0 4px; font-size:14px; }
.locale-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.locale-card .big-progress { margin-top:16px; }
.locale-stats { display:flex; justify-content:space-between; color:var(--subtle); font-size:9px; margin-top:9px; }

.empty-note { padding:12px; background:#fff8e8; color:#8a5a00; border:1px solid #f5dfa8; border-radius:11px; font-size:10px; line-height:1.5; }
.callout { display:flex; gap:12px; padding:14px; border-radius:12px; background:#f0f0ff; border:1px solid #dcdcff; color:#3d3e9b; font-size:10px; line-height:1.5; }
.callout .callout-icon { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border-radius:8px; background:#fff; color:var(--indigo); font-weight:800; }

.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,18px); padding:11px 15px; border-radius:10px; background:#111827; color:#fff; font-size:11px; box-shadow:0 12px 30px rgba(0,0,0,.2); opacity:0; pointer-events:none; transition:.2s; z-index:100; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.toast[data-tone="error"] { background:#8f1d1d; }

.loading-stack { display:grid; gap:14px; padding-top:20px; }
.loading-stack span { display:block; height:110px; border-radius:var(--radius); background:linear-gradient(90deg,#eef0f5 20%,#f8f9fc 38%,#eef0f5 58%); background-size:200% 100%; animation:loading 1.3s linear infinite; }
.loading-stack span:first-child { height:230px; }
@keyframes loading { to { background-position:-200% 0; } }
.empty-state { max-width:660px; margin:8vh auto; padding:40px; text-align:center; }
.empty-state h2, .empty-state h3 { margin:10px 0 8px; }
.empty-state p { color:var(--muted); font-size:12px; line-height:1.6; max-width:500px; margin:0 auto 20px; }
.empty-icon { width:48px; height:48px; display:grid; place-items:center; margin:auto; border-radius:14px; background:#eeeeff; color:var(--indigo); font-weight:800; }
.onboarding { padding:24px; max-width:980px; }
.onboarding-step { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; padding:22px 0 15px; border-top:1px solid var(--line); }
.onboarding-step:first-child { border-top:0; padding-top:0; }
.onboarding-step > span { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:var(--indigo); background:#eeeeff; font-size:11px; font-weight:800; }
.onboarding-step h3, .inline-form h3, .glossary-form h3 { margin:1px 0 4px; font-size:14px; }
.onboarding-step p, .inline-form p, .glossary-form p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.choice-list { display:grid; gap:7px; max-height:230px; overflow:auto; padding:4px; border:1px solid var(--line); border-radius:12px; }
.choice-row { width:100%; display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:10px; text-align:left; color:var(--ink); }
.choice-row strong, .choice-row small { display:block; }
.choice-row small { color:var(--muted); margin-top:2px; font-size:9px; }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding:18px 0 0; margin-top:22px; }
.form-error { color:var(--red); font-size:10px; }
.inline-form { margin-top:18px; display:grid; grid-template-columns:minmax(180px,1.1fr) repeat(3,minmax(130px,1fr)) auto; align-items:end; gap:12px; }
.glossary-form { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:end; }
.glossary-form > div:first-child, .glossary-form .full, .glossary-form .check { grid-column:1 / -1; }
.check { display:flex; align-items:center; gap:8px; color:#475467; font-size:10px; font-weight:650; }
.button-row { display:flex; gap:7px; margin-top:16px; flex-wrap:wrap; }
.language-row.compact { grid-template-columns:minmax(180px,1fr) 100px auto; }
.job-notice { display:flex; justify-content:space-between; gap:12px; margin-bottom:14px; padding:12px 14px; border:1px solid #dcdcff; border-radius:11px; background:#f0f0ff; color:#3d3e9b; font-size:10px; }
.job-notice.green { background:#edf9f0; border-color:#ccefd5; color:#166534; }
.job-notice.amber { background:#fff7e8; border-color:#fae2b8; color:#92400e; }
.job-notice.red { background:#fff0f0; border-color:#ffd0d0; color:#991b1b; }
.unit-meta label { display:flex; align-items:center; gap:7px; min-width:0; }
.unit-meta input { margin:0; }
.table-wrap { overflow:auto; }
.muted-copy { color:var(--muted); font-size:11px; line-height:1.6; }
.summary-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; font-size:10px; margin:20px 0; }
.summary-list dt { color:var(--muted); }
.summary-list dd { margin:0; text-align:right; font-weight:700; overflow-wrap:anywhere; }
.domain-row { display:grid; gap:10px; padding:13px 0; border-top:1px solid var(--line); }
.domain-row:first-child { border-top:0; padding-top:0; }
.domain-row > div { display:flex; justify-content:space-between; gap:9px; align-items:center; }
.domain-row strong, .domain-row small { display:block; }
.domain-row small { color:var(--muted); font-size:9px; margin-top:3px; }
.domain-row details { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.domain-row code { color:#344054; }
.inline-add { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:14px; }
.inline-add label { grid-column:1 / -1; color:#475467; font-size:10px; font-weight:700; }
.inline-add input { min-width:0; border:1px solid var(--line); border-radius:10px; padding:9px 10px; }
.danger-stack { display:flex; flex-wrap:wrap; gap:8px; }
dialog { border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 80px rgba(17,24,39,.24); color:var(--ink); background:#fff; }
dialog::backdrop { background:rgba(17,24,39,.42); }
.confirm-dialog { width:min(480px,calc(100vw - 32px)); padding:24px; }
.confirm-dialog h2 { margin:0 0 8px; font-size:19px; }
.confirm-dialog p { color:var(--muted); font-size:11px; line-height:1.55; }
.confirm-dialog label { display:grid; gap:7px; color:#475467; font-size:10px; margin:18px 0; }
.confirm-dialog input { border:1px solid var(--line); border-radius:10px; padding:10px; }
.confirm-dialog form > div { display:flex; justify-content:flex-end; gap:8px; }
.project-dialog { width:min(440px,calc(100vw - 32px)); padding:18px; }
.project-dialog .choice-row { margin:8px 0; cursor:pointer; }
.dialog-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.dialog-header h2 { margin:0; font-size:18px; }

@media (max-width: 1120px) {
  .grid.metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editor-shell { grid-template-columns:260px minmax(420px,1fr); }
  .context-panel { display:none; }
  .locale-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inline-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .app-shell { grid-template-columns:74px minmax(0,1fr); }
  .sidebar { padding:20px 10px; }
  .brand-name, .project-switcher > div:not(.project-icon), .project-switcher svg, nav a:not(.active) .nav-count, nav a { font-size:0; }
  .brand { justify-content:center; padding-left:0; padding-right:0; }
  .project-switcher { display:flex; justify-content:center; padding:8px; }
  nav a, .sidebar-bottom > a { justify-content:center; padding:0; }
  .nav-icon { font-size:14px; }
  .trial-card, .account-row span:not(.avatar), .account-row button { display:none; }
  .account-row { display:flex; justify-content:center; padding:10px 0 0; }
  .topbar { padding:18px; }
  .topbar-actions .secondary, .environment { display:none; }
  .view-root { padding:20px 18px 40px; }
  .hero-card, .grid.two, .grid.equal, .publish-grid { grid-template-columns:1fr; }
  .editor-shell { grid-template-columns:1fr; }
  .editor-list { display:none; }
  .locale-cards { grid-template-columns:1fr; }
  .inline-form { grid-template-columns:1fr; }
  .glossary-form { grid-template-columns:1fr; }
  .glossary-form > div:first-child, .glossary-form .full, .glossary-form .check { grid-column:auto; }
  .table { min-width:760px; }
  .view-header { align-items:flex-start; flex-direction:column; }
  .header-actions { width:100%; flex-wrap:wrap; }
}

@media (max-width: 520px) {
  .app-shell { display:block; }
  .sidebar { position:sticky; top:0; width:100%; height:auto; z-index:30; padding:9px 12px; flex-direction:row; align-items:center; gap:8px; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); }
  .brand { padding:0; flex:0 0 auto; }
  .brand-mark { transform:scale(.8); }
  .project-switcher { margin:0; flex:0 0 auto; }
  .sidebar nav { display:flex; gap:4px; flex:0 0 auto; }
  .sidebar nav a { width:38px; min-height:38px; }
  .sidebar-bottom { margin:0; display:flex; }
  .sidebar-bottom > a { width:38px; min-height:38px; }
  .account-row { display:none; }
  .main-shell { width:100%; }
  .topbar { min-height:74px; padding:12px 14px; }
  .topbar-actions .primary, .icon-button { display:none; }
  .view-root { padding:16px 12px 32px; }
  .grid.metrics { grid-template-columns:1fr 1fr; gap:10px; }
  .language-row, .language-row.compact { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .language-row > div:nth-child(n+3) { grid-column:1 / -1; }
  .hero-card { padding:18px; }
  .hero-card h2 { font-size:23px; }
  .context-illustration { display:none; }
  .editor-main { padding:16px; }
  .editor-actions { align-items:flex-start; gap:12px; flex-direction:column; }
  .editor-actions > div { width:100%; flex-wrap:wrap; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .step { grid-template-columns:32px 1fr; }
  .step > button { grid-column:2; justify-self:start; }
}
