:root{--brand:#0078d4;--brand-hover:#106ebe;--brand-dark:#005a9e;--brand-bg:#0078d41f;--brand-text:#fff;--bg-page:#faf9f8;--bg-card:#fff;--bg-alt:#faf9f8;--bg-hover:#f3f2f1;--bg-input:#fff;--bg-overlay:#00000073;--text-primary:#323130;--text-secondary:#605e5c;--text-muted:#a19f9d;--text-disabled:#c8c6c4;--border:#edebe9;--border-strong:#c8c6c4;--border-focus:#0078d4;--success:#107c10;--success-bg:#dff6dd;--success-border:#a7e3a5;--warning:#ca5010;--warning-bg:#fff4ce;--warning-border:#ffe58f;--error:#d13438;--error-bg:#fde7e9;--error-border:#f5b0b5;--info:#0078d4;--info-bg:#e6f2fb;--info-border:#c7e0f4;--sidebar-bg:#1b1a19;--sidebar-header-bg:#0078d4;--sidebar-text:#d2d0ce;--sidebar-section-txt:#8a8886;--sidebar-border:#323130;--sidebar-active-bg:#0078d433;--sidebar-hover-bg:#ffffff0f;--sidebar-active-txt:#fff;--sidebar-width:240px;--shadow-sm:0 1px 4px #0000001a;--shadow-md:0 4px 20px #0000001f;--shadow-lg:0 8px 40px #00000038;--radius-sm:4px;--radius-md:8px;--radius-full:999px;--font:"Segoe UI", system-ui, Roboto, sans-serif;--fs-xs:11px;--fs-sm:12px;--fs-base:14px;--fs-md:16px;--fs-xl:28px;--t-fast:.1s ease;--t-base:.15s ease;--t-slow:.25s ease}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#201f1e;--bg-card:#252423;--bg-alt:#1f1e1d;--bg-hover:#2d2c2b;--bg-input:#2d2c2b;--bg-overlay:#000000a6;--text-primary:#e1dfdd;--text-secondary:#b3b0ad;--text-muted:#7a7876;--text-disabled:#484644;--border:#3b3a39;--border-strong:#605e5c;--border-focus:#4da0e0;--success-bg:#0d230d;--success-border:#1a4a1a;--warning-bg:#2a1a00;--warning-border:#5a3200;--error-bg:#2a0a0c;--error-border:#5a1a1e;--info-bg:#0a1e32;--info-border:#0d3060;--shadow-sm:0 1px 4px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 40px #0009}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);font-size:var(--fs-base);color:var(--text-primary);background:var(--bg-page);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}#root{min-height:100vh}h1,h2,h3{font-family:var(--font);color:var(--text-primary)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.login-page{background:var(--bg-page);height:100vh;display:flex}.login-brand{background:var(--sidebar-bg);width:420px;min-width:320px;color:var(--sidebar-text);flex-direction:column;justify-content:center;padding:48px 40px;display:flex}.login-brand-logo{color:var(--brand);margin-bottom:20px;font-size:48px}.login-brand-title{color:#fff;font-size:26px;font-weight:700;font-family:var(--font);margin:0 0 12px}.login-brand-desc{font-size:var(--fs-base);color:var(--sidebar-text);opacity:.8;margin:0;line-height:1.7}.login-form-panel{flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:40px}.login-card-title{font-size:var(--fs-xl);color:var(--text-primary);margin:0 0 8px;font-weight:600}.login-card-subtitle{font-size:var(--fs-base);color:var(--text-secondary);margin:0 0 32px}.login-btn{background:var(--brand);width:100%;color:var(--brand-text);border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:600;font-family:var(--font);cursor:pointer;transition:background var(--t-base);border:none;justify-content:center;align-items:center;gap:10px;padding:12px 20px;display:flex}.login-btn:hover{background:var(--brand-hover)}.login-btn-icon{font-size:20px}.login-footer{font-size:var(--fs-sm);color:var(--text-muted);text-align:center;margin-top:24px;line-height:1.6}@media (width<=640px){.login-brand{display:none}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);height:100vh;color:var(--sidebar-text);font-family:var(--font);font-size:var(--fs-base);transition:transform var(--t-slow);flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{background:var(--sidebar-header-bg);color:var(--brand-text);font-size:var(--fs-md);align-items:center;gap:10px;padding:16px 20px;font-weight:600;display:flex}.sidebar-logo{font-size:22px}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar-section{margin-bottom:4px}.sidebar-section-title{font-size:var(--fs-xs);letter-spacing:.5px;color:var(--sidebar-section-txt);text-transform:uppercase;padding:12px 20px 4px;font-weight:600}.sidebar-item{width:100%;color:var(--sidebar-text);font-size:var(--fs-base);cursor:pointer;text-align:left;transition:background var(--t-base);background:0 0;border:none;align-items:center;gap:10px;padding:8px 20px;display:flex}.sidebar-item:hover{background:var(--sidebar-hover-bg)}.sidebar-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-txt);border-left:3px solid var(--brand);padding-left:17px}.sidebar-item-icon{font-size:var(--fs-md);align-items:center;display:flex}.sidebar-footer{border-top:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sidebar-user{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-avatar{background:var(--brand);width:32px;height:32px;color:var(--brand-text);font-size:var(--fs-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.sidebar-user-info{min-width:0}.sidebar-user-name{font-size:var(--fs-sm);color:#fff;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user-email{font-size:var(--fs-xs);color:var(--sidebar-section-txt);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-signout{color:var(--sidebar-section-txt);cursor:pointer;font-size:var(--fs-md);border-radius:var(--radius-sm);transition:background var(--t-base), color var(--t-base);background:0 0;border:none;align-items:center;padding:6px;display:flex}.sidebar-signout:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text)}.sidebar-overlay{display:none}@media (width<=768px){.sidebar{z-index:800;box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{background:var(--bg-overlay);z-index:799;display:block;position:fixed;inset:0}.sidebar-hamburger{display:flex!important}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-md);pointer-events:all;border-left:4px solid #0000;align-items:center;gap:10px;min-width:280px;max-width:420px;padding:12px 14px;animation:.2s toast-slide-in;display:flex}.toast-success{border-left-color:var(--success)}.toast-warning{border-left-color:var(--warning)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--info)}.toast-icon{flex-shrink:0;font-size:18px}.toast-icon.success{color:var(--success)}.toast-icon.warning{color:var(--warning)}.toast-icon.error{color:var(--error)}.toast-icon.info{color:var(--info)}.toast-message{font-size:var(--fs-base);color:var(--text-primary);flex:1;line-height:1.5}.toast-close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);font-size:var(--fs-base);transition:color var(--t-base);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px 4px;display:flex}.toast-close:hover{color:var(--text-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.app-layout{height:100vh;display:flex;overflow:hidden}.app-main{background:var(--bg-page);flex:1;min-width:0;padding:32px 40px;overflow-y:auto}@media (width<=900px){.app-main{padding:24px 20px}}@media (width<=640px){.app-main{padding:16px}}.dashboard-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0 0 4px;font-weight:600}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.dashboard-refresh{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;color:var(--text-primary);transition:background var(--t-base);align-items:center;gap:6px;padding:8px 16px;display:flex}.dashboard-refresh:hover{background:var(--bg-hover)}.dashboard-subtitle{color:var(--text-secondary);font-size:var(--fs-base);margin:0}.status-banner{border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 20px;font-size:13px;display:flex}.status-banner.status-healthy{background:var(--success-bg);border:1px solid var(--success-border)}.status-banner.status-degraded{background:var(--warning-bg);border:1px solid var(--warning-border)}.status-banner.status-offline{background:var(--error-bg);border:1px solid var(--error-border)}.status-banner.status-checking{background:var(--bg-hover);border:1px solid var(--border)}.status-banner-left{align-items:center;gap:8px;font-weight:600;display:flex}.status-icon{font-size:20px}.icon-healthy{color:var(--success)}.icon-degraded{color:var(--warning)}.icon-offline{color:var(--error)}.icon-checking{color:var(--text-secondary)}.status-banner-right{align-items:center;gap:12px;display:flex}.status-badge{color:#323130;background:#ffffffb3;border-radius:12px;padding:2px 10px;font-size:12px}.status-time{font-size:var(--fs-sm);color:var(--text-secondary)}.dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.dashboard-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:flex-start;gap:16px;padding:20px;transition:box-shadow .15s;display:flex}.dashboard-card:hover{box-shadow:0 2px 8px #00000014}.dashboard-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.card-icon-blue{background:#deecf9}.card-icon-green{background:#dff6dd}.card-icon-amber{background:#fff4ce}.card-icon-purple{background:#e8daef}.dashboard-card-body{min-width:0}.dashboard-card-value{color:#323130;font-size:28px;font-weight:600;line-height:1.1}.dashboard-card-label{color:#8a8886;text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-size:12px;font-weight:600}.dashboard-card-detail{color:#a19f9d;margin-top:2px;font-size:12px}.detail-error{color:#d13438}.detail-warn{color:#ca5010}.log-summary-section{margin-bottom:24px}.log-summary-section h2{color:#323130;margin:0 0 8px;font-size:16px;font-weight:600}.log-summary-bar{background:#edebe9;border-radius:4px;height:8px;display:flex;overflow:hidden}.log-bar-segment{min-width:2px;transition:flex .3s}.bar-info{background:#0078d4}.bar-warn{background:#fa4}.bar-error{background:#d13438}.log-summary-labels{color:#605e5c;gap:20px;margin-top:8px;font-size:12px;display:flex}.log-label{align-items:center;gap:6px;display:flex}.log-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-info{background:#0078d4}.dot-warn{background:#fa4}.dot-error{background:#d13438}.dashboard-bottom{grid-template-columns:1fr 1fr;gap:24px;display:grid}.dashboard-section{margin-top:0}.dashboard-section h2{color:#323130;margin:0 0 12px;font-size:16px;font-weight:600}.dashboard-empty{color:#a19f9d;text-align:center;background:#fff;border:1px solid #edebe9;border-radius:8px;padding:24px;font-size:14px}.recent-projects{flex-direction:column;gap:4px;display:flex}.recent-project-item{background:#fff;border:1px solid #edebe9;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.recent-project-name{color:#323130;font-weight:600}.recent-project-date{color:#a19f9d;font-size:12px}.dashboard-activity{flex-direction:column;gap:4px;display:flex}.dashboard-activity-item{background:#fff;border:1px solid #edebe9;border-radius:6px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.dashboard-activity-item.level-error{border-left:3px solid #d13438}.dashboard-activity-item.level-warn{border-left:3px solid #fa4}.dashboard-activity-item.level-info{border-left:3px solid #0078d4}.activity-time{color:#a19f9d;min-width:80px;font-size:12px}.activity-category{color:#605e5c;min-width:80px;font-weight:600}.activity-message{color:#323130}.dashboard-activity-feed{background:#fff;border:1px solid #edebe9;border-radius:8px;margin-top:32px;padding:20px 24px 12px}.dashboard-feed-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dashboard-feed-filters{gap:4px;display:flex}.feed-level-btn{color:#605e5c;cursor:pointer;background:#f3f2f1;border:none;border-radius:3px;padding:3px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.feed-level-btn.active{color:#0078d4;background:#e6f2fb}.feed-level-btn.level-warn.active{color:#ca5010;background:#fff4ce}.feed-level-btn.level-error.active{color:#d13438;background:#fde7e9}.dashboard-feed-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.feed-log-item{border-bottom:1px solid #f3f2f1;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.feed-log-item:last-child{border-bottom:none}.feed-log-time{color:#a19f9d;min-width:60px;font-family:Consolas,Courier New,monospace;font-size:12px}.feed-log-level{color:#0078d4;background:#e6f2fb;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700}.feed-log-item.level-warn .feed-log-level{color:#ca5010;background:#fff4ce}.feed-log-item.level-error .feed-log-level{color:#d13438;background:#fde7e9}.feed-log-category{color:#605e5c;min-width:70px;font-size:12px;font-weight:600}.feed-log-message{color:#323130;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.dashboard-feed-empty{color:#a19f9d;text-align:center;padding:12px 0;font-size:13px}.datatable-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.datatable-scroll{overflow-x:auto}.datatable{border-collapse:collapse;width:100%;font-size:14px}.datatable thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.datatable th{text-align:left;color:var(--text-secondary);font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 16px}.datatable th.sortable{cursor:pointer}.datatable th.sortable:hover{background:var(--bg-hover)}.th-content{align-items:center;gap:4px;display:flex}.sort-icon{opacity:.5;font-size:12px;display:inline-flex}.datatable th.sortable:hover .sort-icon{opacity:1}.datatable td{color:var(--text-primary);border-bottom:1px solid var(--bg-hover);white-space:nowrap;text-overflow:ellipsis;max-width:300px;padding:10px 16px;overflow:hidden}.datatable tbody tr{transition:background .1s}.datatable tbody tr:hover{background:var(--bg-hover)}.datatable tbody tr.clickable{cursor:pointer}.datatable tbody tr.selected{background:var(--info-bg)}.datatable tbody tr.selected:hover{background:var(--info-border)}.datatable tbody tr.active{background:var(--info-bg);border-left:3px solid var(--brand)}.datatable tbody tr.active td:first-child{padding-left:13px}.datatable-selection-bar{background:var(--info-bg);border-bottom:1px solid var(--info-border);font-size:var(--fs-base);color:var(--brand);align-items:center;gap:12px;padding:8px 16px;font-weight:600;display:flex}.dt-checkbox{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;margin:0 auto;display:block}:is(th:has(.dt-checkbox),td:has(.dt-checkbox)){text-align:center;width:40px;min-width:40px;padding-left:12px;padding-right:4px}.datatable-pagination{border-top:1px solid var(--border);background:var(--bg-alt);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.pagination-info{font-size:var(--fs-base);color:var(--text-secondary)}.pagination-controls{gap:4px;display:flex}.pagination-btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:background var(--t-base), border-color var(--t-base);justify-content:center;align-items:center;display:inline-flex}.pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.pagination-btn:disabled{opacity:.4;cursor:default}.datatable-loading{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-base);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.datatable-spinner{border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite dt-spin}@keyframes dt-spin{to{transform:rotate(360deg)}}.datatable-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--fs-base);justify-content:center;align-items:center;padding:48px 24px;display:flex}.detail-panel{background:var(--bg-card);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:380px;min-width:320px;height:100%;display:flex;overflow:hidden}.detail-panel-header{border-bottom:1px solid var(--border);background:var(--bg-alt);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.detail-panel-title{font-size:var(--fs-md);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.detail-panel-close{width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-base), color var(--t-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.detail-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.detail-panel-body{flex:1;padding:20px;overflow-y:auto}.detail-field{margin-bottom:16px}.detail-field-label{font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.detail-field-value{font-size:var(--fs-base);color:var(--text-primary);word-break:break-word}.status-badge{border-radius:12px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.active{background:var(--success-bg);color:var(--success)}.status-badge.completed{background:var(--info-bg);color:var(--info)}.status-badge.archived{background:var(--bg-hover);color:var(--text-secondary)}.status-badge.error{background:var(--error-bg);color:var(--error)}.status-badge.warning{background:var(--warning-bg);color:var(--warning)}.dialog-backdrop{background:var(--bg-overlay);z-index:9998;justify-content:center;align-items:center;animation:.15s dialog-fade-in;display:flex;position:fixed;inset:0}.dialog-card{background:var(--bg-card);border-radius:var(--radius-md);width:90%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;padding:32px 36px;animation:.15s dialog-scale-in}.dialog-icon-row{margin-bottom:16px}.dialog-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;display:inline-flex}.dialog-icon-danger{background:var(--error-bg);color:var(--error)}.dialog-icon-primary{background:var(--info-bg);color:var(--info)}.dialog-title{color:var(--text-primary);margin:0 0 10px;font-size:18px;font-weight:700}.dialog-message{font-size:var(--fs-base);color:var(--text-secondary);margin:0;line-height:1.6}.dialog-detail{font-size:var(--fs-sm);color:var(--text-muted);margin:8px 0 0;font-style:italic}.dialog-actions{justify-content:center;gap:10px;margin-top:28px;display:flex}.dialog-btn{border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:background var(--t-base), box-shadow var(--t-fast);min-width:90px;padding:9px 26px;font-weight:600}.dialog-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dialog-btn.cancel{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong)}.dialog-btn.cancel:hover{background:var(--bg-hover)}.dialog-btn.confirm.danger{background:var(--error);color:var(--brand-text);border:none}.dialog-btn.confirm.danger:hover{filter:brightness(.88)}.dialog-btn.confirm.primary{background:var(--brand);color:var(--brand-text);border:none}.dialog-btn.confirm.primary:hover{background:var(--brand-hover)}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--border) 25%, var(--bg-hover) 50%, var(--border) 75%);background-size:800px 100%;animation:1.4s linear infinite skeleton-shimmer;display:block}.skeleton-table{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.skeleton-table-header{background:var(--bg-alt);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 20px;display:grid}.skeleton-table-row{border-bottom:1px solid var(--bg-hover);align-items:center;gap:16px;padding:14px 20px;display:grid}.skeleton-table-row:last-child{border-bottom:none}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:20px;display:flex}.projects-page-layout{gap:0;height:100%;display:flex;overflow:hidden}.projects-page{flex-direction:column;flex:1;gap:16px;min-width:0;padding:0 4px 0 0;display:flex;overflow-y:auto}.projects-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0;font-weight:600}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.projects-header-left{align-items:baseline;gap:12px;display:flex}.projects-count{font-size:var(--fs-base);color:var(--text-muted);font-weight:400}.projects-header-right{align-items:center;gap:8px;display:flex}.projects-search-wrapper{align-items:center;display:flex;position:relative}.projects-search-wrapper .search-icon{color:var(--text-muted);font-size:var(--fs-md);pointer-events:none;position:absolute;left:10px}.projects-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);width:240px;color:var(--text-primary);transition:border-color var(--t-base);outline:none;padding:7px 12px 7px 32px}.projects-search:focus{border-color:var(--border-focus)}.projects-create-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px}.projects-create-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.projects-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);min-width:160px;color:var(--text-primary);transition:border-color var(--t-base);outline:none;flex:1;padding:7px 12px}.projects-input:focus{border-color:var(--border-focus)}.projects-btn-create{background:var(--brand);color:var(--brand-text);border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:background var(--t-base);white-space:nowrap;border:none;align-items:center;gap:6px;padding:7px 18px;font-weight:600;display:inline-flex}.projects-btn-create:hover:not(:disabled){background:var(--brand-hover)}.projects-btn-create:disabled{opacity:.5;cursor:default}.projects-btn-cancel{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;color:var(--text-secondary);transition:background var(--t-base);background:0 0;padding:7px 14px}.projects-btn-cancel:hover{background:var(--bg-hover)}.projects-btn-bulk-delete{border:1px solid var(--error);color:var(--error);border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:background var(--t-base), color var(--t-base);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:7px 14px;font-weight:600;display:inline-flex}.projects-btn-bulk-delete:hover{background:var(--error);color:var(--brand-text)}.cell-name{color:var(--brand);font-weight:600}.cell-muted{color:var(--text-muted)}.table-action-btn{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);transition:background var(--t-base), color var(--t-base);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.table-action-btn:hover{background:var(--bg-hover)}.table-action-btn.danger:hover{color:#d13438;background:#fde7e9}.detail-actions{border-top:1px solid #edebe9;margin-top:24px;padding-top:16px}.detail-action-btn{cursor:pointer;color:#323130;background:#fff;border:1px solid #c8c6c4;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.detail-action-btn.danger{color:#d13438;border-color:#d13438}.detail-action-btn.danger:hover{color:#fff;background:#d13438}.logs-page{flex-direction:column;gap:16px;height:100%;display:flex;overflow-y:auto}.logs-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0;font-weight:600}.logs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.logs-header-left{align-items:baseline;gap:12px;display:flex}.logs-count{font-size:var(--fs-base);color:var(--text-muted);font-weight:400}.logs-header-right{align-items:center;gap:8px;display:flex}.logs-action-btn{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);color:var(--text-primary);cursor:pointer;transition:background var(--t-base);white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-weight:600;display:inline-flex}.logs-action-btn:hover{background:var(--bg-hover)}.logs-action-btn.danger{border-color:var(--error);color:var(--error)}.logs-action-btn.danger:hover{background:var(--error-bg)}.logs-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.logs-level-filters{background:var(--bg-hover);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.logs-level-btn{font-size:var(--fs-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--t-base), color var(--t-base);background:0 0;border:none;border-radius:3px;padding:5px 14px;font-weight:600}.logs-level-btn.active{background:var(--bg-card);box-shadow:var(--shadow-sm)}.logs-level-btn.active.level-all{color:var(--text-primary)}.logs-level-btn.active.level-info{color:var(--info)}.logs-level-btn.active.level-warn{color:var(--warning)}.logs-level-btn.active.level-error{color:var(--error)}.logs-category-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);color:var(--text-primary);background:var(--bg-input);cursor:pointer;outline:none;padding:6px 10px}.logs-category-select:focus{border-color:var(--border-focus)}.logs-search-wrapper{align-items:center;display:flex;position:relative}.logs-search-wrapper .search-icon{color:var(--text-muted);font-size:var(--fs-md);pointer-events:none;position:absolute;left:10px}.logs-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);width:200px;color:var(--text-primary);transition:border-color var(--t-base);outline:none;padding:6px 12px 6px 32px}.logs-search:focus{border-color:var(--border-focus)}.log-level-badge{letter-spacing:.5px;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.log-level-badge.level-info{background:var(--info-bg);color:var(--info)}.log-level-badge.level-warn{background:var(--warning-bg);color:var(--warning)}.log-level-badge.level-error{background:var(--error-bg);color:var(--error)}.cell-timestamp{font-family:Consolas,Courier New,monospace;font-size:var(--fs-sm);color:var(--text-muted)}.cell-category{color:var(--text-secondary);font-weight:600;font-size:var(--fs-base)}.cell-message{font-size:var(--fs-base);color:var(--text-primary)}.logs-live-indicator{color:#16c60c;letter-spacing:1px;vertical-align:middle;margin-left:12px;font-size:13px;font-weight:700;animation:1.2s infinite logs-live-blink;display:inline-block}@keyframes logs-live-blink{0%,to{opacity:1}50%{opacity:.3}}.settings-page{flex-direction:column;gap:0;display:flex}.settings-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0;font-weight:600}.settings-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.settings-subtitle{color:var(--text-secondary);font-size:var(--fs-base);margin:4px 0 0}.settings-header-actions{gap:8px;display:flex}.settings-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:24px;display:flex}.settings-tab{font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;transition:color var(--t-base), border-color var(--t-base);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-weight:600}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.settings-btn{border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:background var(--t-base), border-color var(--t-base);white-space:nowrap;align-items:center;gap:6px;padding:8px 18px;font-weight:600;display:inline-flex}.settings-btn.primary{background:var(--brand);color:var(--brand-text);border:none}.settings-btn.primary:hover:not(:disabled){background:var(--brand-hover)}.settings-btn.primary:disabled{opacity:.5;cursor:default}.settings-btn.secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong)}.settings-btn.secondary:hover{background:var(--bg-hover)}.settings-section-list{flex-direction:column;gap:24px;display:flex}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.settings-section-title{font-size:var(--fs-base);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-alt);border-bottom:1px solid var(--border);padding:12px 20px;font-weight:700}.settings-loading{color:var(--text-muted);font-size:var(--fs-base);padding:12px 0}.setting-row{border-bottom:1px solid var(--bg-hover);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.setting-row:last-child{border-bottom:none}.setting-row-text{flex:1;min-width:0}.setting-row-label{font-size:var(--fs-base);color:var(--text-primary);margin-bottom:2px;font-weight:600}.setting-row-desc{font-size:var(--fs-sm);color:var(--text-muted)}.setting-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);color:var(--text-primary);background:var(--bg-input);cursor:pointer;outline:none;min-width:130px;padding:6px 10px}.setting-select:focus{border-color:var(--border-focus)}.setting-value-readonly{font-size:var(--fs-base);color:var(--text-secondary);background:var(--bg-hover);border-radius:var(--radius-sm);padding:4px 10px;font-family:Consolas,Courier New,monospace}.setting-badge-secure{font-size:var(--fs-sm);color:var(--success,#107c41);background:var(--success-bg,#e6f4ea);border:1px solid var(--success,#107c41);border-radius:var(--radius-full);white-space:nowrap;padding:3px 10px;font-weight:600}.setting-inline-code{background:var(--bg-hover);border-radius:3px;padding:1px 4px;font-family:Consolas,Courier New,monospace;font-size:.85em}.setting-toggle{border-radius:var(--radius-full);cursor:pointer;background:var(--border-strong);border:none;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.setting-toggle.on{background:var(--brand)}.toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.setting-toggle.on .toggle-thumb{left:23px}.preflight-container{flex-direction:column;gap:20px;display:flex}.preflight-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.preflight-header-text{flex:1}.preflight-desc{font-size:var(--fs-base);color:var(--text-secondary);margin:0 0 8px}.preflight-summary{font-size:var(--fs-base);gap:12px;font-weight:600;display:flex}.summary-pass{color:var(--success)}.summary-warn{color:var(--warning)}.summary-fail{color:var(--error)}.preflight-actions{gap:8px;display:flex}.preflight-checks{flex-direction:column;gap:12px;display:flex}.check-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--t-base);align-items:center;gap:16px;padding:16px 20px;display:flex}.check-card.status-pass{border-color:var(--success-border);background:var(--success-bg)}.check-card.status-warning{border-color:var(--warning-border);background:var(--warning-bg)}.check-card.status-fail{border-color:var(--error-border);background:var(--error-bg)}.check-card.status-running{border-color:var(--info-border);background:var(--info-bg)}.check-card-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:24px;display:flex}.check-icon.pending{color:var(--border-strong)}.check-icon.running{color:var(--brand)}.check-icon.pass{color:var(--success)}.check-icon.warning{color:var(--warning)}.check-icon.fail{color:var(--error)}.check-card-body{flex:1;min-width:0}.check-card-name{font-size:var(--fs-base);color:var(--text-primary);margin-bottom:2px;font-weight:600}.check-card-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.check-card-badge{letter-spacing:.5px;border-radius:12px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:700}.badge-pending{background:var(--bg-hover);color:var(--text-muted)}.badge-running{background:var(--info-bg);color:var(--info)}.badge-pass{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-fail{background:var(--error-bg);color:var(--error)}@keyframes settings-spin{to{transform:rotate(360deg)}}.users-page-layout{gap:0;height:100%;display:flex;overflow:hidden}.users-page{flex-direction:column;flex:1;gap:16px;min-width:0;padding:0 4px 0 0;display:flex;overflow-y:auto}.users-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0;font-weight:600}.users-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.users-header-left{align-items:baseline;gap:12px;display:flex}.users-count{font-size:var(--fs-base);color:var(--text-muted);font-weight:400}.users-header-right{align-items:center;gap:8px;display:flex}.users-search-wrapper{align-items:center;display:flex;position:relative}.users-search-wrapper .search-icon{color:#a19f9d;pointer-events:none;font-size:16px;position:absolute;left:10px}.users-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);width:240px;color:var(--text-primary);transition:border-color var(--t-base);outline:none;padding:7px 12px 7px 32px}.users-search:focus{border-color:var(--border-focus)}.cell-user-name{color:#323130;align-items:center;gap:8px;font-weight:600;display:inline-flex}.cell-user-icon{color:#0078d4;font-size:16px}.role-badge{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.role-badge.role-admin{color:#0078d4;background:#e6f2fb}.role-badge.role-guest{background:var(--warning-bg,#fff8e1);color:var(--warning,#b07d00)}.role-badge.role-documentation_admin{color:#6b21a8;background:#f3e8ff}.detail-role-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.role-select{border:1px solid var(--border-base,#ddd);border-radius:var(--radius-sm,6px);color:var(--text-primary);background:var(--bg-card,#fff);cursor:pointer;outline:none;padding:4px 8px;font-size:12px}.role-select:focus{border-color:var(--brand)}.role-select:disabled{opacity:.6;cursor:not-allowed}.role-updating{color:var(--text-muted);font-size:11px;font-style:italic}.invite-guest-section{background:var(--bg-card);border:1px solid var(--border-base);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.invite-guest-header{align-items:flex-start;gap:12px;display:flex}.invite-guest-icon{color:var(--brand);flex-shrink:0;margin-top:2px;font-size:22px}.invite-guest-title{font-size:var(--fs-md);color:var(--text-primary);font-weight:600}.invite-guest-desc{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.invite-guest-form{flex-wrap:wrap;gap:8px;display:flex}.invite-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:180px;font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--t-base);outline:none;flex:1;padding:7px 12px}.invite-input:focus{border-color:var(--border-focus)}.invite-input:disabled{opacity:.6;cursor:not-allowed}.invite-submit-btn{background:var(--brand);color:#fff;border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:opacity var(--t-base);white-space:nowrap;border:none;padding:7px 20px;font-weight:600}.invite-submit-btn:hover:not(:disabled){opacity:.88}.invite-submit-btn:disabled{opacity:.5;cursor:not-allowed}.user-delete-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:background var(--t-base), color var(--t-base);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.user-delete-btn:hover{background:var(--error-bg,#fde7e9);color:var(--error)}.detail-danger-zone{border-top:1px solid var(--border-base);margin-top:24px;padding-top:16px}.detail-workspace-list{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.detail-workspace-tag{color:#0078d4;background:#e8f4fd;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.8rem;font-weight:500;display:inline-flex}.workspace-tag-remove{color:#0078d4;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0 2px;font-size:1rem;line-height:1;display:inline-flex}.workspace-tag-remove:hover{opacity:1;background:#0078d41f}.workspace-tag-remove:disabled{opacity:.3;cursor:not-allowed}.detail-add-workspace{gap:6px;margin-top:6px;display:flex}.detail-workspace-select{border:1px solid var(--border-base,#ccc);background:#fff;border-radius:4px;flex:1;min-width:0;padding:5px 8px;font-size:.82rem}.detail-workspace-select:focus{border-color:#0078d4;outline:none}.detail-add-workspace-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#0078d4;border:none;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.detail-add-workspace-btn:disabled{opacity:.5;cursor:not-allowed}.detail-add-workspace-btn:hover:not(:disabled){background:#106ebe}.detail-signin-table{border:1px solid var(--border-base,#e1dfdd);border-radius:4px;max-height:220px;margin-top:4px;overflow-y:auto}.detail-signin-table table{border-collapse:collapse;width:100%;color:var(--text-primary,#323130);font-size:.78rem}.detail-signin-table th{text-align:left;border-bottom:1px solid var(--border-base,#e1dfdd);white-space:nowrap;background:#faf9f8;padding:5px 6px;font-weight:600;position:sticky;top:0}.detail-signin-table td{border-bottom:1px solid var(--border-base,#e1dfdd);vertical-align:top;padding:5px 6px}.detail-signin-table tr:last-child td{border-bottom:none}.detail-block-btn{border:1px solid var(--error,#d13438);border-radius:var(--radius-sm,4px);color:var(--error,#d13438);font-size:var(--fs-base,14px);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px 16px;font-weight:600;transition:background .15s;display:inline-flex}.detail-block-btn:hover:not(:disabled){background:var(--error-bg,#fde7e9)}.detail-block-btn.unblock{color:#0078d4;border-color:#0078d4}.detail-block-btn.unblock:hover:not(:disabled){background:#e8f4fd}.detail-block-btn:disabled{opacity:.5;cursor:not-allowed}.detail-remove-btn{border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);font-size:var(--fs-base);cursor:pointer;transition:background var(--t-base);background:0 0;align-items:center;gap:6px;padding:7px 16px;font-weight:600;display:inline-flex}.detail-remove-btn:hover{background:var(--error-bg,#fde7e9)}.detail-loading{color:#a19f9d;text-align:center;padding:24px 0;font-size:14px}.detail-project-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.detail-project-item{background:#faf9f8;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;display:flex}.detail-project-name{color:#323130;font-weight:600}.placeholder-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0 0 4px;font-weight:600}.placeholder-subtitle{color:var(--text-secondary);font-size:var(--fs-base);margin:0 0 32px}.placeholder-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);font-size:var(--fs-base);padding:48px 24px}.placeholder-icon{margin-bottom:16px;font-size:48px;display:block}.placeholder-content p{margin:0 0 4px}.placeholder-hint{color:var(--text-muted);font-size:var(--fs-base)}.file-viewer-overlay{z-index:1200;background:#00000080;justify-content:center;align-items:center;animation:.15s fv-fade-in;display:flex;position:fixed;inset:0}@keyframes fv-fade-in{0%{opacity:0}to{opacity:1}}.file-viewer-panel{background:var(--bg-primary,#fff);border-radius:10px;flex-direction:column;width:800px;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.file-viewer-wide{width:1100px}.file-viewer-header{border-bottom:1px solid var(--border-light,#e0e0e0);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.file-viewer-title{color:var(--text-primary,#1a1a1a);white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.file-viewer-actions{align-items:center;gap:6px;display:flex}.fv-btn{border:1px solid var(--border-light,#d0d0d0);background:var(--bg-primary,#fff);color:var(--text-primary,#333);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:5px 10px;font-size:.8rem;transition:background .15s,border-color .15s;display:inline-flex}.fv-btn:hover{background:var(--bg-hover,#f3f3f3)}.fv-btn:disabled{opacity:.5;cursor:not-allowed}.fv-btn-primary{color:#fff;background:#0078d4;border-color:#0078d4}.fv-btn-primary:hover{background:#106ebe}.fv-btn-active{color:#0078d4;background:#e8f4fd;border-color:#0078d4}.fv-btn-close{color:var(--text-muted,#888);background:0 0;border:none;padding:4px 6px;font-size:1.1rem}.fv-btn-close:hover{color:var(--text-primary,#333);background:var(--bg-hover,#f0f0f0)}.fv-btn-sm{padding:3px 8px;font-size:.75rem}.file-viewer-body{flex:1;min-height:300px;padding:16px;overflow:auto}.fv-loading,.fv-error{height:200px;color:var(--text-muted,#888);justify-content:center;align-items:center;font-size:.9rem;display:flex}.fv-error{color:#d32f2f}.file-viewer-pdf-body{padding:0}.file-viewer-pdf-frame{border:none;width:100%;height:calc(90vh - 60px)}.file-viewer-docx-content{color:var(--text-primary,#1a1a1a);word-wrap:break-word;max-width:100%;font-family:Segoe UI,Tahoma,sans-serif;font-size:.9rem;line-height:1.6}.file-viewer-docx-content h1{margin:16px 0 8px;font-size:1.6rem}.file-viewer-docx-content h2{margin:14px 0 6px;font-size:1.3rem}.file-viewer-docx-content h3{margin:12px 0 4px;font-size:1.1rem}.file-viewer-docx-content p{margin:6px 0}.file-viewer-docx-content table{border-collapse:collapse;width:100%;margin:12px 0}.file-viewer-docx-content table td,.file-viewer-docx-content table th{border:1px solid var(--border-light,#d0d0d0);padding:6px 10px;font-size:.85rem}.file-viewer-docx-content img{max-width:100%;height:auto}.file-viewer-docx-content ul,.file-viewer-docx-content ol{padding-left:24px}.fv-sheet-tabs{border-bottom:1px solid var(--border-light,#e0e0e0);flex-shrink:0;gap:0;padding:0 16px;display:flex;overflow-x:auto}.fv-sheet-tab{color:var(--text-muted,#666);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;font-size:.8rem;transition:color .15s,border-color .15s}.fv-sheet-tab:hover{color:var(--text-primary,#333)}.fv-sheet-tab.active{color:#0078d4;border-bottom-color:#0078d4;font-weight:600}.fv-table-toolbar{gap:6px;margin-bottom:8px;display:flex}.fv-table-wrapper{border:1px solid var(--border-light,#e0e0e0);border-radius:6px;max-height:calc(90vh - 180px);overflow:auto}.fv-spreadsheet{border-collapse:collapse;width:100%;font-size:.82rem}.fv-spreadsheet thead{z-index:2;position:sticky;top:0}.fv-spreadsheet th{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-light,#e0e0e0);text-align:left;white-space:nowrap;color:var(--text-primary,#333);padding:6px 10px;font-size:.8rem;font-weight:600}.fv-spreadsheet td{border:1px solid var(--border-light,#e8e8e8);white-space:nowrap;text-overflow:ellipsis;max-width:300px;padding:4px 8px;overflow:hidden}.fv-spreadsheet tbody tr:hover{background:var(--bg-hover,#f8f8f8)}.fv-cell-editable{cursor:text}.fv-cell-editable:hover{background:#e8f4fd}.fv-cell-text{min-height:1.2em;display:block}.fv-cell-input{box-sizing:border-box;background:#fff;border:1px solid #0078d4;border-radius:2px;outline:none;width:100%;padding:2px 4px;font-family:inherit;font-size:.82rem}.fv-header-cell{align-items:center;gap:4px;display:flex}.fv-header-input{font-weight:600}.fv-row-num{text-align:center;background:var(--bg-secondary,#f5f5f5);width:32px;color:var(--text-muted,#999);font-size:.75rem;position:relative}.fv-row-delete,.fv-col-delete{color:var(--text-muted,#aaa);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:1px;font-size:.7rem;transition:opacity .15s,color .15s;display:inline-flex}.fv-row-delete:hover,.fv-col-delete:hover{opacity:1;color:#d32f2f;background:#fde8e8}.csv-export-dialog{text-align:left;max-width:480px}.csv-export-dialog .dialog-title{text-align:left}.csv-export-dialog .dialog-message{text-align:left;margin-bottom:20px}.csv-export-field{margin-bottom:20px}.csv-export-field label{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:6px;font-weight:600;display:block}.csv-export-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-base);color:var(--text-primary);background:var(--bg-base);box-sizing:border-box;transition:border-color var(--t-fast);padding:9px 12px}.csv-export-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #0078d426}.csv-export-input:disabled{opacity:.6}.csv-export-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.csv-export-btn{align-items:center;gap:6px;display:inline-flex}.ws-page{flex-direction:column;gap:16px;display:flex}.ws-page h1{font-size:var(--fs-xl);color:var(--text-primary);margin:0;font-weight:600}.ws-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ws-subtitle{color:var(--text-secondary);font-size:var(--fs-base);margin:4px 0 0}.ws-btn{border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:background var(--t-base), opacity var(--t-base);border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.ws-btn:disabled{opacity:.55;cursor:not-allowed}.ws-btn.primary{background:var(--brand);color:#fff}.ws-btn.primary:hover:not(:disabled){background:var(--brand-hover)}.ws-btn.secondary{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border)}.ws-btn.secondary:hover:not(:disabled){background:var(--bg-hover)}.ws-btn.danger{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.ws-btn.danger:hover:not(:disabled){background:var(--error);color:#fff}.ws-btn-export{color:#fff;background:#0078d4;border:1px solid #0078d4}.ws-btn-export:hover:not(:disabled){background:#006cbe;border-color:#006cbe}.ws-icon-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--t-base), color var(--t-base);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:4px 6px;font-size:16px;display:inline-flex}.ws-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-icon-btn.muted{opacity:.5}.ws-icon-btn.muted:hover{opacity:1}.ws-icon-btn.success{color:var(--success)}.ws-icon-btn.success:hover{background:var(--success-bg)}.ws-icon-btn-danger{color:var(--error,#d92b2b)}.ws-icon-btn-danger:hover{background:var(--error-bg,#fde8e8);color:var(--error,#d92b2b)}.ws-create-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.ws-create-title{font-size:var(--fs-lg);color:var(--text-primary);margin:0;font-weight:600}.ws-create-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ws-create-field{flex-direction:column;gap:6px;display:flex}.ws-create-name-preview{background:var(--bg-hover,#f5f5f5);border-radius:var(--radius-sm,6px);font-size:var(--fs-sm);color:var(--text-secondary);margin:0;padding:10px 14px}.ws-create-actions{gap:8px;display:flex}.ws-search-bar{align-items:center;display:flex;position:relative}.ws-search-icon{color:var(--text-muted);pointer-events:none;align-items:center;font-size:16px;display:flex;position:absolute;left:10px}.ws-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:360px;font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--t-base);outline:none;padding:8px 12px 8px 34px}.ws-search-input:focus{border-color:var(--brand)}.ws-list-name{align-items:center;gap:8px;font-weight:500;display:flex}.ws-list-icon{color:var(--text-muted);flex-shrink:0}.ws-list-desc{color:var(--text-secondary)}.ws-member-count{color:var(--text-secondary);align-items:center;gap:4px;display:inline-flex}.ws-badge{font-size:var(--fs-sm);text-transform:capitalize;border-radius:999px;padding:2px 8px;font-weight:600;display:inline-block}.ws-badge-owner{background:var(--brand-subtle,#cce4ff);color:var(--brand,#0078d4)}.ws-badge-admin{background:var(--warning-bg);color:var(--warning)}.ws-badge-member{background:var(--bg-subtle);color:var(--text-secondary)}.ws-badge-viewer{background:var(--bg-subtle);color:var(--text-muted)}.ws-badge-active{background:var(--success-bg);color:var(--success)}.ws-badge-inactive{background:var(--bg-subtle);color:var(--text-muted)}.ws-badge-archived{background:var(--bg-hover);color:var(--text-muted)}.ws-badge-completed{background:var(--info-bg,#e6f3ff);color:var(--info,#0078d4)}.ws-badge-error{background:var(--error-bg);color:var(--error)}.ws-badge-warning{background:var(--warning-bg);color:var(--warning)}.ws-detail{flex-direction:column;gap:0;height:100%;display:flex}.ws-detail-loading{flex-direction:column;gap:20px;padding:8px 0;display:flex}.ws-back-btn{color:var(--brand);font-size:var(--fs-base);cursor:pointer;transition:opacity var(--t-base);background:0 0;border:none;align-items:center;gap:6px;padding:0 0 12px;font-weight:500;display:inline-flex}.ws-back-btn:hover{opacity:.75}.ws-detail-header{margin-bottom:8px}.ws-detail-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.ws-detail-logo{color:var(--brand);align-items:center;font-size:28px;display:flex}.ws-detail-name{font-size:var(--fs-xl);color:var(--text-primary);margin:0;font-weight:700}.ws-detail-desc{color:var(--text-secondary);font-size:var(--fs-base);margin:0 0 0 38px}.ws-header-name-static{align-items:center;gap:4px;display:flex}.ws-header-name-edit{align-items:center;gap:6px;display:flex}.ws-header-name-input{font-size:var(--fs-xl);border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);outline:none;min-width:200px;padding:2px 8px;font-weight:700}.ws-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:24px;display:flex;overflow-x:auto}.ws-tab{font-size:var(--fs-base);color:var(--text-secondary);cursor:pointer;transition:color var(--t-base), border-color var(--t-base);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 20px;font-weight:600;display:inline-flex}.ws-tab:hover{color:var(--text-primary)}.ws-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.ws-tab-icon{align-items:center;font-size:16px;display:flex}.ws-tab-content{flex-direction:column;flex:1;gap:20px;display:flex;overflow-y:auto}.ws-tab-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ws-tab-note{color:var(--text-secondary);font-size:var(--fs-sm);font-style:italic}.ws-stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.ws-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:16px;min-width:0;padding:16px 20px;display:flex}.ws-stat-body{flex:1;min-width:0}.ws-stat-icon{color:var(--brand);flex-shrink:0;align-items:center;font-size:28px;display:flex}.ws-stat-value{font-size:var(--fs-xl);color:var(--text-primary);text-transform:capitalize;word-break:break-word;overflow-wrap:break-word;min-width:0;font-weight:700;line-height:1.2}.ws-stat-label{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.ws-scan-all-btn{cursor:pointer;transition:border-color var(--t-base), background var(--t-base)}.ws-scan-all-btn:hover:not(:disabled){border-color:var(--brand);background:var(--brand-bg)}.ws-scan-all-btn:disabled{opacity:.5;cursor:not-allowed}.ws-scan-all-btn.scanning{border-color:var(--brand)}.ws-scan-all-label{font-size:var(--fs-md);color:var(--text-primary);font-weight:700;line-height:1.2}.ws-scan-all-hint{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px;display:block}.ws-overview-section{flex-direction:column;gap:12px;display:flex}.ws-section-title{font-size:var(--fs-lg);color:var(--text-primary);margin:0;font-weight:600}.ws-member-list{flex-wrap:wrap;gap:8px;display:flex}.ws-member-chip{background:var(--bg-card);border:1px solid var(--border);font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.ws-member-avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.ws-member-chip-name{color:var(--text-primary);font-weight:500}.ws-see-all-btn{border:1px dashed var(--border);font-size:var(--fs-sm);color:var(--brand);cursor:pointer;transition:background var(--t-base);background:0 0;border-radius:999px;padding:6px 14px}.ws-see-all-btn:hover{background:var(--bg-subtle)}.ws-detail-grid{flex-direction:column;gap:0;display:flex}.ws-detail-row{border-bottom:1px solid var(--border);font-size:var(--fs-base);align-items:flex-start;gap:16px;padding:10px 0;display:flex}.ws-detail-row:last-child{border-bottom:none}.ws-detail-label{min-width:160px;color:var(--text-muted);flex-shrink:0}.ws-detail-value{color:var(--text-primary);word-break:break-all}.ws-overview-tab{padding:0!important}.ws-overview-tab .ws-stats-grid{padding:20px 20px 0}.ws-overview-layout{border-top:1px solid var(--border);min-height:400px;margin-top:20px;display:flex}.ws-overview-sidenav{border-right:1px solid var(--border);background:var(--bg-subtle,var(--bg-page));flex-direction:column;flex-shrink:0;gap:2px;width:200px;padding:8px 0;display:flex}.ws-overview-nav-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 16px 4px;font-size:11px;font-weight:600}.ws-overview-nav-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:9px 16px;font-size:14px;transition:background .15s;display:flex}.ws-overview-nav-item:hover{background:var(--bg-hover)}.ws-overview-nav-item.active{border-left:3px solid var(--brand);background:var(--brand-bg,color-mix(in srgb, var(--brand) 8%, transparent));color:var(--brand);padding-left:13px;font-weight:500}.ws-overview-nav-icon{font-size:16px}.ws-overview-content{flex:1;padding:24px;overflow:auto}.ws-migration-tab{padding:0!important}.ws-migration-layout{min-height:480px;display:flex}.ws-migration-sidenav{border-right:1px solid var(--border);background:var(--bg-subtle,var(--bg-page));flex-direction:column;flex-shrink:0;gap:2px;width:210px;padding:8px 0;display:flex}.ws-migration-nav-section-label{font-size:var(--fs-xs,11px);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:10px 18px 4px;font-weight:600}.ws-migration-nav-item{cursor:pointer;font-size:var(--fs-base);color:var(--text-secondary);text-align:left;width:100%;transition:background var(--t-base), color var(--t-base);background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:9px 18px;display:flex}.ws-migration-nav-item:hover{background:var(--bg-hover,#0000000d);color:var(--text-primary)}.ws-migration-nav-item.active{background:var(--brand-bg,#0078d41a);color:var(--brand);border-left:2px solid var(--brand);padding-left:16px;font-weight:600}.ws-migration-nav-icon{flex-shrink:0;font-size:16px}.ws-migration-content{flex:1;padding:24px;overflow:auto}.ws-migration-section-header{margin-bottom:20px}.ws-migration-section-title{font-size:var(--fs-lg);color:var(--text-primary);margin:0 0 4px;font-weight:600}.ws-migration-section-desc{font-size:var(--fs-sm);color:var(--text-secondary);margin:0}.ws-migration-prereq{background:var(--bg-warning-subtle,#ffb90014);border:1px solid var(--color-warning,#ffb900);border-radius:var(--radius-md);align-items:flex-start;gap:14px;max-width:560px;padding:18px 20px;display:flex}.ws-migration-prereq-icon{color:var(--color-warning,#ffb900);flex-shrink:0;margin-top:1px;font-size:22px}.ws-migration-prereq-title{color:var(--text-primary);margin-bottom:4px;font-weight:600}.ws-migration-prereq-desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.ws-migration-coming-soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:480px;padding:56px 32px;display:flex}.ws-migration-coming-soon-icon{color:var(--text-tertiary,#8a8886);font-size:40px}.ws-migration-coming-soon-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}.ws-migration-coming-soon-desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.6}.ws-migration-ready-layout{flex-direction:column;gap:20px;display:flex}.ws-migration-tenant-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ws-migration-tenant-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:2px;min-width:180px;padding:10px 16px;display:flex}.ws-migration-tenant-chip.dest{border-color:var(--brand);background:var(--brand-bg,#0078d40f)}.ws-migration-tenant-chip-label{font-size:var(--fs-xs,11px);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.ws-migration-tenant-chip-name{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.ws-migration-arrow{color:var(--text-muted);flex-shrink:0;font-size:20px}.ws-migration-actions-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ws-migration-scan-count{font-size:var(--fs-sm);color:var(--text-secondary)}.ws-scan-history-select{border:1px solid var(--border);background:var(--bg-input,var(--bg-card));height:32px;color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;border-radius:4px;max-width:340px;padding:0 8px}.ws-scan-loading{font-size:var(--fs-sm);font-style:italic}.ws-compare-bar{background:var(--bg-surface-alt,var(--bg-card));border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;padding:10px 14px;display:flex}.ws-compare-label{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;font-weight:500}.ws-diff-section{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.ws-diff-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ws-diff-export-btn{font-size:var(--fs-sm);align-items:center;gap:5px;margin-left:auto;padding:5px 12px;display:inline-flex}.ws-diff-title{font-size:var(--fs-base);color:var(--text-primary);margin:0;font-weight:600}.ws-diff-summary{gap:8px;display:flex}.ws-diff-no-changes{color:var(--text-secondary);font-size:var(--fs-sm);font-style:italic}.ws-diff-badge{font-size:var(--fs-sm);white-space:nowrap;border-radius:10px;padding:2px 8px;font-weight:600;display:inline-block}.ws-diff-badge.added{color:#155724;background:#d4edda}.ws-diff-badge.removed{color:#721c24;background:#f8d7da}.ws-diff-badge.changed{color:#856404;background:#fff3cd}@media (prefers-color-scheme:dark){.ws-diff-badge.added{color:#6fcf97;background:#1a3a24}.ws-diff-badge.removed{color:#eb5757;background:#3a1a1a}.ws-diff-badge.changed{color:#f2c94c;background:#3a3010}}.ws-diff-fields{flex-wrap:wrap;gap:4px;display:flex}.ws-diff-pairs{font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.ws-diff-pair{display:block}.ws-upn{font-size:var(--fs-sm);color:var(--text-secondary)}.ws-muted{color:var(--text-muted,var(--text-secondary))}.ws-project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.ws-project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--t-base), box-shadow var(--t-base);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.ws-project-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm,0 2px 8px #00000014)}.ws-project-card-name{color:var(--text-primary);font-weight:600;font-size:var(--fs-base)}.ws-project-card-desc{font-size:var(--fs-sm);color:var(--text-secondary);flex:1}.ws-project-card-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.ws-project-card-date{font-size:var(--fs-sm);color:var(--text-muted)}.ws-invite-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:flex-end;gap:8px;padding:16px 20px;display:flex}.ws-invite-combobox{flex:1;min-width:220px;position:relative}.ws-invite-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--t-base);outline:none;padding:8px 12px}.ws-invite-input:focus{border-color:var(--brand)}.ws-invite-spinner{border:2px solid var(--border);border-top-color:var(--brand);pointer-events:none;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ws-invite-suggestions{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:100;max-height:240px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #00000026}.ws-invite-suggestion-item{cursor:pointer;flex-direction:column;gap:1px;padding:8px 12px;display:flex}.ws-invite-suggestion-item:hover{background:var(--bg-hover,#0078d414)}.ws-invite-suggestion-name{font-size:var(--fs-base);color:var(--text-primary);font-weight:500}.ws-invite-suggestion-email{font-size:var(--fs-sm);color:var(--text-muted)}.ws-invite-role-select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);cursor:pointer;outline:none;padding:8px 12px}.ws-role-select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--bg-input);color:var(--text-primary);cursor:pointer;outline:none;padding:3px 8px}.ws-member-name{font-weight:500}.ws-row-delete-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--t-base), background var(--t-base);background:0 0;border:none;align-items:center;padding:4px 6px;font-size:16px;display:flex}.ws-row-delete-btn:hover{color:var(--error);background:var(--error-bg)}.ws-activity-hint{background:var(--info-bg,#e6f3ff);border:1px solid var(--brand);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.ws-empty-icon{color:var(--brand);flex-shrink:0;font-size:28px}.ws-activity-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 20px}.ws-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.ws-settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.ws-settings-card-title{font-size:var(--fs-lg);color:var(--text-primary);border-bottom:1px solid var(--border);margin:0;padding-bottom:12px;font-weight:600}.ws-settings-card-title.danger{color:var(--error)}.ws-danger-zone{border-color:var(--error);background:var(--error-bg,#fff5f5)}.ws-danger-desc{color:var(--text-secondary);font-size:var(--fs-base);margin:0}.ws-settings-field{flex-direction:column;gap:6px;display:flex}.ws-settings-label{font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.ws-settings-input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);transition:border-color var(--t-base);outline:none;padding:8px 12px}.ws-settings-input:focus{border-color:var(--brand)}.ws-settings-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);resize:vertical;transition:border-color var(--t-base);outline:none;padding:8px 12px;font-family:inherit}.ws-settings-textarea:focus{border-color:var(--brand)}.ws-settings-select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--bg-input);color:var(--text-primary);cursor:pointer;outline:none;max-width:280px;padding:8px 12px}.ws-settings-actions{gap:8px;margin-top:4px;display:flex}@media (width<=640px){.ws-create-fields{grid-template-columns:1fr}.ws-stats-grid{grid-template-columns:1fr 1fr}.ws-tab{font-size:var(--fs-sm);padding:8px 12px}.ws-invite-form{flex-direction:column}.ws-invite-combobox{min-width:0}.ws-tenant-setup-grid,.ws-tenant-summary-grid{grid-template-columns:1fr}}.ws-breadcrumb{font-size:var(--fs-sm);color:var(--text-secondary);align-items:center;gap:4px;padding:8px 0 12px;display:flex}.ws-breadcrumb-link{color:var(--brand,#0078d4);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:none;padding:0;text-decoration:underline}.ws-breadcrumb-link:hover{color:var(--brand-hover,#005fa3)}.ws-breadcrumb-item{color:var(--text-primary);font-weight:500}.ws-breadcrumb-current{color:var(--text-secondary)}.ws-tab-badge{background:var(--brand,#0078d4);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.ws-tab.active .ws-tab-badge{color:var(--brand,#0078d4);background:#fff}.ws-badge-info{background:var(--info-bg,#e6f3ff);color:var(--brand,#0078d4)}.ws-badge-tenants{align-items:center;gap:2px;display:inline-flex}.ws-tenant-summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.ws-tenant-summary-card{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .2s;display:flex}.ws-tenant-summary-card.ready{border-color:var(--success,#107c10)}.ws-tenant-summary-icon{color:var(--text-muted);flex-shrink:0;font-size:20px}.ws-tenant-summary-card.ready .ws-tenant-summary-icon{color:var(--success,#107c10)}.ws-tenant-summary-body{flex:1;min-width:0}.ws-tenant-summary-label{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:2px}.ws-tenant-summary-value{font-size:var(--fs-base);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.ws-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ws-link-btn{color:var(--brand,#0078d4);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:none;padding:0}.ws-link-btn:hover{text-decoration:underline}.ws-tenant-tab-intro{background:var(--bg-subtle);border:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary);border-radius:8px;margin-bottom:20px;padding:12px 16px;line-height:1.5}.ws-tenant-tab-intro p{margin:0}.ws-tenant-setup-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.ws-tenant-card{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;flex-direction:column;gap:16px;padding:20px;transition:border-color .2s;display:flex}.ws-tenant-card-ready{border-color:var(--success,#107c10)}.ws-tenant-card-error{border-color:var(--error,#d13438)}.ws-tenant-card-header{justify-content:space-between;align-items:center;display:flex}.ws-tenant-card-title{align-items:center;gap:8px;display:flex}.ws-tenant-card-icon{color:var(--brand,#0078d4);font-size:18px}.ws-tenant-type-label{font-weight:600;font-size:var(--fs-base);color:var(--text-primary)}.ws-tenant-info-grid{margin:0}.ws-perm-tags{flex-wrap:wrap;gap:4px;display:flex}.ws-perm-tag{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:11px}.ws-tenant-card-actions{flex-wrap:wrap;gap:8px;display:flex}.ws-tenant-hint{font-size:var(--fs-sm);color:var(--text-secondary);margin:0;line-height:1.5}.ws-tenant-input-row{align-items:flex-end;gap:8px;display:flex}.ws-tenant-id-input{min-width:0;font-family:var(--font-mono,monospace);flex:1}.ws-tenant-error{font-size:var(--fs-sm);color:var(--error,#d13438);background:var(--error-bg);border-radius:6px;margin:0;padding:8px 12px}.ws-auth-tabs{border:1px solid var(--border);border-radius:6px;gap:0;display:flex;overflow:hidden}.ws-auth-tab{background:var(--bg-subtle);color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.ws-auth-tab:first-child{border-right:1px solid var(--border)}.ws-auth-tab:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.ws-auth-tab.active{background:var(--brand,#0078d4);color:#fff}.ws-tenant-cred-form{flex-direction:column;gap:8px;display:flex}.ws-tenant-cred-form .ws-btn{align-self:flex-start}.ws-cred-progress{min-height:48px;font-size:var(--fs-base);color:var(--text-primary);font-weight:500}.ws-app-selection-box{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.ws-app-selection-title{font-size:var(--fs-sm);color:var(--text-primary);margin:0;font-weight:600}.ws-app-select{width:100%;font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:var(--radius-sm,6px);cursor:pointer;outline:none;padding:8px 12px}.ws-app-select:focus{border-color:var(--accent,#0078d4);box-shadow:0 0 0 2px #0078d426}.ws-app-selection-hint{font-size:var(--fs-xs,12px);color:var(--text-secondary);margin:0}.ws-app-selection-actions{gap:8px;display:flex}.ws-device-code-box{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.ws-device-code-instruction{font-size:var(--fs-sm);color:var(--text-secondary);margin:0;line-height:1.5}.ws-device-code-link{font-size:var(--fs-sm);color:var(--brand,#0078d4);word-break:break-all}.ws-device-code-value-row{align-items:center;gap:10px;display:flex}.ws-device-code-value{font-family:var(--font-mono,"Courier New", monospace);letter-spacing:4px;color:var(--text-primary);background:var(--bg-card);border:2px solid var(--border);text-align:center;border-radius:6px;flex:1;padding:6px 14px;font-size:22px;font-weight:700}.ws-copy-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;font-size:var(--fs-sm);border-radius:6px;align-items:center;gap:4px;padding:6px 12px;transition:background .15s;display:inline-flex}.ws-copy-btn:hover{background:var(--bg-hover)}.ws-device-code-waiting{font-size:var(--fs-sm);color:var(--text-secondary);align-items:center;gap:8px;display:flex}.ws-spinner-icon{flex-shrink:0}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ws-tenant-cancel{align-self:flex-start}.ws-tenant-all-ready{background:var(--success-bg);border:1px solid var(--success,#107c10);color:var(--success,#107c10);font-weight:500;font-size:var(--fs-sm);border-radius:8px;align-items:center;gap:10px;margin-top:20px;padding:14px 18px;display:flex}.ws-tenant-ready-icon{flex-shrink:0;font-size:20px}.ws-create-hint{font-size:var(--fs-sm);color:var(--text-secondary);margin:4px 0;line-height:1.5}.ws-optional{font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.ws-mono{font-family:var(--font-mono,"Courier New", monospace);font-size:.85em}.ws-migrate-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ws-migrate-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:560px;max-width:100%;max-height:90vh;display:flex;box-shadow:0 8px 40px #00000040}.ws-migrate-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.ws-migrate-panel-title{margin:0 0 3px;font-size:1.05rem;font-weight:600}.ws-migrate-panel-subtitle{color:var(--text-muted);margin:0;font-size:.82rem}.ws-migrate-panel-body{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.ws-migrate-section{flex-direction:column;gap:8px;display:flex}.ws-migrate-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:600}.ws-migrate-attrs{flex-direction:column;gap:8px;display:flex}.ws-migrate-attr{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.ws-migrate-attr input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.ws-migrate-user-list{border:1px solid var(--border);border-radius:6px;overflow:hidden}.ws-migrate-user-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:7px 12px;font-size:.875rem;display:flex}.ws-migrate-user-row:last-child{border-bottom:none}.ws-migrate-panel-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.ws-migrate-results{flex-direction:column;gap:14px;display:flex}.ws-migrate-result-list{flex-direction:column;gap:4px;display:flex}.ws-migrate-result-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;font-size:.875rem;display:flex}.ws-migrate-result-row:last-child{border-bottom:none}.ws-migrate-error{color:var(--text-muted);flex:100%;padding-left:2px;font-size:.8rem}.ws-badge-migrated{background:var(--success-bg,#dff6dd);color:var(--success,#107c10);border:1px solid var(--success,#107c10);border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}.ws-badge-exists{background:var(--warning-bg,#fff4ce);color:var(--warning-text,#7a4f00);border:1px solid var(--warning,#d29200);border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}@media (prefers-color-scheme:dark){.ws-badge-migrated{color:#6ccb6c;background:#107c102e;border-color:#6ccb6c}.ws-badge-exists{color:#ffd966;background:#d292002e;border-color:#ffd966}}.ws-user-detail-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:680px;max-width:100%;max-height:90vh;display:flex;box-shadow:0 8px 40px #00000040}.ws-diff-detail-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:560px;max-width:100%;max-height:90vh;display:flex;box-shadow:0 8px 40px #00000040}.ws-diff-detail-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.ws-diff-detail-type-row{align-items:center;gap:10px;display:flex}.ws-diff-detail-note{font-size:var(--fs-sm);color:var(--text-muted)}.ws-diff-detail-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ws-diff-detail-table th{text-align:left;font-size:var(--fs-xs,.75rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 10px}.ws-diff-detail-table td{border-bottom:1px solid var(--bg-hover);vertical-align:top;padding:8px 10px}.ws-diff-detail-table tr:last-child td{border-bottom:none}.ws-diff-detail-field{color:var(--text-primary);width:130px;font-weight:600}.ws-diff-detail-before{color:var(--error,#b91c1c);background:var(--error-bg,#fef2f2);border-radius:4px;padding:2px 6px!important}.ws-diff-detail-after{color:var(--success,#107c41);background:var(--success-bg,#e6f4ea);border-radius:4px;padding:2px 6px!important}.ws-diff-detail-snapshot{flex-direction:column;gap:4px;display:flex}.ws-diff-detail-info-row{border-bottom:1px solid var(--bg-hover);grid-template-columns:140px 1fr;gap:8px;padding:6px 0;display:grid}.ws-diff-detail-info-row:last-child{border-bottom:none}.ws-diff-detail-info-label{font-size:var(--fs-sm);color:var(--text-muted)}.ws-diff-detail-info-value{font-size:var(--fs-sm);color:var(--text-primary)}.ws-user-detail-body{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.ws-user-detail-loading{color:var(--text-muted);align-items:center;gap:10px;padding:20px 0;font-size:.9rem;display:flex}.ws-user-detail-section{flex-direction:column;gap:10px;display:flex}.ws-user-detail-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);margin:0;padding-bottom:6px;font-size:.78rem;font-weight:600}.ws-user-detail-grid{grid-template-columns:160px 1fr;align-items:start;gap:6px 12px;display:grid}.ws-user-detail-label{color:var(--text-muted);white-space:nowrap;padding-top:1px;font-size:.82rem}.ws-user-detail-label-sub{visibility:hidden}.ws-user-detail-value{color:var(--text-primary);word-break:break-word;font-size:.875rem}.ws-user-detail-licenses{flex-wrap:wrap;gap:4px;display:flex}.ws-user-signin-table{border:1px solid var(--border);border-radius:6px;max-height:260px;overflow-y:auto}.ws-user-signin-table table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:.82rem}.ws-user-signin-table th{background:var(--bg-tertiary);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-weight:600;position:sticky;top:0}.ws-user-signin-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.ws-user-signin-table tr:last-child td{border-bottom:none}.ws-user-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.ws-user-detail-section-title svg{vertical-align:-2px;margin-right:4px}.ws-mailbox-folders-table{border:1px solid var(--border);border-radius:6px;max-height:300px;overflow-y:auto}.ws-mini-table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:.85rem}.ws-mini-table th{background:var(--bg-card);text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:6px 10px;font-size:.8rem;font-weight:600;position:sticky;top:0}.ws-mini-table td{border-bottom:1px solid var(--bg-hover);color:var(--text-primary);padding:5px 10px}.ws-mini-table tbody tr:hover{background:var(--bg-hover)}.ws-group-member-list{flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.ws-group-member-row{border-radius:4px;align-items:center;gap:10px;padding:5px 8px;font-size:.88rem;display:flex}.ws-group-member-row:hover{background:#ffffff0a}.ws-group-member-row .ws-member-name{min-width:140px}.ws-group-member-row .ws-upn{color:#8b8b8b;font-size:.82rem}.ws-files-tab{flex-direction:column;gap:16px;display:flex}.ws-files-header{justify-content:space-between;align-items:center;display:flex}.ws-files-header h3{font-size:var(--fs-lg);color:var(--text-primary);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.ws-files-count{color:var(--text-muted);font-weight:400;font-size:var(--fs-base)}.ws-files-actions{gap:8px;display:flex}.ws-files-breadcrumb{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.ws-breadcrumb-item{cursor:pointer;border-radius:var(--radius-sm,4px);color:var(--brand,#0078d4);font-size:var(--fs-sm);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.ws-breadcrumb-item:hover{background:var(--bg-hover)}.ws-breadcrumb-item.active{color:var(--text-primary);cursor:default;font-weight:600}.ws-breadcrumb-item.active:hover{background:0 0}.ws-breadcrumb-sep{color:var(--text-muted);font-size:12px}.ws-new-folder-row{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md,8px);align-items:center;gap:8px;padding:8px 12px;display:flex}.ws-new-folder-input{border:1px solid var(--border);border-radius:var(--radius-sm,4px);background:var(--bg-primary);color:var(--text-primary);font-size:var(--fs-sm);outline:none;flex:1;padding:6px 10px}.ws-new-folder-input:focus{border-color:var(--brand,#0078d4)}.ws-folder-row{cursor:pointer}.ws-folder-icon{color:#dcb730!important}.ws-folder-link{cursor:pointer;color:var(--brand,#0078d4);font-weight:500;font-size:inherit;text-align:left;background:0 0;border:none;padding:0}.ws-folder-link:hover{text-decoration:underline}.ws-file-link{cursor:pointer;color:var(--brand,#0078d4);font-size:inherit;text-align:left;background:0 0;border:none;padding:0}.ws-file-link:hover{text-decoration:underline}.ws-file-link:disabled{opacity:.6;cursor:wait}.ws-files-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-md,8px);background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 20px;transition:border-color .2s,background .2s;display:flex}.ws-files-drop-zone:hover{border-color:var(--brand,#0078d4);background:#0078d40a}.ws-files-drop-zone.drag-over{border-color:var(--brand,#0078d4);background:#0078d414}.ws-drop-icon{color:var(--brand,#0078d4);font-size:28px}.ws-files-drop-zone p{font-size:var(--fs-sm);margin:0}.ws-files-list{overflow-x:auto}.ws-files-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ws-files-table th{text-align:left;font-size:var(--fs-xs,.75rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap;padding:8px 12px}.ws-files-table td{border-bottom:1px solid var(--bg-hover);color:var(--text-primary);padding:10px 12px}.ws-files-table tbody tr:hover{background:var(--bg-hover)}.ws-file-name{word-break:break-word;align-items:center;gap:8px;font-weight:500;display:flex}.ws-file-icon{color:var(--brand,#0078d4);flex-shrink:0;font-size:16px}.ws-file-actions{white-space:nowrap;gap:6px;display:flex}.ws-rename-input{border:1px solid var(--brand,#0078d4);border-radius:var(--radius-sm,4px);font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-base);outline:none;flex:1;min-width:120px;padding:4px 8px}.ws-rename-input:focus{box-shadow:0 0 0 2px #0078d433}.ws-btn-sm{font-size:var(--fs-sm);min-height:auto;padding:4px 8px}.ws-move-dialog{min-width:360px;max-width:440px}.ws-move-dialog h3{font-size:var(--fs-lg);color:var(--text-primary);margin:0 0 12px;font-weight:600}.ws-move-item-name{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm,4px);font-size:var(--fs-sm);color:var(--text-primary);word-break:break-word;align-items:center;gap:8px;margin:0 0 16px;padding:8px 12px;font-weight:500;display:flex}.ws-move-label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:6px;font-weight:500;display:block}.ws-move-select{border:1px solid var(--border);border-radius:var(--radius-sm,4px);background:var(--bg-primary);width:100%;color:var(--text-primary);font-size:var(--fs-sm);outline:none;margin-bottom:16px;padding:8px 12px}.ws-move-select:focus{border-color:var(--brand,#0078d4);box-shadow:0 0 0 2px #0078d433}.ws-move-actions{justify-content:flex-end;gap:8px;display:flex}.ws-sp-identity-list{flex-direction:column;gap:6px;display:flex}.ws-sp-identity-row{background:var(--bg-hover,#f5f5f5);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.ws-sp-sharing-links{flex-direction:column;gap:10px;display:flex}.ws-sp-link-row{border:1px solid var(--border);background:var(--bg-hover,#f5f5f5);border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.ws-sp-link-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ws-sp-link-url{color:var(--accent,#06c);word-break:break-all;font-size:.78rem;text-decoration:none}.ws-sp-link-url:hover{text-decoration:underline}.ws-sp-link-granted{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ws-share-dialog{min-width:400px;max-width:520px}.ws-share-dialog h3{margin:0 0 4px;font-size:1rem}.ws-share-hint{color:var(--text-muted,#666);margin:0 0 12px;font-size:.82rem}.ws-share-url-row{gap:6px;margin-bottom:14px;display:flex}.ws-share-url-input{border:1px solid var(--border,#d0d0d0);background:var(--bg-subtle,#f8f8f8);color:var(--text-primary,#333);border-radius:5px;outline:none;flex:1;min-width:0;padding:7px 10px;font-family:monospace;font-size:.82rem}.ws-share-url-input:focus{border-color:var(--brand,#0078d4);box-shadow:0 0 0 2px #0078d426}.ws-share-copy-btn{white-space:nowrap;min-width:80px}.ws-share-actions{justify-content:flex-end;display:flex}.ws-export-all-dialog{min-width:380px;max-width:480px}.ws-export-all-dialog h3{margin:0 0 4px;font-size:1rem}.ws-export-all-hint{color:var(--text-muted,#666);margin:0 0 16px;font-size:.82rem;line-height:1.45}.ws-export-all-actions{justify-content:flex-end;gap:8px;display:flex}.ws-dashboard-tab{flex-direction:column;gap:0;display:flex;padding:0!important}.ws-dash-section{flex-direction:column;gap:12px;padding:20px 24px 0;display:flex}.ws-dash-section:last-child{padding-bottom:24px}.ws-dash-section-title{font-size:var(--fs-md);color:var(--text-primary);align-items:center;margin:0;font-weight:600;display:flex}.ws-dash-two-col-section{grid-template-columns:1fr 1fr;gap:0;display:grid}.ws-dash-section-half{padding:20px 24px 0}.ws-dash-section-half:first-child{border-right:1px solid var(--border)}.ws-dash-summary-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.ws-dash-card{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--t-base), box-shadow var(--t-base), background var(--t-base);background:var(--bg-card);flex-direction:column;align-items:flex-start;gap:4px;padding:16px 14px 12px;display:flex;position:relative;overflow:hidden}.ws-dash-card:hover{border-color:var(--brand);box-shadow:0 2px 8px #00000012}.ws-dash-card:before{content:"";border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.ws-dash-card-blue:before{background:#0078d4}.ws-dash-card-purple:before{background:#8764b8}.ws-dash-card-teal:before{background:#008272}.ws-dash-card-orange:before{background:#ca5010}.ws-dash-card-red:before{background:#d92b2b}.ws-dash-card-green:before{background:#107c10}.ws-dash-card-icon{margin-bottom:4px;font-size:22px}.ws-dash-card-blue .ws-dash-card-icon{color:#0078d4}.ws-dash-card-purple .ws-dash-card-icon{color:#8764b8}.ws-dash-card-teal .ws-dash-card-icon{color:#008272}.ws-dash-card-orange .ws-dash-card-icon{color:#ca5010}.ws-dash-card-red .ws-dash-card-icon{color:#d92b2b}.ws-dash-card-green .ws-dash-card-icon{color:#107c10}.ws-dash-card-value{color:var(--text-primary);font-size:1.6rem;font-weight:700;line-height:1.1}.ws-dash-card-label{font-size:var(--fs-sm);color:var(--text-muted)}.ws-dash-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:16px 18px;display:flex}.ws-dash-panel-table{padding:0}.ws-dash-storage-total{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:10px;display:flex}.ws-dash-storage-label{font-size:var(--fs-sm);color:var(--text-muted)}.ws-dash-storage-value{font-size:var(--fs-lg);color:var(--text-primary);font-weight:700}.ws-dash-bars{flex-direction:column;gap:10px;display:flex}.ws-dash-bar-row{grid-template-columns:110px 1fr 70px;align-items:center;gap:8px;display:grid}.ws-dash-bar-name{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;display:flex}.ws-dash-bar-track{background:var(--bg-subtle);border-radius:4px;height:8px;overflow:hidden}.ws-dash-bar-fill{border-radius:4px;height:100%;transition:width .4s}.ws-dash-bar-blue{background:#0078d4}.ws-dash-bar-red{background:#d92b2b}.ws-dash-bar-green{background:#107c10}.ws-dash-bar-teal{background:#008272}.ws-dash-bar-purple{background:#8764b8}.ws-dash-bar-orange{background:#ca5010}.ws-dash-bar-size{font-size:var(--fs-sm);color:var(--text-primary);text-align:right;white-space:nowrap;font-weight:600}.ws-dash-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ws-dash-table thead tr{border-bottom:1px solid var(--border)}.ws-dash-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:10px 14px;font-size:.75rem;font-weight:600}.ws-dash-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:9px 14px}.ws-dash-table tbody tr:last-child td{border-bottom:none}.ws-dash-table tbody tr:hover td{background:var(--bg-hover)}.ws-dash-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:block;overflow:hidden}.ws-dash-size-pill{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.ws-dash-workload-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.ws-dash-workload-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--t-base);align-items:center;gap:12px;padding:12px 14px;display:flex}.ws-dash-workload-card-done{border-left:3px solid var(--success,#107c10)}.ws-dash-workload-card-done:hover{border-color:var(--brand);border-left-color:var(--brand)}.ws-dash-workload-icon{flex-shrink:0;font-size:22px}.ws-dash-icon-blue{color:#0078d4}.ws-dash-icon-purple{color:#8764b8}.ws-dash-icon-teal{color:#008272}.ws-dash-icon-orange{color:#ca5010}.ws-dash-icon-red{color:#d92b2b}.ws-dash-icon-green{color:#107c10}.ws-dash-workload-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ws-dash-workload-name{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.ws-dash-workload-count{font-size:var(--fs-sm);color:var(--text-secondary)}.ws-dash-workload-date{color:var(--text-muted);font-size:.72rem}.ws-dash-workload-empty{font-size:var(--fs-sm);color:var(--text-muted);font-style:italic}.ws-dash-workload-check{color:var(--success,#107c10);flex-shrink:0;font-size:16px}@media (width<=700px){.ws-dash-two-col-section{grid-template-columns:1fr}.ws-dash-section-half:first-child{border-right:none;border-bottom:1px solid var(--border)}.ws-dash-bar-row{grid-template-columns:90px 1fr 60px}.ws-dash-workload-grid{grid-template-columns:1fr 1fr}}.doc-page{flex-direction:column;gap:24px;max-width:1100px;padding:28px 32px;display:flex}.doc-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.doc-page-header-left{align-items:center;gap:14px;display:flex}.doc-page-icon{color:var(--brand);flex-shrink:0;font-size:32px}.doc-page-title{font-size:var(--fs-xl,1.25rem);color:var(--text-primary);margin:0;font-weight:700;line-height:1.2}.doc-page-subtitle{font-size:var(--fs-sm,.85rem);color:var(--text-muted);margin:4px 0 0}.doc-btn{border-radius:var(--radius-sm,6px);font-size:var(--fs-sm,.85rem);cursor:pointer;transition:background var(--t-base,.15s);border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.doc-btn:disabled{opacity:.55;cursor:not-allowed}.doc-btn-primary{background:var(--brand);color:#fff}.doc-btn-primary:hover:not(:disabled){background:var(--brand-hover,#005ea6)}.doc-btn-outline{border:1px solid var(--border-base,#ddd);color:var(--text-primary);background:0 0}.doc-btn-outline:hover:not(:disabled){background:var(--bg-hover)}.doc-search-bar{display:flex}.doc-search-input{border:1px solid var(--border-base,#ddd);border-radius:var(--radius-sm,6px);width:320px;font-size:var(--fs-sm,.85rem);color:var(--text-primary);background:var(--bg-card,#fff);outline:none;padding:8px 12px}.doc-search-input:focus{border-color:var(--brand)}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.doc-form-card{background:var(--bg-card,#fff);border:1px solid var(--border-base,#e0e0e0);border-radius:var(--radius-md,8px);cursor:pointer;transition:box-shadow var(--t-base,.15s), border-color var(--t-base,.15s);flex-direction:column;display:flex}.doc-form-card:hover{border-color:var(--brand);box-shadow:0 2px 10px #00000014}.doc-form-card-skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-hover) 50%, var(--bg-subtle) 75%);cursor:default;background-size:200% 100%;min-height:140px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.doc-form-card-body{flex-direction:column;flex:1;gap:6px;padding:18px 18px 12px;display:flex}.doc-form-card-title{font-size:var(--fs-md,.95rem);color:var(--text-primary);font-weight:700;line-height:1.3}.doc-form-card-desc{font-size:var(--fs-sm,.82rem);color:var(--text-secondary,#555);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.doc-form-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-top:4px;font-size:.78rem;display:flex}.doc-form-card-meta span{align-items:center;gap:3px;display:flex}.doc-form-card-author{color:var(--text-muted);font-size:.78rem}.doc-form-card-footer{border-top:1px solid var(--border-base,#eee);align-items:center;gap:6px;padding:10px 18px;display:flex}.doc-card-action-btn{border-radius:var(--radius-sm,4px);cursor:pointer;color:var(--text-secondary,#555);transition:background var(--t-base,.15s);background:0 0;border:none;align-items:center;gap:4px;padding:5px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.doc-card-action-btn:hover{background:var(--bg-hover)}.doc-card-action-fill{background:var(--bg-subtle);color:var(--brand);margin-right:auto;font-weight:600}.doc-card-action-fill:hover{background:#e6f2fb}.doc-card-action-del:hover{color:#c00;background:#fff0f0}.doc-empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:60px 24px;display:flex}.doc-empty-icon{opacity:.3;font-size:48px}.doc-empty-title{font-size:var(--fs-md,.95rem)}.doc-empty{color:var(--text-muted);font-size:var(--fs-sm);padding:24px 0}.doc-loading{color:var(--text-muted);font-size:var(--fs-sm);padding:16px 0}.doc-error{border-radius:var(--radius-sm);color:#c00;font-size:var(--fs-sm);background:#fff0f0;border:1px solid #fcc;padding:12px 16px}.doc-builder-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.doc-builder{background:var(--bg-card,#fff);border-radius:var(--radius-md,8px);flex-direction:column;width:100%;max-width:680px;display:flex;box-shadow:0 8px 32px #0000002e}.doc-builder-header{border-bottom:1px solid var(--border-base);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.doc-builder-title{font-size:var(--fs-md,.95rem);color:var(--text-primary);font-weight:700}.doc-builder-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:4px;font-size:18px;display:flex}.doc-builder-close:hover{background:var(--bg-hover);color:var(--text-primary)}.doc-builder-body{flex-direction:column;gap:20px;max-height:65vh;padding:20px 24px;display:flex;overflow-y:auto}.doc-builder-section{flex-direction:column;gap:8px;display:flex}.doc-builder-footer{border-top:1px solid var(--border-base);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.doc-label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:600}.doc-required{color:#c00}.doc-input{border:1px solid var(--border-base,#ddd);border-radius:var(--radius-sm,6px);font-size:var(--fs-sm,.85rem);color:var(--text-primary);background:var(--bg-card,#fff);box-sizing:border-box;outline:none;width:100%;padding:8px 12px}.doc-input:focus{border-color:var(--brand)}.doc-textarea{resize:vertical;min-height:60px;font-family:inherit}.doc-qs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.doc-add-q-btns{gap:6px;display:flex}.doc-add-q-btn{border:1px dashed var(--brand);color:var(--brand);cursor:pointer;transition:background var(--t-base);background:0 0;border-radius:14px;padding:5px 12px;font-size:.78rem;font-weight:600}.doc-add-q-btn:hover{background:#e6f2fb}.doc-empty-qs{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);border:1px dashed var(--border-base);border-radius:var(--radius-sm);padding:20px}.doc-q-card{border:1px solid var(--border-base);border-radius:var(--radius-sm,6px);background:var(--bg-subtle);flex-direction:column;gap:10px;padding:14px;display:flex}.doc-q-card-header{align-items:center;gap:8px;display:flex}.doc-q-index{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.doc-q-type-badge{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.doc-q-type-text{color:#2251aa;background:#e6f0ff}.doc-q-type-checkbox{color:#166a36;background:#edfaf1}.doc-q-type-dropdown{color:#8a4f00;background:#fff4e5}.doc-q-card-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.doc-q-btn{color:var(--text-muted);cursor:pointer;transition:background var(--t-base);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 6px;font-size:14px;display:flex}.doc-q-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.doc-q-btn:disabled{opacity:.3;cursor:default}.doc-q-btn-del:hover:not(:disabled){color:#c00;background:#fff0f0}.doc-options{flex-direction:column;gap:6px;display:flex}.doc-options-label{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.doc-option-row{align-items:center;gap:6px;display:flex}.doc-option-input{flex:1}.doc-add-option-btn{color:var(--brand);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-weight:600}.doc-add-option-btn:hover{text-decoration:underline}.doc-required-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;display:flex}.doc-fill-panel{flex-direction:column;gap:0;max-width:680px;display:flex}.doc-fill-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.doc-back-btn{color:var(--brand);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-weight:600;display:inline-flex}.doc-back-btn:hover{text-decoration:underline}.doc-fill-title{font-size:var(--fs-lg,1.1rem);color:var(--text-primary);font-weight:700}.doc-submitted-badge{color:#166a36;background:#edfaf1;border-radius:12px;align-items:center;gap:5px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.doc-fill-desc{color:var(--text-secondary);font-size:var(--fs-sm);margin:0 0 16px;line-height:1.5}.doc-fill-form{flex-direction:column;gap:20px;display:flex}.doc-fill-question{flex-direction:column;gap:8px;display:flex}.doc-fill-label{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600;line-height:1.4}.doc-fill-input{border:1px solid var(--border-base,#ddd);border-radius:var(--radius-sm,6px);font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-card,#fff);box-sizing:border-box;outline:none;width:100%;padding:8px 12px}.doc-fill-input:focus{border-color:var(--brand)}.doc-fill-input:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}.doc-fill-textarea{resize:vertical;min-height:80px;font-family:inherit}.doc-fill-check-label{font-size:var(--fs-sm);cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;display:inline-flex}.doc-fill-select{border:1px solid var(--border-base,#ddd);border-radius:var(--radius-sm,6px);font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-card,#fff);outline:none;width:100%;max-width:360px;padding:8px 12px}.doc-fill-select:focus{border-color:var(--brand)}.doc-fill-select:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}.doc-fill-footer{border-top:1px solid var(--border-base);margin-top:4px;padding-top:8px;display:flex}.doc-responses-panel{flex-direction:column;gap:16px;display:flex}.doc-responses-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.doc-responses-title{font-size:var(--fs-lg,1.1rem);color:var(--text-primary);font-weight:700}.doc-response-count{background:var(--bg-subtle);color:var(--text-muted);border-radius:12px;padding:3px 10px;font-size:.78rem;font-weight:600}.doc-responses-list{flex-direction:column;gap:14px;display:flex}.doc-response-card{border:1px solid var(--border-base);border-radius:var(--radius-md,8px);background:var(--bg-card);overflow:hidden}.doc-response-meta{background:var(--bg-subtle);border-bottom:1px solid var(--border-base);color:var(--text-secondary);align-items:center;gap:12px;padding:10px 14px;font-size:.82rem;display:flex}.doc-response-user,.doc-response-date{align-items:center;gap:5px;display:inline-flex}.doc-response-user{color:var(--text-primary);font-weight:600}.doc-response-answers{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.doc-response-row{border-bottom:1px solid var(--border-base);grid-template-columns:minmax(120px,40%) 1fr;align-items:start;gap:12px;padding:6px 0;display:grid}.doc-response-row:last-child{border-bottom:none}.doc-response-q{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:600}.doc-response-a{font-size:var(--fs-sm);color:var(--text-primary);white-space:pre-wrap}@media (width<=600px){.doc-page{padding:16px}.doc-grid{grid-template-columns:1fr}.doc-search-input{width:100%}.doc-builder-overlay{padding:0}.doc-builder{border-radius:0;max-height:100vh}.doc-response-row{grid-template-columns:1fr}}
