@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@700;800;900&display=swap";:root{--brand-blue: #1b6dc4;--brand-teal: #21a88b;--brand-navy: #0a2240;--brand-gradient: linear-gradient(194deg, #1b6dc4 0%, #21a88b 72%);--brand-gradient-h: linear-gradient(90deg, #1b6dc4 0%, #21a88b 100%);--brand-gradient-d: linear-gradient(135deg, #1b6dc4 0%, #21a88b 100%);--btn-gradient: linear-gradient(145deg, #2d87d8 0%, #1b6dc4 45%, #134fa0 100%);--color-primary: #1b6dc4;--color-primary-hover: #1258a8;--color-primary-light: #daeaf8;--color-primary-dim: rgba(27, 109, 196, .1);--color-success: #21a88b;--color-success-hover: #188f75;--color-success-light: #d4f2eb;--color-success-glow: rgba(33, 168, 139, .22);--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fef2f2;--font-family: "Outfit", system-ui, sans-serif;--bg-base: #e6eff9;--bg-surface: #ffffff;--bg-elevated: #f2f7fd;--text-primary: #0b2540;--text-secondary: #3d5f7f;--text-muted: #7a9cb8;--border-light: #ccdff2;--border-default: #a8c8e8;--shadow-sm: 0 1px 3px rgba(11, 37, 64, .06), 0 1px 2px rgba(43, 135, 218, .05);--shadow-md: 0 4px 16px rgba(11, 37, 64, .09), 0 2px 6px rgba(43, 135, 218, .09);--shadow-lg: 0 8px 30px rgba(11, 37, 64, .13), 0 4px 12px rgba(43, 135, 218, .12);--shadow-glow: 0 0 0 1px rgba(41,196,169,.28), 0 6px 24px rgba(41,196,169,.18), 0 12px 40px rgba(43,135,218,.12);--radius-sm: 8px;--radius: 13px;--radius-lg: 20px;--transition: .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);font-family:var(--font-family);line-height:1.55;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--bg-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-primary);text-decoration:inherit;transition:color var(--transition)}a:hover{color:var(--color-primary-hover)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1,h2,h3,h4{letter-spacing:-.025em;line-height:1.2}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.app-header{background:var(--brand-gradient, linear-gradient(194deg, #2b87da 0%, #29c4a9 72%));color:#fff;padding:1.5rem 2rem;box-shadow:0 4px 24px #2b87da52,0 2px 8px #00000024;position:relative;overflow:hidden}.app-header:before{content:"";position:absolute;top:-80%;right:18%;width:200px;height:300%;background:linear-gradient(108deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);transform:skew(-15deg);pointer-events:none}.app-header:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 100% at 5% 50%,rgba(255,255,255,.14) 0%,transparent 55%),radial-gradient(ellipse 25% 60% at 80% 10%,rgba(41,196,169,.22) 0%,transparent 55%),radial-gradient(ellipse 20% 50% at 98% 85%,rgba(255,255,255,.07) 0%,transparent 55%),linear-gradient(to bottom,rgba(255,255,255,.09) 0%,transparent 55%);pointer-events:none}.header-content{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:1}.header-left{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.header-logo{height:3.25rem;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.22)) brightness(1.05)}.header-text{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.28);padding-left:1.25rem}.app-title{margin:0;font-family:Red Hat Display,Outfit,sans-serif;font-size:1.875rem;font-weight:900;letter-spacing:-.025em;line-height:1.1;text-shadow:0 1px 0 rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.2),0 4px 18px rgba(0,0,0,.1)}.app-subtitle{margin:.35rem 0 0;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffffe0;text-shadow:0 1px 4px rgba(0,0,0,.22)}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.header-integrations-label{margin:0;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6}.header-integrations{display:flex;gap:.5rem;align-items:center}.integration-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:99px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2);transition:background .2s,border-color .2s}.integration-badge:hover{background:#ffffff42;border-color:#ffffff73}.integration-badge:before{content:"";width:6px;height:6px;border-radius:50%;margin-right:.4rem;flex-shrink:0}.integration-badge--solar:before{background:#fbbf24}.integration-badge--mcs:before{background:#a3e635}.integration-badge--sp:before{background:#60a5fa}.header-user{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}.header-user-name{font-size:.78rem;font-weight:500;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.btn-signout{padding:.28rem .8rem;font-size:.72rem;font-weight:600;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:99px;color:#fff;cursor:pointer;white-space:nowrap;transition:background var(--transition),border-color var(--transition);font-family:var(--font-family)}.btn-signout:hover{background:#ffffff42;border-color:#ffffff80}@media(max-width:900px){.header-integrations-label{display:none}}@media(max-width:768px){.app-header{padding:1.125rem 1rem}.app-title{font-size:1.375rem}.app-subtitle{font-size:.75rem}.header-logo{height:2.5rem}.header-text{padding-left:1rem}.integration-badge{font-size:.7rem;padding:.25rem .6rem}}@media(max-width:540px){.header-right{display:none}.header-content{justify-content:flex-start}}.navigation{background-color:var(--bg-surface, #ffffff);border-bottom:1px solid var(--border-light, #ccdff2);box-shadow:0 2px 8px #2b87da12,0 1px 3px #0000000a}.nav-menu{display:flex;list-style:none;margin:0 auto;padding:0 .5rem;max-width:1200px}.nav-menu li{margin:0;padding:.375rem .25rem;display:flex;align-items:center}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;color:var(--text-secondary, #3d5f7f);text-decoration:none;font-weight:500;font-size:.875rem;border-radius:var(--radius-sm, 8px);transition:all var(--transition, .22s cubic-bezier(.4,0,.2,1));position:relative;border:1px solid transparent}.nav-link:hover{color:var(--brand-blue, #2b87da);background-color:var(--color-primary-light, #deeefb);text-decoration:none}.nav-link.active{background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));color:#fff;border-color:transparent;box-shadow:0 2px 10px #2b87da4d,0 1px 3px #00000014}.nav-link.active:hover{opacity:.94;text-decoration:none}.nav-icon{font-size:1.125rem;line-height:1}.nav-label{font-size:.875rem;font-weight:600;letter-spacing:.01em}@media(max-width:480px){.nav-link{padding:.625rem .875rem}.nav-label{display:none}.nav-icon{font-size:1.375rem}}.layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-base, #e6eff9);background-image:radial-gradient(circle,rgba(43,135,218,.1) 1px,transparent 1px);background-size:28px 28px}.main-content{flex:1;max-width:95%;width:100%;margin:0 auto;padding:2rem 1.5rem}@media(max-width:768px){.main-content{padding:1.5rem 1rem}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;min-height:200px}.loading-spinner{width:48px;height:48px;border-radius:50%;background:conic-gradient(from 0deg,var(--brand-blue, #2b87da) 0deg,var(--brand-teal, #29c4a9) 200deg,transparent 260deg);animation:spin .85s linear infinite;position:relative;filter:drop-shadow(0 0 6px rgba(41,196,169,.5))}.loading-spinner:before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--bg-elevated, #f2f7fd)}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{margin-top:1.125rem;color:var(--text-secondary, #3d5f7f);font-size:.9rem;font-weight:500;letter-spacing:.01em}.error-message{padding:1.25rem 1.5rem;border-radius:var(--radius, 10px);margin:1rem 0;border:1px solid}.error-info{background-color:var(--color-primary-light, #e3f0fc);border-color:var(--color-primary, #2b87da);color:#0d3f6e}.error-warning{background-color:var(--color-warning-light, #fef3c7);border-color:var(--color-warning, #f59e0b);color:#92400e}.error-error{background-color:var(--color-error-light, #fef2f2);border-color:var(--color-error, #ef4444);color:#991b1b}.error-critical{background-color:#450a0a;border-color:#7f1d1d;color:#fecaca}.error-content{display:flex;align-items:flex-start;gap:1rem}.error-icon{flex-shrink:0;width:24px;height:24px}.error-text{flex:1}.error-title{font-size:1rem;font-weight:600;margin:0 0 .25rem}.error-description{font-size:.875rem;margin:0;opacity:.9}.error-retry-button{margin-top:1rem;padding:.5rem 1rem;background-color:currentColor;color:#fff;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:.875rem;font-weight:500;transition:opacity .2s}.error-retry-button:hover{opacity:.8}.error-retry-button:active{opacity:.6}.project-card{background:var(--bg-surface, #ffffff);border-radius:var(--radius, 13px);padding:0;box-shadow:var(--shadow-sm);border:1px solid var(--border-light, #ccdff2);transition:transform var(--transition, .22s cubic-bezier(.4,0,.2,1)),box-shadow var(--transition, .22s cubic-bezier(.4,0,.2,1)),border-color var(--transition, .22s cubic-bezier(.4,0,.2,1));position:relative;overflow:hidden;animation:fadeSlideUp .4s cubic-bezier(.4,0,.2,1) both}.project-card:before{content:"";display:block;height:4px;background:var(--brand-gradient-h, linear-gradient(90deg, #2b87da 0%, #29c4a9 100%));border-radius:var(--radius, 13px) var(--radius, 13px) 0 0}.project-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #29c4a947,0 8px 28px #29c4a929,0 16px 40px #2b87da1f;border-color:#29c4a959}.project-card-header,.project-card-body,.project-card-footer{padding-left:1.5rem;padding-right:1.5rem}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1.375rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light, #ccdff2)}.project-name{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary, #0b2540);line-height:1.3;letter-spacing:-.02em}.project-status-badge{padding:.25rem .75rem;border-radius:99px;font-size:.7rem;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.project-card-body{display:flex;flex-direction:column;gap:.875rem;padding-top:1.125rem;padding-bottom:.5rem}.project-info-row{display:flex;align-items:flex-start;gap:.75rem}.info-icon{flex-shrink:0;color:var(--text-muted, #7a9cb8);margin-top:.125rem}.info-label{margin:0;font-size:.68rem;font-weight:700;color:var(--text-muted, #7a9cb8);text-transform:uppercase;letter-spacing:.08em}.info-value{margin:.2rem 0 0;font-size:.875rem;color:var(--text-primary, #0b2540);line-height:1.4;font-weight:500}.project-card-footer{padding-top:1rem;padding-bottom:1.375rem;border-top:1px solid var(--border-light, #ccdff2);margin-top:.5rem}.btn-create-project,.btn-manage-project{width:100%;padding:.8rem 1rem;border:none;border-radius:var(--radius-sm, 8px);font-weight:700;font-size:.875rem;cursor:pointer;transition:all var(--transition, .22s cubic-bezier(.4,0,.2,1));text-align:center;letter-spacing:.01em}.btn-create-project{background-color:var(--color-success, #29c4a9);color:#fff;box-shadow:0 2px 8px #29c4a947}.btn-create-project:hover:not(:disabled){background-color:var(--color-success-hover, #1daa91);transform:translateY(-1px);box-shadow:0 4px 16px #29c4a961}.btn-create-project:active:not(:disabled){transform:translateY(0)}.btn-create-project:disabled{background:var(--border-default, #a8c8e8);box-shadow:none;cursor:not-allowed;opacity:.65}.btn-manage-project{background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));color:#fff;box-shadow:0 2px 10px #2b87da47}.btn-manage-project:hover:not(:disabled){opacity:.91;transform:translateY(-1px);box-shadow:0 4px 18px #2b87da66}.btn-manage-project:disabled{background:var(--border-default, #a8c8e8);box-shadow:none;cursor:not-allowed;opacity:.65}.technology-toggles{display:flex;gap:1.25rem;margin-bottom:.875rem;padding:.75rem 1rem;background:var(--bg-elevated, #f2f7fd);border-radius:var(--radius-sm, 8px);border:1px solid var(--border-light, #ccdff2)}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer;accent-color:var(--color-success, #29c4a9)}.toggle-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.toggle-text{font-size:.875rem;font-weight:500;color:var(--text-secondary, #3d5f7f)}.error-message{margin-top:.5rem;padding:.75rem;background-color:var(--color-error-light, #fef2f2);color:#c53030;border-radius:var(--radius-sm, 8px);font-size:.875rem;border-left:3px solid var(--color-error, #ef4444)}.sync-status-unknown{padding:.75rem;background-color:var(--color-warning-light, #fef3c7);color:#92400e;border-radius:var(--radius-sm, 8px);font-size:.875rem;text-align:center;border-left:3px solid var(--color-warning, #f59e0b)}@media(max-width:768px){.project-name{font-size:1rem}.project-status-badge{font-size:.65rem;padding:.2rem .55rem}.btn-create-project,.btn-manage-project{padding:.7rem .875rem;font-size:.825rem}.technology-toggles{flex-direction:column;gap:.75rem}.toggle-text{font-size:.8125rem}}.project-list-container{width:100%}.project-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.project-list-title{margin:0;font-size:1.5rem;font-weight:800;color:var(--text-primary, #0b2540);letter-spacing:-.03em}.project-list-count{margin:0;font-size:.875rem;color:var(--text-secondary, #4a6585);font-weight:500}.project-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.project-list-grid>*:nth-child(1){animation-delay:.04s}.project-list-grid>*:nth-child(2){animation-delay:.09s}.project-list-grid>*:nth-child(3){animation-delay:.14s}.project-list-grid>*:nth-child(4){animation-delay:.19s}.project-list-grid>*:nth-child(5){animation-delay:.24s}.project-list-grid>*:nth-child(6){animation-delay:.29s}.project-list-grid>*:nth-child(n+7){animation-delay:.34s}.project-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-surface, #ffffff);border-radius:var(--radius, 10px);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, #d4e4f5)}.empty-icon{color:var(--border-default, #b8d0ea);margin-bottom:1.5rem}.empty-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-secondary, #4a6585)}.empty-description{margin:0;font-size:1rem;color:var(--text-muted, #8ba5be);max-width:400px}@media(max-width:1024px){.project-list-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.project-list-header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-list-title{font-size:1.25rem}.project-list-grid{grid-template-columns:1fr;gap:1rem}.project-list-empty{padding:3rem 1.5rem}}.dashboard{width:100%}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem}.dashboard-title{margin:0 0 .5rem;font-size:2rem;font-weight:800;color:var(--text-primary, #0b2540);letter-spacing:-.04em}.dashboard-description{margin:0;font-size:1rem;color:var(--text-secondary, #4a6585)}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));color:#fff;border:none;border-radius:var(--radius-sm, 6px);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s,box-shadow .2s;white-space:nowrap;box-shadow:0 2px 8px #2b87da4d}.refresh-button:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 14px #2b87da66}.refresh-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #2b87da40}.refresh-button:disabled{background:#c5d5e8;box-shadow:none;cursor:not-allowed}.refresh-icon{flex-shrink:0}.refresh-icon.spinning{animation:spin 1s linear infinite}.cache-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--color-primary-light, #e3f0fc);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius-sm, 6px);margin-bottom:1.5rem;font-size:.875rem;color:var(--color-primary, #2b87da)}.cache-icon{flex-shrink:0}.dashboard-content{width:100%}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:stretch;gap:1rem}.dashboard-title{font-size:1.5rem}.dashboard-description{font-size:.875rem}.refresh-button{justify-content:center}.cache-indicator{font-size:.8125rem}}.sharepoint-file-browser-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sharepoint-file-browser{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.browser-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.browser-header h3{margin:0;font-size:1.25rem;color:#333}.close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#f0f0f0}.browser-info{padding:12px 24px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:8px;font-size:.9rem;color:#666}.folder-icon{font-size:1.2em}.folder-path{font-family:monospace;color:#06c}.browser-content{flex:1;overflow-y:auto;padding:16px 24px;min-height:300px}.browser-loading,.browser-error,.browser-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#666}.spinner{border:3px solid #f3f3f3;border-top:3px solid #0066cc;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon,.empty-icon{font-size:3rem;margin-bottom:8px}.error-message{color:#c00;margin:8px 0}.retry-button{margin-top:12px;padding:8px 16px;background-color:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#0052a3}.file-list{display:flex;flex-direction:column}.file-list-header{display:grid;grid-template-columns:32px 1fr 100px 180px;gap:12px;padding:12px;background-color:#f8f9fa;border-radius:4px;font-weight:600;font-size:.85rem;color:#555;margin-bottom:8px}.file-item{display:grid;grid-template-columns:32px 1fr 100px 180px;gap:12px;padding:12px;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s;align-items:center}.file-item:hover{background-color:#f0f7ff;border-color:#d0e8ff}.file-item.selected{background-color:#e3f2fd;border-color:#06c}.file-icon{font-size:1.5rem;text-align:center}.file-name{font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size,.file-date{font-size:.85rem;color:#666}.browser-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background-color:#f8f9fa}.btn-select,.btn-cancel{padding:10px 20px;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-select{background-color:#06c;color:#fff}.btn-select:hover:not(:disabled){background-color:#0052a3}.btn-select:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.btn-cancel{background-color:#fff;color:#666;border:1px solid #ddd}.btn-cancel:hover{background-color:#f0f0f0}@media(max-width:768px){.sharepoint-file-browser{width:95%;max-height:90vh}.file-list-header,.file-item{grid-template-columns:28px 1fr 80px}.file-date,.header-date{display:none}}.project-detail-container{max-width:1200px;margin:0 auto;padding:2rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--text-muted, #8ba5be)}.breadcrumb-link{color:var(--color-primary, #2b87da);text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:var(--color-primary-hover, #1e72c0);text-decoration:underline}.breadcrumb-separator{color:var(--text-muted, #8ba5be)}.breadcrumb-current{color:var(--text-secondary, #4a6585);font-weight:500}.project-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-light, #d4e4f5)}.project-detail-header h1{font-size:1.875rem;font-weight:800;color:var(--text-primary, #0b2540);margin:0;letter-spacing:-.04em}.btn-back-to-dashboard{padding:.5rem 1rem;background-color:var(--bg-elevated, #f5f8fe);color:var(--text-secondary, #4a6585);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius-sm, 6px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-back-to-dashboard:hover{background-color:var(--color-primary-light, #e3f0fc);border-color:var(--border-default, #b8d0ea);color:var(--color-primary, #2b87da)}.documents-view{display:flex;flex-direction:column;gap:1.5rem}.filter-controls{background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius, 10px);padding:1rem;margin-bottom:.5rem;box-shadow:var(--shadow-sm)}.filter-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.filter-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--bg-elevated, #f5f8fe);color:var(--text-secondary, #4a6585);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius-sm, 6px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn.active{background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));color:#fff;border-color:transparent;box-shadow:0 2px 6px #2b87da4d}.filter-btn.active:hover{opacity:.92}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.25rem;padding:0 .375rem;background-color:var(--border-light, #d4e4f5);color:var(--text-secondary, #4a6585);border-radius:9999px;font-size:.75rem;font-weight:600}.filter-btn.active .count-badge{background-color:#ffffff40;color:#fff}.total-count{font-size:.75rem;color:var(--text-muted, #8ba5be);margin-left:.25rem}.no-documents{text-align:center;padding:3rem;color:var(--text-secondary, #4a6585);background-color:var(--bg-elevated, #f5f8fe);border:1px dashed var(--border-default, #b8d0ea);border-radius:var(--radius, 10px)}.document-section{background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #ccdff2);border-radius:var(--radius, 13px);overflow:hidden;box-shadow:var(--shadow-sm);border-left:4px solid transparent;border-image:var(--brand-gradient-h, linear-gradient(90deg, #2b87da 0%, #29c4a9 100%)) 1 0 0 0;border-image-slice:1;border-radius:0 var(--radius, 13px) var(--radius, 13px) 0}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-elevated, #f2f7fd);border-bottom:1px solid var(--border-light, #ccdff2);cursor:pointer;transition:background-color var(--transition, .22s cubic-bezier(.4,0,.2,1));-webkit-user-select:none;user-select:none}.section-header:hover{background:var(--color-primary-light, #deeefb)}.section-header-content{display:flex;align-items:center;gap:1rem;flex:1}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #0d2d4f);margin:0}.section-summary{font-size:.8rem;color:var(--text-secondary, #4a6585);padding:.2rem .65rem;background-color:var(--border-light, #d4e4f5);border-radius:9999px;font-weight:500}.section-toggle{background:none;border:none;font-size:1rem;color:var(--text-muted, #8ba5be);cursor:pointer;padding:.25rem;transition:color .2s}.section-toggle:hover{color:var(--text-primary, #0d2d4f)}.section-documents{padding:1rem;display:flex;flex-direction:column;gap:1rem}.no-documents-message{text-align:center;padding:2rem;color:var(--text-muted, #8ba5be);font-style:italic}.document-item{padding:1.25rem;background-color:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #ccdff2);border-radius:var(--radius-sm, 8px);transition:box-shadow var(--transition, .22s cubic-bezier(.4,0,.2,1)),border-color var(--transition, .22s cubic-bezier(.4,0,.2,1))}.document-item:hover{box-shadow:var(--shadow-md);border-color:var(--border-default, #a8c8e8)}.document-item.complete{border-left:4px solid var(--color-success, #29c4a9);background:linear-gradient(to right,rgba(41,196,169,.03) 0%,transparent 60%)}.document-item.incomplete{border-left:4px solid var(--color-warning, #f59e0b)}.document-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.document-ref{font-size:.75rem;font-weight:600;color:var(--text-secondary, #4a6585);background-color:var(--color-primary-light, #e3f0fc);padding:.25rem .5rem;border-radius:var(--radius-sm, 6px)}.document-label{flex:1;font-size:1rem;font-weight:600;color:var(--text-primary, #0d2d4f);margin:0}.status-badge{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:9999px;text-transform:capitalize}.status-badge.complete{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58}.status-badge.incomplete{background-color:var(--color-warning-light, #fef3c7);color:#92400e}.document-subtitle{font-size:.875rem;color:var(--text-secondary, #4a6585);margin:0 0 .75rem}.document-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{font-size:.75rem;font-weight:500;color:var(--color-primary, #2b87da);background-color:var(--color-primary-light, #e3f0fc);padding:.25rem .625rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-default, #b8d0ea)}.files-section{margin-top:1rem;margin-bottom:.75rem}.files-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #4a6585);margin:0 0 .5rem}.files-list{display:flex;flex-direction:column;gap:.5rem}.no-files-message{font-size:.875rem;color:var(--text-muted, #8ba5be);font-style:italic;margin:.5rem 0}.file-link{display:flex;align-items:center;gap:.75rem;padding:.5rem;background-color:var(--bg-elevated, #f5f8fe);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius-sm, 6px);transition:background-color .2s,border-color .2s}.file-link:hover{background-color:var(--color-primary-light, #e3f0fc);border-color:var(--border-default, #b8d0ea)}.file-icon{font-size:1.5rem;flex-shrink:0}.file-name{flex:1;font-size:.875rem;color:var(--color-primary, #2b87da);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name:hover{text-decoration:underline}.file-type-badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:var(--radius-sm, 6px);text-transform:capitalize;flex-shrink:0}.file-type-badge.generated{background-color:var(--color-primary-light, #e3f0fc);color:var(--color-primary, #2b87da)}.file-type-badge.upload{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58}.file-date{font-size:.75rem;color:var(--text-muted, #8ba5be);flex-shrink:0}.document-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light, #d4e4f5)}.action-badge{font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:var(--radius-sm, 6px)}.action-badge.required{background-color:var(--color-error-light, #fef2f2);color:#991b1b;border:1px solid #fecaca}.action-badge.can-generate{background-color:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.action-badge.can-upload{background-color:var(--color-primary-light, #e3f0fc);color:var(--color-primary, #2b87da);border:1px solid var(--border-default, #b8d0ea)}.action-badge.can-sign{background-color:var(--color-warning-light, #fef3c7);color:#92400e;border:1px solid #fde68a}@media(max-width:768px){.project-detail-container{padding:1rem}.project-detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.filter-buttons{flex-direction:column;width:100%}.filter-btn{width:100%;justify-content:space-between}.section-header-content{flex-direction:column;align-items:flex-start;gap:.5rem}.document-header{flex-wrap:wrap}.file-link{flex-direction:column;align-items:flex-start;gap:.5rem}.file-name{white-space:normal;word-break:break-word}}@media(max-width:480px){.project-detail-header h1{font-size:1.5rem}.section-title{font-size:1.125rem}.breadcrumb{font-size:.75rem}}.source-config-editor{padding:8px;min-height:60px}.config-note{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#f0f7ff;border:1px solid #d0e8ff;border-radius:4px;color:#06c;font-size:.9em}.note-icon{font-size:1.2em}.opensolar-config{display:flex;flex-direction:column;gap:8px}.opensolar-config label{font-weight:500;font-size:.9em;color:#333}.template-select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9em;background-color:#fff;cursor:pointer}.template-select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #0066cc1a}.loading-text{color:#666;font-style:italic;margin:0}.error-text{color:#c00;margin:0;font-size:.9em}.selected-template{margin:0;padding:4px 8px;background-color:#e8f5e9;border-left:3px solid #4caf50;font-size:.85em;color:#2e7d32}.master-documents-grid-container{background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius, 10px);overflow:hidden;box-shadow:var(--shadow-sm)}.grid-message{padding:.875rem 1.25rem;font-size:.875rem;font-weight:500}.grid-message-success{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58;border-bottom:1px solid var(--color-success, #29c4a9)}.grid-message-error{background-color:var(--color-error-light, #fef2f2);color:#991b1b;border-bottom:1px solid var(--color-error, #ef4444)}.grid-wrapper{overflow-x:auto}.master-documents-grid{width:100%;border-collapse:collapse;font-size:.875rem}.master-documents-grid thead{background-color:var(--bg-elevated, #f5f8fe);border-bottom:2px solid var(--border-light, #d4e4f5)}.master-documents-grid th{padding:.875rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary, #4a6585);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.master-documents-grid td{padding:1rem;border-bottom:1px solid var(--border-light, #d4e4f5);vertical-align:top}.master-documents-grid tbody tr{transition:background-color .2s ease}.master-documents-grid tbody tr:hover:not(.row-editing){background-color:var(--bg-elevated, #f5f8fe)}.master-documents-grid tbody tr.row-editing{background-color:var(--color-primary-light, #e3f0fc);border-left:4px solid var(--color-primary, #2b87da)}.section-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.section-badge-proposal{background-color:var(--color-primary-light, #e3f0fc);color:var(--color-primary, #2b87da)}.section-badge-contract{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58}.section-badge-handover{background-color:var(--color-warning-light, #fef3c7);color:#92400e}.section-badge-default{background-color:var(--border-light, #d4e4f5);color:var(--text-secondary, #4a6585)}.cell-ref code{font-family:Courier New,monospace;font-size:.8125rem;font-weight:600;color:var(--color-primary, #2b87da);background-color:var(--color-primary-light, #e3f0fc);padding:.25rem .5rem;border-radius:var(--radius-sm, 6px)}.cell-label{min-width:200px;max-width:300px}.label-text{font-weight:500;color:var(--text-primary, #0d2d4f)}.subtitle-text{font-size:.75rem;color:var(--text-muted, #8ba5be);margin-top:.25rem}.edit-label-group{display:flex;flex-direction:column;gap:.5rem}.cell-processing-notes{min-width:250px;max-width:400px}.processing-notes-text{color:var(--text-secondary, #4a6585);white-space:pre-wrap;word-break:break-word}.placeholder-text{color:var(--text-muted, #8ba5be);font-style:italic}.cell-checkbox{text-align:center;width:80px}.checkmark{font-size:1.125rem;font-weight:700}.checkmark-yes{color:var(--color-success, #29c4a9)}.checkmark-no{color:var(--color-error, #ef4444)}.cell-status{width:100px}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.status-active{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58}.status-inactive{background-color:var(--border-light, #d4e4f5);color:var(--text-secondary, #4a6585)}.status-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.cell-actions{width:150px}.action-buttons{display:flex;gap:.5rem}.btn-edit,.btn-save,.btn-cancel{padding:.5rem .875rem;border-radius:var(--radius-sm, 6px);border:1px solid;font-weight:500;font-size:.8125rem;cursor:pointer;transition:all .2s ease}.btn-edit{background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));border-color:transparent;color:#fff;box-shadow:0 1px 4px #2b87da40}.btn-edit:hover:not(:disabled){opacity:.9;box-shadow:0 2px 8px #2b87da59}.btn-edit:disabled{background:var(--border-default, #b8d0ea);border-color:transparent;cursor:not-allowed;opacity:.5;box-shadow:none}.btn-save{background-color:var(--color-success, #29c4a9);border-color:var(--color-success, #29c4a9);color:#fff}.btn-save:hover:not(:disabled){background-color:var(--color-success-hover, #20a892);border-color:var(--color-success-hover, #20a892)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background-color:var(--bg-surface, #ffffff);border-color:var(--border-light, #d4e4f5);color:var(--text-secondary, #4a6585)}.btn-cancel:hover:not(:disabled){background-color:var(--bg-elevated, #f5f8fe);border-color:var(--border-default, #b8d0ea)}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-default, #b8d0ea);border-radius:var(--radius-sm, 6px);font-size:.875rem;font-family:inherit;transition:border-color .2s ease;color:var(--text-primary, #0d2d4f);background-color:var(--bg-surface, #ffffff)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary, #2b87da);box-shadow:0 0 0 3px #2b87da1f}.form-input-subtitle{font-size:.8125rem;color:var(--text-muted, #8ba5be)}.form-textarea{resize:vertical;min-height:60px;font-family:inherit}.form-checkbox{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-primary, #2b87da)}.source-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm, 6px);font-size:.75rem;font-weight:500;background-color:var(--bg-elevated, #f5f8fe);color:var(--text-secondary, #4a6585);border:1px solid var(--border-light, #d4e4f5)}.config-display{font-size:.8125rem;color:var(--text-muted, #8ba5be)}.cell-needs-populating{min-width:140px}.needs-populating-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem}.btn-questions{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--radius-sm, 6px);border:1px solid;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-questions:disabled{opacity:.5;cursor:not-allowed}.btn-questions-empty{background-color:var(--bg-elevated, #f5f8fe);border-color:var(--border-default, #b8d0ea);color:var(--text-muted, #8ba5be)}.btn-questions-empty:hover:not(:disabled){background-color:var(--color-primary-light, #e3f0fc);border-color:var(--color-primary, #2b87da);color:var(--color-primary, #2b87da)}.btn-questions-partial{background-color:var(--color-warning-light, #fef3c7);border-color:var(--color-warning, #f59e0b);color:#92400e}.btn-questions-partial:hover:not(:disabled){background-color:#fde68a}.btn-questions-complete{background-color:var(--color-success-light, #e2f7f3);border-color:var(--color-success, #29c4a9);color:#0a6b58}.btn-questions-complete:hover:not(:disabled){background-color:#b3ede5}.q-status{font-size:.875rem;font-weight:700}.q-status-none{color:var(--text-muted, #8ba5be)}.q-status-partial{color:var(--color-warning, #f59e0b)}.q-status-complete{color:var(--color-success, #29c4a9)}@media(max-width:1200px){.cell-label{max-width:200px}.cell-processing-notes{max-width:300px}}@media(max-width:768px){.master-documents-grid{min-width:1200px}.grid-wrapper{-webkit-overflow-scrolling:touch}}.dfq-page{padding:1.5rem;max-width:1200px}.dfq-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.dfq-header-left{display:flex;flex-direction:column;gap:.75rem}.dfq-back-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius-sm, 6px);background:var(--bg-surface, #ffffff);color:var(--text-secondary, #4a6585);font-size:.875rem;cursor:pointer;transition:all .2s ease;align-self:flex-start}.dfq-back-btn:hover{background-color:var(--color-primary-light, #e3f0fc);border-color:var(--border-default, #b8d0ea);color:var(--color-primary, #2b87da)}.dfq-title-group{display:flex;flex-direction:column;gap:.25rem}.dfq-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #0d2d4f);margin:0;display:flex;align-items:center;gap:.5rem;letter-spacing:-.3px}.dfq-ref{font-family:Courier New,monospace;font-size:1rem;font-weight:600;color:var(--color-primary, #2b87da);background-color:var(--color-primary-light, #e3f0fc);padding:.25rem .5rem;border-radius:var(--radius-sm, 6px)}.dfq-subtitle{font-size:.875rem;color:var(--text-secondary, #4a6585);margin:0}.dfq-status-bar{display:flex;align-items:center}.dfq-status-badge{display:inline-block;padding:.375rem .875rem;border-radius:9999px;font-size:.875rem;font-weight:600}.dfq-status-empty{background-color:var(--border-light, #d4e4f5);color:var(--text-muted, #8ba5be)}.dfq-status-partial{background-color:var(--color-warning-light, #fef3c7);color:#92400e}.dfq-status-complete{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58}.dfq-message{padding:.875rem 1.25rem;border-radius:var(--radius-sm, 6px);font-size:.875rem;margin-bottom:1rem}.dfq-message-success{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58;border:1px solid var(--color-success, #29c4a9)}.dfq-message-error{background-color:var(--color-error-light, #fef2f2);color:#991b1b;border:1px solid var(--color-error, #ef4444)}.dfq-extract-section{background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius, 10px);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.dfq-section-heading{font-size:1rem;font-weight:600;color:var(--text-primary, #0d2d4f);margin:0 0 .5rem}.dfq-extract-help{font-size:.875rem;color:var(--text-secondary, #4a6585);margin:0 0 .875rem}.dfq-extract-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.dfq-project-select{flex:1;min-width:280px;max-width:480px;padding:.5rem .75rem;border:1px solid var(--border-default, #b8d0ea);border-radius:var(--radius-sm, 6px);font-size:.875rem;font-family:inherit;background-color:var(--bg-surface, #ffffff);color:var(--text-primary, #0d2d4f);cursor:pointer;transition:border-color .2s ease}.dfq-project-select:focus{outline:none;border-color:var(--color-primary, #2b87da);box-shadow:0 0 0 3px #2b87da1f}.dfq-projects-loading,.dfq-projects-empty{font-size:.875rem;color:var(--text-muted, #8ba5be);font-style:italic}.dfq-extract-btn{padding:.5rem 1rem;border-radius:var(--radius-sm, 6px);border:none;background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 6px #2b87da4d}.dfq-extract-btn:hover:not(:disabled){opacity:.92;box-shadow:0 4px 12px #2b87da66}.dfq-extract-btn:disabled{background:var(--border-default, #b8d0ea);box-shadow:none;cursor:not-allowed}.dfq-questions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.dfq-save-btn{padding:.5rem 1.25rem;border-radius:var(--radius-sm, 6px);border:none;background-color:var(--color-success, #29c4a9);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #29c4a940}.dfq-save-btn:hover:not(:disabled){background-color:var(--color-success-hover, #20a892);box-shadow:0 4px 10px #29c4a959}.dfq-save-btn:disabled{background:var(--border-default, #b8d0ea);box-shadow:none;cursor:not-allowed}.dfq-table-wrapper{background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius, 10px);overflow:hidden;overflow-x:auto;box-shadow:var(--shadow-sm)}.dfq-table{width:100%;border-collapse:collapse;font-size:.875rem}.dfq-table thead{background-color:var(--bg-elevated, #f5f8fe);border-bottom:2px solid var(--border-light, #d4e4f5)}.dfq-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary, #4a6585);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.dfq-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-light, #d4e4f5);vertical-align:middle}.dfq-row-answered{background-color:#29c4a90d}.dfq-row-unanswered{background-color:var(--bg-surface, #ffffff)}.dfq-row-unanswered:hover{background-color:var(--bg-elevated, #f5f8fe)}.dfq-th-num{width:50px}.dfq-th-type{width:100px}.dfq-th-answer{width:220px}.dfq-th-status{width:70px;text-align:center}.dfq-td-num{color:var(--text-muted, #8ba5be);font-size:.8125rem}.dfq-td-status{text-align:center}.dfq-td-question{color:var(--text-primary, #0d2d4f);max-width:600px}.dfq-type-badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-sm, 6px);font-size:.75rem;font-weight:500}.dfq-type-checkbox{background-color:var(--color-primary-light, #e3f0fc);color:var(--color-primary, #2b87da)}.dfq-type-text{background-color:var(--border-light, #d4e4f5);color:var(--text-secondary, #4a6585)}.dfq-checkbox-toggle{padding:.375rem .875rem;border-radius:var(--radius-sm, 6px);border:1px solid;font-size:.875rem;cursor:pointer;transition:all .2s ease;font-family:MS Gothic,Segoe UI Symbol,sans-serif}.dfq-checkbox-checked{background-color:var(--color-success-light, #e2f7f3);border-color:var(--color-success, #29c4a9);color:#0a6b58}.dfq-checkbox-checked:hover{background-color:#b3ede5}.dfq-checkbox-unchecked{background-color:var(--bg-elevated, #f5f8fe);border-color:var(--border-default, #b8d0ea);color:var(--text-muted, #8ba5be)}.dfq-checkbox-unchecked:hover{background-color:var(--color-primary-light, #e3f0fc);border-color:var(--color-primary, #2b87da)}.dfq-text-input{width:100%;padding:.375rem .625rem;border:1px solid var(--border-default, #b8d0ea);border-radius:var(--radius-sm, 6px);font-size:.875rem;font-family:inherit;color:var(--text-primary, #0d2d4f);transition:border-color .2s ease}.dfq-text-input:focus{outline:none;border-color:var(--color-primary, #2b87da);box-shadow:0 0 0 3px #2b87da1f}.dfq-answered-badge{font-size:1rem;font-weight:700;color:var(--color-success, #29c4a9)}.dfq-unanswered-badge{font-size:1rem;color:var(--border-default, #b8d0ea)}.dfq-footer{display:flex;justify-content:flex-end;margin-top:1rem}.dfq-loading,.dfq-empty{padding:2rem;text-align:center;color:var(--text-secondary, #4a6585);background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #d4e4f5);border-radius:var(--radius, 10px)}.dfq-empty p{margin:0}.master-documents-page{padding:2rem;max-width:95%;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.header-left h1{margin:0 0 .5rem;font-size:2rem;color:var(--text-primary, #0b2540);font-weight:800;letter-spacing:-.04em}.subtitle{margin:0;color:var(--text-secondary, #4a6585);font-size:.875rem}.header-actions{display:flex;gap:.75rem}.btn-sync,.btn-refresh{padding:.625rem 1.25rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-light, #d4e4f5);background-color:var(--bg-surface, #ffffff);color:var(--text-secondary, #4a6585);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-sync{background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));border-color:transparent;color:#fff;box-shadow:0 2px 8px #2b87da4d}.btn-sync:hover:not(:disabled){opacity:.92;box-shadow:0 4px 14px #2b87da66}.btn-refresh:hover:not(:disabled){background-color:var(--color-primary-light, #e3f0fc);border-color:var(--border-default, #b8d0ea);color:var(--color-primary, #2b87da)}.btn-sync:disabled,.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.sync-message{padding:.875rem 1.25rem;border-radius:var(--radius-sm, 6px);margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.sync-message.success{background-color:var(--color-success-light, #e2f7f3);color:#0a6b58;border:1px solid var(--color-success, #29c4a9)}.sync-message.error{background-color:var(--color-error-light, #fef2f2);color:#991b1b;border:1px solid var(--color-error, #ef4444)}.statistics-bar{display:flex;gap:2rem;padding:1.5rem 2rem;background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #ccdff2);border-radius:var(--radius, 13px);margin-bottom:1.5rem;box-shadow:var(--shadow-sm);border-top:3px solid transparent;border-image:var(--brand-gradient-h, linear-gradient(90deg, #2b87da 0%, #29c4a9 100%)) 1 0 0 0;border-image-slice:1;border-radius:0 0 var(--radius, 13px) var(--radius, 13px)}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:1.875rem;font-weight:700;color:var(--brand-blue, #2b87da)}.stat-label{font-size:.75rem;color:var(--text-muted, #8ba5be);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.filter-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.625rem 1rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-light, #d4e4f5);background-color:var(--bg-surface, #ffffff);color:var(--text-secondary, #4a6585);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.filter-btn:hover{background-color:var(--color-primary-light, #e3f0fc);border-color:var(--border-default, #b8d0ea);color:var(--color-primary, #2b87da)}.filter-btn.active{background:var(--btn-gradient, linear-gradient(145deg, #3a9bec 0%, #2b87da 45%, #1b6fc2 100%));border-color:transparent;color:#fff;box-shadow:0 2px 6px #2b87da4d}.count-badge{background-color:#0000001a;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.filter-btn.active .count-badge{background-color:#ffffff40}.no-documents{text-align:center;padding:4rem 2rem;color:var(--text-secondary, #4a6585);font-size:.875rem}@media(max-width:768px){.master-documents-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.statistics-bar{flex-direction:column;gap:1rem}.stat{flex-direction:row;justify-content:space-between}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-gradient);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-20%;right:10%;width:400px;height:600px;background:linear-gradient(108deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);transform:skew(-15deg);pointer-events:none}.login-page:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 5% 50%,rgba(255,255,255,.1) 0%,transparent 55%),radial-gradient(ellipse 30% 50% at 90% 10%,rgba(41,196,169,.18) 0%,transparent 55%);pointer-events:none}.login-card{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:3rem 2.5rem;width:100%;max-width:420px;text-align:center;position:relative;z-index:1;animation:loginFadeUp .4s cubic-bezier(.4,0,.2,1) both}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:2.25rem}.login-logo{height:3.5rem;width:auto;margin-bottom:1.125rem}.login-title{font-family:Red Hat Display,Outfit,sans-serif;font-size:1.75rem;font-weight:900;letter-spacing:-.025em;color:var(--text-primary);margin:0 0 .35rem}.login-subtitle{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0}.login-body{border-top:1px solid var(--border-light);padding-top:2rem}.login-prompt{color:var(--text-secondary);font-size:.9rem;margin:0 0 1.5rem;line-height:1.5}.btn-microsoft{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.8rem 1.5rem;background:#fff;color:#323130;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}.btn-microsoft:hover{background:var(--bg-elevated);border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-microsoft:active{transform:translateY(0);box-shadow:var(--shadow-sm)}#root{width:100%;min-height:100vh}html{scroll-behavior:smooth}body{font-family:var(--font-family, "Outfit", system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-base)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;background-color:var(--color-primary-light, #e3f0fc);color:var(--color-primary);padding:.125rem .35rem;border-radius:4px;font-size:.875em}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover);text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-elevated, #f5f8fe)}::-webkit-scrollbar-thumb{background:var(--border-default, #b8d0ea);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #2b87da)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
