:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Segoe UI", system-ui, -apple-system, sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-lg:14px;--line-tight:1.25;--line-body:1.4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--header-height:44px;--toolbar-height:44px;--sidebar-width:176px;--sidebar-collapsed:36px;--control-height:28px;--icon-size:16px;--radius-sm:4px;--radius-md:6px;--bg-app:#eceff3;--bg-surface:#fff;--bg-elevated:#f7f8fa;--bg-chrome:#f3f4f7;--bg-canvas:#c8ccd4;--bg-header:#fff;--border:#d7dbe2;--border-strong:#c2c7d0;--text-primary:#1b1f27;--text-secondary:#5b6370;--text-muted:#8a92a0;--text-inverse:#fff;--accent:#2f6fed;--accent-hover:#2458c5;--accent-soft:#e7effd;--active:#2f6fed;--active-bg:#e7effd;--destructive:#c23b2e;--destructive-bg:#fdecea;--success:#2a7d4f;--success-bg:#e7f4ec;--warning-bg:#fde8e6;--warning-text:#8a1f14;--shadow-page:0 1px 2px #14182014, 0 8px 20px #1418201a;--shadow-chrome:0 1px 0 #1418200f;--focus-ring:2px solid #2f6fed;font-family:var(--font-ui);line-height:var(--line-body);color:var(--text-primary);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button,input,textarea,select{font:inherit}h1,h2,p{margin:0}.app{background:var(--bg-app);flex-direction:column;height:100%;min-height:0;display:flex}.icon{width:var(--icon-size);height:var(--icon-size);flex:none;display:block}.app-header{align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-3) 0 var(--space-4);background:var(--bg-header);border-bottom:1px solid var(--border);box-shadow:var(--shadow-chrome);z-index:3;display:flex}.app-header__brand{flex:none;align-items:center;display:flex}.app-header__logo{width:auto;height:32px;display:block}.app-header__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:42vw;font-size:var(--font-size-md);color:var(--text-secondary);overflow:hidden}.app-header__state{align-items:center;gap:var(--space-1);margin-left:var(--space-1);font-size:var(--font-size-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;display:inline-flex}.app-header__state[data-state=saved]{color:var(--success)}.app-header__state[data-state=unsaved]{color:var(--text-secondary)}.app-header__state[data-state=saving]{color:var(--accent)}.app-header__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.app-header__user{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--text-secondary);font-size:var(--font-size-sm);overflow:hidden}.app-header__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-1);height:var(--control-height);border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap;background:0 0;border:1px solid #0000;padding:0 10px;line-height:1;display:inline-flex}.button:focus-visible,.tool:focus-visible,.page-jump__input:focus-visible,.search-panel__input:focus-visible,.field-select:focus-visible,.field-color:focus-visible,.sidebar__toggle:focus-visible,.thumbnails__item:focus-visible{outline:var(--focus-ring);outline-offset:1px}.button:disabled,.tool:disabled{opacity:.4;cursor:not-allowed}.button--primary{background:var(--accent);color:var(--text-inverse)}.button--primary:hover:not(:disabled){background:var(--accent-hover)}.button--secondary{border-color:var(--border-strong);background:var(--bg-surface);color:var(--text-primary)}.button--secondary:hover:not(:disabled){background:var(--bg-elevated)}.button--ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workspace{background:var(--bg-canvas);flex-direction:column;flex:1;min-height:0;display:flex}.workspace__alerts{flex:none}.banner{margin:var(--space-2) var(--space-4) 0;border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-text);font-size:var(--font-size-sm);padding:8px 10px}.pdf-stage,.empty,.dashboard{flex:1;min-height:0}.pdf-stage{min-width:0;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;flex:none;display:flex}.sidebar--collapsed{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}.sidebar__header{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2);border-bottom:1px solid var(--border);display:flex}.sidebar--collapsed .sidebar__header{justify-content:center;padding:0}.sidebar__title{align-items:baseline;gap:var(--space-1);flex:1;min-width:0;display:flex}.sidebar__title h2{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.sidebar__count{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.sidebar__toggle{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar__toggle:hover{background:var(--bg-surface);color:var(--text-primary)}.sidebar--collapsed .thumbnails{display:none}.thumbnails{min-height:0;padding:var(--space-3) var(--space-2) var(--space-6);flex:1;overflow:auto}.thumbnails__item{width:100%;margin:0 0 var(--space-3);padding:var(--space-2) 6px 6px;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:6px;display:flex}.thumbnails__item:hover{background:var(--bg-surface)}.thumbnails__item[aria-current=page]{border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.thumbnails__canvas{background:var(--bg-surface);width:112px;min-height:48px;display:block;box-shadow:0 1px 2px #1418201f}.thumbnails__label{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.pdf-viewer{background:var(--bg-canvas);flex:1;min-width:0;min-height:0;overflow:auto}.pdf-viewer__pages{align-items:center;gap:var(--space-5);flex-direction:column;width:max-content;min-width:100%;padding:28px 24px 64px;display:flex}.pdf-page{box-shadow:var(--shadow-page);background:#fff;outline:1px solid #14182014;position:relative}.pdf-page--pending{width:min(720px,100vw - 48px);height:480px}.pdf-page__canvas{width:100%;height:100%;display:block}.pdf-page__overlay{pointer-events:none;position:absolute;inset:0}.editor-toolbar{align-items:center;gap:var(--space-2);min-height:var(--toolbar-height);padding:0 var(--space-3);background:var(--bg-chrome);border-top:1px solid var(--border);z-index:3;display:flex}.editor-toolbar__tools{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.editor-toolbar__view{align-items:center;gap:var(--space-2);flex:none;margin-left:auto;display:flex}.tool-group{flex:none;align-items:center;gap:2px;display:flex}.tool-divider{background:var(--border-strong);flex:none;width:1px;height:20px}.tool{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex;position:relative}.tool--labeled{width:auto;padding:0 8px}.tool__text{font-size:var(--font-size-xs);line-height:1}.tool:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.tool[aria-pressed=true]{background:var(--active-bg);color:var(--active);border-color:#0000}.tool--danger:hover:not(:disabled){background:var(--destructive-bg);color:var(--destructive)}.tool[data-tooltip]:after{content:attr(data-tooltip);border-radius:var(--radius-sm);background:var(--text-primary);color:var(--text-inverse);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;z-index:8;padding:3px 6px;line-height:1.2;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tool:hover:not(:disabled):after,.tool:focus-visible:after{opacity:1}.swatch{border:1px solid #1418202e;border-radius:50%;width:18px;height:18px;padding:0}.swatch[data-color=yellow]{background:#ffe14a}.swatch[data-color=green]{background:#7ddea0}.swatch[data-color=blue]{background:#8eb6ff}.swatch[data-color=pink]{background:#ffb0d0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg-chrome), 0 0 0 4px var(--accent)}.context-bar{align-items:center;gap:var(--space-2);height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);padding:0 6px;display:flex}.context-bar__label{font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:4px;display:flex}.context-bar__metric{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.field-select,.field-color,.page-jump__input,.search-panel__input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);height:22px;color:var(--text-primary)}.field-select{max-width:108px;font-size:var(--font-size-xs);padding:0 4px}.field-color{width:22px;padding:1px}.page-jump{height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:0 6px;display:flex}.page-jump label{font-size:var(--font-size-xs)}.page-jump__input{text-align:center;font-variant-numeric:tabular-nums;width:40px}.zoom-value{text-align:center;min-width:44px;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--text-primary)}.search-panel{height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);align-items:center;gap:4px;padding:0 4px 0 8px;display:flex}.search-panel__input{width:160px;font-size:var(--font-size-sm);background:0 0;border:0;padding:0 6px}.search-panel__input:focus{outline:none}.search-panel__count{min-width:52px;font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.versions{align-items:center;gap:var(--space-3);min-height:32px;padding:0 var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex;overflow-x:auto}.versions h2{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.versions ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.versions li{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);padding:2px 6px;display:flex}.versions li[data-current=true]{background:var(--accent-soft);color:var(--text-primary)}.versions__error{color:var(--warning-text)}.versions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);height:22px;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-xs);padding:0 6px}.versions button:hover{background:var(--bg-chrome)}.versions button:focus-visible{outline:var(--focus-ring);outline-offset:1px}.empty{padding:var(--space-8) var(--space-4);place-items:center;display:grid}.dashboard{padding:var(--space-8) var(--space-4);place-items:start center;display:grid;overflow:auto}.dashboard__panel{width:min(640px,100%)}.dashboard__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.dashboard__header h1{letter-spacing:-.02em;font-size:18px;font-weight:600}.dashboard__header p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--font-size-md)}.dashboard__status,.dashboard__empty{color:var(--text-secondary);font-size:var(--font-size-md)}.dashboard__empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) 0;flex-direction:column;display:flex}.dashboard__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard__item{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:inherit;text-align:left;cursor:pointer;display:flex}.dashboard__item:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-elevated)}.dashboard__item:focus-visible{outline:var(--focus-ring);outline-offset:1px}.dashboard__item:disabled{opacity:.7;cursor:default}.dashboard__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-md);font-weight:500;overflow:hidden}.dashboard__meta{color:var(--text-muted);font-size:var(--font-size-sm);flex:none}.empty__panel{text-align:center;width:min(360px,100%)}.empty__logo{width:64px;height:64px;margin:0 auto var(--space-3);object-fit:contain;display:block}.empty__panel h1{letter-spacing:-.02em;font-size:18px;font-weight:600}.empty__panel p{margin:var(--space-2) 0 var(--space-4);color:var(--text-secondary);font-size:var(--font-size-md)}.auth-panel{align-items:stretch;gap:var(--space-3);text-align:left;flex-direction:column;display:flex}.auth-panel h1,.auth-panel .empty__logo{text-align:center}.auth-panel__field{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--text-secondary);flex-direction:column;display:flex}.auth-panel__field input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);height:32px;color:var(--text-primary);padding:0 10px}.auth-panel__field input:focus-visible{outline:var(--focus-ring);outline-offset:1px}.auth-panel__submit{height:32px}.auth-panel__error{margin:0}.auth-panel__info,.auth-panel__muted{color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center;margin:0}.auth-panel__form{gap:var(--space-3);flex-direction:column;display:flex}.auth-panel__google{width:100%;height:32px}.auth-panel__divider{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);grid-template-columns:1fr auto 1fr;display:grid}.auth-panel__divider:before,.auth-panel__divider:after{content:"";background:var(--border);height:1px}.auth-panel__links{gap:var(--space-1);flex-direction:column;display:flex}.auth-panel__otp{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.auth-panel__otp-digit{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;height:40px;color:var(--text-primary);text-align:center;font-size:var(--font-size-lg);font-variant-numeric:tabular-nums}.auth-panel__otp-digit:focus-visible{outline:var(--focus-ring);outline-offset:1px}.pdf-page__error,.viewer-status{color:var(--text-secondary);font-size:var(--font-size-md)}.viewer-status{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;padding:48px 16px;display:flex}.viewer-status--error{color:var(--warning-text)}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pdf-page__error{border-radius:var(--radius-sm);color:var(--warning-text);background:#fde8e6f2;margin:0;padding:8px 10px;position:absolute;bottom:16px;left:16px;right:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1320px){.editor-toolbar__view>.tool-group .tool--labeled .tool__text{display:none}.editor-toolbar__view>.tool-group .tool--labeled{width:var(--control-height);padding:0}.search-panel__input{width:120px}.app-header__title{max-width:28vw}}@media (width<=1400px){.editor-toolbar{min-height:auto;padding:6px var(--space-3);flex-wrap:wrap}.editor-toolbar__tools,.editor-toolbar__view{flex-wrap:wrap}}@media (width<=1180px){.editor-toolbar__view{margin-left:0}.sidebar{width:148px;min-width:148px}.sidebar--collapsed{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}}.highlight-layer{pointer-events:none;position:absolute;inset:0}.highlight-mark{pointer-events:none;mix-blend-mode:multiply;position:absolute}.highlight-mark[data-selected=true]{outline-offset:1px;outline:2px solid #1c2430bf}.search-layer{pointer-events:none;z-index:0;position:absolute;inset:0}.search-hit{pointer-events:none;background:#ffd64073;position:absolute}.search-hit--current{outline-offset:0;background:#ff8c28b8;outline:2px solid #c45a00}.text-markup-line{z-index:1;pointer-events:none;position:absolute}.text-markup-line[data-selected=true]{outline-offset:1px;outline:1px solid #1c2430}.drawing-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.drawing-layer--active{z-index:4;cursor:crosshair;touch-action:none}.drawing-capture{pointer-events:all;fill:#0000;cursor:crosshair}.drawing-hit{pointer-events:all;fill:#0000;stroke:none}.drawing-shape,.drawing-arrow-head{pointer-events:none}.drawing-shape{fill:none}.drawing-selection{fill:none;stroke:#1c2430;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.image-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.image-annotation{pointer-events:auto;cursor:move;touch-action:none;position:absolute}.image-annotation img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.image-annotation[data-selected=true]{outline:1px solid #1c2430}.image-handle{box-sizing:border-box;background:#fff;border:1px solid #1c2430;width:8px;height:8px;position:absolute}.image-handle[data-resize-handle=nw]{cursor:nwse-resize;top:-4px;left:-4px}.image-handle[data-resize-handle=ne]{cursor:nesw-resize;top:-4px;right:-4px}.image-handle[data-resize-handle=se]{cursor:nwse-resize;bottom:-4px;right:-4px}.image-handle[data-resize-handle=sw]{cursor:nesw-resize;bottom:-4px;left:-4px}.new-text-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.new-text-layer--active{z-index:5}.new-text-capture{pointer-events:auto;cursor:text;position:absolute;inset:0}.new-text-annotation{pointer-events:auto;box-sizing:border-box;cursor:move;touch-action:none;position:absolute}.new-text-annotation[data-selected=true]{outline:1px solid #1c2430}.new-text-annotation[data-editing=true]{cursor:text}.new-text-field,.new-text-value{white-space:pre;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0 2px;line-height:1.2;display:block;overflow:hidden}.new-text-field{outline:none}.new-text-handle{cursor:ew-resize;box-sizing:border-box;background:#fff;border:1px solid #1c2430;width:8px;height:100%;position:absolute;top:0;right:-4px}.text-layer{pointer-events:none;z-index:1;position:absolute;inset:0}.text-layer__item{color:#0000;white-space:pre;cursor:text;pointer-events:auto;transform-origin:0 0;-webkit-user-select:text;user-select:text;background:0 0;border:0;margin:0;padding:0;line-height:1;display:block;position:absolute;overflow:hidden}.text-layer__glyphs{color:#0000;white-space:pre;transform-origin:0 0;line-height:1;display:inline-block}.text-layer__item::selection{color:#0000;background:#2f6ef073}.text-layer__glyphs::selection{color:#0000;background:#2f6ef073}.text-layer__item:hover,.text-layer__item:focus-visible{outline-offset:-1px;z-index:1;outline:1px solid #2f6ef0f2}.text-layer__underlay{z-index:0;pointer-events:none;position:absolute}.text-layer__editor,.text-layer__revision{box-sizing:border-box;color:#1c2430;text-align:left;white-space:pre;cursor:text;pointer-events:auto;transform-origin:0 0;z-index:2;background:#fff;border:0;margin:0;padding:0;position:absolute;overflow:hidden}.text-layer__editor{outline-offset:1px;outline:2px solid #2f6ef0}.text-layer__field,.text-layer__value{z-index:1;width:max-content;min-width:100%;color:inherit;font:inherit;white-space:pre;background:0 0;border:0;margin-bottom:0;margin-left:0;margin-right:0;padding:0;line-height:1;display:block;position:relative}.text-layer__field{resize:none;appearance:none;field-sizing:content;border-radius:0;outline:none;overflow:hidden}.text-layer__revision{appearance:none;-webkit-user-select:none;user-select:none}.text-layer__revision:hover,.text-layer__revision:focus-visible{outline-offset:-1px;outline:1px solid #2f6ef0f2}
