/* Narrow-screen and explicit hidden-state fixes. */
.brand-mark, .brand-mark svg { width: 36px; height: 36px; display: block; flex: none; }
.brand { gap: 10px; font-size:20px; font-weight:500; }
.topbar { background: #f8fafd; }
.sidebar { background: #f8fafd; }
.nav-item { color: #444746; }
.nav-item:hover { background: #cddfff; }
.nav-item.active { background: #b8d1ff; color: #3c4043; }
.sidebar-divider { background: #b9cdec; }
.storage-heading { color: #365477; }
.storage-heading span:first-child { color: #173b70; }
.storage-track { background: #bdcde5; }
.storage-button { border-color: #8eacd8; color: #174ea6; }
.sidebar-foot { color: #365477; }
.active-people-label { display: inline-flex; align-items: center; gap: 7px; }
.active-people-label svg { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.file-editor-screen { position: fixed; inset: 0; z-index: 25; background: #f8fafd; }
.file-editor-screen[hidden] { display: none !important; }
.file-editor-open { overflow: hidden; }
.overlay { z-index: 60; }
.pdf-editor { height: 100%; min-height: 0; display: flex; flex-direction: column; background: #f8fafd; }
.pdf-editor-toolbar { min-height: 58px; display: flex; align-items: center; gap: 9px; padding: 0 16px; border-bottom: 1px solid #dadce0; background: #fff; }
.pdf-file-title { min-width: 0; flex: 1; display: flex; align-items: center; gap: 10px; font-weight: 500; }
.editor-back { width: 38px; height: 38px; flex: none; position:relative; border: 0; border-radius: 50%; background: transparent; color: #5f6368; font-size:0; cursor: pointer; display:grid; place-items:center; }
.editor-back::before { content:'‹'; display:block; color:currentColor; font:300 34px/1 Arial,sans-serif; transform:translate(-1px,-2px); }
.editor-back:hover { background: #f1f3f4; }
.pdf-save-state { color: #5f6368; white-space: nowrap; }
.pdf-file-title span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pdf-file-title .file-icon svg { width: 22px; height: 22px; }
.pdf-editor-toolbar .secondary-button, .pdf-editor-toolbar .primary-button { flex: none; height: 36px; border-radius: 18px; padding: 0 13px; }
.pdf-editor-toolbar .pdf-action-icon { display:none; }
.pdf-editor-toolbar .active { background: #e8f0fe; border-color: #1a73e8; color: #174ea6; }
.document-editor { height:100%; min-height:0; display:flex; flex-direction:column; background:#f8fafd; color:#202124; }
.document-titlebar,.document-menubar,.document-toolbar { display:flex; align-items:center; gap:8px; padding:0 16px; background:#fff; border-bottom:1px solid #dadce0; flex:none; }
.document-titlebar { min-height:58px; }
.text-editor .document-titlebar { min-height:66px; gap:7px; padding:4px 16px; background:#f8fafd; border-bottom:0; }
.document-title-group { min-width:0; display:flex; flex-direction:column; align-self:stretch; justify-content:center; }
.document-title-line { height:31px; display:flex; align-items:center; }
.document-title-group .document-name { width:min(590px,40vw); max-width:100%; min-height:30px; flex:none; }
.text-editor .document-title-line { height:32px; }
.text-editor .document-title-group .document-name { box-sizing:border-box; height:30px; min-height:30px; padding:4px 8px; line-height:20px; background:transparent; border-color:transparent; }
.text-editor .document-title-line .editor-quiet { box-sizing:border-box; display:grid; place-items:center; width:30px; height:30px; padding:0; line-height:1; align-self:center; }
.text-editor .document-title-line #doc-save-state { transform:translateY(2px); }
.text-editor .document-title-line [data-editor-unavailable] { display:none; }
.text-editor .document-submenus { margin-left:0; }
.text-editor .document-name:hover,.text-editor .document-name:focus:not(.is-editing) { border-color:transparent; outline:none; box-shadow:none; }
.document-name.is-editing { background:#fff; border-color:#1a73e8; outline:2px solid #c2dbff; }
.document-submenus { height:26px; display:flex; align-items:center; gap:1px; margin-left:-6px; }
.document-submenus button { height:28px; border:0; border-radius:4px; padding:0 7px; background:transparent; color:#202124; font-size:14px; cursor:pointer; }
.document-submenus button:hover { background:#edf2fa; }
.save-indicator { font-size:18px; }
.editor-title-spacer { flex:1; }
.editor-quiet { width:34px; height:34px; flex:none; border:0; border-radius:50%; background:transparent; color:#5f6368; font-size:19px; cursor:pointer; }
.editor-quiet:hover { background:#f1f3f4; }
.editor-share { height:36px; border:0; border-radius:20px; padding:0 18px; background:#c2e7ff; color:#001d35; font-weight:500; cursor:pointer; }
.editor-share:hover { background:#a8d8f5; }
.text-editor .document-titlebar .secondary-button,.text-editor .document-titlebar .primary-button { height:36px; border-radius:20px; padding-inline:14px; white-space:nowrap; }
.document-name { min-width:100px; max-width:min(38vw,520px); flex:1; border:1px solid transparent; border-radius:4px; padding:7px 8px; background:transparent; font-weight:500; color:#202124; }
.document-name:hover,.document-name:focus { border-color:transparent; outline:none; box-shadow:none; }
.document-save-state { color:#5f6368; white-space:nowrap; }
.document-menubar { min-height:36px; gap:2px; }
.document-menubar button { height:30px; border:0; border-radius:4px; padding:0 10px; background:transparent; cursor:pointer; }
.document-menubar button:hover { background:#f1f3f4; }
.document-menu-popover { position:fixed; z-index:40; min-width:205px; padding:5px; border:1px solid #dadce0; border-radius:7px; background:#fff; box-shadow:0 4px 12px #20212433; }
.document-menu-popover[hidden] { display:none; }
.document-menu-popover button { display:block; width:100%; min-height:36px; padding:0 10px; border:0; border-radius:4px; background:transparent; text-align:left; cursor:pointer; }
.document-menu-popover button:hover { background:#f1f3f4; }
.document-toolbar { min-height:46px; overflow-x:auto; }
.text-toolbar { box-sizing:border-box; width:100%; min-height:30px; gap:2px; padding:1px 8px; background:#f0f4f9; border:0; border-radius:0; margin:0; overflow:hidden; }
.toolbar-menu-search { display:flex; align-items:center; width:100px; min-width:100px; overflow:hidden; }
.toolbar-menu-search:focus-within { width:150px; }
.toolbar-menu-search input { width:140px; min-width:0; border:0; outline:0; background:transparent; }
.editor-tool { width:28px; height:26px; flex:none; border:0; border-radius:5px; background:transparent; color:#444746; font-size:17px; cursor:pointer; }
.editor-tool:hover,.format-button:hover { background:#dfe5ee; }
.text-toolbar select { height:24px; flex:none; background:transparent; border:1px solid #c4c7c5; border-radius:4px; }
#text-zoom { width:72px; }
#text-style { width:116px; }
#text-font { width:96px; }
#text-size { width:54px; }
.editor-tool-divider { width:1px; height:24px; flex:none; background:#c4c7c5; margin:0 4px; }
.document-toolbar select { height:32px; border:1px solid transparent; border-radius:4px; background:#fff; padding:0 8px; color:#202124; }
.document-toolbar.text-toolbar select { height:24px; background:transparent; border-color:#c4c7c5; }
.document-toolbar select:hover { border-color:#dadce0; }
.format-button { width:30px; height:26px; border:0; border-radius:4px; background:transparent; cursor:pointer; }
.format-button:hover { background:#f1f3f4; }
.document-canvas { min-height:0; flex:1; overflow:auto; display:flex; align-items:flex-start; justify-content:center; padding:28px; background:#f1f3f4; }
.text-editor .document-canvas { position:relative; justify-content:center; padding:0 0 36px; background:#f8fafd; }
.document-outline { position:absolute; top:14px; left:18px; width:34px; display:flex; flex-direction:column; gap:18px; color:#5f6368; font-size:13px; }
.document-outline>span { display:none; }
.document-outline:not(.collapsed) { z-index:5; width:230px; max-height:70%; overflow:auto; padding:8px; gap:7px; border:1px solid #dadce0; border-radius:8px; background:#fff; box-shadow:0 1px 4px #20212420; }
.document-outline:not(.collapsed)>span { display:block; padding:5px 7px; font-weight:500; }
.outline-items { display:grid; gap:2px; }
.outline-item { min-height:30px; overflow:hidden; border:0; border-radius:4px; padding:5px 8px; background:transparent; color:#444746; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.outline-item:hover { background:#f1f3f4; }
.outline-item.level-2 { padding-left:18px; }
.outline-item.level-3 { padding-left:28px; }
.outline-empty { padding:6px 8px; color:#5f6368; font-size:12px; line-height:1.5; }
.outline-toggle { width:30px; height:30px; border:0; border-radius:50%; background:transparent; color:#5f6368; cursor:pointer; font-size:18px; }
.outline-toggle:hover { background:#e2e6ed; }
.document-ruler-shell { height:27px; display:flex; align-items:stretch; flex:none; background:#f8fafd; }
.ruler-corner { width:16px; flex:none; border-right:1px solid #dadce0; }
.document-ruler { position:relative; height:22px; flex:1; display:flex; align-items:stretch; justify-content:flex-start; margin:0 auto; max-width:816px; padding:0; background:#fff; color:#5f6368; border-bottom:1px solid #dadce0; font-size:10px; }
.document-ruler span { position:relative; flex:1 1 0; min-width:0; height:100%; padding-top:1px; background:transparent; text-align:center; line-height:13px; }
.document-ruler span b { position:relative; z-index:1; padding:0 2px; background:#fff; font-weight:400; }
.document-ruler .ruler-tick { position:absolute; bottom:0; width:1px; height:4px; transform:translateX(-50%); background:#bdc1c6; }
.document-ruler .ruler-half { height:8px; background:#80868b; }
.vertical-ruler { position:absolute; top:0; bottom:0; left:0; width:16px; border-right:1px solid #dadce0; background:repeating-linear-gradient(180deg,#f8fafd 0,#f8fafd 23px,#dadce0 23px,#dadce0 24px); }
.vertical-ruler::after { content:none; }
.document-page-wrap { width:min(816px,100%); flex:none; }
.text-editor .document-page-wrap { width:fit-content; max-width:100%; }
.text-editor #doc-download,.text-editor .document-footer { display:none; }
.text-page { width:min(794px,calc(100vw - 130px)); min-height:1056px; padding:var(--page-margin,96px); background:white; border:1px solid #c4c7c5; outline:none; font:11pt Arial,sans-serif; line-height:1.5; color:#202124; transform-origin:top center; }
.text-page p { margin:0 0 10px; }
.text-page ul,.text-page ol { margin:0 0 10px; padding-left:36px; }
.text-page li { margin:0 0 3px; }
.text-page table,.editor-inserted-table { width:100%; border-collapse:collapse; margin:12px 0; }
.text-page td,.text-page th,.editor-inserted-table td,.editor-inserted-table th { min-width:70px; height:32px; border:1px solid #80868b; padding:5px 8px; vertical-align:top; }
.text-page hr { border:0; border-top:1px solid #9aa0a6; margin:18px 0; }
.text-page .editor-page-break { display:block; width:0; height:0; overflow:hidden; border:0; margin:0; padding:0; line-height:0; }
.text-page .editor-page-break::after { content:none; }
.text-editor { --docs-paper-width:794px; --docs-paper-left:max(92px,calc((100% - var(--docs-paper-width))/2)); }
.text-editor .document-canvas { justify-content:flex-start; overflow:auto; }
.text-editor .document-canvas { padding-top:8px; }
.text-editor .document-page-wrap { width:var(--docs-paper-width); max-width:none; margin-left:var(--docs-paper-left); }
.text-editor .text-page { width:794px; max-width:none; }
.text-editor .text-page { display:flex; flex-direction:column; align-items:center; gap:24px; min-height:0; padding:0; background:transparent; border:0; }
.document-paper { box-sizing:border-box; width:794px; height:1056px; min-height:1056px; flex:none; padding:var(--page-margin,96px); overflow:visible; background:#fff; border:1px solid #c4c7c5; color:#202124; font:11pt Arial,sans-serif; line-height:1.5; }
.document-paper [data-doc-style="title"] { margin:0 0 12pt; font:400 26pt/1.15 Arial,sans-serif; }
.document-paper [data-doc-style="subtitle"] { margin:0 0 14pt; color:#5f6368; font:400 15pt/1.25 Arial,sans-serif; }
.document-paper [data-doc-style="heading-1"] { margin:18pt 0 6pt; font:700 20pt/1.25 Arial,sans-serif; }
.document-paper [data-doc-style="heading-2"] { margin:16pt 0 5pt; font:700 16pt/1.3 Arial,sans-serif; }
.document-paper [data-doc-style="heading-3"] { margin:14pt 0 4pt; font:700 14pt/1.35 Arial,sans-serif; }
.text-editor .document-ruler { flex:none; width:var(--docs-paper-width); max-width:none; margin:0 0 0 calc(var(--docs-paper-left) - 16px); padding-inline:0; }
.text-editor .vertical-ruler { width:16px; }
.text-editor .vertical-ruler span { display:block; height:96px; padding:2px 2px 0 0; color:#5f6368; font:10px/12px Arial,sans-serif; text-align:right; }
.text-editor #doc-save { display:none; }
.word-count-list { display:grid; grid-template-columns:1fr auto; gap:10px 24px; margin:20px 0; }
.word-count-list dt { color:#5f6368; }
.word-count-list dd { margin:0; font-weight:600; }
.document-footer { min-height:28px; padding:5px 16px; color:#5f6368; background:#fff; font-size:12px; }
.sheet-toolbar { justify-content:flex-start; }
.formula-toolbar { min-height:36px; display:flex; align-items:center; gap:10px; padding:3px 12px; background:#fff; border-bottom:1px solid #dadce0; }
.formula-toolbar #cell-address { width:58px; padding:4px 7px; border-right:1px solid #dadce0; }
.formula-toolbar input { height:28px; min-width:0; flex:1; border:1px solid transparent; padding:0 8px; }
.formula-toolbar input:focus { border-color:#1a73e8; outline:0; }
.sheet-workspace { width:100%; overflow:auto; background:#fff; align-self:stretch; }
.spreadsheet { border-collapse:collapse; min-width:100%; width:max-content; table-layout:fixed; }
.spreadsheet th,.spreadsheet td { min-width:120px; height:32px; border:1px solid #dadce0; padding:4px 8px; font:14px Arial,sans-serif; }
.spreadsheet th { min-width:48px; width:48px; text-align:center; background:#f8fafd; color:#5f6368; font-weight:400; }
.spreadsheet td:focus { outline:2px solid #1a73e8; outline-offset:-2px; }
.pdf-page-controls { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; background: #fff; border-bottom: 1px solid #dadce0; font-size: 14px; }
.pdf-page-controls .icon-button { width: 32px; height: 32px; font-size: 23px; }
.pdf-editor-status { margin-left: 20px; color: #5f6368; }
.pdf-editor-scroll { min-height: 0; flex: 1; overflow: auto; padding: 24px; display: flex; justify-content: center; align-items: flex-start; }
.pdf-page-shell { position: relative; flex: none; background: #fff; box-shadow: 0 1px 5px #20212435; }
.pdf-page-shell canvas { display: block; }
.pdf-annotation-layer { position: absolute; inset: 0; cursor: default; }
.pdf-annotation-layer:has(.pdf-annotation-input) { cursor: text; }
.pdf-editor-toolbar:has(#pdf-text-tool.active) ~ .pdf-page-controls ~ .pdf-editor-scroll .pdf-annotation-layer { cursor: crosshair; }
.pdf-annotation-input { position: absolute; width: 190px; height: 30px; padding: 3px 6px; border: 1px dashed #1a73e8; border-radius: 3px; background: #fff; color: #202124; font: 14px Inter, sans-serif; }
.real-file-canvas { overflow: auto; }
.real-file-preview { display: block; max-width: 100%; max-height: 75vh; object-fit: contain; margin: 0 auto; }
.real-file-frame { width: min(100%, 900px); height: 72vh; border: 0; background: #fff; }
.unsupported-preview { max-width: 480px; margin: 70px auto; text-align: center; }
.unsupported-preview p { color: #5f6368; line-height: 1.6; }
.file-preview-pending { display:grid; justify-items:center; align-content:center; gap:12px; margin:auto; }
.file-preview-pending h2,.file-preview-pending p { margin:0; }
.file-preview-loading { display:flex; align-items:center; justify-content:center; gap:12px; margin:auto; color:#5f6368; }
body.dark-theme { color: #e8eaed; background: #202124; }
body.dark-theme .app-shell { background: #202124; }
body.dark-theme .topbar,
body.dark-theme .sidebar { background: #202124; }
body.dark-theme .main-area { background: #292a2d; }
body.dark-theme .brand,
body.dark-theme .nav-item,
body.dark-theme .file-row td:first-child,
body.dark-theme .title-line h1,
body.dark-theme .admin-header h1 { color: #e8eaed; }
body.dark-theme .nav-item:hover,
body.dark-theme .icon-button:hover,
body.dark-theme .company-switch:hover { background: #3c4043; }
body.dark-theme .nav-item.active { background: #174ea6; color: #e8f0fe; }
body.dark-theme .sidebar .new-button { background: #fff; border-color: transparent; color: #202124; }
body.dark-theme .sidebar .new-button:hover { background: #f1f3f4; }
body.dark-theme .sidebar .new-button .plus { color: #202124; }
body.dark-theme .sidebar-divider { background: #3c4043; }
body.dark-theme .storage-heading,
body.dark-theme .storage-heading span:first-child,
body.dark-theme .sidebar-foot,
body.dark-theme .file-row td,
body.dark-theme .file-table th,
body.dark-theme .status-bar,
body.dark-theme .details-meta,
body.dark-theme .activity-line,
body.dark-theme .admin-header p,
body.dark-theme .breadcrumbs,
body.dark-theme .stat-label,
body.dark-theme .stat-note,
body.dark-theme .admin-table th,
body.dark-theme .person-info small,
body.dark-theme .activity-item time { color: #bdc1c6; }
body.dark-theme .storage-track { background: #3c4043; }
body.dark-theme .storage-button { border-color: #5f6368; color: #a8c7fa; }
body.dark-theme .search-box { background: #303134; }
body.dark-theme .search-box input,
body.dark-theme .search-box input::placeholder,
body.dark-theme .icon-button,
body.dark-theme .company-label { color: #e8eaed; }
body.dark-theme .search-box > svg { stroke: #e8eaed; }
body.dark-theme .content-header,
body.dark-theme .file-table thead,
body.dark-theme .file-row,
body.dark-theme .admin-tabs,
body.dark-theme .detail-section,
body.dark-theme .admin-table th,
body.dark-theme .admin-table td,
body.dark-theme .activity-item { border-color: #3c4043; }
body.dark-theme .file-row:hover,
body.dark-theme .grid-card:hover,
body.dark-theme .filter-option:hover,
body.dark-theme .context-menu button:hover,
body.dark-theme .menu-action:hover { background: #35363a; }
body.dark-theme .file-row.selected,
body.dark-theme .workspace-option.selected { background: #174ea6; }
body.dark-theme .toolbar .filter-chip,
body.dark-theme .view-mode,
body.dark-theme .grid-card,
body.dark-theme .stat-card,
body.dark-theme .filter-popover,
body.dark-theme .context-menu,
body.dark-theme .details-panel,
body.dark-theme .admin-table th,
body.dark-theme .admin-table,
body.dark-theme .activity-list,
body.dark-theme .dialog,
body.dark-theme .workspace-menu,
body.dark-theme .workspace-option,
body.dark-theme .form-field input,
body.dark-theme .form-field select,
body.dark-theme .secondary-button { background: #292a2d; color: #e8eaed; }
body.dark-theme .menu-action { background: #303134; color: #e8eaed; border: 1px solid #3c4043; }
body.dark-theme .menu-action:hover { background: #3c4043; }
body.dark-theme .menu-action:focus-visible { outline: 2px solid #8ab4f8; outline-offset: 1px; }
body.dark-theme .menu-action.danger { color: #f28b82; border-color: #5f6368; }
body.dark-theme .grid-preview,
body.dark-theme .preview-box,
body.dark-theme .admin-table th { background: #303134; }
body.dark-theme .toolbar .filter-chip,
body.dark-theme .grid-card,
body.dark-theme .stat-card,
body.dark-theme .filter-popover,
body.dark-theme .context-menu,
body.dark-theme .activity-list,
body.dark-theme .admin-table,
body.dark-theme .form-field input,
body.dark-theme .form-field select,
body.dark-theme .secondary-button { border-color: #5f6368; }
body.dark-theme .view-mode.active { background: #174ea6; color: #e8f0fe; }
body.dark-theme .file-table th button,
body.dark-theme .empty-state h2,
body.dark-theme .dialog h2,
body.dark-theme .dialog p,
body.dark-theme .form-field label,
body.dark-theme .details-content-title,
body.dark-theme .admin-section-heading h2,
body.dark-theme .activity-item p { color: #e8eaed; }
body.dark-theme .preview-page,
body.dark-theme .preview-sheet,
body.dark-theme .preview-slide { background: #fff; color: #202124; }
body.dark-theme .preview-page p,
body.dark-theme .preview-sheet h2,
body.dark-theme .preview-slide p { color: #5f6368; }
body.dark-theme .dialog-close { color: #bdc1c6; }
body.dark-theme .pdf-editor,
body.dark-theme .pdf-editor-toolbar,
body.dark-theme .pdf-page-controls { background: #292a2d; color: #e8eaed; border-color: #3c4043; }
body.dark-theme .pdf-editor-status { color: #bdc1c6; }
body.dark-theme .file-editor-screen { background: #202124; }
body.dark-theme .document-editor { background:#202124; color:#e8eaed; }
body.dark-theme .document-titlebar,body.dark-theme .document-menubar,body.dark-theme .document-toolbar,body.dark-theme .document-footer { background:#292a2d; color:#e8eaed; border-color:#3c4043; }
body.dark-theme .document-name,body.dark-theme .document-toolbar select { background:#292a2d; color:#e8eaed; }
body.dark-theme .document-name.is-editing { background:#fff; color:#202124; }
body.dark-theme .document-save-state { color:#bdc1c6; }
body.dark-theme .document-menu-popover { background:#292a2d; color:#e8eaed; border-color:#5f6368; }
body.dark-theme .document-menu-popover button:hover { background:#3c4043; }
body.dark-theme .document-canvas { background:#202124; }
body.dark-theme .text-toolbar { background:#3c4043; color:#e8eaed; }
body.dark-theme .text-toolbar select { background:#3c4043; color:#e8eaed; }
body.dark-theme .editor-tool,body.dark-theme .editor-quiet { color:#e8eaed; }
body.dark-theme .editor-tool:hover,body.dark-theme .editor-quiet:hover { background:#5f6368; }
body.dark-theme .editor-share { background:#a8c7fa; color:#001d35; }
body.dark-theme .document-ruler { background:#292a2d; color:#bdc1c6; border-color:#3c4043; }
body.dark-theme .document-ruler span { background:#292a2d; }
body.dark-theme .document-ruler-shell,body.dark-theme .vertical-ruler { background-color:#292a2d; }
body.dark-theme .vertical-ruler { background:repeating-linear-gradient(180deg,#292a2d 0,#292a2d 19px,#5f6368 19px,#5f6368 20px); border-color:#5f6368; }
body.dark-theme .vertical-ruler::after { color:#bdc1c6; }
body.dark-theme .document-submenus button { color:#e8eaed; }
body.dark-theme .text-editor .document-titlebar,body.dark-theme .text-editor .document-canvas,body.dark-theme .document-ruler-shell { background:#f8fafd; }
body.dark-theme .text-editor .document-ruler { background:#fff; color:#5f6368; }
body.dark-theme .text-editor .document-ruler span { background:transparent; }
body.dark-theme .text-editor .document-ruler span b { background:#fff; }
body.dark-theme .text-editor .vertical-ruler { background:repeating-linear-gradient(180deg,#f8fafd 0,#f8fafd 19px,#dadce0 19px,#dadce0 20px); border-color:#dadce0; }
body.dark-theme .text-editor .vertical-ruler::after { color:#5f6368; }
body.dark-theme .text-editor .document-titlebar { color:#202124; }
body.dark-theme .text-editor .document-titlebar .editor-quiet { color:#5f6368; }
body.dark-theme .text-editor .document-titlebar .document-submenus button { color:#202124; }
body.dark-theme .text-editor .document-name { color:#202124; background:transparent; }
body.dark-theme .text-editor .document-name.is-editing { color:#202124; background:#fff; }
body.dark-theme .text-editor .document-outline { color:#5f6368; }
body.dark-theme .text-editor .document-ruler { color:#5f6368; }
body.dark-theme .text-editor .text-toolbar { background:#f0f4f9; color:#202124; }
body.dark-theme .text-editor .text-toolbar select { background:transparent; border-color:#c4c7c5; color:#202124; }
body.dark-theme .text-editor .text-toolbar .editor-tool { color:#444746; }
body.dark-theme .text-editor .text-toolbar .editor-tool:hover,body.dark-theme .text-editor .text-toolbar .format-button:hover { background:#dfe5ee; }
body.dark-theme .text-editor .text-toolbar .editor-tool-divider { background:#c4c7c5; }
body.dark-theme .text-editor .document-ruler span { background:#fff; }
body.dark-theme .text-editor .document-footer { background:#f8fafd; color:#5f6368; }
.text-editor [data-editor-unavailable],.text-editor #doc-history,.text-editor #doc-comments,.text-editor #doc-share { display:none; }
.text-editor .document-submenus [data-doc-menu="Extensões"],.text-editor .document-submenus [data-doc-menu="Ajuda"] { display:none; }
body.dark-theme .document-outline { color:#bdc1c6; }
body.dark-theme .outline-toggle { color:#bdc1c6; }
body.dark-theme .outline-toggle:hover { background:#3c4043; }
body.dark-theme .text-page { background:#fff; color:#202124; }
body.dark-theme .text-editor .text-page { background:transparent; border:0; }
body.dark-theme .text-editor .document-paper { background:#fff; color:#202124; }
body.dark-theme .text-page .editor-page-break::after { background:#fff; color:#5f6368; }
body.dark-theme .spreadsheet th { background:#303134; color:#e8eaed; border-color:#5f6368; }
body.dark-theme .spreadsheet td { background:#fff; color:#202124; }
body.dark-theme .sheet-workspace { background:#fff; }
body.dark-theme .formula-toolbar { background:#292a2d; color:#e8eaed; border-color:#3c4043; }
body.dark-theme .formula-toolbar input { background:#292a2d; color:#e8eaed; }
body.dark-theme .editor-back { color: #e8eaed; }
body.dark-theme .editor-back:hover { background: #3c4043; }
body.dark-theme .pdf-save-state { color: #bdc1c6; }
body.dark-theme .pdf-editor-toolbar .secondary-button,
body.dark-theme .pdf-page-controls .icon-button { background: #303134; color: #e8eaed; border-color: #5f6368; }
body.dark-theme .pdf-editor-toolbar .active { background: #174ea6; border-color: #8ab4f8; color: #e8f0fe; }
.folder-breadcrumb { display: flex; align-items: center; gap: 9px; color: #5f6368; padding: 0 0 8px 2px; }
.folder-breadcrumb[hidden] { display: none !important; }
.folder-breadcrumb button { border: 0; border-radius: 5px; color: #1a73e8; background: transparent; cursor: pointer; padding: 4px 6px; }
.folder-breadcrumb button:hover { background: #f1f6fe; }
.folder-breadcrumb strong { color: #202124; font-weight: 500; }
.context-menu { position: fixed; z-index: 40; min-width: 220px; padding: 6px; border: 1px solid #dadce0; border-radius: 9px; background: #fff; box-shadow: 0 4px 16px #2021242e; }
.context-menu[hidden] { display: none !important; }
.context-menu button { width: 100%; min-height: 38px; display: flex; align-items: center; gap: 11px; padding: 0 10px; border: 0; border-radius: 5px; background: transparent; text-align: left; cursor: pointer; }
.context-menu button:hover, .context-menu button:focus-visible { background: #f1f3f4; }
.context-menu .context-icon { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.context-menu .context-shortcut { margin-left:auto; color:#5f6368; font:400 11px/1 Inter, sans-serif; white-space:nowrap; }
.context-menu .context-separator { height: 1px; background: #e0e0e0; margin: 5px 4px; }
.context-menu .danger { color: #b3261e; }
body.dark-theme .context-menu .context-shortcut { color:#bdc1c6; }
.viewer-dialog { width: min(920px, 96vw); height: min(88vh, 820px); padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.viewer-dialog #dialog-content { width:100%; min-width:0; min-height:0; height:100%; flex:1; display:flex; flex-direction:column; overflow:hidden; padding:0; }
.viewer-toolbar { min-width:0; min-height:58px; flex:0 0 58px; display:flex; align-items:center; gap:12px; padding:0 64px 0 18px; border-bottom:1px solid #dadce0; }
.viewer-toolbar .file-icon svg { width: 24px; height: 24px; }
.viewer-title { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.viewer-toolbar > .viewer-download-icon { width:40px; height:40px; flex:none; display:grid; place-items:center; border:0; border-radius:50%; color:#5f6368; text-decoration:none; }
.viewer-toolbar > .viewer-download-icon:hover { background:#f1f3f4; color:#202124; }
.viewer-toolbar > .viewer-download-icon[aria-disabled="true"] { opacity:.45; pointer-events:none; }
.viewer-download-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.viewer-canvas { min-height: 0; flex: 1; overflow: auto; padding: 28px; background: #f1f3f4; display: grid; place-items: start center; }
.preview-page { width: min(100%, 650px); min-height: 620px; padding: 52px 58px; background: #fff; box-shadow: 0 1px 4px #0002; color: #202124; }
.preview-page h2 { margin: 18px 0 22px; font-size: 23px; font-weight: 500; }
.preview-page p { color: #5f6368; line-height: 1.8; }
.preview-lines { display: grid; gap: 12px; margin-top: 25px; }
.preview-lines i { height: 8px; border-radius: 5px; background: #e8eaed; }
.preview-lines i:nth-child(3n) { width: 72%; }
.preview-sheet { width: min(100%, 700px); min-height: 420px; padding: 24px; background: #fff; }
.preview-sheet h2 { font-size: 19px; font-weight: 500; }
.sheet-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #dadce0; border-left: 1px solid #dadce0; }
.sheet-grid span { min-height: 34px; padding: 7px; border-right: 1px solid #dadce0; border-bottom: 1px solid #dadce0; color: #5f6368; }
.preview-slide { width: min(100%, 760px); aspect-ratio: 16/9; background: #fff; display: grid; place-content: center; text-align: center; border-bottom: 12px solid #fbbc04; }
.preview-slide h2 { color: #174ea6; font-size: clamp(22px, 4vw, 38px); margin: 0 20px 12px; }
.preview-slide p { color: #5f6368; }
.preview-image { width: min(100%, 700px); min-height: 400px; display: grid; place-items: center; background: linear-gradient(145deg,#d2e3fc,#e6f4ea 58%,#fef7e0); color: #174ea6; font-size: 18px; }
.preview-image img { max-width: 100%; max-height: 70vh; object-fit: contain; }
.viewer-footer { min-height: 48px; display: flex; justify-content: flex-end; align-items: center; gap: 9px; padding: 0 18px; border-top: 1px solid #dadce0; }
body.compact-mode .file-row { height: 38px; }
body.hide-previews .details-panel .preview-box { display: none; }
.grid-files[hidden],
.admin-view[hidden],
.drive-view[hidden],
.empty-state[hidden],
.overlay[hidden],
.filter-popover[hidden],
.details-panel[hidden] {
  display: none !important;
}

.menu-actions { display: grid; gap: 4px; }
.menu-action {
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.menu-action:hover { background: #f1f3f4; }
.menu-action:focus-visible { outline: 2px solid #1a73e8; outline-offset: 1px; }
.menu-action.danger { color: #b3261e; border-top: 1px solid #e0e0e0; margin-top: 4px; }
.file-table th { overflow: hidden; text-overflow: ellipsis; }
.file-name-copy {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}
.file-name-text {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 20px;
}

@media (max-width: 850px) {
  .file-table { min-width: 0; }
  .file-table th:nth-child(2), .file-table td:nth-child(2),
  .file-table th:nth-child(3), .file-table td:nth-child(3) { display: none; }
  .file-table th:nth-child(1) { width: 70%; }
  .file-table th:nth-child(4) { width: 20%; }
  .file-table th:nth-child(5) { width: 10%; }
  .file-table th { font-size: 13px; }
  .file-table th, .file-row td { padding-inline: 8px; }
  .file-name { gap: 10px; }
  .admin-panel { overflow-x: auto; }
}

@media (max-width: 700px) {
  .file-table { min-width: 0; }
  .pdf-editor-toolbar { gap: 5px; padding-inline: 8px; }
  .pdf-file-title { gap: 6px; }
  .pdf-file-title span { max-width: 32vw; }
  .pdf-editor-toolbar #pdf-text-tool,.pdf-editor-toolbar #pdf-download,.pdf-editor-toolbar #pdf-save { display:none !important; }
  .pdf-editor-toolbar .pdf-file-title { flex:1; }
  .pdf-save-state { display: none; }
  .pdf-editor-toolbar .secondary-button, .pdf-editor-toolbar .primary-button { padding-inline: 9px; }
  .pdf-editor-toolbar .pdf-action-icon { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .pdf-editor-toolbar .pdf-action-label { display:none; }
  .pdf-editor-toolbar #pdf-text-tool,.pdf-editor-toolbar #pdf-download,.pdf-editor-toolbar #pdf-save { width:36px; min-width:36px; height:36px; padding:0; display:grid; place-items:center; flex:none; }
  .pdf-page-controls { flex-wrap: wrap; padding: 4px 8px; }
  .pdf-editor-status { margin-left: 4px; }
  .document-titlebar,.document-toolbar { padding-inline:6px; gap:4px; }
  .text-editor .document-titlebar { min-height:66px; gap:3px; padding:4px 7px; }
  .document-title-group .document-name { width:34vw; }
  .document-submenus { overflow-x:auto; max-width:calc(100vw - 120px); }
  .document-submenus button { padding-inline:5px; font-size:12px; }
  .text-editor .document-titlebar .editor-quiet,.text-editor .document-titlebar .document-save-state { display:none; }
  .text-editor .document-titlebar .secondary-button { display:none; }
  .editor-share { padding-inline:10px; font-size:12px; }
  .document-name { max-width:33vw; }
  .document-save-state { display:none; }
  .document-toolbar select { max-width:110px; }
  .formula-toolbar { padding-inline:6px; gap:4px; }
  .document-canvas { padding:12px; }
  .text-editor .document-canvas { padding:0 8px 24px; }
  .document-outline { left:5px; width:125px; }
  .document-ruler { width:auto; }
  .text-toolbar { margin:0; }
  .toolbar-menu-search { display:none; }
  .editor-tool-divider { margin-inline:1px; }
  .text-page { min-height:calc(100vh - 180px); padding:48px 32px; }
  .document-menubar { padding-inline:4px; gap:0; }
  .document-menubar button { padding-inline:7px; }
  .viewer-canvas { padding: 14px; }
  .preview-page { min-height: 520px; padding: 32px 26px; }
}

.admin-header { padding-bottom:12px; }
.admin-header { display:block; padding-top:0; padding-bottom:8px; }
.admin-page-heading { display:grid; gap:4px; margin:0 0 14px; }
.admin-page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-heading-action { flex:none; }
.admin-page-heading h1 { margin:0; color:#202124; font-size:22px; font-weight:400; line-height:28px; }
.admin-page-heading p { margin:0; color:#5f6368; font-size:14px; line-height:20px; }
.admin-tabs { margin-bottom:10px; }
#admin-panel { padding-top:0; }
.admin-filters-free { padding:0; border:0; border-radius:0; background:transparent; }
body.dark-theme .admin-filters-free { background:transparent; border-color:transparent; }
.admin-view .admin-panel > .admin-section-heading:first-child { margin-top:8px; }
body.dark-theme .admin-page-heading h1 { color:#e8eaed; }
body.dark-theme .admin-page-heading p { color:#bdc1c6; }
.admin-view .stats-grid { margin-bottom:18px; }
.admin-view .stat-card { padding:12px 14px; }
.admin-view .stat-value { margin:4px 0 2px; }
.workspace-create-form { max-width:560px; margin:0 0 22px; padding:16px; border:1px solid #dadce0; border-radius:12px; background:#fff; }
.workspace-create-form label { display:block; margin-bottom:7px; font-weight:500; }
.workspace-create-form > div { display:flex; gap:8px; }
.workspace-create-form input { min-width:0; height:40px; flex:1; padding:0 11px; border:1px solid #747775; border-radius:5px; }
.workspace-create-form small { display:block; margin-top:8px; color:#5f6368; }
.workspace-admin-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:10px; }
.workspace-admin-card { min-width:0; display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #dadce0; border-radius:10px; background:#fff; }
.workspace-admin-card > div { min-width:0; flex:1; }
.workspace-admin-card strong,.workspace-admin-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-admin-card small { margin-top:3px; color:#5f6368; }
.workspace-admin-card strong { font-weight:400; }
.workspace-admin-card .company-monogram { flex:none; }
.admin-row-actions-inner { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.modified-cell { display:flex; align-items:center; gap:8px; min-width:0; }
.modified-copy { display:flex; flex-direction:column; min-width:0; line-height:1.3; }
.modified-copy > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.modified-copy small { overflow:hidden; color:#5f6368; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
body.dark-theme .modified-copy small { color:#bdc1c6; }
.file-table th:nth-child(1) { width:35%; }
.file-table th:nth-child(2) { width:14%; }
.file-table th:nth-child(3) { width:18%; }
.file-table th:nth-child(4) { width:17%; }
.file-table th:nth-child(5) { width:12%; }
.file-table th:nth-child(6) { width:4%; }
@media (max-width:1000px) {
  .file-table th:nth-child(1) { width:39%; }
  .file-table th:nth-child(3) { width:18%; }
  .file-table th:nth-child(4) { width:23%; }
  .file-table th:nth-child(5) { width:15%; }
  .file-table th:nth-child(6) { width:5%; }
}
@media (max-width:700px) {
  .file-table th:nth-child(1) { width:50%; }
  .file-table th:nth-child(4) { width:26%; }
  .file-table th:nth-child(5) { width:14%; }
  .file-table th:nth-child(6) { width:10%; }
}
.admin-delete-button { min-height:34px; padding:0 12px; border:1px solid #dadce0; border-radius:18px; background:transparent; color:#b3261e; font:inherit; font-weight:500; cursor:pointer; white-space:nowrap; }
.admin-delete-button:hover:not(:disabled) { background:#fce8e6; border-color:#f1b7b3; }
.admin-delete-button:disabled { color:#737373; cursor:not-allowed; opacity:.7; }
.admin-delete-button.protected { border-color:#dadce0; background:#f8f9fa; color:#5f6368; opacity:1; }
body.dark-theme .admin-delete-button { border-color:#5f6368; color:#f28b82; }
body.dark-theme .admin-delete-button:hover:not(:disabled) { background:#5f2926; border-color:#a15c56; }
body.dark-theme .admin-delete-button:disabled { color:#bdc1c6; }
body.dark-theme .admin-delete-button.protected { border-color:#5f6368; background:#303134; color:#bdc1c6; }
body.dark-theme .admin-table .admin-row-actions .secondary-button { flex:none; }
body.dark-theme .workspace-create-form,body.dark-theme .workspace-admin-card { background:#292a2d; border-color:#5f6368; color:#e8eaed; }
body.dark-theme .workspace-create-form small,body.dark-theme .workspace-admin-card small { color:#bdc1c6; }

.admin-filters { display:flex; align-items:end; flex-wrap:wrap; gap:10px; margin:0 0 10px; padding:12px; border:1px solid #dadce0; border-radius:10px; background:#fff; }
.admin-filters label { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; gap:4px; color:#5f6368; font-size:13px; font-weight:500; }
.admin-filters input,.admin-filters select { min-width:125px; height:36px; padding:0 9px; color:#202124; background:#fff; border:1px solid #dadce0; border-radius:5px; font:inherit; }
.admin-filters label:first-child input { min-width:190px; }
.admin-filters .admin-date-field { flex:1 1 145px; min-width:0; }
.admin-filters .admin-date-field input[type="date"] { display:block; box-sizing:border-box; width:100%; min-width:0 !important; max-width:100%; padding-inline:4px; }
.admin-filters input:disabled { color:#9aa0a6; background:#f8f9fa; }
.admin-filter-clear { height:36px; padding:0 12px; color:#0b57d0; border:0; border-radius:18px; background:transparent; font:inherit; font-weight:500; cursor:pointer; }
.admin-filter-clear:hover { background:#f1f3f4; }
.admin-users-filters > .admin-search-filter { display:flex; flex:1 1 190px; min-width:0; align-items:end; gap:8px; }
.admin-users-filters > .admin-search-filter > label { flex:1 1 190px; }
.admin-filter-extra-fields { display:grid; grid-template-rows:0fr; flex:1 0 100%; min-width:0; overflow:hidden; opacity:0; visibility:hidden; transition:grid-template-rows .24s cubic-bezier(.16,1,.3,1),opacity .18s ease,visibility 0s linear .24s; }
.admin-users-filters.filters-expanded .admin-filter-extra-fields { grid-template-rows:1fr; opacity:1; visibility:visible; transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility 0s; }
.admin-filter-extra-inner { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); min-height:0; min-width:0; align-items:end; gap:14px; overflow:hidden; }
.admin-filter-extra-inner > label { width:100%; min-width:0; max-width:100%; }
.admin-filter-extra-inner > label:first-child { grid-column:auto; }
.admin-filter-extra-inner .admin-filter-clear { align-self:end; }
.admin-users-filters .admin-date-field { width:100%; min-width:0; max-width:100%; }
.admin-users-filters .admin-date-field input[type="date"] { box-sizing:border-box; width:100%; min-width:0; max-width:100%; }
.admin-filter-toggle { display:grid; width:36px; min-width:36px; height:36px; place-items:center; padding:0; border:1px solid #dadce0; border-radius:50%; color:#5f6368; background:#fff; cursor:pointer; }
.admin-filter-toggle:hover { background:#f1f3f4; }
.admin-filter-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.admin-filter-toggle[aria-expanded="true"] svg { stroke-width:2.2; }
.admin-filter-toggle:focus-visible { outline:2px solid #1a73e8; outline-offset:2px; }
body.dark-theme .admin-filter-toggle { border-color:#5f6368; color:#bdc1c6; background:#202124; }
body.dark-theme .admin-filter-toggle:hover { background:#3c4043; }
@media (prefers-reduced-motion:reduce) { .admin-filter-extra-fields { transition:none; } }
.admin-result-count { margin:0 0 8px; color:#5f6368; font-size:13px; }
.admin-filter-empty { padding:16px; color:#5f6368; }
.main-area { position:relative; }
.main-area.drop-active { outline:2px dashed #1a73e8; outline-offset:-10px; background:#f4f8ff; }
.main-area.drop-active::after { content:"Solte para importar os arquivos"; position:absolute; z-index:8; inset:10px; display:grid; place-items:center; color:#0b57d0; background:#e8f0fbe8; border:2px dashed #1a73e8; border-radius:10px; font-size:18px; font-weight:600; pointer-events:none; }
.main-area.drop-active.drop-over-folder::after { content:"Solte para importar dentro desta pasta"; }
.file-row.file-drop-folder td { background:#d2e3fc !important; }
.grid-card.file-drop-folder { background:#d2e3fc; outline:2px solid #1a73e8; outline-offset:-2px; }
.share-form { display:grid; grid-template-columns:1fr auto; gap:7px 10px; align-items:center; margin:14px 0; }
.share-form label { color:#5f6368; font-weight:500; }
.share-form select { min-width:0; height:38px; padding:0 9px; background:#fff; border:1px solid #dadce0; border-radius:5px; }
.share-form .primary-button { grid-column:1/-1; justify-self:end; }
.share-list { max-height:220px; overflow:auto; border-top:1px solid #dadce0; }
.share-list > p { color:#5f6368; }
.share-person { display:flex; align-items:center; gap:10px; justify-content:space-between; padding:9px 0; border-bottom:1px solid #e8eaed; }
.share-person > span { min-width:0; }
.share-person b,.share-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-person small { margin-top:2px; color:#5f6368; }
.share-dialog { width:min(514px,calc(100vw - 28px)); padding:22px 24px 20px; border-radius:9px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.share-dialog h2 { margin:0 42px 20px 0; font-size:22px; line-height:28px; font-weight:400; }
.share-dialog .dialog-close { top:12px; right:14px; }
.share-invite { margin:0; }
.share-invite > input { width:100%; height:50px; padding:0 16px; border:2px solid #1a73e8; border-radius:4px; background:#fff; color:#202124; font:inherit; }
.share-invite > input::placeholder { color:#5f6368; opacity:1; }
.share-invite-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:10px; }
.share-invite-controls[hidden] { display:none; }
.share-invite-controls select { height:36px; min-width:110px; padding:0 10px; border:1px solid #dadce0; border-radius:5px; background:#fff; color:#202124; }
.share-invite-controls .primary-button { height:36px; }
.share-access h3,.share-general h3 { margin:20px 0 10px; font-size:14px; line-height:20px; font-weight:500; }
.share-person { min-height:54px; display:flex; align-items:center; gap:12px; padding:7px 0; border:0; }
.share-person-copy { min-width:0; flex:1; }
.share-person-copy b,.share-person-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-person-copy b { font-size:14px; font-weight:400; color:#202124; }
.share-person-copy small { margin-top:2px; color:#5f6368; font-size:12px; }
.share-avatar,.share-lock { width:32px; height:32px; flex:none; display:grid; place-items:center; border-radius:50%; background:#5e35b1; color:#fff; font-size:14px; }
.share-role { flex:none; color:#9aa0a6; }
.share-person-actions { display:flex; align-items:center; gap:7px; }
.share-remove { width:30px; height:30px; border:0; border-radius:50%; background:transparent; color:#5f6368; font-size:20px; cursor:pointer; }
.share-remove:hover { background:#f1f3f4; }
.share-general h3 { margin-top:20px; }
.share-general-row { min-height:48px; display:flex; align-items:center; gap:12px; }
.share-lock { background:#e8eaed; color:#5f6368; }
.share-lock svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.share-general-row strong,.share-general-row small { display:block; }
.share-general-row strong { font-size:14px; font-weight:400; }
.share-general-row small { margin-top:4px; color:#5f6368; font-size:12px; }
.share-dialog .form-error { min-height:0; margin:7px 0 0; font-size:13px; }
.share-footer { display:flex; justify-content:space-between; align-items:center; margin-top:26px; }
.share-copy-link { height:38px; display:inline-flex; align-items:center; gap:8px; padding:0 16px; border:1px solid #747775; border-radius:22px; background:#fff; color:#0b57d0; cursor:pointer; font-weight:500; }
.share-copy-link:hover { background:#f1f6fe; }
.share-copy-link svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.share-dialog .share-list { border:0; }
.share-footer .primary-button { min-width:112px; justify-content:center; }
body.dark-theme .main-area.drop-active { background:#1e293b; }
body.dark-theme .main-area.drop-active::after { color:#a8c7fa; background:#1e293be8; }
body.dark-theme .file-row.file-drop-folder td,body.dark-theme .grid-card.file-drop-folder { background:#263b57 !important; }
body.dark-theme .share-form label,body.dark-theme .share-person small,body.dark-theme .share-list > p { color:#bdc1c6; }
body.dark-theme .share-form select { color:#e8eaed; background:#202124; border-color:#5f6368; }
body.dark-theme .share-list,body.dark-theme .share-person { border-color:#5f6368; }
body.dark-theme .share-invite > input,body.dark-theme .share-invite-controls select { color:#e8eaed; background:#202124; border-color:#8ab4f8; }
body.dark-theme .share-person-copy b,body.dark-theme .share-general-row strong { color:#e8eaed; }
body.dark-theme .share-person-copy small,body.dark-theme .share-general-row small { color:#bdc1c6; }
body.dark-theme .share-lock { background:#3c4043; color:#bdc1c6; }
body.dark-theme .share-copy-link { color:#a8c7fa; background:#202124; border-color:#5f6368; }
.admin-section-heading > div { display:grid; gap:4px; }
.admin-section-heading > div > p { margin:0; line-height:20px; }
.workspace-admin-heading { margin-top:0; }
.workspace-admin-toolbar { display:grid; grid-template-columns:minmax(300px,0.9fr) minmax(0,1.8fr); align-items:stretch; gap:10px; margin-bottom:10px; }
.workspace-admin-toolbar .workspace-create-form { width:100%; max-width:none; min-width:0; margin:0; padding:10px 12px; }
.workspace-admin-toolbar .workspace-create-form label { margin-bottom:5px; }
.workspace-admin-toolbar .workspace-create-form > div { gap:6px; }
.workspace-admin-toolbar .workspace-create-form input { height:36px; }
.workspace-admin-toolbar .workspace-create-form .primary-button { flex:none; height:36px; padding-inline:12px; }
.workspace-admin-toolbar .workspace-create-form small { margin-top:5px; line-height:18px; }
.workspace-admin-toolbar .admin-filters { align-content:center; gap:7px; margin:0; padding:9px; }
.workspace-admin-toolbar .admin-filters label { flex:1 1 105px; min-width:0; }
.workspace-admin-toolbar .admin-filters label:first-child { flex:1.4 1 140px; }
.workspace-admin-toolbar .admin-filters input,.workspace-admin-toolbar .admin-filters select,.workspace-admin-toolbar .admin-filters label:first-child input { width:100%; min-width:0; }
.workspace-admin-toolbar .admin-filter-clear { align-self:end; padding-inline:8px; white-space:nowrap; }
body.dark-theme .admin-filters { background:#292a2d; border-color:#5f6368; }
body.dark-theme .admin-filters label,body.dark-theme .admin-result-count,body.dark-theme .admin-filter-empty { color:#bdc1c6; }
body.dark-theme .admin-filters input,body.dark-theme .admin-filters select { color:#e8eaed; background:#202124; border-color:#5f6368; }
body.dark-theme .admin-filters input:disabled { background:#303134; }
body.dark-theme .admin-filter-clear { color:#a8c7fa; }
body.dark-theme .admin-filter-clear:hover { background:#3c4043; }

.sidebar .new-button { height:48px; }

@media (max-width:700px) {
  .sidebar .new-button { height:44px; }
  .workspace-admin-toolbar { grid-template-columns:minmax(0,1fr); }
  .share-form { grid-template-columns:1fr; }
  .share-form .primary-button { grid-column:auto; justify-self:stretch; }
  .share-dialog { width:min(514px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; padding:20px 18px 16px; }
  .share-dialog h2 { font-size:20px; margin-bottom:17px; }
  .share-invite > input { height:48px; padding-inline:12px; font-size:14px; }
  .share-footer { margin-top:20px; }
  .share-person { gap:8px; }
  .share-role { font-size:12px; }
  .admin-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
  .admin-filters label { min-width:0; }
  .admin-filters label:first-child { grid-column:1 / -1; }
  .admin-filters .admin-date-field { flex:initial; width:auto; max-width:none; }
  .admin-filters input,.admin-filters select,.admin-filters label:first-child input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; }
  .admin-filter-clear { align-self:end; }
}

@media (min-width:701px) and (max-width:820px) {
  .text-toolbar { gap:1px; padding-inline:5px; margin-inline:0; }
  .text-toolbar .editor-tool { width:27px; }
  .text-toolbar #text-style { width:100px; }
  .text-toolbar #text-font { width:78px; }
  .text-toolbar #text-size { width:46px; }
  .text-toolbar .toolbar-overflow { display:none; }
  .text-editor .document-canvas { padding-left:0; }
  .document-outline { width:130px; }
  .text-page { width:min(794px,calc(100vw - 130px)); }
  .document-ruler-shell .ruler-corner { width:16px; }
}

/* Mobile Drive workspace: compact native-style shell and touch-first file list. */
@media (max-width:700px) {
  body { min-width:320px; }
  .app-shell {
    min-height:100dvh;
    height:100dvh;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:58px minmax(0,1fr) calc(64px + env(safe-area-inset-bottom));
    overflow:hidden;
  }
  .topbar {
    position:fixed;
    z-index:30;
    inset:0 0 auto;
    width:100%;
    height:58px;
    min-width:0;
    padding:0 12px;
    gap:9px;
    background:#f8fafd;
  }
  .topbar .brand { display:flex; width:auto; max-width:92px; flex:none; gap:6px; font-size:15px; letter-spacing:-.3px; }
  .topbar .brand-mark,.topbar .brand-mark svg { width:30px; height:30px; }
  .topbar #help-button,.topbar #settings-button,.topbar #theme-button { display:none; }
  .topbar .search-box { height:42px; min-width:0; padding:0 12px; gap:10px; border-radius:24px; }
  .topbar .search-box input { font-size:16px; }
  .topbar .search-box>svg { width:20px; height:20px; flex:none; }
  .topbar .search-filter { display:inline-grid; width:32px; height:32px; flex:none; }
  .topbar .top-actions { flex:none; margin-left:0; gap:4px; }
  .topbar .company-switch { width:38px; height:40px; justify-content:center; padding:3px; }
  .topbar .company-switch .company-label,.topbar .company-switch>svg { display:none; }
  .topbar .company-monogram { width:30px; height:30px; font-size:13px; }
  .topbar .avatar { flex:none; width:34px; height:34px; margin:0; }
  .sidebar {
    grid-column:1;
    grid-row:3;
    position:fixed;
    z-index:12;
    inset:auto 0 0;
    width:100%;
    height:calc(64px + env(safe-area-inset-bottom));
    padding:0 4px env(safe-area-inset-bottom);
    overflow:visible;
    background:#fff;
    border-top:1px solid #e8eaed;
    box-shadow:0 -1px 3px #2021240a;
  }
  .sidebar .new-button { position:fixed; z-index:13; right:16px; bottom:calc(78px + env(safe-area-inset-bottom)); width:54px; min-width:54px; height:54px; margin:0; padding:0; justify-content:center; border:0; border-radius:18px; background:#c2e7ff; color:#001d35; box-shadow:0 2px 6px #20212430; }
  .sidebar .new-button .plus { font-size:30px; }
  .sidebar .new-button span:last-child,.sidebar-divider,.sidebar #admin-link,.storage-block,.sidebar-foot { display:none!important; }
  .primary-nav { width:100%; height:100%; display:flex; flex-direction:row; align-items:stretch; justify-content:space-evenly; gap:0; }
  .primary-nav .nav-item { display:flex; height:100%; min-width:0; flex:1 1 0; flex-direction:column; align-items:center; justify-content:center; gap:3px; margin:0; padding:5px 1px 4px; border-radius:0; background:transparent; color:#5f6368; font-size:0; text-align:center; }
  .primary-nav .nav-item[hidden] { display:none!important; }
  .primary-nav .nav-item[data-view="recent"],.primary-nav .nav-item[data-view="trash"] { display:none; }
  .primary-nav .nav-item[data-view="home"] { order:1; }
  .primary-nav .nav-item[data-view="starred"] { order:2; }
  .primary-nav .nav-item[data-view="shared"] { order:3; }
  .primary-nav .nav-item[data-view="drive"] { order:4; }
  .primary-nav .nav-item .nav-icon { width:54px; height:30px; border-radius:18px; }
  .primary-nav .nav-item .nav-icon svg { width:21px; height:21px; }
  .primary-nav .nav-item::after { content:attr(data-mobile-label); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; line-height:14px; }
  .primary-nav .nav-item.active { color:#202124; background:transparent; font-weight:500; }
  .primary-nav .nav-item.active .nav-icon { color:#001d35; background:#c2e7ff; }
  .main-area,.app-shell:has(.details-panel:not([hidden])) .main-area {
    grid-column:1;
    grid-row:2;
    width:100%;
    min-width:0;
    min-height:0;
    padding:12px 16px 20px;
    overflow:auto;
    overscroll-behavior:contain;
    border-radius:0;
    background:#fff;
  }
  .content-header { height:42px; }
  .title-line h1,.admin-header h1 { max-width:calc(100vw - 88px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:22px; line-height:28px; }
  .details-toggle { display:none; }
  .toolbar { height:48px; width:calc(100% + 16px); margin-right:-16px; gap:8px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
  .toolbar::-webkit-scrollbar { display:none; }
  .filter-chip { height:34px; flex:none; padding:0 12px; border-radius:18px; background:#f8fafd; }
  .toolbar .view-switch { display:flex; height:34px; margin-left:0; }
  .active-filters:not(:empty) { padding:0 0 8px; }
  .table-wrap { width:100%; overflow:visible; }
  .file-table { width:100%; min-width:0; table-layout:fixed; }
  .file-table thead { height:36px; }
  .file-table th { padding:0 8px; font-size:12px; }
  .file-table th:not(:first-child) { display:none; }
  .file-table th:nth-child(1) { width:auto; }
  .file-table tbody { width:100%; }
  .file-row { height:64px; }
  .file-row td { padding:0 5px; font-size:14px; }
  .file-row td:first-child { width:calc(100% - 42px); }
  .file-row td:nth-child(2),.file-row td:nth-child(3),.file-row td:nth-child(4) { display:none; }
  .file-row td:last-child { width:42px; padding:0 0 0 2px; }
  .file-name { gap:14px; min-width:0; }
  .file-name .file-icon,.file-name .file-icon svg { width:20px; height:22px; }
  .file-name-text { display:block; max-width:calc(100vw - 106px); font-size:14px; line-height:19px; }
  .row-menu { width:36px; height:40px; font-size:21px; }
  .grid-files { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .grid-card { min-width:0; height:156px; padding:10px; }
  .grid-name { font-size:12px; }
  .grid-card>span:last-child { font-size:11px!important; }
  .status-bar { padding:12px 4px; font-size:12px; }
  .filter-popover { position:fixed; z-index:18; top:auto; right:12px; bottom:calc(74px + env(safe-area-inset-bottom)); left:12px; width:auto; max-width:calc(100vw - 24px); min-width:0; max-height:min(55dvh,360px); overflow:auto; }
  .filter-option,.workspace-option,.context-menu button { min-width:0; max-width:100%; }
  .workspace-menu,.context-menu { box-sizing:border-box; max-width:calc(100vw - 24px); min-width:0; }
  .workspace-option>span:last-child,.context-menu button>span { min-width:0; overflow-wrap:anywhere; }
  .details-panel,.app-shell:has(.details-panel:not([hidden])) .details-panel { position:fixed; z-index:15; inset:auto 0 calc(64px + env(safe-area-inset-bottom)); width:100%; height:min(70dvh,560px); padding:16px; border:1px solid #dadce0; border-radius:18px 18px 0 0; box-shadow:0 -8px 24px #20212424; }
  .app-shell:has(.details-panel:not([hidden])) .main-area { filter:brightness(.92); }
  .workspace-menu { position:fixed; top:54px; right:54px; width:min(300px,calc(100vw - 24px)); }
  .account-actions { flex-wrap:wrap; }
  .admin-header { padding:0 0 8px; }
  .admin-page-heading { margin-bottom:12px; }
  .admin-page-heading { align-items:flex-start; }
  .admin-tabs { gap:18px; }
  .admin-panel { overflow-x:auto; }
}

@media (max-width:360px) {
  .topbar .brand { width:34px; }
  .topbar .brand>span:last-child { display:none; }
}

.context-menu .context-chevron { margin-left:auto; color:#5f6368; font-size:18px; }
.context-menu .context-menu-note { margin:8px 10px; color:#5f6368; line-height:1.45; }
.folder-color-title { padding:3px 10px 5px; color:#5f6368; font-size:12px; line-height:16px; }
.folder-color-grid { display:grid; grid-template-columns:repeat(8,26px); gap:8px; padding:7px 10px 8px; }
.context-menu .folder-color-grid .folder-color-swatch { width:26px; height:26px; min-height:26px !important; justify-self:center; padding:0 !important; border:2px solid #fff !important; border-radius:50% !important; background:var(--folder-swatch) !important; box-shadow:0 0 0 1px #dadce0; cursor:pointer; }
.folder-color-swatch:hover,.folder-color-swatch.active { outline:2px solid #1a73e8; outline-offset:2px; }
.context-menu .folder-color-reset { width:auto; min-height:28px; margin:0 8px 5px; padding:0 6px; color:#1a73e8; font-size:12px; }
.context-menu .folder-color-reset:hover { background:transparent; text-decoration:underline; }
.file-activity-list { max-height:min(52vh,440px); overflow:auto; border:1px solid #dadce0; border-radius:10px; }
.file-activity-table { width:100%; border-collapse:collapse; table-layout:auto; text-align:left; }
.file-activity-table th,.file-activity-table td { padding:11px 13px; border-bottom:1px solid #e0e0e0; }
.file-activity-table th { position:sticky; top:0; background:#f8fafd; color:#5f6368; font-size:12px; font-weight:500; }
.file-activity-table tr:last-child td { border-bottom:0; }
.file-activity-table td strong { font-weight:600; }
.file-activity-table td:nth-child(2) { color:#5f6368; }
.file-activity-table time { color:#5f6368; font-size:13px; white-space:nowrap; }
body.dark-theme .file-activity-list { border-color:#3c4043; }
body.dark-theme .file-activity-table th { background:#303134; color:#bdc1c6; }
body.dark-theme .file-activity-table th,body.dark-theme .file-activity-table td { border-color:#3c4043; }
body.dark-theme .file-activity-table td:nth-child(2),body.dark-theme .file-activity-table time { color:#bdc1c6; }
body.dark-theme .context-menu .context-chevron,body.dark-theme .context-menu .context-menu-note { color:#bdc1c6; }
body.dark-theme .folder-color-title { color:#bdc1c6; }
body.dark-theme .folder-color-swatch { border-color:#303134 !important; }

@media (max-width:500px) {
  .folder-color-grid { grid-template-columns:repeat(6,26px); }
}
@media (max-width:360px) {
  .folder-color-grid { grid-template-columns:repeat(5,26px); }
}

@media (min-width:701px) {
  .sidebar .nav-item.active { border-radius:22px; }
}

.selection-toolbar { min-height:40px; margin:0 0 8px; padding:0 10px; display:flex; align-items:center; gap:12px; border-radius:22px; background:#e3f2fd; color:#202124; }
.selection-toolbar[hidden] { display:none; }
.selection-toolbar strong { font-size:14px; font-weight:500; }
.selection-toolbar button { width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; font-size:20px; }
.selection-toolbar button:hover { background:#dce6f3; }

/* Keep navigation states consistent and honor feature-level visibility. */
.nav-item[hidden] { display:none!important; }
.sidebar .nav-item:hover { border-radius:22px; background:#b8d1ff; }
.activity-table .person-info strong { font-weight:400; }
body.dark-theme .sidebar .nav-item:hover:not(.active) { background:#174ea6; color:#e8f0fe; }

@media (max-width:700px) {
  .primary-nav .nav-item:hover:not(.active) { background:transparent; color:#202124; }
  .primary-nav .nav-item:hover:not(.active) .nav-icon { border-radius:18px; background:#c2e7ff; color:#001d35; }
  body.dark-theme .primary-nav .nav-item:hover:not(.active) { background:transparent; color:#e8eaed; }
body.dark-theme .primary-nav .nav-item:hover:not(.active) .nav-icon { background:#174ea6; color:#e8f0fe; }
}
.admin-filters.admin-filters-free { padding:12px; border:1px solid #dadce0; border-radius:10px; background:#fff; }
body.dark-theme .admin-filters.admin-filters-free { background:#292a2d; border-color:#5f6368; }
.admin-view input,
.admin-view select,
.admin-view button,
.admin-view textarea { font-family:inherit; }
.admin-view .stat-label { font-size:16px; }
.admin-view .stat-note { font-size:14px; line-height:20px; }
.admin-view .admin-filters label { font-size:14px; }
.admin-view .admin-result-count { font-size:14px; }
.admin-view .workspace-create-form > label { color:#5f6368; font-weight:400; }
.admin-view .workspace-create-form input { border:1px solid #dadce0; border-radius:5px; background:#fff; color:#202124; }
body.dark-theme .admin-view .workspace-create-form > label { color:#bdc1c6; }
body.dark-theme .admin-view .workspace-create-form input { border-color:#5f6368; background:#202124; color:#e8eaed; }
.workspace-create-form > label { font-weight:400; }
.upload-limit-form input#upload-limit-mb { border:1px solid #dadce0; border-radius:5px; background:#fff; color:#202124; }
.upload-limit-form input#upload-limit-mb:focus { border-color:#1a73e8; outline:2px solid #1a73e8; outline-offset:1px; }
.admin-heading-action[hidden] { display:none!important; }
.admin-empty-state { display:grid; min-height:110px; place-items:center; margin:0; padding:24px; text-align:center; }
body.dark-theme .upload-limit-form input#upload-limit-mb { border-color:#5f6368; background:#202124; color:#e8eaed; }
.admin-view .admin-result-count { margin:16px 0 0; }
.admin-view .table-wrap,
.admin-view .workspace-admin-list,
.admin-view #admin-activity-results { margin-top:12px; }
.selection-toolbar .selection-actions { display:flex; align-items:center; gap:2px; margin-left:auto; }
.selection-toolbar .selection-actions button { width:auto; min-width:34px; padding:0 8px; display:flex; align-items:center; justify-content:center; gap:6px; font-size:14px; }
.selection-toolbar .selection-actions svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.selection-toolbar .selection-actions span { white-space:nowrap; }
.selection-toolbar .selection-more { margin-left:0; }
.selection-move-summary { max-height:28vh; overflow:auto; overflow-wrap:anywhere; }
.details-panel .detail-section:has(#details-open) { display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.details-panel .detail-section:has(#details-open) #details-activity { margin-left:0; }
.details-panel { display:flex; flex-direction:column; overflow:hidden; }
.details-panel #details-content { min-height:0; flex:1; display:flex; flex-direction:column; overflow:hidden; }
.details-head { min-width:0; gap:8px; margin:-4px -6px 12px; }
.details-title-wrap { min-width:0; display:flex; align-items:center; gap:10px; }
.details-title-wrap .file-icon,.details-title-wrap .file-icon svg { width:20px; height:20px; flex:none; }
.details-title-wrap h2 { min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.details-tabs { display:flex; border-bottom:1px solid #dadce0; margin:0 -18px 16px; }
.details-tab { position:relative; flex:1; min-height:42px; border:0; background:transparent; color:#5f6368; cursor:pointer; }
.details-tab.active { color:#0b57d0; font-weight:500; }
.details-tab.active::after { position:absolute; right:12px; bottom:-1px; left:12px; height:3px; border-radius:3px 3px 0 0; background:#0b57d0; content:""; }
.details-tab-panel[hidden] { display:none; }
.details-tab-panel[data-details-panel="activity"] { min-height:0; flex:1; overflow:hidden; }
.details-panel .file-activity-list { height:100%; max-height:none; overflow:auto; border:0; border-radius:0; }
.details-panel .file-activity-list .details-meta { padding:12px 0; }
.details-panel .preview-box { margin:16px 0; }
.details-activity-group + .details-activity-group { margin-top:12px; }
.details-activity-year { position:sticky; top:0; z-index:1; margin:0; padding:10px 0 12px; background:#fff; color:#202124; font-size:14px; font-weight:600; }
.details-activity-item { display:grid; grid-template-columns:36px minmax(0,1fr); gap:10px; padding:12px 0; }
.details-activity-item .owner-avatar { width:34px; height:34px; }
.details-activity-copy { min-width:0; }
.details-activity-summary { margin:1px 0 2px; color:#202124; line-height:1.4; }
.details-activity-item strong { font-size:14px; font-weight:500; }
.details-activity-item time { color:#5f6368; font-size:12px; }
.details-activity-file { display:flex; align-items:center; gap:8px; width:max-content; max-width:100%; min-height:29px; margin-top:7px; padding:3px 10px; border:1px solid #747775; border-radius:8px; color:#202124; }
.details-activity-file .file-icon,.details-activity-file .file-icon svg { width:14px; height:16px; flex:none; }
.details-activity-file>span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.details-activity-locate { margin:4px 0 0; padding:2px 0; border:0; background:transparent; color:#0b57d0; font-size:12px; text-decoration:underline; cursor:pointer; }
body.dark-theme .details-tabs { border-color:#3c4043; }
body.dark-theme .details-tab { color:#bdc1c6; }
body.dark-theme .details-tab.active { color:#8ab4f8; }
body.dark-theme .details-tab.active::after { background:#8ab4f8; }
body.dark-theme .details-activity-year { background:#292a2d; color:#e8eaed; }
body.dark-theme .details-activity-summary,body.dark-theme .details-activity-item strong { color:#e8eaed; }

/* Administration: turn dense desktop tables into touch-first, content-specific records. */
@media (max-width:700px) {
  .admin-tabs {
    height:48px;
    margin:0 -12px 12px;
    padding:0 12px;
    gap:20px;
    max-width:calc(100% + 24px);
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    touch-action:pan-x pan-y;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .admin-tabs::-webkit-scrollbar { display:none; }
  .admin-tab { min-height:48px; flex:none; }
  .admin-panel { overflow:visible; padding-bottom:calc(18px + env(safe-area-inset-bottom)); }
  .admin-view .admin-section-heading { align-items:center; gap:8px; }
  .admin-view .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:22px; }
  .admin-view .stat-card { min-height:112px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:13px; }
  .admin-view .stat-value { font-size:24px; line-height:1.1; }
  .admin-view .stat-note { font-size:13px; line-height:18px; }

  .admin-view .admin-filters,
  .admin-view .admin-filters.admin-filters-free {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 10px;
    margin:0 0 14px;
    padding:14px;
    border-radius:12px;
  }
  .admin-view .admin-users-filters > .admin-search-filter { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; }
  .admin-view .admin-users-filters > .admin-search-filter > label { grid-column:1; min-width:0; }
  .admin-view .admin-filter-toggle { width:44px; min-width:44px; height:44px; }
  .admin-view .admin-filter-extra-fields { grid-column:1 / -1; }
  .admin-view .admin-filter-extra-inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; }
  .admin-view .admin-filter-extra-inner > label:first-child { grid-column:auto; }
  .admin-view .admin-filters label { min-width:0; gap:6px; line-height:18px; }
  .admin-view .admin-filters label:first-child { grid-column:1 / -1; }
  .admin-view .admin-users-filters > .admin-search-filter > label:first-child { grid-column:1; }
  .admin-view .admin-filters input,
  .admin-view .admin-filters select,
  .admin-view .admin-filters label:first-child input {
    width:100%; min-width:0; max-width:100%; height:44px; padding-inline:10px; border-radius:8px; font-size:14px;
  }
  .admin-view .admin-users-filters .admin-date-field { flex:initial; width:100%; min-width:0; max-width:100%; }
  .admin-view .admin-filters .admin-filter-clear { min-height:44px; height:auto; padding-inline:8px; justify-self:start; }
  .admin-view .admin-result-count { margin:14px 0 0; line-height:20px; }
  .admin-view .table-wrap,
  .admin-view .workspace-admin-list,
  .admin-view #admin-activity-results { margin-top:10px; }

  .admin-view .admin-table {
    width:100%; min-width:0; border:0; border-radius:0; border-collapse:separate; overflow:visible; background:transparent;
  }
  .admin-view .admin-table thead {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0;
  }
  .admin-view .admin-table tbody { display:grid; gap:10px; }
  .admin-view .admin-table tbody tr {
    min-width:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:12px 14px;
    padding:14px;
    border:1px solid #dadce0;
    border-radius:12px;
    background:#fff;
  }
  .admin-view .admin-table tbody td {
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    gap:5px;
    padding:0;
    border:0;
    color:#202124;
    font-size:14px;
    line-height:20px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .admin-view .admin-table tbody td::before {
    content:attr(data-label);
    color:#5f6368;
    font-size:12px;
    font-weight:500;
    line-height:16px;
  }
  .admin-view .admin-table tbody td:first-child { grid-column:1 / -1; }
  .admin-view .admin-table tbody td:first-child::before { display:none; }
  .admin-view .admin-table tbody td.admin-filter-empty { grid-column:1 / -1; padding:10px 2px; color:#5f6368; }
  .admin-view .admin-table tbody td.admin-filter-empty::before { display:none; }
  .admin-view .admin-table .person-info { min-width:0; align-items:center; gap:11px; }
  .admin-view .admin-table .person-info > span:last-child { min-width:0; overflow-wrap:anywhere; }
  .admin-view .admin-table .person-info small { line-height:18px; overflow-wrap:anywhere; }
  .admin-view .admin-table .role-badge,
  .admin-view .admin-table .status-badge { width:max-content; max-width:100%; white-space:normal; line-height:18px; }
  .admin-view .admin-table .admin-row-actions,
  .admin-view .admin-table .approval-actions {
    grid-column:1 / -1;
    grid-template-columns:minmax(0,1fr);
    padding-top:11px;
    border-top:1px solid #e8eaed;
  }
  .admin-view .admin-table .admin-row-actions::before,
  .admin-view .admin-table .approval-actions::before { display:none; }
  .admin-view .admin-row-actions-inner,
  .admin-view .approval-actions-inner { min-width:0; flex-wrap:wrap; white-space:normal; gap:8px; }
  .admin-view .admin-row-actions-inner > button,
  .admin-view .approval-actions-inner > button { min-height:44px; justify-content:center; }
  .admin-view .admin-row-actions-inner .user-edit-button { flex:1 1 120px; }
  .admin-view .admin-row-actions-inner .admin-delete-button,
  .admin-view .approval-actions-inner .secondary-button { flex:1 1 100px; }
  .admin-view .admin-row-actions-inner .primary-button,
  .admin-view .approval-actions-inner .primary-button { flex:1 1 120px; }

  /* Activity records read as a timeline entry, not a squeezed four-column grid. */
  .admin-view .activity-table tbody tr { grid-template-columns:minmax(0,1fr); gap:10px; padding:14px; }
  .admin-view .activity-table tbody td:first-child { padding-bottom:9px; border-bottom:1px solid #e8eaed; }
  .admin-view .activity-table tbody td[data-label="Ação"] { color:#202124; font-weight:500; }
  .admin-view .activity-table tbody td[data-label="Data e hora"] { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; padding-top:8px; border-top:1px solid #e8eaed; }
  .admin-view .activity-table time { color:#5f6368; font-size:13px; line-height:18px; }

  .workspace-admin-toolbar { gap:12px; margin-bottom:14px; }
  .workspace-admin-toolbar .workspace-create-form { padding:14px; border-radius:12px; }
  .workspace-admin-toolbar .workspace-create-form > div,
  .admin-view .upload-limit-form > div { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }
  .workspace-admin-toolbar .workspace-create-form input,
  .admin-view .upload-limit-form input { width:100%; min-width:0; height:44px; border-radius:8px; }
  .workspace-admin-toolbar .workspace-create-form .primary-button,
  .admin-view .upload-limit-form .primary-button { min-height:44px; justify-content:center; }
  .admin-view .workspace-admin-list { grid-template-columns:minmax(0,1fr); gap:9px; }
  .workspace-admin-card { display:grid; grid-template-columns:36px minmax(0,1fr); gap:5px 11px; padding:14px; border-radius:12px; }
  .workspace-admin-card > .company-monogram { grid-row:1; width:36px; height:36px; }
  .workspace-admin-card > div { grid-column:2; grid-row:1; align-self:center; }
  .workspace-admin-card > button { min-height:44px; grid-row:2; }
  .workspace-admin-card > button:nth-of-type(1) { grid-column:1 / 2; }
  .workspace-admin-card > button:nth-of-type(2) { grid-column:2 / 3; }
  .admin-view .upload-limit-form { width:100%; max-width:none; padding:16px; border-radius:12px; }
  .admin-empty-state { min-height:180px; padding:24px 18px; }
}
body.dark-theme .admin-view .admin-table tbody tr { border-color:#5f6368; background:#292a2d; }
body.dark-theme .admin-view .admin-table tbody td { color:#e8eaed; }
body.dark-theme .admin-view .admin-table tbody td::before,
body.dark-theme .admin-view .activity-table time { color:#bdc1c6; }
body.dark-theme .admin-view .admin-table .admin-row-actions,
body.dark-theme .admin-view .admin-table .approval-actions,
body.dark-theme .admin-view .activity-table tbody td:first-child,
body.dark-theme .admin-view .activity-table tbody td[data-label="Data e hora"] { border-color:#3c4043; }
body.dark-theme .admin-view .activity-table tbody td[data-label="Ação"] { color:#e8eaed; }
body.dark-theme .details-activity-item time { color:#bdc1c6; }
body.dark-theme .details-activity-file { border-color:#5f6368; color:#e8eaed; }
body.dark-theme .details-activity-locate { color:#8ab4f8; }
.toolbar .filter-chip { gap:0; padding:0; overflow:hidden; }
.filter-chip-action { height:100%; min-width:0; display:flex; align-items:center; gap:8px; padding:0 11px; border:0; background:transparent; color:inherit; white-space:nowrap; cursor:pointer; }
.filter-chip-action:hover { background:#f1f6fe; }
.filter-chip-action [data-filter-label] { min-width:0; max-width:180px; overflow:hidden; text-overflow:ellipsis; }
.filter-chip-clear { width:32px; height:100%; flex:none; border:0; border-left:1px solid #c5d7f2; background:transparent; color:#3c4043; font-size:20px; line-height:1; cursor:pointer; }
.filter-chip-clear:hover { background:#d2e3fc; }
.filter-chip.is-active { border-color:#c5d7f2; background:#d2e3fc; color:#174ea6; }
.filter-chip.is-active .filter-chip-action:hover { background:#c6ddf8; }
.filter-chip-clear[hidden] { display:none; }
body.dark-theme .filter-chip.is-active { border-color:#3c5d83; background:#253c57; color:#d2e3fc; }
body.dark-theme .filter-chip-clear { border-left-color:#3c5d83; color:#e8eaed; }
body.dark-theme .filter-chip-action:hover,body.dark-theme .filter-chip.is-active .filter-chip-action:hover,body.dark-theme .filter-chip-clear:hover { background:#34465d; }
@media (max-width:700px) {
  .filter-chip { max-width:220px; }
  .filter-chip-action [data-filter-label] { max-width:155px; }
}
.file-row.selected,.grid-card.selected { background:#E3F2FD; }
.grid-card.selected { border-color:#8ab4f8; box-shadow:inset 0 0 0 1px #8ab4f8; }
.file-row.long-press-selected,.grid-card.long-press-selected { animation:selection-press-feedback .18s ease-out; }
@keyframes selection-press-feedback { 50% { transform:scale(.985); } }
body.dark-theme .selection-toolbar { background:#253c57; color:#e8eaed; }
body.dark-theme .selection-toolbar button:hover { background:#34465d; }
body.dark-theme .grid-card.selected { background:#254f7d; border-color:#8ab4f8; }
@media (max-width:700px) {
  .selection-toolbar { position:sticky; top:0; z-index:5; margin:0 0 8px; }
  .selection-toolbar { gap:6px; padding-inline:6px; }
  .selection-toolbar .selection-actions { gap:0; }
  .selection-toolbar .selection-actions button { width:34px; min-width:34px; padding:0; }
  .selection-toolbar .selection-actions span { display:none; }
  .file-row,.grid-card { touch-action:pan-y; }
}
@media (prefers-reduced-motion:reduce) { .file-row.long-press-selected,.grid-card.long-press-selected { animation:none; } }

/* Spreadsheet editor: compact Sheets-inspired chrome and full-viewport grid. */
.sheet-editor { background:#fff; color:#202124; }
.sheet-editor .document-titlebar { min-height:62px; gap:6px; padding:2px 16px; }
.sheet-editor .document-title-group { align-items:flex-start; }
.sheet-editor .document-title-line { width:100%; }
.sheet-editor .document-title-group .document-name { width:min(520px,42vw); }
.sheet-editor .document-submenus { height:27px; }
.sheet-editor .document-submenus button { height:26px; padding-inline:8px; font-size:13px; }
.sheet-editor .sheet-toolbar { box-sizing:border-box; min-height:42px; height:42px; gap:1px; padding:3px 16px; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; justify-content:flex-start; white-space:nowrap; scrollbar-width:thin; background:#f0f4f9; border:0; }
.sheet-editor .sheet-toolbar > * { flex-shrink:0; }
.sheet-menu-search { display:flex; align-items:center; flex:none; width:34px; height:32px; overflow:hidden; transition:width .16s ease-out; }
.sheet-menu-search:focus-within { width:150px; border-right:1px solid #c4c7c5; }
.sheet-menu-search input { width:0; min-width:0; padding:0; border:0; outline:0; opacity:0; background:transparent; color:#202124; font:14px Arial,sans-serif; transition:width .16s ease-out,opacity .12s ease-out; }
.sheet-menu-search:focus-within input { width:108px; opacity:1; }
.sheet-tool { width:30px; height:30px; display:grid; place-items:center; padding:0; border:0; border-radius:4px; background:transparent; color:#444746; cursor:pointer; }
.sheet-tool:hover,.sheet-toolbar select:hover { background:#e2e8f0; }
.sheet-tool svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sheet-toolbar select { height:30px; flex:none; padding:0 6px; border:1px solid transparent; border-radius:4px; background:transparent; color:#202124; font:13px Arial,sans-serif; }
#sheet-zoom { width:68px; }
#sheet-number-format { width:58px; }
#sheet-font { width:88px; }
#sheet-font-size { width:48px; height:27px; box-sizing:border-box; border:1px solid #c4c7c5; border-radius:4px; background:transparent; text-align:center; }
#sheet-border { width:86px; }
#sheet-align { width:100px; }
#sheet-wrap { width:112px; }
.sheet-select-tool { height:30px; display:flex; align-items:center; flex:none; gap:1px; padding:0 3px; border-radius:4px; color:#444746; }
.sheet-select-tool:hover { background:#e2e8f0; }
.sheet-select-tool svg { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sheet-select-tool select { min-width:0; padding-inline:3px; }
#sheet-border { width:26px; }
#sheet-align { width:83px; }
#sheet-wrap { width:94px; }
.sheet-color-tool { position:relative; width:30px; height:30px; flex:none; display:grid; place-items:center; border-radius:4px; color:#444746; font-weight:600; cursor:pointer; }
.sheet-color-tool:hover { background:#e2e8f0; }
.sheet-color-tool input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.sheet-color-tool i { position:absolute; bottom:3px; width:17px; height:3px; background:#202124; }
.sheet-fill-tool svg { width:18px; height:18px; }
.sheet-formula-toolbar { height:34px; min-height:34px; box-sizing:border-box; display:flex; align-items:center; gap:8px; padding:2px 12px; border-bottom:1px solid #dadce0; background:#fff; }
#sheet-name-box { width:82px; height:26px; box-sizing:border-box; border:1px solid transparent; border-radius:3px; padding:0 6px; color:#202124; font:13px Arial,sans-serif; }
#sheet-name-box:focus,.sheet-formula-toolbar input:focus { border-color:#1a73e8; outline:1px solid #1a73e8; }
.sheet-formula-toolbar .formula-divider { height:22px; width:1px; background:#dadce0; }
.sheet-fx { color:#5f6368; font:italic 14px Georgia,serif; }
.sheet-formula-toolbar #formula-bar { flex:1; height:26px; min-width:80px; box-sizing:border-box; border:1px solid transparent; border-radius:3px; padding:0 6px; color:#202124; font:13px Arial,sans-serif; }
.sheet-editor .document-canvas { min-height:0; flex:1; padding:0; overflow:hidden; background:#fff; }
.sheet-editor .document-page-wrap { min-height:0; width:100%; height:100%; display:flex; flex:1; }
.sheet-layout { min-height:0; width:100%; height:100%; display:flex; flex-direction:column; zoom:1; }
.sheet-workspace { min-height:0; width:100%; flex:1; overflow:auto; align-self:stretch; background:#fff; }
.spreadsheet { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; color:#202124; background:#fff; font:10pt Arial,sans-serif; }
.spreadsheet .sheet-row-number { width:46px; }
.spreadsheet th,.spreadsheet td { box-sizing:border-box; min-width:48px; height:21px; padding:0 4px; border:0; border-right:1px solid #e0e0e0; border-bottom:1px solid #e0e0e0; overflow:hidden; white-space:nowrap; text-overflow:clip; font:10pt Arial,sans-serif; }
.spreadsheet thead th,.spreadsheet tbody th { position:sticky; z-index:2; background:#f8f9fa; color:#5f6368; text-align:center; font-size:12px; font-weight:400; }
.spreadsheet thead th { top:0; height:24px; border-bottom:1px solid #dadce0; }
.spreadsheet thead th[data-column-header],.spreadsheet tbody th[data-row-header] { cursor:pointer; user-select:none; }
.spreadsheet th.selected-axis { background:#d2e3fc; color:#174ea6; font-weight:600; }
.spreadsheet tbody th { left:0; width:46px; min-width:46px; }
.spreadsheet .sheet-corner { left:0; z-index:4; width:46px; min-width:46px; }
.spreadsheet td { min-width:48px; background:#fff; outline:0; }
.spreadsheet td.selected { background:#e8f0fe; }
.spreadsheet td[contenteditable="true"] { cursor:text; }
.spreadsheet td[contenteditable="false"] { cursor:cell; }
.spreadsheet td:focus { position:relative; z-index:1; background:#fff; outline:2px solid #1a73e8; outline-offset:-2px; }
.sheet-tabbar { min-height:34px; height:34px; box-sizing:border-box; display:flex; align-items:stretch; gap:0; padding:0 8px; overflow-x:auto; border-top:1px solid #dadce0; background:#f8f9fa; }
.sheet-tab,.sheet-tab-add { min-width:88px; height:33px; padding:0 14px; border:0; border-right:1px solid #dadce0; background:transparent; color:#5f6368; font:13px Arial,sans-serif; white-space:nowrap; cursor:pointer; }
.sheet-tab.active { border-bottom:3px solid #1a73e8; background:#fff; color:#1a73e8; font-weight:500; }
.sheet-tab-add { min-width:36px; width:36px; padding:0; border-right:0; font-size:20px; }
.sheet-editor .document-footer { min-height:0; height:0; overflow:hidden; padding:0; border:0; }
.embedded-editor .document-submenus { display:none; }
.compact-office-chrome .document-titlebar { min-height:54px; gap:4px; padding:0 8px; }
.compact-office-chrome .document-title-group,.compact-office-chrome .document-title-line { display:contents; }
.compact-office-chrome .document-title-group .document-name { width:clamp(130px,22vw,260px); max-width:24vw; min-width:100px; }
.compact-office-chrome #doc-star,.compact-office-chrome #doc-save-state { display:inline-flex; align-items:center; justify-content:center; align-self:center; width:30px; height:30px; margin:0; padding:0; line-height:1; transform:none; }
.compact-office-chrome .document-submenus { display:flex; flex:1 1 auto; min-width:0; height:100%; margin:0; overflow:hidden; }
.compact-office-chrome .document-submenus button { flex:none; padding-inline:6px; font-size:13px; white-space:nowrap; }
.compact-office-chrome .editor-title-spacer { flex:0 0 4px; }
.compact-office-chrome #doc-download { margin-left:auto; }
.embedded-editor .document-canvas { min-height:0; flex:1; display:flex; align-items:stretch; justify-content:stretch; overflow:hidden; padding:0; background:#f8fafd; }
.embedded-editor .document-page-wrap { min-height:0; width:100%; height:100%; display:flex; flex:1; }
.embedded-editor #office-editor-frame { display:block; width:100%; height:100%; min-height:0; flex:1; border:0; background:#f8fafd; }
.embedded-editor .document-footer { min-height:24px; }
body.dark-theme .sheet-editor,body.dark-theme .sheet-editor .document-titlebar,body.dark-theme .sheet-editor .document-canvas,body.dark-theme .sheet-editor .sheet-workspace,body.dark-theme .sheet-editor .sheet-formula-toolbar,body.dark-theme .sheet-editor .sheet-tabbar { background:#fff; color:#202124; }
body.dark-theme .sheet-editor .sheet-toolbar { background:#f0f4f9; }
@media (max-width:700px) {
  .compact-office-chrome .document-titlebar { gap:2px; padding-inline:5px; }
  .compact-office-chrome .document-title-group .document-name { width:19vw; max-width:19vw; min-width:64px; padding-inline:3px; font-size:12px; }
  .compact-office-chrome .document-submenus { overflow-x:auto; }
  .compact-office-chrome .document-submenus button { padding-inline:4px; font-size:11px; }
  .compact-office-chrome #doc-star,.compact-office-chrome #doc-save-state,.compact-office-chrome .document-titlebar > .editor-quiet { width:28px; height:30px; }
  .compact-office-chrome #doc-save { height:32px; padding-inline:9px; font-size:12px; }
  .sheet-editor .document-titlebar { min-height:58px; padding-inline:8px; }
  .sheet-editor .document-title-group .document-name { width:min(48vw,300px); }
  .sheet-editor .sheet-toolbar { padding-inline:8px; }
  .sheet-formula-toolbar { padding-inline:6px; }
  #sheet-name-box { width:64px; }
}
.sheet-color-popover,.sheet-border-popover { position:fixed; z-index:80; box-sizing:border-box; padding:10px; border:1px solid #dadce0; border-radius:8px; background:#fff; box-shadow:0 4px 14px #20212433; color:#202124; font:12px Arial,sans-serif; }
.sheet-color-popover { width:278px; }
.sheet-palette-label { margin:0 0 7px; color:#5f6368; font-size:11px; }
.sheet-palette-grid { display:grid; grid-template-columns:repeat(10,22px); gap:3px; }
.sheet-color-swatch { width:22px; height:22px; padding:0; border:1px solid #dadce0; border-radius:50%; background:var(--swatch); cursor:pointer; }
.sheet-color-swatch:hover,.sheet-color-swatch:focus-visible { z-index:1; outline:2px solid #1a73e8; outline-offset:1px; transform:scale(1.12); }
.sheet-palette-neutral { border-radius:3px; }
.sheet-custom-color { display:flex; align-items:center; justify-content:space-between; min-height:34px; margin-top:8px; padding-top:6px; border-top:1px solid #dadce0; color:#3c4043; cursor:pointer; }
.sheet-custom-color input { width:30px; height:28px; padding:0; border:0; background:transparent; cursor:pointer; }
.sheet-border-popover { width:230px; }
.sheet-border-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:3px; }
.sheet-border-grid button { height:34px; padding:0; border:0; border-radius:4px; background:transparent; color:#3c4043; font:20px Arial,sans-serif; cursor:pointer; }
.sheet-border-grid button:hover,.sheet-border-grid button:focus-visible { background:#e8f0fe; color:#174ea6; outline:0; }
.sheet-border-options { display:flex; align-items:center; gap:8px; margin-top:8px; padding-top:8px; border-top:1px solid #dadce0; }
.sheet-border-options button { display:flex; flex:1; align-items:center; justify-content:space-between; height:30px; padding:0 8px; border:1px solid #dadce0; border-radius:4px; background:#fff; color:#3c4043; font:12px Arial,sans-serif; cursor:pointer; }
.sheet-border-options button i { width:18px; height:3px; background:#dadce0; }
.sheet-border-options select { min-width:112px; height:30px; padding:0 5px; border:1px solid #dadce0; border-radius:4px; background:#fff; color:#3c4043; font:12px Arial,sans-serif; }
.sheet-border-tool { width:30px; height:30px; }
.spreadsheet thead th[data-column-header] { position:sticky; padding-right:18px; }
.sheet-filter-trigger { position:absolute; top:3px; right:2px; width:16px; height:17px; display:grid; place-items:center; padding:0; border:0; border-radius:3px; background:transparent; color:#5f6368; opacity:.72; cursor:pointer; }
.sheet-filter-trigger:hover,.sheet-filter-trigger:focus-visible { background:#e8f0fe; color:#174ea6; opacity:1; outline:0; }
.sheet-filter-trigger svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sheet-filter-popover { position:fixed; z-index:90; width:252px; max-height:min(420px,calc(100vh - 16px)); box-sizing:border-box; display:flex; flex-direction:column; overflow:hidden; padding:8px; border:1px solid #dadce0; border-radius:8px; background:#fff; box-shadow:0 4px 14px #20212433; color:#202124; font:13px Arial,sans-serif; }
.sheet-filter-sort { display:grid; gap:2px; padding-bottom:7px; border-bottom:1px solid #dadce0; }
.sheet-filter-popover button { min-height:32px; padding:0 8px; border:0; border-radius:4px; background:transparent; color:#3c4043; text-align:left; font:13px Arial,sans-serif; cursor:pointer; }
.sheet-filter-popover button:hover,.sheet-filter-popover button:focus-visible { background:#f1f3f4; outline:0; }
.sheet-filter-select-all,.sheet-filter-values label { min-height:30px; display:flex; align-items:center; gap:8px; padding:0 6px; color:#3c4043; }
.sheet-filter-select-all { margin-top:5px; border-bottom:1px solid #dadce0; }
.sheet-filter-select-all input,.sheet-filter-values input { accent-color:#1a73e8; }
.sheet-filter-values { min-height:28px; max-height:210px; overflow:auto; padding:4px 0; }
.sheet-filter-values label { border-radius:4px; cursor:pointer; }
.sheet-filter-values label:hover { background:#f1f3f4; }
.sheet-filter-values label span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sheet-filter-empty { display:block; padding:10px 6px; color:#5f6368; }
.sheet-filter-actions { display:flex; justify-content:flex-end; gap:4px; padding-top:7px; border-top:1px solid #dadce0; }
.sheet-filter-actions button.sheet-filter-apply { padding:0 14px; background:#1a73e8; color:#fff; font-weight:500; }
.sheet-filter-actions button.sheet-filter-apply:hover { background:#1765cc; }
@media (max-width:420px) { .sheet-color-popover { width:min(278px,calc(100vw - 16px)); } .sheet-palette-grid { grid-template-columns:repeat(10,minmax(16px,1fr)); } .sheet-color-swatch { width:100%; height:auto; aspect-ratio:1; } }
@media (max-width:420px) { .sheet-filter-popover { width:min(252px,calc(100vw - 16px)); } }
.sort-popover { position:fixed; z-index:95; min-width:220px; overflow:hidden; padding:0; border:1px solid #dadce0; border-radius:14px; background:#fff; box-shadow:0 8px 24px #0003; color:#202124; }
.sort-popover-title { display:flex; min-height:44px; align-items:center; padding:0 18px; border-bottom:1px solid #dadce0; color:#5f6368; font-size:14px; }
.sort-popover-option { width:100%; min-height:54px; display:flex; align-items:center; gap:10px; padding:0 16px; border:0; border-bottom:1px solid #dadce0; background:transparent; color:inherit; text-align:left; font-size:16px; white-space:nowrap; cursor:pointer; }
.sort-popover-option:last-child { border-bottom:0; }
.sort-popover-option:hover,.sort-popover-option.active { background:#f1f3f4; }
.sort-check { width:20px; flex:none; font-size:19px; }
.sort-popover-divider { height:8px; background:#f1f3f4; }
body.dark-theme .sort-popover { border-color:#3c4043; background:#292a2d; color:#e8eaed; box-shadow:0 8px 24px #0008; }
body.dark-theme .sort-popover-title { border-color:#3c4043; color:#bdc1c6; }
body.dark-theme .sort-popover-option { border-color:#3c4043; }
body.dark-theme .sort-popover-option:hover,body.dark-theme .sort-popover-option.active { background:#3c4043; }
body.dark-theme .sort-popover-divider { background:#202124; }
.name-sort-controls { display:flex; align-items:center; gap:2px; }
.name-sort-controls #sort-name { padding:4px 0; }
.name-sort-controls .sort-menu-trigger { width:30px; height:30px; display:inline-grid; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.name-sort-controls .sort-menu-trigger:hover { background:#e8f0fe; }
.name-sort-controls .sort-arrow { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#c2e7ff; color:#004a77; }
body.dark-theme .name-sort-controls .sort-menu-trigger:hover { background:#3c4043; }
.file-table th:nth-child(1) { width:34%; }
.file-table th:nth-child(2) { width:14%; }
.file-table th:nth-child(3) { width:18%; }
.file-table th:nth-child(4) { width:18%; }
.file-table th:nth-child(5) { width:11%; }
.file-table th:nth-child(6) { width:5%; }
@media (max-width:1000px) {
  .file-table { min-width:820px; }
  .file-table th:nth-child(2),.file-table td:nth-child(2) { display:table-cell; }
  .file-table th:nth-child(3),.file-table td:nth-child(3) { display:table-cell; }
}
@media (max-width:700px) {
  .file-table { min-width:820px; }
  .file-table th:nth-child(1) { width:34%; }
  .file-table th:nth-child(2) { width:14%; }
  .file-table th:nth-child(3) { width:18%; }
  .file-table th:nth-child(4) { width:18%; }
  .file-table th:nth-child(5) { width:11%; }
  .file-table th:nth-child(6) { width:5%; }
}
.context-menu button > span:not(.context-chevron) { flex:1 1 auto; min-width:0; overflow:hidden; overflow-wrap:normal; text-overflow:ellipsis; white-space:nowrap; }
.upload-status-panel { position:fixed; z-index:35; right:20px; bottom:20px; width:min(360px,calc(100vw - 32px)); overflow:hidden; border:1px solid #dadce0; border-radius:12px; background:#fff; color:#202124; box-shadow:0 4px 16px #20212430; }
.upload-status-panel[hidden] { display:none; }
.upload-panel-heading { min-height:52px; display:flex; align-items:center; gap:0; padding:0 8px 0 16px; background:#f8fafd; }
.upload-panel-heading strong { min-width:0; flex:1 1 auto; align-self:center; overflow:hidden; color:#202124; font-size:14px; font-weight:500; line-height:20px; text-overflow:ellipsis; white-space:nowrap; }
.upload-panel-heading button { box-sizing:border-box; width:36px; height:36px; flex:0 0 36px; align-self:center; display:grid; place-items:center; padding:0; margin:0; border:0; border-radius:50%; background:transparent; color:#5f6368; font-size:20px; line-height:1; cursor:pointer; }
.upload-panel-heading button svg { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.upload-panel-heading button:hover { background:#e8eaed; }
.upload-panel-list { max-height:min(330px,50vh); overflow:auto; }
.upload-panel-item { min-height:66px; display:flex; align-items:center; gap:12px; padding:10px 16px; border-top:1px solid #f1f3f4; }
.upload-file-icon { width:20px; height:22px; flex:none; }
.upload-file-icon .file-icon,.upload-file-icon svg { width:20px; height:22px; display:block; }
.upload-file-info { min-width:0; flex:1; }
.upload-file-name { overflow:hidden; color:#3c4043; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.upload-file-status { margin-top:4px; color:#5f6368; font-size:12px; line-height:16px; }
.upload-file-status.is-error { color:#b3261e; }
.upload-progress-track { height:3px; overflow:hidden; margin-top:7px; border-radius:3px; background:#e8eaed; }
.upload-progress-track span { height:100%; display:block; border-radius:inherit; background:#1a73e8; transition:width .16s ease-out; }
.upload-progress-track.is-indeterminate span { width:35%; animation:upload-progress-indeterminate 1.15s ease-in-out infinite alternate; }
@keyframes upload-progress-indeterminate { from { transform:translateX(0); } to { transform:translateX(185%); } }
.upload-complete-icon { width:20px; height:20px; display:grid; place-items:center; flex:none; border-radius:50%; background:#34a853; color:#fff; font-size:14px; font-weight:600; }
.upload-cancel,.upload-retry { flex:none; border:0; background:transparent; color:#1a73e8; font-size:12px; cursor:pointer; }
.upload-cancel:hover,.upload-retry:hover { text-decoration:underline; }
body.dark-theme .upload-status-panel { border-color:#3c4043; background:#292a2d; color:#e8eaed; box-shadow:0 4px 16px #0008; }
body.dark-theme .upload-panel-heading { background:#202124; }
body.dark-theme .upload-panel-heading strong,.dark-theme .upload-file-name { color:#e8eaed; }
body.dark-theme .upload-panel-heading button,.dark-theme .upload-file-status { color:#bdc1c6; }
body.dark-theme .upload-panel-heading button:hover { background:#3c4043; }
body.dark-theme .upload-panel-item { border-color:#3c4043; }
body.dark-theme .upload-progress-track { background:#5f6368; }
@media (max-width:520px) { .upload-status-panel { right:12px; bottom:12px; width:calc(100vw - 24px); } }
body.image-viewer-open { overflow:hidden; }
#overlay.image-viewer-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:stretch; padding:0; background:#202124ed; }
.image-viewer-dialog.dialog { width:100%; height:100dvh; max-width:none; max-height:none; min-height:0; display:flex; flex-direction:column; overflow:hidden; padding:0; border-radius:0; background:#202124; color:#e8eaed; box-shadow:none; }
.image-viewer-dialog > .dialog-close { display:none; }
.image-viewer-dialog #dialog-content { width:100%; min-width:0; min-height:0; height:100%; flex:1; display:flex; flex-direction:column; overflow:hidden; padding:0; }
.image-viewer { min-width:0; min-height:0; height:100%; display:flex; flex:1; flex-direction:column; }
.image-viewer-header { height:56px; min-height:56px; display:flex; align-items:center; gap:12px; padding:0 18px; background:#202124; color:#e8eaed; }
.image-viewer-header > span .file-icon { width:22px; height:24px; }
.image-viewer-header > span .file-icon svg { width:22px; height:22px; }
.image-viewer-header > strong { min-width:0; max-width:min(48vw,520px); overflow:hidden; font-size:14px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.image-viewer-close,.image-viewer-header-actions button { width:38px; height:38px; display:grid; flex:none; place-items:center; border:0; border-radius:50%; background:transparent; color:#bdc1c6; cursor:pointer; }
.image-viewer-close:hover,.image-viewer-header-actions button:hover { background:#3c4043; }
.image-viewer-close svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.image-viewer-header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.image-viewer-header-actions svg { width:21px; height:21px; }
.image-viewer-header-actions .context-icon { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.image-viewer-header-actions .image-viewer-close svg { width:22px; height:22px; }
.image-viewer-header-actions .image-viewer-more svg { fill:currentColor; }
.image-viewer-menubar { height:32px; min-height:32px; display:flex; align-items:stretch; gap:2px; padding:0 16px; margin-top:-8px; background:#202124; color:#e8eaed; }
.image-viewer-menubar button { min-width:52px; padding:0 10px; border:0; border-radius:4px; background:transparent; color:inherit; font-size:14px; cursor:pointer; }
.image-viewer-menubar button:hover,.image-viewer-menubar button:focus-visible { background:#3c4043; outline:0; }
.image-viewer-workspace { position:relative; min-height:0; flex:1; overflow:hidden; background:#202124; }
.image-viewer-canvas { position:absolute; z-index:0; inset:0; display:flex; overflow:auto; padding:58px 72px 24px; }
.image-viewer-stage { flex:none; display:grid; place-items:center; margin:auto; color:#bdc1c6; }
.image-viewer-stage p { max-width:min(480px,80vw); padding:16px; color:#bdc1c6; text-align:center; }
.image-viewer-stage img { display:block; flex:none; object-fit:contain; }
.image-viewer-toolbar { position:absolute; z-index:3; top:8px; left:20px; height:40px; display:flex; align-items:center; gap:2px; padding:0 7px; border-radius:24px; background:#303134; box-shadow:0 2px 8px #0005; color:#e8eaed; }
.image-viewer-toolbar button { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
.image-viewer-toolbar button:hover { background:#5f6368; }
.image-viewer-toolbar svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.image-viewer-toolbar .context-icon { width:18px; height:18px; }
.image-viewer-tool-separator { width:1px; height:22px; margin:0 4px; background:#5f6368; }
.image-viewer-toolbar .image-viewer-zoom-label { width:auto; min-width:44px; padding:0 5px; border-radius:5px; font-size:12px; }
.image-viewer-nav { position:absolute; z-index:3; top:50%; width:42px; height:42px; display:grid; place-items:center; transform:translateY(-50%); border:1px solid #5f6368; border-radius:50%; background:#303134bb; color:#e8eaed; cursor:pointer; }
.image-viewer-nav:hover:not(:disabled) { background:#5f6368; }
.image-viewer-nav:disabled { visibility:hidden; }
.image-viewer-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.image-viewer-prev { left:20px; }
.image-viewer-next { right:20px; }
.image-viewer-next svg { transform:rotate(180deg); }
.image-viewer-menu { position:fixed; z-index:110; min-width:208px; padding:6px; border:1px solid #dadce0; border-radius:8px; background:#fff; color:#202124; box-shadow:0 4px 14px #0004; }
.image-viewer-menu[hidden] { display:none; }
.image-viewer-menu button { width:100%; min-height:40px; display:flex; align-items:center; gap:12px; padding:0 10px; border:0; border-radius:5px; background:transparent; color:inherit; text-align:left; white-space:nowrap; cursor:pointer; }
.image-viewer-menu button:hover,.image-viewer-menu button:focus-visible { background:#f1f3f4; outline:0; }
.image-viewer-menu .context-icon { width:18px; height:18px; flex:none; fill:none; stroke:#5f6368; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.image-viewer-menu .image-viewer-menu-icon { width:18px; height:18px; flex:none; fill:none; stroke:#5f6368; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.image-viewer-menu-spacer { width:18px; flex:none; }
.context-menu-selection-label { padding:8px 12px; color:#5f6368; font-size:12px; }
body.pdf-preview-open { overflow:hidden; }
#overlay.pdf-preview-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:stretch; padding:0; background:#202124; }
.pdf-preview-dialog.dialog { width:100%; height:100dvh; max-width:none; max-height:none; min-height:0; display:flex; flex-direction:column; overflow:hidden; padding:0; border:0; border-radius:0; background:#202124; box-shadow:none; }
.pdf-preview-dialog > .dialog-close { display:none; }
.pdf-preview-dialog #dialog-content { width:100%; min-width:0; min-height:0; height:100%; flex:1; display:flex; flex-direction:column; overflow:hidden; padding:0; }
.pdf-preview-fullscreen { width:100%; min-width:0; min-height:0; display:flex; flex:1; flex-direction:column; background:#202124; }
.pdf-preview-header { height:56px; min-height:56px; display:flex; align-items:center; gap:12px; padding:0 18px; background:#fff; color:#202124; }
.pdf-preview-close,.pdf-preview-download { width:38px; height:38px; display:grid; flex:none; place-items:center; border:0; border-radius:50%; background:transparent; color:#5f6368; text-decoration:none; cursor:pointer; }
.pdf-preview-close { font-size:28px; font-weight:300; line-height:1; }
.pdf-preview-close:hover,.pdf-preview-download:hover { background:#f1f3f4; }
.pdf-preview-header .file-icon { width:22px; height:24px; flex:none; }
.pdf-preview-header .file-icon svg { width:22px; height:22px; }
.pdf-preview-title { min-width:0; max-width:min(55vw,720px); overflow:hidden; font-size:14px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.pdf-preview-spacer { flex:1; }
.pdf-preview-download svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pdf-preview-frame { width:100%; min-width:0; min-height:0; height:100%; display:block; flex:1; border:0; background:#202124; }
body.video-preview-open { overflow:hidden; }
#overlay.video-preview-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:stretch; padding:0; background:#202124; }
.video-preview-dialog.dialog { width:100%; height:100dvh; max-width:none; max-height:none; min-height:0; display:flex; flex-direction:column; overflow:hidden; padding:0; border:0; border-radius:0; background:#202124; box-shadow:none; }
.video-preview-dialog > .dialog-close { display:none; }
.video-preview-dialog #dialog-content { width:100%; min-width:0; min-height:0; height:100%; flex:1; display:flex; flex-direction:column; overflow:hidden; padding:0; }
.video-preview-fullscreen { width:100%; min-width:0; min-height:0; display:flex; flex:1; flex-direction:column; background:#202124; }
.video-preview-header { background:#202124; color:#e8eaed; border-bottom:1px solid #3c4043; }
.video-preview-header .pdf-preview-close,.video-preview-header .pdf-preview-download { color:#e8eaed; }
.video-preview-header .pdf-preview-close:hover,.video-preview-header .pdf-preview-download:hover { background:#3c4043; }
.video-preview-stage { position:relative; min-width:0; min-height:0; display:grid; flex:1; place-items:center; overflow:hidden; padding:24px; background:#202124; }
.video-preview-player { width:100%; height:100%; max-width:1440px; max-height:calc(100dvh - 104px); object-fit:contain; background:#000; }
.video-preview-status { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:12px; margin:0; padding:24px; color:#e8eaed; font-size:14px; text-align:center; background:#20212466; pointer-events:none; }
.video-preview-status[hidden] { display:none; }
.video-preview-status.is-error { color:#f28b82; background:#202124e6; }
@media (max-width:600px) { .pdf-preview-header { gap:8px; padding:0 8px; } .pdf-preview-title { max-width:55vw; } }
.files-loading-row td { height:64px; text-align:center; }
.files-loading-skeleton td { height:64px; }
.files-loading-skeleton td:first-child { width:32%; }
.files-loading-skeleton td:nth-child(2) { width:13%; }
.files-loading-skeleton td:nth-child(3) { width:17%; }
.files-loading-skeleton td:nth-child(4) { width:18%; }
.files-loading-skeleton td:nth-child(5) { width:10%; }
.file-skeleton { display:block; height:12px; border-radius:8px; background:linear-gradient(100deg,#f1f3f4 20%,#e8eaed 38%,#f1f3f4 56%); background-size:220% 100%; animation:file-skeleton-shimmer 1.25s ease-in-out infinite; }
.file-skeleton-name { width:min(220px,78%); height:15px; margin-left:12px; }
.file-skeleton-owner { width:84px; margin-left:8px; }
.file-skeleton-date { width:112px; }
.file-skeleton-modifier { width:92px; margin-left:12px; }
.file-skeleton-size { width:42px; }
.files-loading-indicator { display:none; }
body.dark-theme .file-skeleton { background:linear-gradient(100deg,#303134 20%,#3c4043 38%,#303134 56%); background-size:220% 100%; }
@keyframes file-skeleton-shimmer { to { background-position-x:-220%; } }
.files-loading-spinner { width:24px; height:24px; display:inline-block; vertical-align:middle; border:2px solid #dadce0; border-top-color:#1a73e8; border-radius:50%; animation:files-loading-spin .75s linear infinite; }
body.dark-theme .files-loading-spinner { border-color:#5f6368; border-top-color:#8ab4f8; }
@keyframes files-loading-spin { to { transform:rotate(360deg); } }
.file-table th > .table-sort-button { max-width:100%; display:inline-flex; align-items:center; gap:5px; padding:5px 7px; margin-left:-7px; border:0; border-radius:6px; background:transparent; color:inherit; font:inherit; text-align:left; white-space:nowrap; cursor:pointer; }
.file-table th > .table-sort-button:hover,.file-table th > .table-sort-button.is-sorted { background:#f1f3f4; color:#202124; }
.table-sort-indicator { width:20px; height:20px; display:inline-grid; flex:none; place-items:center; border-radius:50%; color:#004a77; font-size:13px; }
.table-sort-button.is-sorted .table-sort-indicator { background:#c2e7ff; }
.name-sort-controls #sort-name[aria-sort="ascending"],.name-sort-controls #sort-name[aria-sort="descending"] { border-radius:6px; }
.name-sort-controls #sort-name:hover { background:#f1f3f4; }
body.dark-theme .file-table th > .table-sort-button:hover,body.dark-theme .file-table th > .table-sort-button.is-sorted,body.dark-theme .name-sort-controls #sort-name:hover { background:#3c4043; color:#e8eaed; }
body.dark-theme .table-sort-button.is-sorted .table-sort-indicator { background:#004a77; color:#d3e3fd; }
.mobile-file-subtitle { display:none; }
@media (max-width:700px) {
  .file-table,.file-table tbody { display:block; width:100%; min-width:0; }
  .files-loading-skeleton { display:none; }
  .files-loading-indicator { display:block; width:100%; }
  .files-loading-indicator td { width:100%; height:112px; display:grid; place-items:center; padding:0; }
  .files-loading-row { display:block; width:100%; }
  .files-loading-row td { width:100%; height:112px; display:grid; place-items:center; padding:0; }
  .files-loading-spinner { width:34px; height:34px; border-width:3px; }
  .file-table thead { display:block; height:42px; }
  .file-table thead tr { display:block; height:42px; }
  .file-table thead th:first-child { display:table-cell; width:100%; height:42px; padding-left:14px; }
  .file-table tbody { border-top:1px solid #dadce0; }
  .file-row { min-height:88px; height:auto; display:flex; align-items:stretch; border-bottom:1px solid #dadce0; }
  .file-row td:first-child { width:auto; min-width:0; flex:1 1 auto; display:flex; align-items:center; padding:10px 4px 10px 14px; white-space:normal; overflow:visible; }
  .file-row td:nth-child(2),.file-row td:nth-child(3),.file-row td:nth-child(4),.file-row td:nth-child(5) { display:none; }
  .file-row td:last-child { width:48px; flex:0 0 48px; display:flex; align-items:center; justify-content:center; padding:0 4px 0 0; }
  .file-name { width:100%; min-width:0; gap:16px; }
  .file-name .file-icon,.file-name .file-icon svg { width:24px; height:27px; }
  .file-name-copy { min-width:0; flex:1 1 auto; display:flex; flex-direction:column; gap:4px; }
  .file-name-text { display:block; max-width:100%; font-size:16px; line-height:21px; }
  .mobile-file-subtitle { display:block; overflow:hidden; color:#5f6368; font-size:13px; line-height:18px; text-overflow:ellipsis; white-space:nowrap; }
  .row-menu { width:40px; height:44px; font-size:22px; }
  body.dark-theme .mobile-file-subtitle { color:#bdc1c6; }
  body.dark-theme .file-row { border-bottom-color:#3c4043; }
}
@media (max-width:600px) { .image-viewer-header { gap:8px; padding:0 8px; } .image-viewer-header > strong { max-width:48vw; } .image-viewer-menubar { padding:0 6px; } .image-viewer-menubar button { min-width:auto; padding:0 9px; } .image-viewer-toolbar { top:8px; left:8px; } .image-viewer-canvas { padding:54px 46px 16px; } .image-viewer-prev { left:6px; } .image-viewer-next { right:6px; } }
@media (max-width:700px) {
  .file-editor-screen:has(.mobile-doc-viewer) { z-index:120; width:100vw; height:100dvh; overflow:hidden; background:#202124; }
  .file-editor-screen:has(.mobile-doc-viewer) .document-editor { width:100%; height:100%; overflow:hidden; }
  .mobile-doc-viewer { height:100dvh; background:#202124; color:#e8eaed; }
  .mobile-doc-viewer .document-titlebar { box-sizing:border-box; min-height:calc(58px + env(safe-area-inset-top, 0px)); padding:env(safe-area-inset-top, 0px) 10px 0; gap:10px; background:#202124; color:#e8eaed; border-bottom:1px solid #3c4043; }
  .mobile-doc-viewer .editor-back { width:40px; height:40px; flex:none; border:0; border-radius:50%; background:transparent; color:#e8eaed; }
  .mobile-doc-viewer .editor-back:hover { background:#3c4043; }
  .mobile-doc-viewer .document-title-group { flex:1; overflow:hidden; }
  .mobile-doc-viewer .document-title-line { min-width:0; height:100%; }
  .mobile-doc-viewer .mobile-doc-title { display:block; width:100%; min-width:0; overflow:hidden; color:#e8eaed; font-size:16px; font-weight:500; line-height:22px; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-doc-viewer .editor-title-spacer,.mobile-doc-viewer .document-submenus,.mobile-doc-viewer #doc-star,.mobile-doc-viewer #doc-save-state,.mobile-doc-viewer #doc-history,.mobile-doc-viewer #doc-comments,.mobile-doc-viewer #doc-share,.mobile-doc-viewer #doc-save,.mobile-doc-viewer .document-toolbar,.mobile-doc-viewer .document-ruler-shell,.mobile-doc-viewer .document-outline,.mobile-doc-viewer .vertical-ruler,.mobile-doc-viewer .document-footer { display:none !important; }
  .mobile-doc-viewer #doc-download { width:40px; height:40px; display:grid !important; flex:none; place-items:center; border:0; border-radius:50%; background:transparent; color:#e8eaed; cursor:pointer; }
  .mobile-doc-viewer #doc-download:hover { background:#3c4043; }
  .mobile-doc-viewer #doc-download .context-icon { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-doc-viewer .document-canvas { box-sizing:border-box; width:100%; min-width:0; min-height:0; flex:1 1 0; justify-content:center; overflow-x:hidden; overflow-y:auto; padding:20px 12px calc(24px + env(safe-area-inset-bottom, 0px)); background:#202124; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .mobile-doc-viewer .document-page-wrap { box-sizing:border-box; width:100%; min-width:0; max-width:100%; display:flex; flex-direction:column; align-items:center; gap:14px; margin:0; }
  .mobile-doc-viewer .text-page { box-sizing:border-box; width:100%; min-width:0; max-width:100%; align-items:stretch; gap:20px; }
  .mobile-doc-viewer .document-paper { box-sizing:border-box; width:100%; max-width:794px; height:auto; min-height:0; aspect-ratio:210 / 297; flex:none; padding:clamp(26px,6vw,40px); overflow-wrap:anywhere; border:0; background:#fff; color:#202124; font:18px/1.55 Arial,sans-serif; box-shadow:0 2px 10px #0005; }
  .mobile-doc-viewer .document-paper * { max-width:100%; overflow-wrap:anywhere; }
  .mobile-doc-viewer .document-paper pre { white-space:pre-wrap; }
  .mobile-doc-viewer .document-paper img { max-width:100%; height:auto; }
  .mobile-doc-viewer .document-paper table { max-width:100%; }
}
@media print { body.image-viewer-open #app-shell,body.image-viewer-open #context-menu,body.image-viewer-open #toast { display:none!important; } body.image-viewer-open #overlay.image-viewer-overlay { position:static!important; display:block!important; background:#fff!important; } body.image-viewer-open .image-viewer-dialog { width:100%!important; height:auto!important; overflow:visible!important; background:#fff!important; } body.image-viewer-open .image-viewer-header,body.image-viewer-open .image-viewer-menubar,body.image-viewer-open .image-viewer-toolbar,body.image-viewer-open .image-viewer-nav { display:none!important; } body.image-viewer-open .image-viewer-workspace,body.image-viewer-open .image-viewer-canvas { position:static!important; display:block!important; overflow:visible!important; padding:0!important; background:#fff!important; } body.image-viewer-open .image-viewer-stage { width:100%!important; height:auto!important; } body.image-viewer-open .image-viewer-stage img { width:auto!important; height:auto!important; max-width:100%!important; max-height:100vh!important; margin:auto!important; transform:none!important; } }
