/* SciDocs Premium — interface fiel ao sistema visual OmniStudio DTP.
   A folha permanece branca e independente do tema para preservar a saída A4. */
:root {
  --premium-canvas: #070709;
  --premium-desk: #0d0d11;
  --premium-panel: #131318;
  --premium-elevated: #18181f;
  --premium-island: #1e1e27;
  --premium-hover: #282834;
  --premium-border: #2a2a35;
  --premium-border-soft: #1e1e26;
  --premium-border-bright: #3e3e4f;
  --premium-text: #f4f4f7;
  --premium-muted: #a1a1b0;
  --premium-faint: #656575;
  --premium-accent: #818cf8;
  --premium-accent-strong: #6366f1;
  --premium-cyan: #38bdf8;
  --premium-success: #34d399;
  --premium-warning: #fbbf24;
  --premium-danger: #fb7185;
  --premium-shadow: 0 20px 60px rgba(0,0,0,.36);
  --premium-left: 230px;
  --premium-right: 245px;
}

body[data-theme="dark"] {
  --ui-header: var(--premium-panel); --ui-toolbar: var(--premium-panel);
  --ui-toolbar-control: var(--premium-island); --ui-toolbar-border: var(--premium-border);
  --ui-toolbar-text: var(--premium-text); --ui-bg: var(--premium-desk);
  --ui-border: var(--premium-border); --ui-brand-sub: var(--premium-muted);
  --ui-header-text: var(--premium-text);
  background: var(--premium-canvas) !important; color: var(--premium-text);
}

body[data-theme="light"] {
  --premium-canvas: #dfe3ea; --premium-desk: #e6eaf0; --premium-panel: #f4f6f9;
  --premium-elevated: #ffffff; --premium-island: #ffffff; --premium-hover: #eaeef4;
  --premium-border: #cbd5e1; --premium-border-soft: #e2e8f0; --premium-border-bright:#94a3b8;
  --premium-text: #0f172a; --premium-muted: #475569; --premium-faint: #64748b;
  --premium-accent:#2563eb; --premium-accent-strong:#2563eb;
  --premium-shadow: 0 18px 45px rgba(30,41,59,.15);
  --ui-header: var(--premium-panel); --ui-toolbar: var(--premium-panel);
  --ui-toolbar-control: var(--premium-island); --ui-toolbar-border: var(--premium-border);
  --ui-toolbar-text: var(--premium-text); --ui-bg: var(--premium-desk);
  --ui-border: var(--premium-border); --ui-brand-sub: var(--premium-muted);
  --ui-header-text: var(--premium-text);
  background: var(--premium-canvas) !important; color: var(--premium-text);
}

body[data-theme="sepia"] {
  --premium-canvas: #1c1814; --premium-desk: #221d18; --premium-panel: #2b241e;
  --premium-elevated: #332b24; --premium-island: #3b322a; --premium-hover: #483d33;
  --premium-border: #463b31; --premium-border-soft: #362e26; --premium-border-bright:#5c4e41;
  --premium-text: #f5ebe0; --premium-muted: #b8a99a; --premium-faint: #847567;
  --premium-accent: #fbbf24; --premium-accent-strong: #d97706; --premium-cyan: #fbbf24;
  --premium-shadow: 0 18px 45px rgba(0,0,0,.32);
  --ui-header: var(--premium-panel); --ui-toolbar: var(--premium-panel);
  --ui-toolbar-control: var(--premium-island); --ui-toolbar-border: var(--premium-border);
  --ui-toolbar-text: var(--premium-text); --ui-bg: var(--premium-desk);
  --ui-border: var(--premium-border); --ui-brand-sub: var(--premium-muted);
  --ui-header-text: var(--premium-text);
  background: var(--premium-canvas) !important; color: var(--premium-text);
}

body[data-theme="cosmos"] {
  --premium-canvas: #02040a; --premium-desk: #050814; --premium-panel: #090d19;
  --premium-elevated: #0e1424; --premium-island: #121a2b; --premium-hover: #18233a;
  --premium-border: #273550; --premium-border-soft: #18243b;
  --premium-text: #edf4ff; --premium-muted: #91a5c4; --premium-faint: #607697;
  --premium-accent: #7488ff; --premium-accent-strong: #5268f0; --premium-cyan: #4dd8ff;
  --premium-shadow: 0 22px 65px rgba(0,0,0,.52);
  --ui-header: var(--premium-panel); --ui-toolbar: var(--premium-panel);
  --ui-toolbar-control: var(--premium-island); --ui-toolbar-border: var(--premium-border);
  --ui-toolbar-text: var(--premium-text); --ui-bg: var(--premium-desk);
  --ui-border: var(--premium-border); --ui-brand-sub: var(--premium-muted);
  --ui-header-text: var(--premium-text);
}

body { background: var(--premium-canvas) !important; }
#app-header { position: relative; z-index: 70; background: var(--premium-panel) !important; color: var(--premium-text); }
#app-header .toolbar-row { scrollbar-width: none; }
#app-header .toolbar-row::-webkit-scrollbar { display: none; }

/* Barra de aplicação */
#app-header .toolbar-row:first-child {
  min-height: 46px !important; height: 46px; padding: 0 14px !important; gap:12px !important;
  background: var(--premium-panel) !important; color: var(--premium-text) !important;
  border-bottom: 1px solid var(--premium-border-soft) !important;
}
.scidocs-brand { min-width:auto; gap: 8px; flex:0 0 auto; }
.scidocs-brand-icon { width: 26px; height: 26px; border-radius: 6px; font-size: 12px;
  background: linear-gradient(145deg,var(--premium-accent),var(--premium-accent-strong));
  box-shadow: 0 7px 20px color-mix(in srgb,var(--premium-accent) 28%,transparent); }
.scidocs-brand-title { color: var(--premium-text) !important; font-size: 13.5px; letter-spacing: -.01em; }
.scidocs-brand-sub { color: var(--premium-muted) !important; font-size: 9px; margin-top: 1px; }
body[data-theme] #app-header > .toolbar-row:first-child > .premium-menus { display:flex; align-items:center; gap:2px; margin-left:0; padding-left:10px; border-left:1px solid var(--premium-border); border-radius:0; background:none !important; box-shadow:none !important; }
.premium-menu { position:relative; }
.premium-menu-trigger { height:28px; padding:0 8px; border:0; border-radius:5px; background:transparent;
  color:var(--premium-muted); font:500 11px/1 var(--font-sans); cursor:pointer; }
.premium-menu-trigger:hover,.premium-menu.open .premium-menu-trigger { background:var(--premium-hover); color:var(--premium-text); }
.premium-menu-popover { display:none; position:fixed; z-index:150; min-width:210px; padding:6px;
  border:1px solid var(--premium-border); border-radius:9px; background:var(--premium-elevated);
  box-shadow:var(--premium-shadow); }
.premium-menu.open .premium-menu-popover { display:block; }
.premium-menu-popover button { width:100%; display:flex; align-items:center; gap:9px; height:31px; padding:0 9px;
  border:0; border-radius:6px; color:var(--premium-text); background:transparent; cursor:pointer;
  font:500 11px/1 var(--font-sans); text-align:left; }
.premium-menu-popover button:hover { background:var(--premium-hover); }
.premium-menu-popover button i { width:15px; color:var(--premium-muted); text-align:center; }
.premium-menu-popover .menu-shortcut { margin-left:auto; color:var(--premium-faint); font:9px/1 var(--font-mono); }
.premium-menu-separator { height:1px; margin:5px 4px; background:var(--premium-border); }
.premium-doc-id { display:flex; align-items:center; justify-content:center; gap:6px; min-width:210px; max-width:300px; margin:0 auto;
  color:var(--premium-muted); font:500 11px/1 var(--font-sans); }
#premium-document-name { width:170px;min-width:80px;height:27px;padding:0 5px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--premium-text);font:700 11px/1 var(--font-sans);text-overflow:ellipsis; }
#premium-document-name:hover,#premium-document-name:focus { border-color:var(--premium-border);background:var(--premium-island);outline:none; }
.premium-iso { margin-left:2px; padding:3px 6px; border:1px solid var(--premium-border); border-radius:4px;
  color:var(--premium-accent); font:700 8px/1 var(--font-mono); letter-spacing:.06em; }
.premium-theme-switch { display:flex; align-items:center; padding:2px; border:1px solid var(--premium-border);
  border-radius:7px; background:var(--premium-canvas); }
.premium-theme-switch button { height:24px; padding:0 7px; border:0; border-radius:5px; color:var(--premium-muted);
  background:transparent; font:600 9px/1 var(--font-sans); cursor:pointer; }
.premium-theme-switch button.active { color:white; background:var(--premium-accent-strong); box-shadow:0 3px 12px rgba(99,102,241,.28); }
.header-statuses { gap:5px; }
.header-statuses .status-pill { font-size:9px !important; }
#doc-status { color:#fff !important;background:#059669 !important;border-color:#10b981 !important;border-radius:999px !important;padding:4px 9px !important; }
#firebase-status,#scidocs-auth-btn { max-width:130px; overflow:hidden; text-overflow:ellipsis; }
#app-header #page-count,#app-header #word-count { display:none !important; }
/* Abas no estilo IDE */
.premium-tabbar { height:36px; display:flex; align-items:stretch; padding:0 14px; background:var(--premium-panel);
  border-bottom:1px solid var(--premium-border); color:var(--premium-muted); }
.premium-tabs { display:flex; align-items:flex-end; gap:4px; min-width:0; overflow:hidden; }
.premium-tab { min-width:150px; max-width:220px; display:flex; align-items:center; gap:7px; padding:0 11px;
  height:31px;border:1px solid var(--premium-border-soft);border-bottom:0;border-radius:7px 7px 0 0;background:var(--premium-elevated);color:var(--premium-muted);
  font:500 10px/1 var(--font-sans); cursor:pointer; }
.premium-tab.active { background:var(--premium-panel); color:var(--premium-text); box-shadow:inset 0 2px var(--premium-accent); }
.premium-tab .tab-dot { width:7px; height:7px; border-radius:50%; background:var(--premium-warning); }
.premium-tab span:nth-child(2) { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.premium-tab-add { width:32px;height:31px;border:0;color:var(--premium-muted);
  background:transparent; cursor:pointer; }
.premium-tab-add:hover { color:var(--premium-text); background:var(--premium-hover); }
.premium-tab-spacer { flex:1; }
.premium-panel-toggles { display:flex; align-items:center; gap:5px; }
.premium-panel-toggles button { display:inline-flex;align-items:center;justify-content:center;gap:5px;height:27px;padding:0 9px;border:1px solid var(--premium-border);border-radius:6px;background:var(--premium-elevated);color:var(--premium-muted);font:600 9px/1 var(--font-sans);cursor:pointer; }
.premium-panel-toggles button:hover,.premium-panel-toggles button.active { background:var(--premium-hover);color:var(--premium-text); }
.premium-panel-toggles button i { display:inline-block; min-width:13px; color:currentColor; font-size:12px; }

/* Ribbon */
#app-header .toolbar-row:nth-of-type(2),#app-header .toolbar-row:nth-of-type(3) { /* fallback before tab insertion */ }
.premium-tool-tabs { display:flex; align-items:end; gap:2px; height:30px; padding:3px 14px 0;
  border-bottom:1px solid var(--premium-border-soft); background:var(--premium-panel); }
.premium-tool-tabs button { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:27px; padding:0 13px;
  border:0; border-radius:6px 6px 0 0; background:transparent; color:var(--premium-muted);
  font:700 9px/1 var(--font-sans); cursor:pointer; }
.premium-tool-tabs button:hover { color:var(--premium-text); background:var(--premium-hover); }
.premium-tool-tabs button[aria-selected="true"] { color:var(--premium-accent); background:var(--premium-island); box-shadow:inset 0 -2px var(--premium-accent); }
.premium-tool-tabs button i { font-size:9px; }
#app-header .premium-ribbon-row { min-height:41px !important; height:41px; padding:6px 14px !important;
  background:var(--premium-panel) !important; border-bottom:1px solid var(--premium-border-soft) !important;
  gap:5px !important; overflow-x:auto !important; overflow-y:hidden !important; flex-wrap:nowrap !important; color:var(--premium-text); scrollbar-width:thin; }
#app-header .premium-ribbon-primary { overflow-x:auto !important; }
#app-header .premium-ribbon-tabs-content { justify-content:flex-start; }
#app-header .premium-ribbon-tabs-content .toolbar-group[hidden] { display:none !important; }
#app-header .premium-ribbon-secondary[hidden] { display:none !important; }
.premium-toolbar-toggle { position:sticky; right:0; z-index:2; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center;
  width:28px;min-width:28px;height:28px;margin-left:auto;border:1px solid var(--premium-border);border-radius:6px;
  background:var(--premium-island);color:var(--premium-muted);box-shadow:-8px 0 12px var(--premium-panel);cursor:pointer; }
.premium-toolbar-toggle:hover,.premium-toolbar-toggle[aria-expanded="true"] { color:var(--premium-text); background:var(--premium-hover); }
.premium-toolbar-toggle i { margin:0; font-size:9px; transition:transform .18s ease; }
.premium-toolbar-toggle[aria-expanded="true"] i { transform:rotate(180deg); }
.premium-ribbon-row .toolbar-group { height:29px; gap:2px; padding:0 4px; border:1px solid var(--premium-border);
  border-radius:6px; background:var(--premium-island); box-shadow:inset 0 1px rgba(255,255,255,.05); flex:0 0 auto; }
.premium-ribbon-row .toolbar-group-label { display:none !important; }
#app-header > .premium-ribbon-row .toolbar-group .btn-tool,#app-header > .premium-ribbon-row .toolbar-group .select-tool { height:27px !important; min-height:27px; border:0 !important;
  border-radius:5px !important; background:none !important; box-shadow:none !important; color:var(--premium-muted) !important; font-size:10px !important; }
#app-header > .premium-ribbon-row .toolbar-group .btn-tool-icon { width:27px !important; min-width:27px !important; padding:0 !important; }
#app-header > .premium-ribbon-row .toolbar-group .select-tool { max-width:118px;padding:0 20px 0 7px !important; }
#app-header > .premium-ribbon-row .toolbar-group .premium-font-select { width:122px;max-width:122px; }
#app-header > .premium-ribbon-row .toolbar-group .btn-tool:hover,#app-header > .premium-ribbon-row .toolbar-group .select-tool:hover { color:var(--premium-text) !important; background:var(--premium-hover) !important; border:0 !important; filter:none !important; }
#app-header > .premium-ribbon-row .toolbar-group .btn-tool :is(i,svg,b) { color:currentColor !important; fill:currentColor; }
.premium-ribbon-row #btn-theme-toggle { display:none; }
.premium-extra-tools { display:flex; align-items:center; gap:3px; }
.premium-block-shortcuts { display:flex; align-items:center; gap:1px; }
.premium-block-shortcut { position:relative; }
.premium-block-shortcut > i { color:currentColor;font-size:10px; }
.premium-block-shortcut::after { content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 8px);z-index:80;max-width:190px;padding:6px 8px;border:1px solid var(--premium-border);border-radius:5px;background:var(--premium-text);color:var(--premium-panel);box-shadow:0 8px 20px rgba(15,23,42,.22);font:700 9px/1.2 var(--font-sans);white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-3px);transition:opacity .12s ease,transform .12s ease; }
.premium-block-shortcut:hover::after,.premium-block-shortcut:focus-visible::after { opacity:1;transform:translate(-50%,0); }
.premium-inspector-wide { grid-column:1/-1; }

/* Workspace */
#main-wrapper { min-height:0; background:var(--premium-desk); }
#sidebar-left { width:var(--premium-left) !important; min-width:var(--premium-left) !important; max-width:var(--premium-left) !important; flex:0 0 var(--premium-left) !important; box-sizing:border-box; overflow-x:hidden; overflow-y:scroll !important; scrollbar-gutter:stable; padding:0 !important; gap:0 !important;
  background:var(--premium-panel) !important; color:var(--premium-text) !important;
  border-right:1px solid var(--premium-border) !important; }
.premium-sidebar-head { position:sticky; top:0; z-index:3; display:flex; flex-direction:column; background:var(--premium-panel); }
.premium-sidebar-title { height:33px; display:flex; align-items:center; justify-content:space-between; padding:0 12px;
  color:var(--premium-muted); border-bottom:1px solid var(--premium-border-soft); font:700 9px/1 var(--font-sans); letter-spacing:.09em; }
.premium-sidebar-tabs { display:grid; grid-template-columns:repeat(3,1fr); padding:5px; gap:3px; border-bottom:1px solid var(--premium-border-soft); }
.premium-sidebar-tabs button { height:32px; display:flex; align-items:center; justify-content:center; gap:5px; border:0; border-radius:5px; background:transparent; color:var(--premium-muted);
  font:600 9px/1 var(--font-sans); cursor:pointer; }
.premium-sidebar-tabs button i { width:11px; color:currentColor; font-size:10px; }
.premium-sidebar-tabs button.active,.premium-sidebar-tabs button:hover { color:var(--premium-text); background:var(--premium-hover); }
#sidebar-left > [id^="panel-"] { box-sizing:border-box; width:100% !important; min-width:0 !important; padding:12px !important; gap:14px !important; }
#sidebar-left h4 { color:var(--premium-muted) !important; }
#sidebar-left input,#sidebar-left select,#sidebar-left textarea { background:var(--premium-elevated) !important; border-color:var(--premium-border) !important; color:var(--premium-text) !important; }
.premium-sidebar-view { width:100%; min-width:0; display:flex; flex-direction:column; gap:14px; min-height:100%; }
.premium-sidebar-view > * { min-width:0; max-width:100%; box-sizing:border-box; }
.premium-sidebar-view[hidden] { display:none !important; }
#sidebar-view-index #document-outline a { color:#0000ff !important; }
#sidebar-view-index #document-outline a:hover { color:#0000cc !important; background:rgba(0,0,255,.06) !important; }
.premium-sidebar-view-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:9px; border-bottom:1px solid var(--premium-border-soft); }
.premium-sidebar-view-head > div { min-width:0; }
.premium-sidebar-view-head span { display:block; color:var(--premium-faint); font:700 7px/1 var(--font-mono); letter-spacing:.12em; }
.premium-sidebar-view-head strong { display:block; margin-top:4px; color:var(--premium-text); font:700 11px/1.2 var(--font-sans); }
.premium-sidebar-count { display:grid !important; place-items:center; flex:0 0 auto; min-width:24px; height:21px; padding:0 6px; border:1px solid var(--premium-border); border-radius:999px; background:var(--premium-elevated); color:var(--premium-accent) !important; font:700 9px/1 var(--font-mono) !important; letter-spacing:0 !important; }
.premium-sidebar-head-action { display:grid; place-items:center; flex:0 0 auto; width:28px; height:28px; border:1px solid var(--premium-border); border-radius:6px; background:var(--premium-elevated); color:var(--premium-muted); cursor:pointer; }
.premium-sidebar-head-action:hover { border-color:var(--premium-accent); color:var(--premium-text); background:var(--premium-hover); }
.premium-page-list { display:flex; flex-direction:column; gap:7px; }
.premium-page-item { width:100%; min-height:116px; display:grid; grid-template-columns:68px minmax(0,1fr); align-items:center; gap:10px; padding:8px; border:1px solid var(--premium-border); border-radius:8px; background:var(--premium-elevated); color:var(--premium-text); text-align:left; cursor:pointer; }
.premium-page-item:hover,.premium-page-item.active { border-color:var(--premium-accent); background:color-mix(in srgb,var(--premium-accent) 7%,var(--premium-elevated)); }
.premium-page-mini { width:62px; height:88px; display:flex; flex-direction:column; gap:5px; padding:11px 8px; border:1px solid #cbd5e1; border-radius:2px; background:#fff; box-shadow:0 5px 13px rgba(0,0,0,.16); }
.premium-page-mini i { display:block; width:100%; height:3px; border-radius:2px; background:#dbe2eb; }
.premium-page-mini i:nth-child(2) { width:86%; }
.premium-page-mini i:nth-child(3) { width:93%; }
.premium-page-mini i:nth-child(4) { width:58%; margin-top:12px; background:#818cf8; }
.premium-page-meta { min-width:0; }
.premium-page-meta strong { display:block; color:var(--premium-text); font:700 10px/1.2 var(--font-sans); }
.premium-page-meta small { display:-webkit-box; margin-top:6px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; color:var(--premium-muted); font:500 8px/1.4 var(--font-sans); }

#content-area { padding:0 15px 50px !important; background:var(--premium-desk) !important; }
body[data-theme="cosmos"] #content-area { background:radial-gradient(circle at 50% -20%,#17234a 0%,#070a16 48%,#03050b 100%) !important; }
body[data-theme="sepia"] #content-area { background:var(--premium-desk) !important; }
#ruler-container { position:sticky !important; top:0 !important; z-index:9; height:27px !important; min-height:27px !important;
  margin:-22px -15px 24px !important; background:var(--premium-panel) !important;
  border-bottom:1px solid var(--premium-border) !important; box-shadow:0 3px 12px rgba(0,0,0,.14); overflow:visible !important; }
#ruler-a4 { opacity:1 !important; height:27px !important; color:var(--premium-muted); border-color:var(--premium-border) !important;
  background-color:var(--premium-elevated) !important;
  background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(1mm - 1px),color-mix(in srgb,var(--premium-muted) 22%,transparent) calc(1mm - 1px),color-mix(in srgb,var(--premium-muted) 22%,transparent) 1mm),repeating-linear-gradient(90deg,transparent 0,transparent calc(5mm - 1px),color-mix(in srgb,var(--premium-muted) 52%,transparent) calc(5mm - 1px),color-mix(in srgb,var(--premium-muted) 52%,transparent) 5mm) !important; }
#ruler-a4 span { position:absolute;top:2px;transform:translateX(2px);font:600 7px/1 var(--font-mono);color:var(--premium-muted); }
#content-area > .page-a4:first-of-type { margin-top:34px !important; }
#premium-ruler-vertical { position:absolute;z-index:8;top:51px;left:calc(50% - 105mm - 27px);width:23px;height:297mm;
  border:1px solid var(--premium-border);border-radius:3px 0 0 3px;color:var(--premium-muted);pointer-events:none;
  background-color:var(--premium-elevated);background-image:repeating-linear-gradient(180deg,transparent 0,transparent calc(1mm - 1px),color-mix(in srgb,var(--premium-muted) 22%,transparent) calc(1mm - 1px),color-mix(in srgb,var(--premium-muted) 22%,transparent) 1mm),repeating-linear-gradient(180deg,transparent 0,transparent calc(5mm - 1px),color-mix(in srgb,var(--premium-muted) 52%,transparent) calc(5mm - 1px),color-mix(in srgb,var(--premium-muted) 52%,transparent) 5mm);box-shadow:0 2px 5px rgba(0,0,0,.12); }
#premium-ruler-vertical span { position:absolute;left:3px;transform:translateY(2px);font:600 7px/1 var(--font-mono);color:var(--premium-muted); }
.page-a4 { margin-top:24px !important; background:#ffffff !important; color:#0f172a !important; box-shadow:0 18px 50px rgba(0,0,0,.24) !important; zoom:var(--premium-page-zoom,1); }
.page-a4 {
  color-scheme:light;
  --premium-canvas:#f8fafc; --premium-desk:#f1f5f9; --premium-panel:#ffffff;
  --premium-elevated:#ffffff; --premium-island:#f8fafc; --premium-hover:#eef2f7;
  --premium-border:#cbd5e1; --premium-border-soft:#e2e8f0; --premium-border-bright:#94a3b8;
  --premium-text:#0f172a; --premium-muted:#475569; --premium-faint:#64748b;
  --premium-accent:#2563eb; --premium-accent-strong:#1d4ed8; --premium-cyan:#0284c7;
  --premium-success:#059669; --premium-warning:#d97706; --premium-danger:#e11d48;
  --ui-bg:#ffffff; --ui-toolbar:#ffffff; --ui-toolbar-control:#f8fafc;
  --ui-toolbar-border:#cbd5e1; --ui-toolbar-text:#0f172a; --ui-border:#cbd5e1;
}
.page-a4 input,.page-a4 textarea,.page-a4 select,.page-a4 button { color-scheme:light; }
body[data-paper="letter"][data-orientation="portrait"] .page-a4 { width:216mm !important;min-width:216mm !important;max-width:216mm !important;height:279mm !important;min-height:279mm !important;max-height:279mm !important; }
body[data-paper="legal"][data-orientation="portrait"] .page-a4 { width:216mm !important;min-width:216mm !important;max-width:216mm !important;height:356mm !important;min-height:356mm !important;max-height:356mm !important; }
body[data-paper="a4"][data-orientation="landscape"] .page-a4 { width:297mm !important;min-width:297mm !important;max-width:297mm !important;height:210mm !important;min-height:210mm !important;max-height:210mm !important; }
body[data-paper="letter"][data-orientation="landscape"] .page-a4 { width:279mm !important;min-width:279mm !important;max-width:279mm !important;height:216mm !important;min-height:216mm !important;max-height:216mm !important; }
body[data-paper="legal"][data-orientation="landscape"] .page-a4 { width:356mm !important;min-width:356mm !important;max-width:356mm !important;height:216mm !important;min-height:216mm !important;max-height:216mm !important; }
body[data-paper="letter"] #ruler-a4 { width:216mm !important;min-width:216mm !important; }
body[data-paper="legal"] #ruler-a4 { width:216mm !important;min-width:216mm !important; }
body[data-orientation="landscape"][data-paper="a4"] #ruler-a4 { width:297mm !important;min-width:297mm !important; }
body[data-orientation="landscape"][data-paper="letter"] #ruler-a4 { width:279mm !important;min-width:279mm !important; }
body[data-orientation="landscape"][data-paper="legal"] #ruler-a4 { width:356mm !important;min-width:356mm !important; }
body[data-paper="letter"] #premium-ruler-vertical,body[data-paper="legal"] #premium-ruler-vertical { left:calc(50% - 108mm - 27px); }
body[data-orientation="landscape"][data-paper="a4"] #premium-ruler-vertical { left:calc(50% - 148.5mm - 27px); }
body[data-orientation="landscape"][data-paper="letter"] #premium-ruler-vertical { left:calc(50% - 139.5mm - 27px); }
body[data-orientation="landscape"][data-paper="legal"] #premium-ruler-vertical { left:calc(50% - 178mm - 27px); }

.page-a4 .mermaid-card .mermaid-display,.page-a4 .mermaid-card .mermaid,.page-a4 .mermaid-display > svg { background:transparent !important;border-color:transparent !important;box-shadow:none !important; }
.page-a4 .mermaid-display { overflow:hidden;max-width:100%; }
.page-a4 .mermaid-render-error { display:flex;align-items:flex-start;gap:8px;margin:8px;padding:9px 11px;border:1px solid #fecaca;border-radius:6px;background:#fff7ed;color:#9f1239;font:600 10px/1.45 var(--font-sans);text-align:left; }

#modal-templates > div { background:var(--premium-panel) !important;color:var(--premium-text) !important;border:1px solid var(--premium-border) !important;border-radius:9px !important;box-shadow:0 24px 70px rgba(2,6,23,.34) !important; }
#modal-templates > div > div { border-color:var(--premium-border-soft) !important;background:var(--premium-panel) !important; }
#modal-templates .tab-tpl-btn { border:1px solid var(--premium-border) !important;background:var(--premium-elevated) !important;color:var(--premium-muted) !important;border-radius:5px !important;box-shadow:none !important;text-transform:uppercase;font:700 9px/1 var(--font-mono) !important;letter-spacing:.05em; }
#modal-templates .tab-tpl-btn.active { border-color:var(--premium-accent) !important;background:color-mix(in srgb,var(--premium-accent) 13%,var(--premium-panel)) !important;color:var(--premium-accent) !important; }
#grid-templates-container { background:var(--premium-desk) !important;gap:12px !important; }
.scientific-template-card { display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--premium-border);border-radius:7px;background:var(--premium-panel);color:var(--premium-text);box-shadow:0 2px 8px rgba(15,23,42,.06); }
.scientific-template-card:hover { border-color:var(--premium-accent); }
.scientific-template-card h4 { color:var(--premium-text) !important; }
.scientific-template-card p,.scientific-template-card .template-subtitle { color:var(--premium-muted) !important; }
.scientific-template-preview { max-height:76px;overflow:hidden;padding:9px 10px;border:1px solid var(--premium-border-soft);border-radius:5px;background:var(--premium-elevated);color:var(--premium-muted);font:500 10px/1.4 var(--font-mono);white-space:pre; }
.scientific-template-actions { display:flex;gap:6px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--premium-border-soft); }
.scientific-template-actions button { min-height:29px;padding:0 10px;border:1px solid var(--premium-border);border-radius:5px;background:var(--premium-elevated);color:var(--premium-text);font:700 9px/1 var(--font-sans);cursor:pointer; }
.scientific-template-actions button:first-child { flex:1;background:var(--premium-accent);border-color:var(--premium-accent);color:#fff; }
.scientific-template-actions button:hover { filter:brightness(1.06);border-color:var(--premium-accent); }

/* Inspetor */
#premium-inspector { width:var(--premium-right); flex:0 0 var(--premium-right); overflow-y:auto; color:var(--premium-text);
  background:var(--premium-panel); border-left:1px solid var(--premium-border); font-family:var(--font-sans); }
.premium-inspector-head { position:sticky; top:0; z-index:3; height:34px; display:flex; align-items:center; justify-content:space-between;
  padding:0 11px; color:var(--premium-muted); background:var(--premium-panel); border-bottom:1px solid var(--premium-border-soft);
  font:700 9px/1 var(--font-sans); letter-spacing:.08em; }
.premium-inspector-section { padding:12px; border-bottom:1px solid var(--premium-border-soft); }
.premium-inspector-section h4 { margin:0 0 10px; color:var(--premium-muted); font:700 9px/1 var(--font-sans); letter-spacing:.06em; text-transform:uppercase; }
.premium-field { display:grid; grid-template-columns:78px minmax(0,1fr); align-items:center; gap:8px; margin:7px 0; color:var(--premium-muted); font:500 9px/1 var(--font-sans); }
.premium-field select,.premium-field input { min-width:0; width:100%; height:28px; padding:0 7px; border:1px solid var(--premium-border); border-radius:5px;
  background:var(--premium-elevated); color:var(--premium-text); font:500 10px/1 var(--font-sans); }
.premium-field input[type="range"] { padding:0; accent-color:var(--premium-accent); }
.premium-margin-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:10px; }
.premium-margin-grid label { min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;color:var(--premium-faint);font:600 8px/1 var(--font-sans); }
.premium-margin-grid label span { display:block;white-space:nowrap; }
.premium-margin-grid input { box-sizing:border-box;width:100%;min-width:0;height:28px;padding:0 7px;border:1px solid var(--premium-border);border-radius:5px;background:var(--premium-elevated);color:var(--premium-text);font:500 9px/1 var(--font-mono); }
.premium-inspector-actions { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.premium-inspector-actions button { min-height:29px; padding:5px 7px; border:1px solid var(--premium-border); border-radius:6px;
  background:var(--premium-island); color:var(--premium-muted); font:600 9px/1.2 var(--font-sans); cursor:pointer; }
.premium-inspector-actions button:hover { color:var(--premium-text); border-color:var(--premium-accent); }
.premium-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.premium-stat { padding:8px; border:1px solid var(--premium-border-soft); border-radius:6px; background:var(--premium-elevated); }
.premium-stat strong { display:block; color:var(--premium-text); font:700 13px/1 var(--font-mono); }
.premium-stat span { display:block; margin-top:4px; color:var(--premium-faint); font:600 7px/1 var(--font-sans); text-transform:uppercase; letter-spacing:.06em; }

/* Banco de símbolos e janelas premium */
.premium-overlay { position:fixed; inset:0; z-index:180; display:none; align-items:center; justify-content:center; padding:24px;
  background:rgba(2,4,10,.68); backdrop-filter:blur(7px); }
.premium-overlay.open { display:flex; }
.premium-dialog { width:min(880px,94vw); max-height:min(760px,90vh); display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--premium-border); border-radius:13px; background:var(--premium-panel); color:var(--premium-text); box-shadow:var(--premium-shadow); }
.premium-dialog.small { width:min(460px,92vw); }
.premium-dialog-head { min-height:58px; display:flex; align-items:center; justify-content:space-between; padding:12px 16px;
  border-bottom:1px solid var(--premium-border); }
.premium-dialog-head h3 { margin:0; font:700 14px/1.2 var(--font-sans); }
.premium-dialog-head p { margin:4px 0 0; color:var(--premium-muted); font:500 10px/1.3 var(--font-sans); }
.premium-icon-close { width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--premium-muted);cursor:pointer; }
.premium-icon-close:hover { background:var(--premium-hover);color:var(--premium-text); }
.premium-dialog-body { min-height:0; overflow:auto; padding:14px 16px; }
.premium-dialog-foot { display:flex; justify-content:flex-end; gap:7px; padding:11px 16px; border-top:1px solid var(--premium-border); background:var(--premium-elevated); }
.premium-dialog-foot button { height:32px;padding:0 13px;border:1px solid var(--premium-border);border-radius:6px;background:var(--premium-island);color:var(--premium-text);font:600 10px/1 var(--font-sans);cursor:pointer; }
.premium-dialog-foot button.primary { color:#fff;background:var(--premium-accent-strong);border-color:var(--premium-accent); }
.premium-input { width:100%;height:34px;padding:0 10px;border:1px solid var(--premium-border);border-radius:6px;background:var(--premium-elevated);color:var(--premium-text);font:500 11px/1 var(--font-sans); }
.symbol-toolbar { display:grid; grid-template-columns:minmax(180px,1fr) auto; gap:9px; margin-bottom:11px; }
.symbol-categories { display:flex; flex-wrap:wrap; gap:5px; }
.symbol-categories button { height:27px;padding:0 9px;border:1px solid var(--premium-border);border-radius:999px;background:var(--premium-elevated);color:var(--premium-muted);font:600 9px/1 var(--font-sans);cursor:pointer; }
.symbol-categories button.active { background:color-mix(in srgb,var(--premium-accent) 18%,var(--premium-elevated));border-color:var(--premium-accent);color:var(--premium-text); }
.symbol-section-title { margin:14px 0 7px;color:var(--premium-muted);font:700 9px/1 var(--font-sans);letter-spacing:.07em;text-transform:uppercase; }
.symbol-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:5px; }
.symbol-grid button { min-height:43px;border:1px solid var(--premium-border);border-radius:7px;background:var(--premium-elevated);color:var(--premium-text);font:500 20px/1 var(--font-serif);cursor:pointer; }
.symbol-grid button:hover { border-color:var(--premium-accent);background:var(--premium-hover);transform:translateY(-1px); }
.break-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.break-option { min-height:70px;padding:12px;border:1px solid var(--premium-border);border-radius:8px;background:var(--premium-elevated);color:var(--premium-text);text-align:left;cursor:pointer; }
.break-option:hover { border-color:var(--premium-accent);background:var(--premium-hover); }
.break-option strong { display:block;font:700 11px/1.2 var(--font-sans); }
.break-option span { display:block;margin-top:5px;color:var(--premium-muted);font:500 9px/1.35 var(--font-sans); }

/* Janelas legadas usam os mesmos tokens do shell em todos os temas. */
#scidocs-auth-modal,#scidocs-dialog,#modal-paleta,#modal-markdown-format,#modal-templates {
  color:var(--premium-text); font-family:var(--font-sans);
}
#scidocs-auth-modal > div,#scidocs-dialog > div,#modal-paleta > div,#modal-markdown-format > div {
  border:1px solid var(--premium-border) !important; background:var(--premium-panel) !important;
  color:var(--premium-text) !important; box-shadow:var(--premium-shadow) !important;
}
#scidocs-auth-modal > div > div,#scidocs-dialog > div > div,#modal-paleta > div > div,#modal-markdown-format > div > div {
  border-color:var(--premium-border) !important;
}
#scidocs-auth-modal :is(h1,h2,h3,h4,strong),#scidocs-dialog :is(h1,h2,h3,h4,strong),#modal-paleta :is(h1,h2,h3,h4,strong),#modal-markdown-format :is(h1,h2,h3,h4,strong) { color:var(--premium-text) !important; }
#scidocs-auth-modal :is(p,label,span),#scidocs-dialog :is(p,label,span),#modal-paleta :is(p,label,span),#modal-markdown-format :is(p,label,span) { color:var(--premium-muted) !important; }
#scidocs-auth-modal :is(input,textarea,select),#scidocs-dialog :is(input,textarea,select),#modal-paleta :is(input,textarea,select),#modal-markdown-format :is(input,textarea,select) {
  border-color:var(--premium-border) !important; background:var(--premium-elevated) !important; color:var(--premium-text) !important;
}
#scidocs-auth-modal :is(input,textarea)::placeholder,#scidocs-dialog :is(input,textarea)::placeholder,#modal-paleta :is(input,textarea)::placeholder,#modal-markdown-format :is(input,textarea)::placeholder { color:var(--premium-faint) !important; }
#scidocs-auth-modal button:not([class*="bg-"]),#scidocs-dialog button:not([class*="bg-"]),#modal-paleta button:not([class*="bg-"]),#modal-markdown-format button:not([class*="bg-"]) {
  border-color:var(--premium-border) !important; background:var(--premium-island) !important; color:var(--premium-text) !important;
}
#scidocs-dialog-actions,#modal-paleta > div > div:last-child,#modal-markdown-format > div > div:last-child { background:var(--premium-elevated) !important; }
#scidocs-dialog-icon { background:color-mix(in srgb,var(--premium-accent) 16%,var(--premium-elevated)) !important; color:var(--premium-accent) !important; }

.page-a4 .manual-section-break { border-top:1px dashed #94a3b8; margin:12px 0; padding-top:6px; color:#64748b; font:600 8pt/1 var(--font-sans); text-align:center; }
.page-a4 .manual-section-break::after { content:"Quebra de seção"; }
.page-a4 .review-comment { background:#fef3c7;color:inherit;border-bottom:2px solid #f59e0b;cursor:help; }
body.premium-format-painter-active .page-a4 { cursor:copy !important; }

#premium-statusbar { height:23px;flex:0 0 23px;display:flex;align-items:center;gap:18px;padding:0 10px;border-top:1px solid var(--premium-border);background:var(--premium-panel);color:var(--premium-muted);font:500 8px/1 var(--font-mono); }
#premium-statusbar span:first-child { color:var(--premium-success); }
#premium-statusbar span:nth-child(2) { margin-left:auto; }

body.premium-left-collapsed { --premium-left:0px; }
body.premium-left-collapsed #sidebar-left { display:none !important; }
body.premium-right-collapsed { --premium-right:0px; }
body.premium-right-collapsed #premium-inspector { display:none !important; }

@media (max-width:1450px) {
  .header-statuses #firebase-status,.header-statuses #scidocs-auth-btn,.header-statuses #page-count,.header-statuses #word-count { display:none !important; }
  .premium-doc-id { display:none; }
}
@media (max-width:1250px) {
  :root { --premium-left:205px; --premium-right:218px; }
  .header-statuses #page-count,.header-statuses #word-count { display:none; }
  .premium-menu-trigger { padding-inline:6px; }
}
@media (max-width:980px) {
  :root { --premium-right:0px; }
  #premium-inspector { display:none; }
  .premium-theme-switch button span { display:none; }
  .premium-theme-switch button { width:25px;padding:0; }
  #premium-ruler-vertical { display:none; }
}

@media print {
  html,body {
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }
  body { display:block !important; }
  #app-header,#sidebar-left,#premium-inspector,#premium-statusbar,
  .premium-overlay,.premium-tabbar,#ruler-container,#premium-ruler-vertical {
    display:none !important;
  }
  #main-wrapper {
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }
  #content-area {
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }
  #content-area > .page-a4,
  #content-area > .page-a4:first-of-type {
    margin:0 !important;
  }
  .page-a4 {
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;
    flex:none !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
    zoom:1 !important;
    overflow:hidden !important;
    break-inside:avoid-page !important;
    page-break-inside:avoid !important;
    break-after:page !important;
    page-break-after:always !important;
    background:#fff !important;
  }
  .page-a4:last-of-type {
    break-after:auto !important;
    page-break-after:auto !important;
  }
  .page-a4 .review-comment { background:transparent !important;border:0 !important; }
}
