@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{--primary:#595959;--primary-dark:#404040;--primary-light:#404040;--primary-glow:#f2f2f2;--primary-border:#bfbfbf;--primary-tint:#f7f7f7;--accent:#404040;--accent-glow:#f2f2f2;--highlight:#404040;--charcoal:#262626;--success:#15803d;--success-glow:#f0fdf4;--warning:#b45309;--warning-glow:#fffbeb;--error:#dc2626;--error-glow:#fef2f2;--info:#2563eb;--bg-base:#f7f7f7;--bg-main:#f7f7f7;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-sidebar:#fafafa;--bg-header:#fff;--bg-modal:#fff;--bg-elevated:#fff;--bg-input:#fff;--bg-hover:#f2f2f2;--pdf-bg:#e6e6e6;--border:#d9d9d9;--border-hover:#bfbfbf;--border-active:#8c8c8c;--text-primary:#262626;--text-secondary:#52525b;--text-muted:#71717a;--text-disabled:#d4d4d8;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001f;--shadow-xl:0 24px 48px #00000029;--font-sans:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-full:9999px;--t-fast:.1s ease;--t-normal:.2s ease;--t-slow:.35s ease;--sidebar-w:240px;--header-h:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:14px}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.5}#root{flex-direction:column;height:100vh;display:flex;overflow:hidden}a{color:var(--primary-light);text-decoration:none}button,select,input,textarea{font-family:var(--font-sans)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000012;border-radius:3px}h1{font-size:24px;font-weight:700}h2{font-size:20px;font-weight:700}h3{font-size:16px;font-weight:600}h4{font-size:14px;font-weight:600}p{color:var(--text-secondary);line-height:1.6}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--primary-light)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-accent{color:var(--accent)}.font-mono{font-family:var(--font-mono)}.font-600{font-weight:600}.font-700{font-weight:700}.app-shell{background:var(--bg-base);height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px 18px;display:flex}.sidebar-brand-icon{border-radius:var(--r-md);background:linear-gradient(135deg, var(--primary), var(--accent));flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-brand-text{letter-spacing:-.3px;font-size:15px;font-weight:700}.sidebar-brand-sub{color:var(--text-muted);font-size:10px;font-weight:500}.sidebar-project-selector{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px}.project-selector-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;padding:0 4px;font-size:10px;font-weight:600}.project-selector-btn{border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--t-normal);text-align:left;background:#0000000a;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.project-selector-btn:hover{border-color:var(--border-hover);background:#0000000a}.project-selector-chevron{color:var(--text-muted);margin-left:auto}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:4px;padding:8px 10px 4px;font-size:10px;font-weight:700}.sidebar-item{border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.sidebar-item:hover{color:var(--text-primary);background:#0000000a}.sidebar-item.active{background:var(--primary-glow);color:var(--primary-light);border-color:color-mix(in srgb, var(--primary) 20%, transparent);box-shadow:inset 3px 0 0 var(--highlight);font-weight:600}.sidebar-item-count{color:var(--text-muted);border-radius:var(--r-full);background:#0000000a;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:12px}.sidebar-user{border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast);align-items:center;gap:10px;padding:8px 10px;display:flex}.avatar{border-radius:var(--r-full);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.avatar-sm{width:26px;height:26px;font-size:10px}.avatar-lg{width:48px;height:48px;font-size:18px}.sidebar-user-name{font-size:13px;font-weight:600}.sidebar-user-role{color:var(--text-muted);font-size:11px}.main-content{background:var(--bg-main);flex-direction:column;flex:1;display:flex;overflow:hidden}.page-header{border-bottom:1px solid var(--border);background:var(--bg-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:var(--header-h);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.page-header-title{font-size:17px;font-weight:700}.page-header-sub{color:var(--text-muted);margin-top:1px;font-size:12px}.page-header-actions{align-items:center;gap:8px;display:flex}.page-body{flex:1;padding:24px;overflow-y:auto}.btn{border-radius:var(--r-md);cursor:pointer;transition:all var(--t-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:13px;font-weight:600;font-family:var(--font-sans);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 16px;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 14px color-mix(in srgb, var(--primary) 30%, transparent);border-color:#00000012}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-dark) 0%, var(--accent) 100%);box-shadow:0 6px 20px color-mix(in srgb, var(--primary) 45%, transparent);transform:translateY(-1px)}.btn-accent{background:linear-gradient(135deg, var(--accent) 0%, #3f3f46 100%);color:#fff;border-color:#00000012;box-shadow:0 4px 14px #3f3f464d}.btn-accent:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3f3f4673}.btn-secondary{color:var(--text-primary);border-color:var(--border-hover);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000000a}.btn-danger{background:linear-gradient(135deg, var(--error) 0%, #b91c1c 100%);color:#fff;border-color:#00000012;box-shadow:0 4px 14px #ef444440}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #ef444466}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000;padding:6px 10px}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#0000000a}.btn-icon{border-radius:var(--r-md);padding:7px}.btn-sm{gap:5px;padding:5px 12px;font-size:12px}.btn-lg{gap:9px;padding:12px 24px;font-size:15px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);transition:all var(--t-normal)}.card-hover:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-p{padding:20px}.card-p-sm{padding:14px}.badge{border-radius:var(--r-full);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-primary{background:var(--primary-glow);color:var(--primary-light);border:1px solid color-mix(in srgb, var(--primary) 25%, transparent)}.badge-accent{background:var(--accent-glow);color:var(--accent);border:1px solid #3f3f4640}.badge-success{background:var(--success-glow);color:var(--success);border:1px solid #10b98140}.badge-warning{background:var(--warning-glow);color:var(--warning);border:1px solid #f59e0b40}.badge-error{background:var(--error-glow);color:var(--error);border:1px solid #ef444440}.badge-muted{color:var(--text-muted);border:1px solid var(--border);background:#0000000a}.badge-ifr{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--border-active);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent)}.badge-ifa{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d}.badge-afc{color:#34d399;background:#10b9811f;border:1px solid #10b9814d}.badge-superseded{color:#71717a;background:#47556933;border:1px solid #4755694d;text-decoration:line-through}.rev-badge{font-family:var(--font-mono);border-radius:var(--r-sm);color:var(--accent);background:#3f3f461f;border:1px solid #3f3f4640;padding:2px 8px;font-size:11px;font-weight:700}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-primary);transition:all var(--t-fast);outline:none;padding:9px 12px;font-size:13px}.form-input:focus{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 5%, transparent);box-shadow:0 0 0 3px var(--primary-glow)}.form-input::placeholder{color:var(--text-muted)}select.form-input{cursor:pointer}textarea.form-input{resize:vertical;min-height:80px;line-height:1.5}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-modal);border:1px solid var(--border-hover);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.2s modalIn;display:flex}.modal-lg{max-width:720px}.modal-xl{max-width:900px}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-size:16px;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:all var(--t-fast);background:0 0;border:none;padding:4px;display:flex}.modal-close:hover{color:var(--text-primary);background:#0000000a}.modal-body{flex:1;min-height:0;padding:22px;overflow-y:auto}.modal>form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead tr{border-bottom:1px solid var(--border);background:#0000000f}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap;padding:11px 14px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--t-fast);cursor:default}.data-table tbody tr:hover{background:#0000000a}.tab-bar{border-bottom:1px solid var(--border);background:var(--bg-header);flex-shrink:0;align-items:center;gap:2px;padding:0 24px;display:flex;overflow-x:auto}.tab-item{color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;border-radius:var(--r-sm) var(--r-sm) 0 0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.tab-item.active{color:var(--primary-light);border-bottom-color:var(--highlight);font-weight:600}.login-page-modern{background:#050505;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-animated-bg{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--primary) 15%, transparent) 0%, transparent 50%), radial-gradient(circle at 80% 20%, #3f3f4626 0%, transparent 40%), radial-gradient(circle at 20% 80%, #8b5cf626 0%, transparent 40%);z-index:0;animation:20s ease-in-out infinite alternate bgShift;position:absolute;inset:-50%}@keyframes bgShift{0%{transform:scale(1)translate(0)rotate(0)}50%{transform:scale(1.1)translate(2%,2%)rotate(2deg)}to{transform:scale(1)translate(-2%,-2%)rotate(-2deg)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-glass-card{z-index:10;-webkit-backdrop-filter:blur(24px);background:#0f111a99;border:1px solid #0000000a;border-top-color:#00000012;border-radius:24px;width:100%;max-width:440px;padding:48px;animation:.8s cubic-bezier(.16,1,.3,1) forwards slideUpFade;position:relative;box-shadow:0 24px 64px #0000000f,inset 0 1px #00000012}.login-brand-modern{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px;display:flex}.login-brand-icon-modern{background:linear-gradient(135deg, var(--primary), var(--accent));width:64px;height:64px;box-shadow:0 0 32px color-mix(in srgb, var(--primary) 40%, transparent), inset 0 2px 4px #ffffff4d;border-radius:20px;justify-content:center;align-items:center;display:flex}.login-brand-name-modern{letter-spacing:-1px;background:linear-gradient(180deg, #fff 0%, var(--border-active) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:32px;font-weight:800}.login-brand-sub-modern{color:var(--text-muted);font-size:14px;font-weight:500}.login-demo-grid-modern{grid-template-columns:1fr;gap:12px;display:grid}.demo-card-modern{cursor:pointer;text-align:left;background:#0000000a;border:1px solid #0000000a;border-radius:14px;align-items:center;gap:14px;padding:12px 16px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.demo-card-modern:hover{border-color:color-mix(in srgb, var(--primary) 50%, transparent);box-shadow:0 8px 24px #0000000f, 0 0 0 1px color-mix(in srgb, var(--primary) 20%, transparent);background:#0000000a;transform:translateY(-2px)scale(1.01)}.demo-card-avatar{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex;box-shadow:inset 0 2px 4px #fff3}.demo-card-info{flex-direction:column;display:flex}.demo-card-name{color:#fff;font-size:14px;font-weight:600}.demo-card-role{color:var(--text-muted);font-size:11px;font-weight:500}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat-card-value{font-size:28px;font-weight:800;line-height:1}.stat-card-label{color:var(--text-muted);margin-top:4px;font-size:12px}.stat-card-delta{margin-top:8px;font-size:11px}.dashboard-grid{grid-template-columns:1fr 360px;gap:20px;display:grid}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.project-card{cursor:pointer;padding:18px;position:relative;overflow:hidden}.project-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.project-card-type{text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:10px;font-weight:700}.project-card-name{margin-bottom:4px;font-size:16px;font-weight:700}.project-card-client{color:var(--text-muted);margin-bottom:14px;font-size:12px}.project-card-progress{align-items:center;gap:10px;margin-bottom:14px;display:flex}.progress-bar-track{border-radius:var(--r-full);background:#0000000a;flex:1;height:4px;overflow:hidden}.progress-bar-fill{border-radius:var(--r-full);height:100%;transition:width .6s}.project-card-meta{color:var(--text-muted);gap:12px;font-size:11px;display:flex}.activity-feed{flex-direction:column;gap:0;display:flex}.activity-item{border-bottom:1px solid var(--border);gap:12px;padding:12px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.activity-text{font-size:13px;line-height:1.4}.activity-time{color:var(--text-muted);margin-top:2px;font-size:11px}.workspace{flex:1;display:flex;overflow:hidden}.drawing-list-panel{border-right:1px solid var(--border);background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.drawing-list-header{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:12px;display:flex}.search-box{border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-fast);background:#0000000a;align-items:center;gap:8px;padding:7px 10px;display:flex}.search-box:focus-within{border-color:var(--primary)}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-input::placeholder{color:var(--text-muted)}.drawing-list{flex:1;padding:8px;overflow-y:auto}.drawing-item{border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast);border:1px solid #0000;align-items:flex-start;gap:10px;margin-bottom:2px;padding:10px 12px;display:flex}.drawing-item:hover{background:#0000000a}.drawing-item.active{background:var(--primary-glow);border-color:color-mix(in srgb, var(--primary) 20%, transparent)}.drawing-item-code{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;font-size:10px;font-weight:600}.drawing-item-title{color:var(--text-primary);margin-top:2px;font-size:12px;font-weight:500;line-height:1.3}.drawing-item-meta{align-items:center;gap:6px;margin-top:4px;display:flex}.drawing-detail{flex-direction:column;flex:1;display:flex;overflow:hidden}.drawing-detail-header{border-bottom:1px solid var(--border);background:var(--bg-header);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.drawing-code-badge{font-family:var(--font-mono);border-radius:var(--r-sm);color:var(--accent);background:#3f3f461a;border:1px solid #3f3f4640;padding:4px 10px;font-size:12px;font-weight:700}.drawing-title-text{font-size:15px;font-weight:700}.drawing-header-meta{align-items:center;gap:8px;display:flex}.revision-timeline{border-bottom:1px solid var(--border);background:#0000000f;flex-shrink:0;align-items:center;gap:4px;padding:10px 20px;display:flex;overflow-x:auto}.revision-node{cursor:pointer;border-radius:var(--r-md);transition:all var(--t-fast);border:1px solid #0000;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;display:flex}.revision-node-ver{font-family:var(--font-mono);color:var(--primary-light);font-size:13px;font-weight:700}.revision-node.active .revision-node-ver{color:var(--accent)}.revision-node-date,.revision-node-author{color:var(--text-muted);font-size:10px}.revision-connector{background:var(--border);flex-shrink:0;width:24px;height:1px}.drawing-body{flex:1;display:flex;overflow:hidden}.pdf-panel{background:#1a1a2e;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.pdf-toolbar{border-bottom:1px solid var(--border);background:#0000000f;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;display:flex}.pdf-page-info{color:var(--text-muted);margin:0 4px;font-size:12px}.pdf-viewport{flex-direction:column;flex:1;align-items:center;gap:16px;padding:20px;display:flex;overflow:auto}.pdf-page-wrapper{border-radius:4px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 4px 24px #0009}.pdf-page-canvas{display:block}.pdf-pin{cursor:pointer;z-index:10;transition:transform var(--t-fast);position:absolute;transform:translate(-50%,-100%)}.pdf-pin:hover{transform:translate(-50%,-100%)scale(1.15)}.pdf-pin-marker{color:#fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:flex;transform:rotate(-45deg);box-shadow:0 2px 8px #00000080}.pin-open .pdf-pin-marker{background:var(--warning)}.pin-resolved .pdf-pin-marker{background:var(--success)}.pin-label{font-family:var(--font-mono);transform:rotate(45deg)}.comment-panel{border-left:1px solid var(--border);background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden}.comment-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:700;display:flex}.comment-list{flex:1;padding:12px;overflow-y:auto}.comment-pin-group{border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:16px;overflow:hidden}.comment-pin-header{cursor:pointer;background:#0000000f;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.comment-thread{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.comment-bubble{gap:9px;display:flex}.comment-content{flex:1}.comment-author{font-size:12px;font-weight:700}.comment-date{color:var(--text-muted);font-size:10px}.comment-text{color:var(--text-secondary);margin-top:3px;font-size:13px;line-height:1.5}.comment-input-area{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:12px;display:flex}.comment-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);resize:none;min-height:60px;font-size:13px;font-family:var(--font-sans);transition:border-color var(--t-fast);outline:none;flex:1;padding:8px 12px}.comment-input:focus{border-color:var(--primary)}.mdl-status-cell{align-items:center;gap:6px;display:flex}.permissions-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);gap:1px;font-size:12px;display:grid;overflow:hidden}.perm-cell{background:var(--bg-card);justify-content:center;align-items:center;padding:10px 14px;display:flex}.perm-toggle{border-radius:var(--r-full);cursor:pointer;width:36px;height:20px;transition:background var(--t-normal);background:#0000000a;border:none;flex-shrink:0;position:relative}.perm-toggle:after{content:"";background:var(--text-muted);width:14px;height:14px;transition:all var(--t-normal);border-radius:50%;position:absolute;top:3px;left:3px}.perm-toggle.on:after{background:var(--primary-light);left:19px}.drop-zone{border:2px dashed var(--border-hover);border-radius:var(--r-lg);text-align:center;cursor:pointer;transition:all var(--t-normal);background:#0000000a;padding:36px 24px}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--primary);background:var(--primary-glow)}.drop-zone.has-file{border-color:var(--success);background:var(--success-glow)}.ctx-menu{background:var(--bg-card);border:1px solid var(--border-hover);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:180px;padding:6px;animation:.12s ctxIn;position:fixed}@keyframes ctxIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ctx-item{border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast);color:var(--text-primary);align-items:center;gap:9px;padding:8px 12px;font-size:13px;display:flex}.ctx-item.danger{color:var(--error)}.ctx-item.danger:hover{background:var(--error-glow)}.ctx-divider{background:var(--border);height:1px;margin:4px 0}.ctx-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 12px;font-size:10px;font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.w-full{width:100%}.text-center{text-align:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.opacity-50{opacity:.5}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-state-icon{opacity:.3}.empty-state-title{color:var(--text-secondary);font-size:15px;font-weight:600}.empty-state-desc{max-width:320px;font-size:13px;line-height:1.5}.divider{background:var(--border);height:1px;margin:16px 0}.spinner{border:2px solid #00000012;border-top-color:var(--primary-light);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=900px){:root{--sidebar-w:200px}.login-right{display:none}}@keyframes spin-icon{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin-icon}.resize-handle{cursor:col-resize;background:var(--bg-sidebar);border-left:1px solid var(--border);border-right:1px solid var(--border);z-index:5;touch-action:none;flex:0 0 10px;transition:background .15s;position:relative}.resize-grip{background-image:radial-gradient(circle, var(--text-secondary) 1.2px, transparent 1.4px);opacity:.55;background-size:4px 7px;width:4px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-handle:hover .resize-grip{opacity:1}body.dms-focus .sidebar,body.dms-focus .page-header,body.dms-focus .tab-bar,body.dms-focus .drawing-list-panel,body.dms-focus .drawing-list-panel+.resize-handle,body.dms-focus .revision-timeline>:not(.seg){display:none!important}body.dms-focus .revision-timeline{justify-content:flex-end;padding-top:6px;padding-bottom:6px}body.dms-focus .drawing-detail-header{padding-top:8px;padding-bottom:8px}.drawing-detail-header{flex-wrap:wrap;row-gap:8px}.theme-light{background:var(--bg-base);color:var(--text-primary)}::-webkit-scrollbar-thumb{background:#bfbfbf}::-webkit-scrollbar-thumb:hover{background:#9aa89f}.btn-primary,.btn-accent{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 1px 2px color-mix(in srgb, var(--primary) 25%, transparent)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 2px 6px color-mix(in srgb, var(--primary) 30%, transparent);transform:none}.btn-secondary{color:var(--text-primary);border-color:var(--border-hover);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:#c3c9d1;transform:none}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--error);border-color:var(--error);box-shadow:none}.badge-muted{color:#52525b;background:#f2f2f2;border-color:#d9d9d9}.badge-primary{border-color:var(--primary-border)}.badge-success{border-color:#a7f3d0}.badge-warning{border-color:#fde68a}.badge-error{border-color:#fecaca}.badge-ifr{background:var(--primary-glow);color:var(--accent);border-color:var(--primary-border)}.badge-ifa{color:#b45309;background:#fffbeb;border-color:#fde68a}.badge-afc{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.badge-superseded{color:#71717a;background:#f2f2f2;border-color:#d9d9d9}.rev-badge{color:#3f3f46;background:#f2f2f2;border-color:#d9d9d9}.form-input{border-color:var(--border-hover)}.form-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 25%, transparent);background:#fff}.search-box{border-color:var(--border-hover);background:#fff}select.form-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.page-header{-webkit-backdrop-filter:none;backdrop-filter:none}.tab-bar{gap:0}.tab-item{border-radius:0;padding:11px 14px}.tab-item:hover{color:var(--text-primary);background:0 0}.drawing-list-panel{background:var(--bg-sidebar)}.drawing-item{border-radius:8px}.drawing-item:hover{border-color:var(--border);background:#fff}.drawing-item.active{border-color:var(--primary-border);box-shadow:0 1px 3px color-mix(in srgb, var(--primary) 12%, transparent), inset 3px 0 0 var(--primary);background:#fff}.drawing-item-code{color:var(--text-muted);font-weight:500}.drawing-item-title{font-weight:600}.drawing-detail-header{padding:12px 20px}.drawing-code-badge{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:0;font-size:11px;font-weight:500;display:block;overflow:hidden}.revision-timeline{background:#fff;gap:6px;padding:8px 20px}.revision-node{border-color:var(--border);border-radius:999px;flex-direction:row;gap:6px;padding:4px 10px}.revision-node:hover{background:var(--bg-hover)}.revision-node.active{background:var(--primary);border-color:var(--primary)}.revision-node-ver{color:var(--text-primary);font-size:12px}.revision-node.active .revision-node-ver,.revision-node.active .revision-node-date{color:#fff}.revision-node-author{display:none}.revision-connector{width:10px}.seg{border:1px solid var(--border);background:#f2f2f2;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text-secondary);font:600 12px var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.seg button:hover{color:var(--text-primary)}.seg button.on{color:var(--text-primary);background:#fff;box-shadow:0 1px 2px #0000001a,0 0 0 1px #0000000a}.toolgroup{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:1px;padding:2px;display:inline-flex}.toolgroup .btn-icon{border-radius:7px;padding:6px}.toolgroup .btn-icon.on{background:var(--primary-glow);color:var(--primary)}.pdf-panel{background:var(--pdf-bg)}.pdf-toolbar{background:#fff}.pdf-page-wrapper{border-radius:2px;box-shadow:0 1px 3px #0000001f,0 8px 24px #00000014}.comment-panel{background:#fff}.comment-pin-group{box-shadow:var(--shadow-sm)}.comment-pin-header{background:#fafafa}.comment-text{color:var(--text-primary)}.resize-handle{background:#f7f7f7}.resize-handle:hover,.resize-handle:active{background:#f2f2f2}.resize-grip{background-image:radial-gradient(circle,#a1a1aa 1.2px,#0000 1.4px)}.data-table thead tr,.data-table tbody tr:hover,.drop-zone{background:#fafafa}.modal-overlay{background:#00000059}.spinner{border-color:#d9d9d9;border-top-color:var(--primary)}.sidebar{color:var(--text-primary);border-right:1px solid var(--border);background:#fff}.sidebar-brand-icon{background:var(--primary);box-shadow:0 2px 8px color-mix(in srgb, var(--primary) 30%, transparent)}.sidebar-item{color:var(--text-secondary)}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item-count{color:var(--text-secondary);background:#f2f2f2}.sidebar-item.active .sidebar-item-count{background:var(--primary);color:#fff}.sidebar-user:hover{background:var(--bg-hover)}.page-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.card{box-shadow:var(--shadow-sm)}.stat-card-value{color:var(--text-primary)}.progress-bar-track{background:#d9d9d9}.modal-close:hover{background:var(--bg-hover)}.perm-toggle{background:#d9d9d9}.perm-toggle.on{background:var(--primary);border:none}.perm-toggle.on:after{background:#fff}.ctx-item:hover{background:var(--bg-hover)}.tab-item.active{color:var(--text-primary);border-bottom-color:var(--primary)}.form-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 25%, transparent);border-color:var(--primary)}a{color:var(--primary-dark)}.project-card.type-transmission:before{background:var(--accent)}.project-card.type-solar:before{background:#f59e0b}.project-card.type-bess:before{background:var(--primary)}.project-card.type-wind:before{background:#0369a1}.login-animated-bg{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--primary) 10%, transparent) 0%, transparent 40%), radial-gradient(circle at 80% 80%, #0000000f 0%, transparent 45%)}.login-glass-card{border:1px solid var(--border);-webkit-backdrop-filter:none;background:#fff;box-shadow:0 24px 60px #0000001a}.login-brand-icon-modern{background:var(--primary);box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 30%, transparent)}.login-brand-name-modern{-webkit-text-fill-color:var(--charcoal);color:var(--charcoal);background:0 0}.demo-card-modern{border-color:var(--border);background:#fff}.demo-card-modern:hover{border-color:var(--border-active);box-shadow:var(--shadow-md);background:#fff}.demo-card-name{color:var(--text-primary)}.comments-toggle{cursor:pointer;font:600 12px var(--font-sans);color:var(--text-secondary);border:1px solid var(--border-hover);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;margin-left:8px;padding:6px 12px;display:inline-flex}.comments-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.comments-toggle.on{background:var(--primary);border-color:var(--primary);color:#fff}.comments-toggle-count{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.comments-toggle.on .comments-toggle-count{color:var(--primary-dark);background:#fff}body.dms-focus .revision-timeline>.comments-toggle{display:inline-flex!important}.revision-timeline{flex-wrap:wrap;row-gap:6px;overflow-x:visible}.revision-timeline .seg{margin-left:auto!important}.comment-delete{cursor:pointer;color:var(--text-muted);opacity:.55;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:3px;transition:opacity .15s,color .15s,background .15s;display:inline-flex}.comment-delete:hover{opacity:1;color:var(--error);background:var(--error-glow)}.comment-bubble:hover .comment-delete,.comment-delete:focus-visible{opacity:1}:root{--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 2px #0000000d, 0 1px 3px #00000014;--shadow-md:0 2px 4px #0000000a, 0 6px 16px #00000014;--shadow-lg:0 4px 8px #0000000d, 0 16px 40px #0000001f;--shadow-xl:0 8px 16px #0000000f, 0 28px 64px #0000002e;--shadow-bar:0 1px 0 #0000000a, 0 4px 12px -4px #0000001a;--shadow-side:1px 0 0 #0000000a, 6px 0 18px -8px #00000024}.sidebar{box-shadow:var(--shadow-side);z-index:6;border-right-color:#0000;position:relative}.page-header{box-shadow:var(--shadow-bar);z-index:4;position:relative}.tab-bar,.drawing-detail-header{box-shadow:var(--shadow-bar);z-index:3;position:relative}.revision-timeline{z-index:2;position:relative;box-shadow:0 3px 10px -6px #0000001f}.drawing-list-panel{box-shadow:var(--shadow-side);z-index:2;position:relative}.comment-panel{z-index:2;position:relative;box-shadow:-6px 0 18px -10px #00000029}.pdf-toolbar{z-index:1;position:relative;box-shadow:0 2px 8px -4px #0000001a}.card{box-shadow:var(--shadow-sm);border-color:#0000000f}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card,.project-card{box-shadow:var(--shadow-md)}.table-wrapper{box-shadow:var(--shadow-sm)}.crs-card{box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s;border-color:#00000012!important}.crs-card:hover{box-shadow:var(--shadow-md)}.comment-pin-group{box-shadow:var(--shadow-sm);border-color:#00000012}.drawing-item:hover{box-shadow:var(--shadow-sm)}.drawing-item.active{box-shadow:var(--shadow-md), inset 3px 0 0 var(--primary)}.pdf-page-wrapper{box-shadow:0 2px 6px #0000001a,0 12px 32px #0000001f}.btn-primary,.btn-accent{box-shadow:0 1px 2px color-mix(in srgb, var(--primary-dark) 30%, transparent), 0 4px 12px -2px color-mix(in srgb, var(--primary) 35%, transparent)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){box-shadow:0 2px 4px color-mix(in srgb, var(--primary-dark) 30%, transparent), 0 8px 20px -4px color-mix(in srgb, var(--primary) 45%, transparent);transform:translateY(-1px)}.btn-secondary{box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){box-shadow:var(--shadow-md)}.toolgroup{box-shadow:var(--shadow-sm);border-color:#00000012}.seg{box-shadow:inset 0 1px 2px #0000000f}.seg button.on{box-shadow:0 1px 2px #0000001a,0 2px 6px #00000014}.comments-toggle{box-shadow:var(--shadow-sm)}.comments-toggle.on{box-shadow:0 1px 2px color-mix(in srgb, var(--primary-dark) 30%, transparent), 0 4px 12px -2px color-mix(in srgb, var(--primary) 35%, transparent)}.form-input,.search-box{box-shadow:inset 0 1px 2px #0000000a}.sidebar-item.active{box-shadow:var(--shadow-xs)}.sidebar-brand-icon{box-shadow:0 2px 4px color-mix(in srgb, var(--primary-dark) 25%, transparent), 0 6px 14px -2px color-mix(in srgb, var(--primary) 35%, transparent)}.modal{box-shadow:var(--shadow-xl);border-color:#0000000f}.ctx-menu{box-shadow:var(--shadow-lg)}.login-glass-card{box-shadow:0 4px 8px #0000000a,0 30px 70px #00000024}.mobile-topbar,.nav-backdrop{display:none}@media (width<=768px){html,body{overflow-x:hidden}.app-shell{height:100dvh}.main-content{width:100%;min-width:0}.mobile-topbar{box-shadow:var(--shadow-bar);z-index:5;background:#fff;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.mobile-topbar .btn-icon{width:40px;height:40px}.mobile-topbar-brand{align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.mobile-topbar-brand .sidebar-brand-icon{border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.sidebar{z-index:1001;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);width:min(280px,84vw)!important}.sidebar.open{box-shadow:var(--shadow-xl);transform:none}.nav-backdrop{z-index:1000;background:#00000059;display:block;position:fixed;inset:0}.sidebar-item{padding:12px}.page-header{flex-wrap:wrap;gap:10px;min-height:0;padding:12px 14px}.page-header-title{font-size:16px}.page-header>div:last-child{flex-wrap:wrap}.page-body{padding:14px!important}.tab-bar{padding:0 6px}.tab-item{padding:10px;font-size:12px}.dashboard-stats{margin-bottom:16px;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.stat-card{padding:14px}.stat-card-value{font-size:22px}.workspace{position:relative}.workspace .drawing-list-panel{width:100%!important}.workspace.list-open .drawing-detail,.workspace .resize-handle{display:none}.drawing-item{padding:12px}.drawing-detail-header .drawing-title-text{white-space:normal;font-size:14px!important}.drawing-header-meta{width:100%;margin-left:0!important}.drawing-header-meta .btn-primary{margin-left:auto}.revision-timeline{padding:8px 12px}.revision-timeline>.truncate{display:none}.revision-timeline .seg{margin-left:0!important}.comments-toggle{margin-left:auto}.pdf-viewport{padding:8px!important}.pdf-toolbar{gap:4px;padding:6px 8px}.drawing-body .comment-panel{z-index:950;box-shadow:none;border-radius:0;position:fixed;inset:0;width:100%!important}.drawing-body>.resize-handle{display:none}.comment-panel-header{padding:14px 16px;font-size:16px}.modal-overlay{align-items:flex-end;padding:0}.modal,.modal-lg,.modal-xl{border-radius:18px 18px 0 0;width:100%;max-height:92dvh;max-width:100%!important}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{padding:12px 16px}.modal-body [style*=grid-template-columns]{grid-template-columns:1fr!important}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:560px}.login-glass-card{border-radius:18px;margin:0 12px;padding:30px 20px!important}.login-brand-name-modern{font-size:26px}.btn-icon{min-width:36px;min-height:36px}.form-input{font-size:16px}:is(.theme-light:has(.workspace:not(.list-open) .drawing-detail)>.page-header,.theme-light:has(.workspace:not(.list-open) .drawing-detail)>.tab-bar){display:none!important}.drawing-detail-header>div:first-child{flex-wrap:wrap;gap:6px!important}.drawing-detail-header>div:first-child>button{flex-basis:auto}.drawing-detail-header>div:first-child>div{flex:100%;min-width:0}.drawing-title-text{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden;font-size:15px!important}.drawing-detail-header{gap:8px!important;padding:10px 12px!important}.revision-timeline{gap:8px!important;padding:8px 12px!important}.revision-timeline>span:first-child{display:none}.revision-timeline{overflow-x:auto;flex-wrap:nowrap!important}.revision-timeline>*{flex-shrink:0}.revision-timeline .comments-toggle{margin-left:auto;padding:6px 10px}.revision-timeline .comments-toggle>span:not(.comments-toggle-count),.revision-node-date{display:none}.main-content [style*="grid-template-columns: 1fr 1fr"],.main-content [style*="grid-template-columns: 1fr 2fr"],.main-content [style*="grid-template-columns: 2fr 1fr"],.main-content [style*="grid-template-columns: 150px 1fr"]{grid-template-columns:1fr!important}}.sidebar-brand:has(.sidebar-brand-logo){justify-content:center;padding:14px 16px 12px}.sidebar-brand-logo{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.sidebar-brand-logo img{object-fit:contain;width:156px;max-width:100%;height:auto;max-height:72px;display:block}.sidebar-brand-logo .sidebar-brand-name{text-align:center;color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.25}.sidebar-brand-logo .sidebar-brand-sub{text-align:center;letter-spacing:1.8px;text-transform:uppercase;color:var(--primary-dark);padding-left:1.8px;font-size:9.5px;font-weight:700;line-height:1}.login-brand-logo{text-align:center;flex-direction:column;align-items:center;gap:6px}.login-brand-logo img{object-fit:contain;width:210px;max-width:70%;height:auto;max-height:110px;display:block}.mobile-topbar-brand{color:var(--accent)}.sidebar{background:linear-gradient(180deg, #fff 0%, var(--primary-tint) 100%)}.sidebar-item.active{background:var(--primary-glow);color:var(--accent);border-color:var(--primary-border)}.sidebar-item.active svg{color:var(--primary)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary) 100%);border-color:var(--primary)}.btn-primary:hover{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%)}.login-page-modern{background:linear-gradient(160deg, var(--primary-tint) 0%, #fff 55%, var(--primary-tint) 100%)}@media (width<=900px) and (width>=769px){.sidebar-brand-logo img{width:138px}}.review-bar{border-bottom:1px solid var(--border);z-index:1;background:#fbfdf9;flex-wrap:wrap;align-items:center;gap:12px;padding:7px 16px;display:flex;position:relative}.review-bar-empty{color:var(--text-secondary);justify-content:space-between;font-size:12px}.review-steps{scrollbar-width:none;flex:520px;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.review-steps::-webkit-scrollbar{display:none}.review-step{color:var(--text-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px 3px 3px;font-size:11px;font-weight:600;display:inline-flex}.review-step+.review-step:before{content:"";background:var(--border-hover);width:10px;height:1px;margin:0 3px 0 -5px}.review-step-n{background:var(--bg-hover);width:18px;height:18px;color:var(--text-muted);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.review-step.done{color:var(--primary-dark)}.review-step.done .review-step-n{background:var(--primary);border-color:var(--primary);color:#fff}.review-step.current{background:var(--primary-glow);color:var(--primary-dark);box-shadow:inset 0 0 0 1px var(--primary-border)}.review-step.current .review-step-n{border-color:var(--primary);color:var(--primary-dark);background:#fff}.review-step.warn{color:#b45309;background:#fff7e6;box-shadow:inset 0 0 0 1px #fcd9a0}.review-step.warn .review-step-n{color:#b45309;background:#fff;border-color:#d97706}.review-status{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.review-cycle{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.review-waiting{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.review-due{font:600 11px var(--font-sans);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.review-due.soon{color:#b45309;background:#fff7e6;border-color:#fcd9a0}.review-due.overdue{background:var(--error-glow);color:var(--error);border-color:#fecaca}.review-link{color:var(--primary-dark);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.review-checklist{margin:0 0 12px;padding-left:18px;font-size:13px;line-height:1.6}.review-error{background:var(--error-glow);color:var(--error);border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12px}.review-cats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.review-cat{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:8px;padding:10px;font-size:13px;display:flex}.review-cat input{margin-top:3px}.review-cat.on.ok{border-color:var(--primary);background:var(--primary-glow)}.review-cat.on.bad{background:#fff7e6;border-color:#d97706}.review-history{flex-direction:column;gap:2px;display:flex}.review-history-item{border-bottom:1px solid var(--border);gap:14px;padding:9px 0;font-size:13px;display:flex}.review-history-when{width:120px;font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;padding-top:2px;font-size:11px}.review-history-note{color:var(--text-secondary);white-space:pre-wrap;margin-top:3px}.review-cycles{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.review-cycle-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stage-chip{white-space:nowrap;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.stage-chip.s-ir1,.stage-chip.s-ir2{color:#0369a1;background:#eef6ff;border-color:#cfe3f7}.stage-chip.s-approval{background:var(--primary-glow);color:var(--primary-dark);border-color:var(--primary-border)}.stage-chip.s-consultant,.stage-chip.s-client{color:#6d28d9;background:#f3f0ff;border-color:#ddd3fb}.stage-chip.s-resubmit{color:#b45309;background:#fff7e6;border-color:#fcd9a0}.stage-chip.s-closed{color:#15803d;background:#ecfdf3;border-color:#bbe5c8}.stage-chip.none{color:var(--text-muted)}.stage-chip.s-expected{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1}.tracker{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 18px;display:flex;overflow:hidden}.tracker-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tracker-bar .seg{flex-wrap:wrap}.tracker-count{color:var(--text-muted);margin-left:3px;font-size:10px}.tracker-table-wrap{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex:1;overflow:auto}.tracker-table{border-collapse:collapse;width:100%;font-size:13px}.tracker-table th{background:var(--bg-card-hover);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);z-index:1;padding:9px 12px;font-size:11px;position:sticky;top:0}.tracker-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}.tracker-table tbody tr{cursor:pointer}.tracker-table tbody tr:hover{background:var(--bg-hover)}.tracker-code{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.tracker-title{text-overflow:ellipsis;white-space:nowrap;max-width:380px;font-weight:600;overflow:hidden}.tracker-sub{color:var(--text-muted);font-size:12px}.tracker-empty{text-align:center;color:var(--text-muted);padding:30px!important}.myreviews{flex-direction:column;gap:10px;width:100%;max-width:980px;padding:18px;display:flex}.myreviews-list,.myreviews-updates{flex-direction:column;gap:8px;display:flex}.myreviews-item,.myreviews-update{text-align:left;cursor:pointer;border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);font:inherit;color:inherit;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.myreviews-item:hover,.myreviews-update:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md)}.myreviews-update{box-shadow:none;padding:9px 14px;font-size:13px}.myreviews-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:14px;font-size:11px;font-weight:700}.wf-switch{border:1px solid var(--primary-border);background:var(--primary-glow);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px;font-size:13px;display:flex}.wf-switch input{margin-top:3px}.wf-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.wf-hint{color:var(--text-muted);font-size:11px;line-height:1.4}.wf-role{border-top:1px solid var(--border);padding:12px 0}.wf-role-head{align-items:flex-start;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.wf-step{background:var(--primary);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:inline-flex}.wf-people{flex-wrap:wrap;gap:6px;padding-left:32px;display:flex}.wf-person{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.wf-person.on{border-color:var(--primary);background:var(--primary-glow);color:var(--primary-dark);font-weight:600}.wf-person input{display:none}.wf-template{align-items:center;gap:6px;margin-left:32px;font-size:13px;font-weight:600;display:inline-flex}.review-count.overdue{background:var(--error)!important;color:#fff!important}.sidebar-item-count.review-count{background:var(--primary);color:#fff}.nav-dot{background:var(--primary);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:0}.nav-dot.overdue{background:var(--error)}@media (width<=768px){.review-bar{gap:6px;padding:6px 12px}.review-step-label{display:none}.review-step.current .review-step-label,.review-step.warn .review-step-label{display:inline}.review-status{width:100%;margin-left:0}.review-waiting{max-width:150px}.review-cats,.wf-grid{grid-template-columns:1fr}.tracker{padding:10px}.tracker-title{max-width:180px}.myreviews{padding:10px}}.act-tags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.act-tag{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;padding:1px 7px;font-size:10px;font-weight:700;line-height:16px;display:inline-flex}.act-tag.upload{color:#0369a1;background:#eef6ff;border-color:#cfe3f7}.act-tag.download{color:#52525b;background:#f4f4f5;border-color:#e4e4e7}.act-tag.comment{color:#b45309;background:#fff7e6;border-color:#fcd9a0}.act-tag.closed{color:#15803d;background:#ecfdf3;border-color:#bbe5c8}.act-tag.reopened{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.act-tag.review{color:#6d28d9;background:#f3f0ff;border-color:#ddd3fb}.act-count{color:#fff;background:#b45309;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.activity-panel{z-index:60;border:1px solid var(--border);width:420px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-xl);background:#fff;border-radius:12px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.activity-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.activity-list{max-height:420px;overflow-y:auto}.activity-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:9px 12px;font-size:12px;display:flex}.activity-item.fresh{background:#fffbeb}.activity-item .act-tag{margin-top:1px}.activity-text{color:var(--text-primary);word-break:break-word}.activity-dot{background:#d97706;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.myreviews-update .act-tag{margin-right:2px}@media (width<=768px){.activity-panel{width:auto;position:fixed;top:60px;left:12px;right:12px}}.review-note{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;background:#fffbeb;border:1px solid #fde8b0;border-radius:8px;flex:100%;padding:6px 10px;font-size:12px;line-height:1.45}.review-note-label{color:#b45309;margin-right:4px;font-weight:700}.wf-cats{border-collapse:collapse;width:100%;font-size:12px}.wf-cats th{text-align:left;color:var(--text-muted);padding:4px;font-size:11px;font-weight:600}.wf-cats td{vertical-align:middle;padding:3px 4px}.wf-cats .form-input{padding:4px 6px;font-size:12px}.wf-cats td:nth-child(3) .form-input{width:100%}.tracker-table tbody tr.tracker-overdue{background:var(--error-glow);box-shadow:inset 3px 0 0 var(--error)}.tracker-table tbody tr.tracker-overdue:hover{background:#fde2e2}.admin-warning{background:var(--error-glow);color:var(--error);border:1px solid #fecaca;border-radius:8px;margin:10px 16px 0;padding:10px 14px;font-size:13px}.user-picker{min-width:150px;position:relative}.user-picker-btn{text-align:left;cursor:pointer;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-primary);justify-content:space-between;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.user-picker-btn:hover:not(:disabled){border-color:var(--border-hover)}.user-picker-btn:disabled{opacity:.5;cursor:not-allowed}.user-picker-names,.user-picker-placeholder{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-picker-placeholder{color:var(--text-muted);font-style:italic}.user-picker-menu{z-index:50;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);min-width:100%;max-height:240px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.user-picker-item{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.user-picker-item:hover{background:var(--bg-hover)}.user-picker-item.on{font-weight:600}.user-picker-empty{color:var(--text-muted);padding:6px;font-size:12px}.user-picker-clear{justify-content:center;width:100%;margin-top:4px}.wf-disc td{vertical-align:top}.wf-disc .wf-disc-count{color:var(--text-muted);font-size:11px}.reviewers-grid{grid-template-columns:140px 1fr;align-items:start;gap:10px 12px;display:grid}.reviewers-grid .wf-hint{grid-column:2;margin-top:-6px}
