:root{--primitive-white:#fff;--primitive-gray-50:#f9fafb;--primitive-gray-100:#f3f4f6;--primitive-gray-200:#e5e7eb;--primitive-gray-300:#d1d5db;--primitive-gray-400:#9ca3af;--primitive-gray-500:#6b7280;--primitive-gray-700:#374151;--primitive-gray-800:#1f2937;--primitive-gray-900:#111827;--primitive-red-50:#fef2f2;--primitive-red-100:#fee2e2;--primitive-red-200:#fecaca;--primitive-red-400:#f87171;--primitive-red-500:#ef4444;--primitive-red-600:#dc2626;--primitive-red-800:#7f1d1d;--primitive-red-950:#450a0a;--primitive-green-200:#bbf7d0;--primitive-green-400:#4ade80;--primitive-green-600:#16a34a;--primitive-green-950:#052e16;--primitive-blue-50:#eff6ff;--primitive-blue-500:#3b82f6;--primitive-blue-700:#1d4ed8;--primitive-amber-500:#f59e0b;--primitive-purple:#767eb3;--primitive-black-12:#0000001f;--primitive-black-18:#0000002e;--primitive-black-45:#00000073;--primitive-gray-400-15:#9ca3af26;--primitive-white-40:#fff6;--color-bg:var(--primitive-gray-100);--color-surface:var(--primitive-white);--color-surface-secondary:var(--primitive-gray-50);--color-text:var(--primitive-gray-900);--color-text-secondary:var(--primitive-gray-700);--color-text-muted:var(--primitive-gray-500);--color-text-subtle:var(--primitive-gray-400);--color-text-faint:var(--primitive-gray-300);--color-border:var(--primitive-gray-200);--color-shadow:var(--primitive-black-12);--color-shadow-heavy:var(--primitive-black-18);--color-overlay:var(--primitive-black-45);--color-overlay-muted:var(--primitive-gray-400-15);--color-overlay-white:var(--primitive-white-40);--color-danger:var(--primitive-red-500);--color-danger-hover:var(--primitive-red-600);--color-danger-bg:var(--primitive-red-50);--color-danger-bg-mid:var(--primitive-red-100);--color-danger-border:var(--primitive-red-200);--color-success:var(--primitive-green-600);--color-success-bg:var(--primitive-green-200);--color-blue:var(--primitive-blue-500);--color-blue-dark:var(--primitive-blue-700);--color-blue-bg:var(--primitive-blue-50);--color-warning:var(--primitive-amber-500);--color-accent:var(--primitive-purple)}[data-theme=dark]{--color-bg:var(--primitive-gray-900);--color-surface:var(--primitive-gray-800);--color-surface-secondary:var(--primitive-gray-700);--color-text:var(--primitive-gray-50);--color-text-secondary:var(--primitive-gray-200);--color-text-muted:var(--primitive-gray-400);--color-text-subtle:var(--primitive-gray-500);--color-text-faint:var(--primitive-gray-500);--color-border:var(--primitive-gray-700);--color-shadow:var(--primitive-black-12);--color-shadow-heavy:var(--primitive-black-18);--color-overlay:var(--primitive-black-45);--color-overlay-muted:var(--primitive-gray-400-15);--color-overlay-white:var(--primitive-white-40);--color-danger:var(--primitive-red-500);--color-danger-hover:var(--primitive-red-400);--color-danger-bg:var(--primitive-red-950);--color-danger-bg-mid:var(--primitive-red-800);--color-danger-border:var(--primitive-red-800);--color-success:var(--primitive-green-400);--color-success-bg:var(--primitive-green-950);--color-blue:var(--primitive-blue-500);--color-blue-dark:var(--primitive-blue-500);--color-blue-bg:var(--primitive-gray-800);--color-warning:var(--primitive-amber-500);--color-accent:var(--primitive-purple)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.field-label{font-size:18px;font-weight:500}.field-input-wrapper{align-items:center;display:flex;position:relative}.field-input-wrapper--icon .field-input{padding-left:36px}.field-icon{color:var(--color-text-subtle);pointer-events:none;align-items:center;display:flex;position:absolute;left:12px}.field-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-secondary);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--color-text-subtle);box-shadow:0 0 0 3px var(--color-overlay-muted)}.field-input::placeholder{color:var(--color-text-subtle)}.field-input-wrapper--clearable .field-input,.field-input-wrapper--password-toggle .field-input{padding-right:36px}.field-clear,.field-password-toggle{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s;display:flex;position:absolute;right:10px}.field-clear:hover,.field-password-toggle:hover{color:var(--color-text-secondary)}.field-body{flex-direction:column;display:flex}.field-warning{color:var(--color-danger);margin-top:4px;font-size:12px}.field-warning--approaching{color:var(--color-warning)}.field-hint{color:var(--color-text-muted);margin-top:4px;font-size:12px}.field--form .field-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.field--form .field-input{border:1px solid var(--color-border);border-radius:8px;padding:11px 14px;font-size:14px}.field--form .field-input:focus{border-color:var(--color-text-subtle);box-shadow:0 0 0 3px var(--color-overlay-muted)}.login-btn{background:var(--color-text);width:100%;color:var(--color-surface);cursor:pointer;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.login-btn:hover{background:var(--color-text-secondary)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.delete-btn{background-color:var(--color-danger-bg-mid);color:var(--color-danger-hover);cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-size:13px}.delete-btn:hover{background-color:var(--color-danger-border)}.action-btn{cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.action-btn--secondary{background:var(--color-bg);color:var(--color-text-muted)}.action-btn--danger{background:var(--color-danger);color:var(--color-surface)}.action-btn--danger:hover{background:var(--color-danger-hover)}.role-badge{background:var(--color-bg);color:var(--color-text-muted);cursor:default;border:none;border-radius:4px;flex-shrink:0;padding:2px 7px;font-family:inherit;font-size:11px;font-weight:500}.role-badge:hover{background:var(--color-border);color:var(--color-text-secondary)}.action-btn--secondary:hover{background:var(--color-border)}.action-btn--primary{background:var(--color-text-muted);color:var(--color-surface)}.action-btn--primary:hover{background:var(--color-text-muted)}.profile-modal__btn--save{background:var(--color-text-secondary);color:var(--color-surface);cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s}.profile-modal__btn--save:hover{background:var(--color-text)}.profile-modal__btn--skip{color:var(--color-text-subtle);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:10px;padding:12px 20px;font-family:inherit;font-size:14px;transition:color .15s,border-color .15s}.profile-modal__btn--skip:hover{color:var(--color-text-muted);border-color:var(--color-text-subtle)}.profile-modal__btn--danger{color:var(--color-danger);border:1px solid var(--color-danger-border);cursor:pointer;background:0 0;border-radius:10px;padding:12px 20px;font-family:inherit;font-size:14px;transition:color .15s,border-color .15s,background .15s}.profile-modal__btn--danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.menu-item{width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:14px;transition:background .15s;display:flex}.menu-item:hover{background:var(--color-bg)}.menu-item--danger{color:var(--color-danger)}.menu-item--danger:hover{background:var(--color-danger-bg)}.file-actions-trigger{width:32px;height:32px;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.file-actions-trigger:hover{background:var(--color-bg);color:var(--color-text-secondary)}.viewer-icon-btn{background:var(--color-surface);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;box-shadow:0 2px 8px var(--color-shadow);border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.viewer-icon-btn:hover{background:var(--color-bg);color:var(--color-text)}.viewer-icon-btn--active{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.viewer-icon-btn--active:hover{background:var(--color-text-secondary);border-color:var(--color-text-secondary);color:var(--color-surface)}.sidebar-storage-upgrade{color:var(--color-text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:500;text-decoration:underline}.sidebar-storage-upgrade:hover{color:var(--color-text)}.user-card__button{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 8px;font-family:inherit;transition:background .15s;display:flex}.user-card__button:hover{background:var(--color-bg)}.profile-modal__close{width:32px;height:32px;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.profile-modal__close:hover{background:var(--color-border);color:var(--color-text-secondary)}.breadcrumb-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-family:inherit;font-size:15px;transition:color .15s,background .15s}.breadcrumb-btn:hover{color:var(--color-text);background:var(--color-bg)}.breadcrumb-btn--drop-target{color:var(--color-text);background:var(--color-bg);outline:2px solid var(--color-accent);outline-offset:-2px}.icon-ghost-btn{color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s,color .15s;display:flex}.icon-ghost-btn:hover{background:var(--color-border);color:var(--color-text-secondary)}.logo{width:auto;height:22px;display:block}.logo--dark-theme,[data-theme=dark] .logo--light-theme{display:none}[data-theme=dark] .logo--dark-theme{display:block}.logo--auth{height:40px;margin:0 auto 32px}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.status-badge--dismissible{cursor:pointer}.status-badge--queued,.status-badge--processing{color:var(--color-blue-dark);background:var(--color-blue-bg);border-color:var(--color-blue)}.status-badge--done{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success)}.status-badge--error{color:var(--color-danger-hover);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.status-badge__spinner{border:2px solid var(--color-blue);border-top-color:#0000;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite status-badge-spin}@keyframes status-badge-spin{to{transform:rotate(360deg)}}.auth-page{background:var(--color-border);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-form{background:var(--color-surface);width:90%;max-width:400px;box-shadow:0 4px 24px var(--color-shadow);border-radius:20px;padding:48px 44px}.auth-form__title{color:var(--color-text);text-align:center;margin:0 0 6px;font-size:22px;font-weight:700}.auth-form__subtitle{color:var(--color-text-subtle);text-align:center;margin:0 0 28px;font-size:14px}.auth-form__error{margin:-4px 0 16px}.auth-form__link{color:var(--color-text-subtle);text-align:center;margin:20px 0 0;font-size:13px}.auth-form__link-action{color:var(--color-text-secondary);font-weight:600;text-decoration:none}.auth-form__link-action:hover{color:var(--color-text);text-decoration:underline}.drive-layout{background:var(--color-surface-secondary);height:100vh;display:flex}.drive-main{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;padding:36px 40px 0;display:flex;overflow:hidden}.drive-table-container{flex-direction:column;flex:1;min-height:0;padding-bottom:36px;display:flex;overflow:hidden}.drive-panels{z-index:1000;flex-direction:column;align-items:stretch;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.storage-info{padding:0 4px}.storage-info__header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.storage-info__icon{color:var(--color-text-muted)}.storage-info__title{color:var(--color-text-secondary);font-size:14px;font-weight:600}.storage-info__bar{background:var(--color-border);border-radius:999px;height:5px;margin-bottom:8px;overflow:hidden}.storage-info__fill{background:var(--color-text-muted);border-radius:999px;height:100%;transition:width .4s}.storage-info__label{color:var(--color-text-subtle);margin:0 0 6px;font-size:12px}.avatar{background:var(--color-text-muted);width:36px;height:36px;color:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;overflow:hidden}.avatar--button{cursor:pointer;border:none;padding:0;font-family:inherit;position:relative}.avatar img{object-fit:cover;width:100%;height:100%}.menu{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;padding:6px}.menu-divider{background:var(--color-border);height:1px;margin:4px 0}.user-menu{z-index:100;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px}.create-org-popup{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:240px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex;position:fixed}.create-org-popup__row{align-items:center;gap:10px;display:flex}.create-org-popup__avatar{background:var(--color-bg);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;transition:background .15s;display:flex;overflow:hidden}.create-org-popup__avatar:hover{background:var(--color-border)}.create-org-popup__avatar-img{object-fit:cover;width:100%;height:100%}.create-org-popup__file-input{display:none}.create-org-popup__field{flex:1;margin:0}.create-org-popup__error{color:var(--color-danger-hover);margin:0;font-size:12px}.create-org-popup__btn{background:var(--color-text);width:100%;color:var(--color-surface);cursor:pointer;border:none;border-radius:6px;padding:7px 12px;font-family:inherit;font-size:13px;transition:background .15s}.create-org-popup__btn:hover:not(:disabled){background:var(--color-text-secondary)}.create-org-popup__btn:disabled{opacity:.4;cursor:default}.user-card{position:relative}.user-card__avatar{width:34px;height:34px}.user-card__info{flex-direction:column;display:flex;overflow:hidden}.user-card__name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.nav-item{box-sizing:border-box;text-align:left;width:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;font-size:14px;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--color-bg);color:var(--color-text)}.nav-item:hover .nav-item-icon{color:var(--color-text-secondary)}.nav-item--active{background:var(--color-bg);color:var(--color-text);font-weight:500}.nav-item--active .nav-item-icon{color:var(--color-text-secondary)}.nav-item--drop-target{background:var(--color-bg);color:var(--color-text);outline:2px solid var(--color-accent);outline-offset:-2px}.nav-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-item__action{opacity:0;flex-shrink:0;transition:opacity .15s;display:flex}.nav-item:hover .nav-item__action,.nav-item:focus-within .nav-item__action{opacity:1}.nav-item-icon{color:var(--color-text-subtle);flex-shrink:0;align-items:center;transition:color .15s;display:flex}.files-nav__header{box-sizing:border-box;text-align:left;width:100%;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:color .15s;display:flex}.files-nav__header:hover{color:var(--color-text-muted)}.files-nav__chevron{flex-shrink:0;transition:transform .15s}.files-nav__chevron--open{transform:rotate(90deg)}.files-nav__list{border-left:1.5px solid var(--color-border);flex-direction:column;gap:2px;margin-top:2px;margin-left:20px;padding-left:12px;display:flex}.org-context-menu{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:240px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex;position:fixed}.org-context-menu__header{align-items:center;gap:8px;display:flex}.org-context-menu__avatar{background:var(--color-bg);width:40px;height:40px;color:var(--color-text-secondary);cursor:default;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;display:flex;overflow:hidden}.org-context-menu__avatar--editable{cursor:pointer}.org-context-menu__avatar--editable:hover{background:var(--color-border)}.org-context-menu__avatar-img{object-fit:cover;width:100%;height:100%}.org-context-menu__file-input{display:none}.org-context-menu__name-field{flex:1;min-width:0;margin:0}.org-context-menu__name-actions{flex-shrink:0;gap:4px;display:flex}.org-context-menu__confirm{background:var(--color-success-bg);width:26px;height:26px;color:var(--color-success);cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.org-context-menu__confirm:hover:not(:disabled){background:var(--color-success-bg)}.org-context-menu__confirm:disabled{opacity:.5;cursor:default}.org-context-menu__discard{background:var(--color-danger-bg-mid);width:26px;height:26px;color:var(--color-danger-hover);cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.org-context-menu__discard:hover:not(:disabled){background:var(--color-danger-border)}.org-context-menu__discard:disabled{opacity:.5;cursor:default}.org-context-menu__error{color:var(--color-danger-hover);margin:0;font-size:12px}.org-context-menu__divider{background:var(--color-border);height:1px}.org-context-menu__invite--copied{color:var(--color-success)}.org-context-menu__members-toggle{width:100%;color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;font-family:inherit;font-size:13px;transition:background .15s,color .15s;display:flex}.org-context-menu__members-toggle:hover{background:var(--color-bg);color:var(--color-text-secondary)}.org-context-menu__members-toggle--open{color:var(--color-text-secondary);background:var(--color-bg)}.org-context-menu__members-toggle--open svg{transform:rotate(90deg)}.org-members-panel{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:300px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:0;padding:12px;display:flex;position:fixed}.org-members-panel__head{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.org-members-panel__title{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;margin:0 0 0 2px;font-size:11px;font-weight:600}.org-members-panel__search-field{margin:0}.org-members-panel__list{flex-direction:column;gap:2px;display:flex}.org-members-panel__empty{color:var(--color-text-subtle);text-align:center;margin:8px 0;font-size:13px}.org-members-panel__item{border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 6px;display:flex}.org-members-panel__item:hover{background:var(--color-surface-secondary)}.org-members-panel__avatar{flex-shrink:0;width:28px;height:28px;font-size:12px}.org-members-panel__username{min-width:0;color:var(--color-text);flex:1;align-items:center;gap:5px;font-size:13px;display:flex}.org-members-panel__username-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.org-members-panel__you{color:var(--color-text-subtle);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.org-members-panel__remove{width:24px;height:24px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.org-members-panel__remove:hover,.org-members-panel__remove--active{background:var(--color-danger-bg);color:var(--color-danger)}.org-members-panel__confirm{align-items:center;gap:6px;width:100%;padding-left:36px;display:flex}.org-members-panel__confirm-text{color:var(--color-text-secondary);flex:1;font-size:12px}.org-members-panel__footer-btn{width:100%;color:var(--color-text-subtle);text-align:center;cursor:pointer;border:none;border-top:1px solid var(--color-bg);background:0 0;border-radius:5px;margin-top:6px;padding:6px;font-family:inherit;font-size:11px;transition:background .15s,color .15s;display:block}.org-members-panel__footer-btn:hover{background:var(--color-bg);color:var(--color-text-secondary)}.org-members-modal{z-index:1100;background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.org-members-modal__dialog{background:var(--color-surface);box-shadow:0 20px 60px var(--color-shadow-heavy);border-radius:12px;flex-direction:column;gap:14px;width:480px;max-width:90vw;max-height:80vh;padding:24px;display:flex}.org-members-modal__head{justify-content:space-between;align-items:center;display:flex}.org-members-modal__title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.org-members-modal__close{width:28px;height:28px;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.org-members-modal__close:hover{background:var(--color-bg);color:var(--color-text-secondary)}.org-members-modal__search-field{margin:0}.org-members-modal__list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.org-members-modal__letter{background:var(--color-surface);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;padding:6px 8px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.org-members-modal__letter:first-child{margin-top:0}.org-members-modal__empty{color:var(--color-text-subtle);text-align:center;margin:16px 0;font-size:13px}.org-members-modal__item{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.org-members-modal__item:hover{background:var(--color-surface-secondary)}.org-members-modal__avatar{flex-shrink:0;width:32px;height:32px;font-size:13px}.org-members-modal__username{min-width:0;color:var(--color-text);flex:1;align-items:center;gap:6px;font-size:13px;display:flex}.org-members-modal__username-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.org-members-modal__you{color:var(--color-text-subtle);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.org-members-modal__role{color:var(--color-text-muted);background:var(--color-bg);border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:500}.org-members-modal__role--admin{color:var(--color-blue-dark);background:var(--color-blue-bg)}.org-members-modal__confirm{align-items:center;gap:6px;width:100%;padding-left:42px;display:flex}.org-members-modal__confirm-text{color:var(--color-text-secondary);flex:1;font-size:12px}.org-members-modal__footer{color:var(--color-text-subtle);text-align:center;border-top:1px solid var(--color-bg);margin:0;padding-top:10px;font-size:12px}.create-project-popup{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:240px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex;position:fixed}.create-project-popup__row{align-items:center;gap:10px;display:flex}.create-project-popup__avatar{background:var(--color-bg);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;transition:background .15s;display:flex;overflow:hidden}.create-project-popup__avatar:hover{background:var(--color-border)}.create-project-popup__avatar-img{object-fit:cover;width:100%;height:100%}.create-project-popup__file-input{display:none}.create-project-popup__field{flex:1;margin:0}.create-project-popup__error{color:var(--color-danger-hover);margin:0;font-size:12px}.create-project-popup__btn{background:var(--color-text);width:100%;color:var(--color-surface);cursor:pointer;border:none;border-radius:6px;padding:7px 12px;font-family:inherit;font-size:13px;transition:background .15s}.create-project-popup__btn:hover:not(:disabled){background:var(--color-text-secondary)}.create-project-popup__btn:disabled{opacity:.4;cursor:default}.project-context-menu{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:240px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex;position:fixed}.project-context-menu__header{align-items:center;gap:8px;display:flex}.project-context-menu__avatar{background:var(--color-bg);width:40px;height:40px;color:var(--color-text-secondary);cursor:default;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;display:flex;overflow:hidden}.project-context-menu__avatar--editable{cursor:pointer}.project-context-menu__avatar--editable:hover{background:var(--color-border)}.project-context-menu__avatar-img{object-fit:cover;width:100%;height:100%}.project-context-menu__file-input{display:none}.project-context-menu__name-field{flex:1;min-width:0;margin:0}.project-context-menu__name-actions{flex-shrink:0;gap:4px;display:flex}.project-context-menu__confirm{background:var(--color-success-bg);width:26px;height:26px;color:var(--color-success);cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.project-context-menu__confirm:hover:not(:disabled){background:var(--color-success-bg)}.project-context-menu__confirm:disabled{opacity:.5;cursor:default}.project-context-menu__discard{background:var(--color-danger-bg-mid);width:26px;height:26px;color:var(--color-danger-hover);cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.project-context-menu__discard:hover:not(:disabled){background:var(--color-danger-border)}.project-context-menu__discard:disabled{opacity:.5;cursor:default}.project-context-menu__error{color:var(--color-danger-hover);margin:0;font-size:12px}.project-context-menu__divider{background:var(--color-border);height:1px}.project-context-menu__invite--copied{color:var(--color-success)}.project-context-menu__members-toggle{width:100%;color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;font-family:inherit;font-size:13px;transition:background .15s,color .15s;display:flex}.project-context-menu__members-toggle:hover{background:var(--color-bg);color:var(--color-text-secondary)}.project-context-menu__members-toggle--open{color:var(--color-text-secondary);background:var(--color-bg)}.project-context-menu__members-toggle--open svg{transform:rotate(90deg)}.project-members-panel{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:300px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:0;padding:12px;display:flex;position:fixed}.project-members-panel__head{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.project-members-panel__title{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;margin:0 0 0 2px;font-size:11px;font-weight:600}.project-members-panel__search-field{margin:0}.project-members-panel__list{flex-direction:column;gap:2px;display:flex}.project-members-panel__empty{color:var(--color-text-subtle);text-align:center;margin:8px 0;font-size:13px}.project-members-panel__item{border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 6px;display:flex}.project-members-panel__item:hover{background:var(--color-surface-secondary)}.project-members-panel__avatar{flex-shrink:0;width:28px;height:28px;font-size:12px}.project-members-panel__username{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;font-size:13px;display:flex;overflow:hidden}.project-members-panel__you{color:var(--color-text-subtle);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.project-members-panel__remove{width:24px;height:24px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.project-members-panel__remove:hover,.project-members-panel__remove--active{background:var(--color-danger-bg);color:var(--color-danger)}.project-members-panel__confirm{align-items:center;gap:6px;width:100%;padding-left:36px;display:flex}.project-members-panel__confirm-text{color:var(--color-text-secondary);flex:1;font-size:12px}.project-members-panel__footer-btn{width:100%;color:var(--color-text-subtle);text-align:center;cursor:pointer;border:none;border-top:1px solid var(--color-bg);background:0 0;border-radius:5px;margin-top:6px;padding:6px;font-family:inherit;font-size:11px;transition:background .15s,color .15s;display:block}.project-members-panel__footer-btn:hover{background:var(--color-bg);color:var(--color-text-secondary)}.project-members-modal{z-index:1100;background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-members-modal__dialog{background:var(--color-surface);box-shadow:0 20px 60px var(--color-shadow-heavy);border-radius:12px;flex-direction:column;gap:14px;width:480px;max-width:90vw;max-height:80vh;padding:24px;display:flex}.project-members-modal__head{justify-content:space-between;align-items:center;display:flex}.project-members-modal__title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.project-members-modal__close{width:28px;height:28px;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.project-members-modal__close:hover{background:var(--color-bg);color:var(--color-text-secondary)}.project-members-modal__search-field{margin:0}.project-members-modal__list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.project-members-modal__letter{background:var(--color-surface);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;padding:6px 8px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.project-members-modal__letter:first-child{margin-top:0}.project-members-modal__empty{color:var(--color-text-subtle);text-align:center;margin:16px 0;font-size:13px}.project-members-modal__item{border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 8px;display:flex}.project-members-modal__item:hover{background:var(--color-surface-secondary)}.project-members-modal__avatar{flex-shrink:0;width:32px;height:32px;font-size:13px}.project-members-modal__username{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;font-size:13px;display:flex;overflow:hidden}.project-members-modal__you{color:var(--color-text-subtle);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.project-members-modal__remove{width:24px;height:24px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.project-members-modal__remove:hover,.project-members-modal__remove--active{background:var(--color-danger-bg);color:var(--color-danger)}.project-members-modal__confirm{align-items:center;gap:6px;width:100%;padding-left:42px;display:flex}.project-members-modal__confirm-text{color:var(--color-text-secondary);flex:1;font-size:12px}.project-members-modal__footer{color:var(--color-text-subtle);text-align:center;border-top:1px solid var(--color-bg);margin:0;padding-top:10px;font-size:12px}.org-nav__header{box-sizing:border-box;text-align:left;width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.org-nav__header:hover{background:var(--color-bg)}.org-nav__header--active{background:var(--color-bg);color:var(--color-text)}.org-nav__header--active .org-nav__icon{color:var(--color-text-secondary)}.org-nav__header--drop-target{background:var(--color-bg);color:var(--color-text);outline:2px solid var(--color-accent);outline-offset:-2px}.org-nav__chevron-btn{width:16px;height:16px}.org-nav__chevron{color:var(--color-text-subtle);flex-shrink:0;transition:transform .15s}.org-nav__chevron--open{transform:rotate(90deg)}.org-nav__icon{color:var(--color-text-muted);flex-shrink:0}.org-nav__avatar{object-fit:cover;border-radius:4px;flex-shrink:0;width:20px;height:20px}.org-nav__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.org-nav__menu-btn{width:20px;height:20px}.org-nav__header .org-nav__menu-btn{opacity:0}.org-nav__header:hover .org-nav__menu-btn,.org-nav__header:focus-within .org-nav__menu-btn{opacity:1}.org-nav__project-avatar{object-fit:cover;border-radius:3px;flex-shrink:0;width:15px;height:15px}.org-nav__list{border-left:1.5px solid var(--color-border);flex-direction:column;gap:2px;margin-top:2px;margin-left:20px;padding-left:12px;display:flex}.org-nav__error{color:var(--color-danger);margin:2px 0;padding:0 10px;font-size:12px}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;width:240px;min-width:240px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar__logo{flex-shrink:0;margin-bottom:32px;padding:0 8px}.sidebar__top{flex-direction:column-reverse;flex:1;min-height:0;display:flex;overflow:hidden}.sidebar__middle{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex;overflow:hidden}.sidebar__nav{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.sidebar__orgs{border-top:1px solid var(--color-border);flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;display:flex}.sidebar__orgs-error{color:var(--color-danger);margin:8px 0 0;padding:0 10px;font-size:12px}.sidebar__storage{flex-direction:column;flex-shrink:1;justify-content:flex-end;min-height:0;display:flex;overflow:hidden}.sidebar__usercard{flex-shrink:0;margin-top:16px}.drive-header{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.drive-header__breadcrumb,.drive-header__breadcrumb-item{align-items:center;gap:2px;display:flex}.drive-header__breadcrumb-separator{color:var(--color-text-subtle)}.drive-header__breadcrumb-link{color:var(--color-text-muted);cursor:pointer;border-radius:4px;padding:2px 4px;font-size:15px;transition:color .15s,background .15s}.drive-header__breadcrumb-link:hover{color:var(--color-text);background:var(--color-bg)}.drive-header__breadcrumb-current{color:var(--color-text);padding:2px 4px;font-size:15px;font-weight:600}.drive-header__toolbar{align-items:center;gap:10px;display:flex}.drive-header__search{flex:1;margin-bottom:0}.drive-header__file-input{display:none}.drive-header__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.drive-header__create-anchor{display:inline-block;position:relative}.checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--color-text-muted);flex-shrink:0;margin:0}.tooltip{display:inline-flex;position:relative}.tooltip__bubble{background:var(--color-text);color:var(--color-surface);white-space:nowrap;pointer-events:none;opacity:0;z-index:10;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;top:50%;transform:translateY(-50%)translate(4px)}.tooltip__bubble--left{right:calc(100% + 8px + var(--tooltip-offset,0px));transform:translateY(-50%)translate(4px)}.tooltip:hover .tooltip__bubble--left{transform:translateY(-50%)translate(0)}.tooltip__bubble--right{left:calc(100% + 8px);transform:translateY(-50%)translate(-4px)}.tooltip:hover .tooltip__bubble--right{transform:translateY(-50%)translate(0)}.tooltip__bubble--top{top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip:hover .tooltip__bubble--top{transform:translate(-50%)translateY(0)}.tooltip__bubble--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px)}.tooltip:hover .tooltip__bubble--bottom{transform:translate(-50%)translateY(0)}.tooltip:hover .tooltip__bubble{opacity:1}.dwg-status__transient{display:inline-flex}.dwg-status__error{display:inline-flex;position:relative}.dwg-status__error-icon{color:var(--color-danger)}.dwg-status__error-popover{z-index:1000;white-space:nowrap;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);border-radius:8px;padding:8px 12px;font-size:13px;position:absolute;top:calc(100% + 4px);right:0}.file-actions-menu{display:inline-block;position:relative}.file-actions-dropdown{z-index:1000;min-width:160px;position:fixed}.file-actions__shared-mark{color:var(--color-success);flex-shrink:0;margin-left:auto}.create-folder-popup{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);width:280px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex;position:fixed}.create-folder-popup__row{align-items:center;gap:10px;display:flex}.create-folder-popup__icon{color:var(--color-text-subtle);flex-shrink:0}.create-folder-popup__field{flex:1;margin-bottom:0}.create-folder-popup__actions{justify-content:flex-end;gap:8px;display:flex}.file-list__table{border-collapse:collapse;width:100%}.file-list__th{z-index:2;background-color:var(--color-bg);color:var(--color-text-muted);box-sizing:border-box;text-align:left;height:46px;padding:0 20px;font-size:13px;font-weight:600;position:sticky;top:0}.file-list__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.file-list__th--sortable:hover{background-color:var(--color-border)}.file-list__sort-icon{vertical-align:middle;color:var(--color-text-muted);margin-left:4px;display:inline-block}.file-list__sort-icon--inactive{color:var(--color-text-faint)}.file-list__td{color:var(--color-text-muted);border-top:1px solid var(--color-bg);vertical-align:middle;padding:8px 20px;font-size:14px}.file-list__state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.file-list__state-icon{color:var(--color-text-faint);margin-bottom:16px}.file-list__state-title{color:var(--color-text-muted);margin:0 0 6px;font-size:16px;font-weight:600}.file-list__state-hint{color:var(--color-text-subtle);margin:0;font-size:14px}.file-list__state--error .file-list__state-icon{color:var(--color-danger)}.file-list__state--error .file-list__state-hint{margin-bottom:16px}.drag-preview{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:152px;box-shadow:0 2px 8px var(--color-shadow-heavy);color:var(--color-text-secondary);pointer-events:none;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 10px;font-size:13px;display:flex;position:fixed;top:-1000px;left:-1000px}.drag-preview__icon{display:flex;position:relative}.drag-preview__icon svg{width:48px;height:48px}.drag-preview__count{box-sizing:border-box;background:var(--color-accent);min-width:20px;height:20px;color:var(--color-surface);text-align:center;border-radius:10px;padding:0 5px;font-size:11px;font-weight:600;line-height:20px;position:absolute;bottom:-2px;right:-6px}.drag-preview__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text);font-weight:500;overflow:hidden}.file-table{background:var(--color-surface);box-shadow:0 1px 4px var(--color-shadow);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.file-table__scroll{border-radius:inherit;flex:1;min-height:0;overflow:auto}.file-table--dragging{outline:2px dashed var(--color-accent);outline-offset:-2px}.file-table__drop-overlay{background:var(--color-bg);color:var(--color-accent);pointer-events:none;z-index:10;border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:500;display:flex;position:absolute;inset:0}.file-table__row{-webkit-user-select:none;user-select:none;transition:background .12s}.file-table__row:hover{background:var(--color-surface-secondary)}.file-table__name{color:var(--color-text);align-items:center;gap:10px;font-weight:500;display:flex}.file-table__file-icon{color:var(--color-text-subtle);flex-shrink:0}.file-table__rename-field{flex:1;margin-bottom:0}.file-table__actions{text-align:right}.file-table__actions-cell{justify-content:flex-end;align-items:center;gap:10px;display:flex}.file-table__th--check,.file-table__td--check{text-align:center;vertical-align:middle;width:40px;padding-right:0}.file-table__td--check,.file-table__row--selecting,.file-table__row--openable{cursor:pointer}.file-table__row-check{opacity:0;pointer-events:none;transition:opacity .12s}.file-table__row:hover .file-table__row-check,.file-table__row--selected .file-table__row-check{opacity:1}.file-table__check-all{opacity:0;pointer-events:none;transition:opacity .12s}.file-table__table thead tr:hover .file-table__check-all,.file-table__check-all--visible{opacity:1;pointer-events:auto}.file-table__selection{text-align:left}.file-table__selection-body{align-items:center;gap:8px;display:flex}.file-table__selection-count{color:var(--color-text);margin-right:8px;font-weight:600}.file-table__row--selected,.file-table__row--selected:hover{background:var(--color-overlay-muted)}.file-table__row--dragged{opacity:.5}.file-table__row--drop-target{background:var(--color-bg);outline:2px solid var(--color-accent);outline-offset:-2px}.file-table--drop-target:after{content:"";border:2px solid var(--color-accent);pointer-events:none;z-index:3;border-radius:0 0 12px 12px;position:absolute;inset:46px 0 0}.file-table__loading{color:var(--color-text-subtle);margin-top:80px;font-size:15px}.file-table__context-menu{z-index:1000;min-width:160px;position:fixed}.file-table__shared-icon{color:var(--color-text-muted);flex-shrink:0}.confirm-dialog{z-index:1200;background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog__box{background:var(--color-surface);box-shadow:0 20px 60px var(--color-shadow-heavy);border-radius:12px;outline:none;flex-direction:column;gap:10px;width:400px;max-width:90vw;padding:24px;display:flex}.confirm-dialog__title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.confirm-dialog__message{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.confirm-dialog__actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.trash-table{background:var(--color-surface);box-shadow:0 1px 4px var(--color-shadow);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex}.trash-table__head{border-bottom:1px solid var(--color-bg);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.trash-table__title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.trash-table__hint{color:var(--color-text-faint);margin:2px 0 0;font-size:12px}.trash-table__scroll{border-radius:inherit;flex:1;min-height:0;overflow:auto}.trash-table__row:hover{background:var(--color-bg)}.trash-table__row--openable{cursor:pointer}.trash-table__crumb{align-items:center;display:inline-flex}.trash-table__crumb-separator{color:var(--color-text-faint);margin:0 2px}.trash-table__td--name{color:var(--color-text);align-items:center;gap:10px;display:flex}.trash-table__icon{color:var(--color-text-faint);flex-shrink:0}.trash-table__name{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.trash-table__origin{color:var(--color-text-faint);white-space:nowrap;font-size:12px}.trash-table__td--size{white-space:nowrap;width:110px}.trash-table__td--left{white-space:nowrap;width:150px}.trash-table__td--actions{white-space:nowrap;text-align:right;width:1%}.trash-table__row-actions{gap:8px;display:inline-flex}.trash-table__state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.dashboard-list{flex-direction:column;flex:1;min-width:0;padding:10px 12px;display:flex}.dashboard-list__title{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:12px;font-weight:600;overflow:hidden}.dashboard-list__title--action{cursor:pointer;background:0 0;border:none;align-self:flex-start;max-width:100%;padding:0;font-family:inherit;transition:color .12s}.dashboard-list__title--action:hover{color:var(--color-text);text-decoration:underline}.dashboard-list__items{min-width:0;margin:0;padding:0;list-style:none}.dashboard-list__item{min-height:25px;position:relative}.dashboard-list__row{min-width:0;color:var(--color-text);border-radius:4px;align-items:center;gap:7px;padding:3px 0;font-size:13px;display:flex}.dashboard-list__row:hover{z-index:3;background:var(--color-surface);box-shadow:0 2px 8px var(--color-shadow-heavy);align-items:flex-start;padding:6px;position:absolute;top:-3px;left:-6px;right:-6px}.dashboard-list__row:hover .dashboard-list__text{white-space:normal;overflow:visible}.dashboard-list__row:hover .dashboard-list__icon{margin-top:1px}.dashboard-list__icon{color:var(--color-text-subtle);flex-shrink:0;align-items:center;display:flex}.dashboard-list__text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dashboard-list__empty{color:var(--color-text-subtle);margin:0;font-size:12px}.members-modal{z-index:1100;background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.members-modal__dialog{background:var(--color-surface);box-shadow:0 20px 60px var(--color-shadow-heavy);border-radius:12px;flex-direction:column;gap:14px;width:480px;max-width:90vw;max-height:80vh;padding:24px;display:flex}.members-modal__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.members-modal__title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;overflow:hidden}.members-modal__close{width:28px;height:28px;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.members-modal__close:hover{background:var(--color-bg);color:var(--color-text-secondary)}.members-modal__search-field{margin:0}.members-modal__list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.members-modal__letter{background:var(--color-surface);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;padding:6px 8px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.members-modal__letter:first-child{margin-top:0}.members-modal__empty{color:var(--color-text-subtle);text-align:center;margin:16px 0;font-size:13px}.members-modal__item{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.members-modal__item:hover{background:var(--color-surface-secondary)}.members-modal__avatar{flex-shrink:0;width:32px;height:32px;font-size:13px}.members-modal__username{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;font-size:13px;display:flex;overflow:hidden}.members-modal__you{color:var(--color-text-subtle);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.members-modal__footer{color:var(--color-text-subtle);text-align:center;margin:0;font-size:12px}.project-card{background:var(--color-surface);box-shadow:0 1px 4px var(--color-shadow);border-radius:12px;flex-direction:column;display:flex}.project-card--expanded{flex:1;min-height:0}.project-card__head{align-items:center;gap:12px;padding:12px;display:flex}.project-card__head--draggable{cursor:grab}.project-card__head--draggable:active{cursor:grabbing}.project-card--dragging{opacity:.5}.project-card--drop-target{outline:2px solid var(--color-accent);outline-offset:-2px}.project-card__avatar{background:var(--color-surface-secondary);width:48px;height:48px;color:var(--color-text-muted);border-radius:10px}.project-card__avatar--editable:hover{color:var(--color-text);outline:2px solid var(--color-accent);outline-offset:2px}.project-card__file-input{display:none}.project-card__info{flex:1;min-width:0}.project-card__name{text-align:left;width:100%;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:17px;font-weight:600;line-height:26px;display:block;overflow:hidden}.project-card__name--editable,.project-card__description--editable{cursor:text}.project-card__name--editable:hover,.project-card__description--editable:hover{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.project-card__description{text-align:left;width:100%;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:13px;line-height:22px;display:block;overflow:hidden}.project-card__edit{align-items:center;gap:6px;display:flex}.project-card__edit-field{flex:1;min-width:0;margin:0}.project-card__edit-actions{flex-shrink:0;gap:4px;display:flex}.project-card__confirm,.project-card__discard{cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .15s;display:flex}.project-card__confirm{background:var(--color-success-bg);color:var(--color-success)}.project-card__confirm:disabled{opacity:.5;cursor:default}.project-card__discard{background:var(--color-danger-bg-mid);color:var(--color-danger-hover)}.project-card__discard:hover{background:var(--color-danger-border)}.project-card__error{color:var(--color-danger);margin:0;padding:0 12px 8px;font-size:12px}.project-card__description--placeholder{color:var(--color-text-subtle)}.project-card__collapse{width:40px;height:40px;color:var(--color-text-muted);border-radius:8px}.project-card__columns{border-top:1px solid var(--color-border);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;display:grid}.project-card__column+.project-card__column{border-left:1px solid var(--color-border)}.project-card__column--openable{cursor:pointer;border-radius:0 0 0 12px;flex-direction:column;min-width:0;transition:background .12s;display:flex}.project-card__column--openable:hover{background:var(--color-surface-secondary)}.project-card__member-avatar{width:18px;height:18px;font-size:10px}.project-card__table{flex:1;min-height:0;padding:0 12px 12px;display:flex}.org-dashboard{flex:1;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));align-content:start;gap:16px;min-height:0;padding:0 4px 4px;display:grid;overflow-y:auto}.org-dashboard__error{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:13px}.org-dashboard--expanded{flex-direction:column;flex:1;min-height:0;display:flex;overflow:visible}.upload-panel{background:var(--color-surface);box-shadow:0 8px 32px var(--color-shadow-heavy);border-radius:12px;min-width:320px;max-width:380px;overflow:hidden}.upload-panel__header{color:var(--color-text-secondary);border-bottom:1px solid var(--color-bg);background:var(--color-surface-secondary);padding:12px 16px;font-size:13px;font-weight:600}.upload-panel__list{max-height:240px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.upload-panel__item{padding:10px 16px 0}.upload-panel__item-body{flex-direction:column;gap:8px;display:flex}.upload-panel__row{align-items:center;gap:10px;display:flex}.upload-panel__name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;transition:color .15s;overflow:hidden}.upload-panel__actions{flex-shrink:0;gap:4px;display:flex}.upload-panel__bar-track{background:var(--color-border);border-radius:999px;height:3px;margin-bottom:10px;overflow:hidden}@keyframes upload-bar-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.upload-panel__bar-fill{background:var(--color-text-muted);border-radius:999px;width:40%;height:100%;animation:1.4s ease-in-out infinite upload-bar-slide}.upload-panel__btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s;display:flex}.upload-panel__btn--cancel{color:var(--color-danger)}.upload-panel__btn--cancel:hover{background:var(--color-danger-bg)}.error-panel{background:var(--color-surface);box-shadow:0 8px 32px var(--color-shadow-heavy);border-radius:12px;min-width:320px;max-width:380px;overflow:hidden}.error-panel-header{color:var(--color-danger-hover);border-bottom:1px solid var(--color-danger-bg-mid);background:var(--color-danger-bg);padding:12px 16px;font-size:13px;font-weight:600}.error-panel-list{max-height:240px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.error-panel-item{align-items:center;gap:10px;padding:10px 16px;display:flex}.error-panel-message{color:var(--color-text-secondary);flex:1;font-size:13px}.error-panel-btn{cursor:pointer;width:26px;height:26px;color:var(--color-text-subtle);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.error-panel-btn:hover{background:var(--color-danger-bg-mid);color:var(--color-danger-hover)}.clipboard-panel{border:1px solid var(--color-border);background:var(--color-surface);width:340px;box-shadow:0 8px 24px var(--color-shadow);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.clipboard-panel__icon{color:var(--color-accent);flex-shrink:0}.clipboard-panel__body{flex:1;min-width:0}.clipboard-panel__title{color:var(--color-text);margin:0;font-size:13px;font-weight:600}.clipboard-panel__hint{color:var(--color-text-subtle);margin:2px 0 0;font-size:12px}.clipboard-panel--done .clipboard-panel__icon{color:var(--color-success)}.lang-switcher{position:relative}.lang-switcher__trigger{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:color .15s,background .15s;display:flex}.lang-switcher__trigger:hover{color:var(--color-text-secondary);background:var(--color-shadow)}.lang-switcher__current{letter-spacing:.04em;font-size:12px;font-weight:600}.lang-switcher__dropdown{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 4px 12px var(--color-shadow);z-index:100;border-radius:8px;min-width:130px;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden}.lang-switcher__option{cursor:pointer;text-align:left;width:100%;color:var(--color-text-secondary);background:0 0;border:none;padding:10px 14px;font-size:13px;transition:background .15s;display:block}.lang-switcher__option:hover{background:var(--color-shadow)}.lang-switcher__option--active{color:var(--color-text);background:var(--color-shadow);font-weight:600}.theme-toggle{position:relative}.theme-toggle__trigger{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px 8px;transition:color .15s,background .15s;display:flex}.theme-toggle__trigger:hover{color:var(--color-text-secondary);background:var(--color-shadow)}.theme-toggle__dropdown{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 4px 12px var(--color-shadow);z-index:100;border-radius:8px;min-width:140px;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden}.theme-toggle__option{cursor:pointer;text-align:left;width:100%;color:var(--color-text-secondary);background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:13px;transition:background .15s;display:flex}.theme-toggle__option:hover{background:var(--color-shadow)}.theme-toggle__option--active{color:var(--color-text);background:var(--color-shadow);font-weight:600}.profile-modal__backdrop{background:var(--color-overlay);z-index:200;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.profile-modal__dialog{background:var(--color-bg);border-radius:20px;grid-template-columns:260px minmax(0,1fr);gap:24px;width:100%;max-width:900px;max-height:90vh;padding:40px 24px;display:grid;position:relative;overflow-y:auto}.profile-modal__close{position:absolute;top:16px;right:16px}.profile-modal__card{background:var(--color-surface);box-shadow:0 1px 4px var(--color-shadow);border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:36px 24px;display:flex}.profile-modal__avatar{background:var(--color-accent);cursor:pointer;width:130px;height:130px;font-size:52px;transition:opacity .15s;position:relative}.profile-modal__avatar:hover .profile-modal__avatar-hint{opacity:1}.profile-modal__avatar-overlay{background:var(--color-overlay);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.profile-modal__avatar-hint{background:var(--color-overlay);color:var(--color-text-subtle);opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-modal__avatar-spinner{border:3px solid var(--color-overlay-white);border-top-color:var(--color-surface);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite profile-modal-spin}@keyframes profile-modal-spin{to{transform:rotate(360deg)}}.profile-modal__avatar-input{display:none}.profile-modal__avatar-error{color:var(--color-danger);text-align:center;margin:0;font-size:12px}.profile-modal__card-info{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.profile-modal__lang{align-items:center;gap:4px;display:flex;position:absolute;bottom:10px;left:24px}.profile-modal__card-text{color:var(--color-text-muted);text-align:center;word-break:break-all;margin:0;font-size:13px}.profile-modal__content{flex-direction:column;gap:20px;display:flex}.profile-modal__content-header{padding:0 4px}.profile-modal__content-title{color:var(--color-text);margin:0 0 4px;font-size:22px;font-weight:700}.profile-modal__content-subtitle{color:var(--color-text-subtle);margin:0;font-size:14px}.profile-modal__section{background:var(--color-surface);box-shadow:0 1px 4px var(--color-shadow);border-radius:16px;overflow:hidden}.profile-modal__section-header{background:var(--color-border);letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase;padding:10px 20px;font-size:11px;font-weight:700}.profile-modal__field{border-top:1px solid var(--color-bg);flex-direction:row;align-items:center;gap:16px;margin-bottom:0;padding:14px 20px}.profile-modal__field:first-of-type{border-top:none}.profile-modal__field .field-label{width:120px;color:var(--color-text-subtle);flex-shrink:0;font-size:14px;font-weight:400}.profile-modal__field .field-body{flex:1;min-width:0}.profile-modal__field .field-input{box-shadow:none;background:0 0;border:none;padding:0 2px;font-size:14px}.profile-modal__field .field-input::placeholder{color:var(--color-text-faint)}.profile-modal__field .field-input:focus{color:var(--color-text);box-shadow:none;border-color:#0000}.profile-modal__field .field-input:disabled{color:var(--color-text-secondary);opacity:1;cursor:default}.profile-modal__actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.profile-modal__confirm-text{color:var(--color-text-muted);margin:0 auto 0 0;font-size:13px}.profile-modal__error{color:var(--color-danger-hover);text-align:center;margin:0;font-size:14px}.share-modal{z-index:1100;background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal__dialog{background:var(--color-surface);box-shadow:0 20px 60px var(--color-shadow-heavy);border-radius:12px;flex-direction:column;gap:10px;width:440px;max-width:90vw;padding:24px;display:flex}.share-modal__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-modal__title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.share-modal__file{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.share-modal__state{color:var(--color-text-muted);align-items:center;gap:6px;margin:6px 0 0;font-size:13px;font-weight:600;display:flex}.share-modal__state--open{color:var(--color-success)}.share-modal__hint{color:var(--color-text-subtle);margin:0;font-size:12px;line-height:1.4}.share-modal__link-row{align-items:center;gap:8px;margin-top:6px;display:flex}.share-modal__link-field{flex:1;min-width:0}.share-modal__expiry{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.share-modal__expiry-label{color:var(--color-text-secondary);font-size:13px}.share-modal__expiry-select{border:1px solid var(--color-border);background:var(--color-surface);max-width:200px;color:var(--color-text);cursor:pointer;border-radius:8px;flex:1;padding:7px 10px;font-family:inherit;font-size:13px}.share-modal__expiry-select:focus{border-color:var(--color-accent);outline:none}.share-modal__date-field{align-self:flex-end;max-width:200px}.share-modal__actions{justify-content:flex-end;margin-top:8px;display:flex}.share-modal__expires{color:var(--color-text-muted);margin:2px 0 0;font-size:12px}.dwg-debug-panel{background:var(--color-surface);border:1px solid var(--color-border);width:320px;max-height:calc(100% - 356px);box-shadow:0 8px 32px var(--color-shadow-heavy);color:var(--color-text-secondary);border-radius:12px;padding:12px;font-size:12px;position:absolute;top:292px;right:12px;overflow-y:auto}.dwg-debug-panel__section{margin-bottom:14px}.dwg-debug-panel__section:last-child{margin-bottom:0}.dwg-debug-panel__title{color:var(--color-text);margin-bottom:6px;font-size:12px;font-weight:600}.dwg-debug-panel__row{padding:2px 0}.dwg-debug-panel__checkbox-row{cursor:pointer;align-items:center;gap:6px;display:flex}.dwg-debug-panel__block{margin-bottom:8px}.dwg-debug-panel__chunk-grid{flex-wrap:wrap;gap:3px;margin:4px 0 6px;display:flex}.dwg-debug-panel__chunk-square{background:var(--color-border);border-radius:2px;flex-shrink:0;width:10px;height:10px}.dwg-debug-panel__chunk-square--loading{background:var(--color-blue);animation:1s ease-in-out infinite dwg-debug-panel-chunk-pulse}.dwg-debug-panel__chunk-square--done{background:var(--color-success)}.dwg-debug-panel__chunk-square--error{background:var(--color-danger);cursor:pointer}@keyframes dwg-debug-panel-chunk-pulse{50%{opacity:.4}}.dwg-debug-panel__perf-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:11px}.dwg-debug-panel__perf-table th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:2px 4px;font-weight:600}.dwg-debug-panel__perf-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);padding:2px 4px}.dwg-debug-panel__perf-table th:not(:first-child),.dwg-debug-panel__perf-table td:not(:first-child){text-align:right}.dwg-layers-panel{background:var(--color-surface);border:1px solid var(--color-border);width:260px;max-height:calc(100% - 356px);box-shadow:0 8px 32px var(--color-shadow-heavy);color:var(--color-text-secondary);border-radius:12px;padding:12px;font-size:12px;position:absolute;top:292px;right:12px;overflow-y:auto}.dwg-layers-panel__title{color:var(--color-text);margin-bottom:6px;font-size:12px;font-weight:600}.dwg-layers-panel__list{margin:0;padding:0;list-style:none}.dwg-layers-panel__layer{align-items:center;gap:6px;padding:3px 0;display:flex}.dwg-layers-panel__layer--hidden{opacity:.5;text-decoration:line-through}.dwg-layers-panel__visibility{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:color .12s;display:flex}.dwg-layers-panel__visibility:hover{color:var(--color-text-secondary)}.dwg-layers-panel__layer:not(.dwg-layers-panel__layer--hidden) .dwg-layers-panel__visibility{color:var(--color-warning)}.dwg-layers-panel__swatch-label{cursor:pointer;flex-shrink:0;display:flex;position:relative}.dwg-layers-panel__swatch{border:1px solid var(--color-border);border-radius:2px;flex-shrink:0;width:12px;height:12px}.dwg-layers-panel__color-input{opacity:0;cursor:pointer;border:none;width:12px;height:12px;padding:0;position:absolute;inset:0}.dwg-layers-panel__lineweight{width:12px;height:12px;color:var(--color-text-subtle);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dwg-layers-panel__lineweight-value{color:var(--color-text-muted);font-size:6px;line-height:1}.dwg-layers-panel__lineweight-bar{background:var(--color-text-subtle);border-radius:1px;width:10px;max-height:4px}.dwg-layers-panel__name{overflow-wrap:break-word;min-width:0}.dwg-background-toggle{position:relative}.dwg-background-toggle__swatch{border:1.5px solid var(--color-text-subtle);width:18px;height:18px;box-shadow:0 0 0 1px var(--color-surface) inset;border-radius:4px}.dwg-background-toggle__arrow{background:var(--color-surface);border:1px solid var(--color-border);width:22px;height:22px;color:var(--color-text-subtle);cursor:pointer;box-shadow:0 2px 8px var(--color-shadow);opacity:0;pointer-events:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s,opacity .15s,transform .15s;display:flex;position:absolute;top:50%;right:100%;transform:translateY(-50%)translate(6px)}.dwg-background-toggle:hover .dwg-background-toggle__arrow{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.dwg-background-toggle__arrow:hover{background:var(--color-bg);color:var(--color-text)}.dwg-background-toggle__dropdown{background:var(--color-surface);border:1px solid var(--color-border);min-width:200px;box-shadow:0 4px 12px var(--color-shadow);z-index:100;border-radius:8px;padding:10px;position:absolute;top:0;right:calc(100% + 8px)}.dwg-background-toggle__color-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.dwg-background-toggle__color-input{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:24px;padding:0}.dwg-background-toggle__reset{width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:13px;transition:color .12s;display:flex}.dwg-background-toggle__reset:hover:not(:disabled){color:var(--color-text)}.dwg-background-toggle__reset:disabled{opacity:.5;cursor:not-allowed}.dwg-layout-tabs{background:var(--color-surface);border:1px solid var(--color-border);width:max-content;max-width:calc(100% - 24px);box-shadow:0 2px 8px var(--color-shadow);border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px;overflow-x:auto}.dwg-layout-tabs__tab{font:inherit;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.dwg-layout-tabs__tab:hover{color:var(--color-text)}.dwg-layout-tabs__tab--active{background:var(--color-bg);color:var(--color-text);font-weight:600}.dwg-file-info-panel{background:var(--color-surface);border:1px solid var(--color-border);width:max-content;max-width:min(320px,100vw - 24px);box-shadow:0 8px 32px var(--color-shadow-heavy);color:var(--color-text-secondary);z-index:20;border-radius:10px;padding:10px 12px;font-size:12px;position:absolute;top:calc(100% + 6px);left:0}.dwg-file-info-panel__row{justify-content:space-between;gap:16px;padding:3px 0;display:flex}.dwg-file-info-panel__label{color:var(--color-text-muted);white-space:nowrap}.dwg-file-info-panel__value{color:var(--color-text);text-align:right;white-space:nowrap;font-weight:500}.dwg-viewer{background:var(--color-bg);flex-direction:column;height:100vh;display:flex}.dwg-viewer__canvas-wrap{flex:1;min-height:0;display:flex;position:relative}.dwg-viewer__canvas{width:100%;height:100%;display:block}.dwg-viewer__filename-wrap{max-width:calc(100% - 24px);position:absolute;top:12px;left:12px}.dwg-viewer__filename{background:var(--color-surface);border:1px solid var(--color-border);max-width:100%;box-shadow:0 2px 8px var(--color-shadow);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:background .12s;display:block;overflow:hidden}.dwg-viewer__filename:hover{background:var(--color-bg)}.dwg-viewer__toolbar{flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;right:12px}.dwg-viewer__progress{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow);color:var(--color-text-muted);border-radius:8px;padding:6px 12px;font-size:13px;position:absolute;bottom:12px;left:12px}.dwg-viewer__errors{z-index:1000;position:fixed;bottom:24px;right:24px}.viewer-page__status{height:100vh;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:15px;display:flex}.viewer-page__status--error{color:var(--color-danger-hover)}.invite-card{background:var(--color-surface);width:90%;max-width:400px;box-shadow:0 4px 24px var(--color-shadow);border-radius:20px;flex-direction:column;align-items:center;gap:0;padding:48px 44px;display:flex}.invite-card__avatar{width:64px;height:64px;margin-top:28px;font-size:24px}.invite-card__title{color:var(--color-text);text-align:center;margin:16px 0 6px;font-size:20px;font-weight:700}.invite-card__subtitle{color:var(--color-text-subtle);text-align:center;margin:0 0 28px;font-size:14px}.invite-card__loading{color:var(--color-text-subtle);text-align:center;margin:24px 0 0;font-size:14px}.invite-card__error{width:100%;margin-top:24px}.invite-card__login-hint{color:var(--color-text-subtle);text-align:center;margin:16px 0 0;font-size:13px}.invite-card__link-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:600}.invite-card__link-btn:hover{color:var(--color-text);text-decoration:underline}.shared-page{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.shared-page__head{border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:20px 32px}.shared-page__viewer{z-index:900;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 8px 24px var(--color-shadow);border-radius:12px;padding:6px;position:fixed;bottom:24px;left:24px}.shared-page__guest{align-items:center;gap:10px;padding:4px 6px 4px 10px;display:flex}.shared-page__guest-label{color:var(--color-text-subtle);font-size:13px}.shared-page__menu{z-index:1000;min-width:160px;position:absolute;bottom:calc(100% + 8px);left:0}.shared-page__body{box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;padding:32px 20px 64px}.shared-page__loading{text-align:center;color:var(--color-text-subtle);margin-top:80px;font-size:15px}.shared-page__crumbs{flex-wrap:wrap;align-items:center;margin-bottom:8px;display:flex}.shared-page__crumb{align-items:center;display:inline-flex}.shared-page__crumb-separator{color:var(--color-text-faint);margin:0 2px}.shared-page__crumb-gap{color:var(--color-text-faint);padding:0 6px;font-size:13px}.shared-page__title{color:var(--color-text);text-overflow:ellipsis;margin:0;font-size:22px;font-weight:600;overflow:hidden}.shared-page__subtitle{color:var(--color-text-subtle);margin:4px 0 0;font-size:13px}.shared-page__error{margin-top:16px}.shared-page__list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-top:24px;overflow:hidden}.shared-page__row:hover{background:var(--color-bg)}.shared-page__row--openable{cursor:pointer}.shared-page__cell--name{width:100%;max-width:0}.shared-page__name-cell{min-width:0;color:var(--color-text);align-items:center;gap:10px;display:flex}.shared-page__icon{color:var(--color-text-muted);flex-shrink:0}.shared-page__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shared-page__cell--size{white-space:nowrap;width:1%}.shared-page__cell--actions{white-space:nowrap;text-align:right;width:1%}.shared-page__row-actions{gap:8px;display:inline-flex}.shared-page__actions{align-items:center;gap:16px;margin-top:28px;display:flex}.shared-page__open{color:var(--color-blue);font-size:13px;text-decoration:none}.shared-page__open:hover{text-decoration:underline}.error-boundary{background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;display:flex}.error-boundary__title{color:var(--color-text);margin:0;font-size:18px;font-weight:600}.error-boundary__hint{color:var(--color-text-muted);margin:0 0 12px;font-size:14px}
