:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0;--border-glow:#6366f11f;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--accent-blue:#1d4ed8;--accent-purple:#6d28d9;--accent-pink:#be185d;--color-success:#047857;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-error:#b91c1c;--color-error-bg:#fef2f2;--color-error-border:#fca5a5;--color-warning:#b45309;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-info:#0369a1;--color-info-bg:#f0f9ff;--color-info-border:#bae6fd;--shadow-premium:0 4px 20px -2px #0f172a0d, 0 2px 8px -1px #0f172a08;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}.app-container{flex-direction:column;gap:16px;max-width:1600px;height:100vh;margin:0 auto;padding:16px;display:flex}.api-header{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-premium);z-index:10;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.header-logo-section{align-items:center;gap:12px;display:flex}.portal-logo{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.portal-logo-img{object-fit:contain;width:100%;height:100%}.portal-title{letter-spacing:-.02em;background:linear-gradient(120deg,#1e3a8a,#4f46e5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.2rem;font-weight:800}.portal-subtitle{color:var(--text-secondary);font-size:.75rem;font-weight:600}.header-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.control-card{flex-direction:column;gap:4px;display:flex}.flex-row{flex-direction:row}.align-center{align-items:center}.pt-14{padding-top:14px}.control-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.68rem;font-weight:700}.control-select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;outline:none;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.control-select:focus{border-color:var(--accent-purple);background:var(--bg-secondary)}.token-input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);position:absolute;left:10px}.control-input{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;outline:none;width:180px;padding:8px 12px 8px 30px;font-size:.85rem;transition:all .2s}.control-input:focus{border-color:var(--accent-blue);background:var(--bg-secondary);width:220px}.control-input.credential-field{width:140px}.control-input.credential-field:focus{width:170px}.mode-toggle-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.mode-toggle-btn:hover{background:#e2e8f0}.mode-toggle-btn.mock{border-color:var(--color-success-border);background:var(--color-success-bg)}.mode-toggle-btn.real{border-color:var(--color-warning-border);background:var(--color-warning-bg)}.auth-connect-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.auth-connect-btn:hover{background:#1e40af}.auth-connect-btn.success{background:var(--color-success);border-color:var(--color-success-border)}.auth-connect-btn:disabled{background:var(--border-color);color:var(--text-muted);cursor:not-allowed}.reset-db-btn{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin-top:14px;padding:8px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.reset-db-btn:hover{background:#b91c1c26}.auth-error-banner{background:var(--color-error-bg);border:1px solid var(--color-error-border);width:100%;color:var(--color-error);border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.mr-4{margin-right:4px}.main-layout{flex:1;grid-template-columns:300px 1fr;gap:16px;min-height:0;display:grid}.api-sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-premium);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.sidebar-search{border-bottom:1px solid var(--border-color);padding:16px}.sidebar-search input{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;outline:none;width:100%;padding:8px 12px 8px 36px;font-size:.85rem;transition:all .2s}.sidebar-search input:focus{border-color:var(--accent-blue);background:#fff}.sidebar-scrollable{flex:1;padding:16px;overflow-y:auto}.sidebar-scrollable::-webkit-scrollbar{width:6px}.sidebar-scrollable::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.endpoint-group{margin-bottom:20px}.group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;padding-left:4px;font-size:.72rem;display:flex}.group-count{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:8px;margin-left:auto;padding:2px 6px;font-size:.65rem;font-weight:700}.endpoint-list{flex-direction:column;gap:4px;list-style:none;display:flex}.endpoint-btn{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-left-width:3px;border-radius:0 6px 6px 0;flex-direction:column;gap:4px;padding:10px 12px;transition:all .15s;display:flex;position:relative}.endpoint-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.endpoint-btn.active{border-left-color:var(--accent-blue);color:#1e40af;background:#eff6ff;font-weight:600}.method-and-path{font-family:var(--font-mono);align-items:center;gap:8px;max-width:100%;font-size:.72rem;font-weight:700;display:flex;overflow:hidden}.endpoint-path{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);overflow:hidden}.endpoint-btn.active .endpoint-path{color:#1e40af}.endpoint-summary{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding-left:64px;font-size:.72rem;font-weight:500;overflow:hidden}.endpoint-btn.active .endpoint-summary{color:#475569}.endpoint-simple-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding-right:18px;font-size:.82rem;font-weight:500;transition:all .15s;overflow:hidden}.endpoint-btn.active .endpoint-simple-title{color:#1e40af;font-weight:600}.active-arrow{color:#1e40af;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.method-badge{text-align:center;text-transform:uppercase;border-radius:4px;flex-shrink:0;min-width:56px;padding:3px 0;font-size:.6rem;font-weight:800;display:inline-block}.method-badge.large{text-align:left;border-radius:6px;min-width:auto;padding:4px 10px;font-size:.8rem;display:inline-flex}.method-badge.get{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.method-badge.post{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.method-badge.put,.method-badge.patch{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.method-badge.delete{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.no-endpoints-found{color:var(--text-muted);text-align:center;padding:20px 0;font-size:.8rem}.content-area{flex-direction:column;gap:16px;display:flex;overflow-y:auto}.content-area::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.endpoint-detail-panel{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-premium);border-radius:12px;padding:24px}.endpoint-header-info{margin-bottom:20px}.endpoint-path-badge-container{align-items:center;gap:12px;margin-bottom:8px;display:flex}.full-path-text{font-family:var(--font-mono);color:var(--text-primary);font-size:.95rem;font-weight:700}.endpoint-summary-title{color:var(--text-primary);margin-bottom:4px;font-size:1.3rem;font-weight:800}.endpoint-summary-subtitle{color:var(--text-muted);margin-bottom:12px;font-size:.9rem;font-weight:500}.endpoint-description-text{color:var(--text-secondary);max-width:800px;font-size:.88rem;line-height:1.4}.console-form{flex-direction:column;gap:20px;display:flex}.uri-preview-card{background:var(--bg-tertiary);border:1px solid var(--border-color);font-family:var(--font-mono);border-radius:8px;flex-direction:column;gap:4px;padding:10px 14px;display:flex;overflow-x:auto}.card-header-small{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:.65rem;font-weight:800}.uri-code{color:var(--accent-blue);white-space:nowrap;font-size:.8rem}.params-section{flex-direction:column;gap:12px;display:flex}.section-subtitle{text-transform:uppercase;color:var(--text-primary);letter-spacing:.04em;border-bottom:2px solid var(--bg-tertiary);padding-bottom:6px;font-size:.85rem;font-weight:800}.params-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.param-input-group{flex-direction:column;gap:4px;display:flex}.param-label{color:var(--text-secondary);font-size:.75rem;font-weight:700}.required-star{color:#b91c1c;margin-left:2px}.param-field{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-size:.85rem;transition:border-color .2s}.param-field:focus{border-color:var(--accent-blue)}.select-field{cursor:pointer;background-color:var(--bg-tertiary)}.body-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.format-json-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.format-json-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.json-textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);color:#0369a1;width:100%;font-family:var(--font-mono);resize:vertical;border-radius:8px;outline:none;padding:12px;font-size:.82rem;line-height:1.4}.json-textarea:focus{border-color:var(--accent-blue);background:#fff}.form-fields-wrapper{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.form-submit-wrapper{justify-content:flex-end;display:flex}.execute-btn{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #1d4ed826}.execute-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1d4ed840}.execute-btn:disabled{background:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}.response-viewer-panel{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-premium);border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex}.panel-title-row{border-bottom:2px solid var(--bg-tertiary);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.panel-title-text{color:var(--text-primary);font-size:.95rem;font-weight:800}.exec-loader{color:var(--accent-blue);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.spin-icon{animation:1.2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-response-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 0;display:flex}.empty-graphic{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-mono);border-radius:8px;margin-bottom:12px;padding:12px 20px;font-size:.8rem}.empty-desc{color:var(--text-muted);max-width:320px;font-size:.85rem}.response-loading-skeleton{flex-direction:column;gap:10px;padding:16px 0;display:flex}.skeleton-bar{background:linear-gradient(90deg, var(--bg-tertiary) 25%, #e2e8f0 50%, var(--bg-tertiary) 75%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.5s infinite loading-shimmer}.skeleton-bar.short{width:30%}.skeleton-bar.medium{width:60%}.skeleton-bar.long{width:95%}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.response-output-container{flex-direction:column;gap:16px;display:flex}.response-meta-banner{border-radius:6px;justify-content:space-between;align-items:center;padding:10px 16px;font-size:.85rem;font-weight:700;display:flex}.response-meta-banner.status-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.response-meta-banner.status-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.response-meta-banner.status-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.response-tab-container{flex-direction:column;gap:16px;display:flex}.code-section-header{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;margin-bottom:4px;font-size:.72rem;font-weight:800}.response-code-pre,.response-headers-pre{background:var(--bg-tertiary);border:1px solid var(--border-color);font-family:var(--font-mono);border-radius:8px;max-height:400px;padding:12px;font-size:.82rem;overflow-x:auto}.json-code{color:#047857}.portal-tabs{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-premium);border-radius:8px;gap:8px;padding:6px;display:flex}.portal-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:8px 16px;font-size:.88rem;font-weight:700;transition:all .2s}.portal-tab-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.portal-tab-btn.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.structured-render-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px;overflow-x:auto}.response-details-card{flex-direction:column;gap:8px;display:flex}.detail-row{border-bottom:1px solid var(--bg-tertiary);justify-content:space-between;padding-bottom:6px;font-size:.85rem;display:flex}.detail-row:last-child{border-bottom:none}.detail-key{color:var(--text-secondary);font-weight:700}.detail-val{color:var(--text-primary);font-weight:500}.detail-val.nested-box{font-family:var(--font-mono);color:#0369a1;font-size:.75rem}.response-error-string-card{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);border-radius:6px;align-items:center;gap:8px;padding:12px;font-size:.85rem;font-weight:600;display:flex}.simple-list{flex-direction:column;gap:6px;list-style:none;display:flex}.simple-list-item{background:var(--bg-tertiary);border-left:3px solid var(--accent-purple);border-radius:6px;padding:8px 12px;font-size:.85rem}.list-meta-stats{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem}.border-none{border:none!important}.cors-warning-panel{flex-direction:column;gap:12px;display:flex}.cors-title-row{align-items:center;gap:8px;display:flex}.cors-heading{color:var(--color-error);font-size:.95rem;font-weight:800}.cors-expl{color:var(--text-secondary);font-size:.85rem}.cors-solution-box{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:6px;padding:14px;font-size:.8rem;display:flex}.cors-solution-box strong{color:var(--text-primary)}.toggle-view-selectors{background:var(--bg-tertiary);border-radius:6px;padding:4px;display:flex}.toggle-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:flex}.toggle-tab-btn.active{color:var(--text-primary);background:#fff;box-shadow:0 1px 3px #0000001a}.user-explainer-card{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px;display:flex}.explainer-icon{color:var(--color-info);margin-top:1px}.explainer-text-wrapper{flex-direction:column;display:flex}.explainer-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-info);font-size:.68rem;font-weight:800}.explainer-help{color:var(--text-secondary);font-size:.82rem;line-height:1.35}.array-item-card{border:1px solid var(--border-color);background:#fff;border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex}.array-item-header{border-bottom:1px solid var(--bg-tertiary);justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.item-index-badge{color:var(--accent-blue);font-size:.72rem;font-weight:800}.remove-item-btn{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:700}.add-array-item-btn{border:1px dashed var(--accent-blue);color:var(--accent-blue);cursor:pointer;background:#fff;border-radius:6px;padding:8px;font-size:.8rem;font-weight:700}.add-array-item-btn:hover{background:var(--bg-tertiary)}.pb-canvas-wrapper.powerbi-theme{background-color:#f3f2f1;border:1px solid #eae9e8;border-radius:4px;flex-direction:column;height:calc(100vh - 120px);display:flex;overflow:hidden;box-shadow:0 2px 10px #0000000a}.pb-ribbon-bar{background-color:#fff;border-top:4px solid #f2c811;border-bottom:1px solid #e1dfdd;justify-content:space-between;align-items:center;gap:16px;padding:6px 16px;display:flex}.ribbon-brand{color:#252423;align-items:center;gap:8px;font-size:.8rem;font-weight:800;display:flex}.pb-logo-icon{color:#f2c811}.ribbon-menu-tabs{gap:2px;display:flex}.ribbon-tab{color:#605e5c;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:4px 10px;font-size:.78rem;font-weight:500}.ribbon-tab:hover{color:#323130;background:#f3f2f1}.ribbon-tab.active{color:#323130;border-bottom:2px solid #f2c811;font-weight:700}.ribbon-action-strip{gap:6px;display:flex}.ribbon-btn{color:#323130;cursor:pointer;background-color:#fff;border:1px solid #d2d0ce;border-radius:2px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.ribbon-btn:hover{background-color:#f3f2f1;border-color:#a19f9d}.pb-dashboard-container{flex:1;min-height:0;display:flex}.pb-sheets-sidebar{background-color:#f3f2f1;border-right:1px solid #e1dfdd;flex-direction:column;gap:4px;width:200px;padding:12px 0;display:flex}.sheet-nav-title{text-transform:uppercase;letter-spacing:.04em;color:#605e5c;border-bottom:1px solid #e1dfdd;margin-bottom:8px;padding:0 16px 8px;font-size:.68rem;font-weight:700}.sheet-tab-item{color:#323130;text-align:left;cursor:pointer;background:0 0;border:none;border-left:4px solid #0000;align-items:center;gap:8px;width:100%;padding:8px 16px;font-size:.78rem;font-weight:500;display:flex}.sheet-tab-item:hover{background-color:#edebe9}.sheet-tab-item.active{background-color:#fff;border-left-color:#f2c811;font-weight:700;box-shadow:2px 0 #fff}.pb-canvas-sheet{background-color:#f3f2f1;flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.canvas-page-header{border-bottom:1px solid #d2d0ce;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.canvas-title{color:#252423;font-size:1.15rem;font-weight:700}.canvas-date-badge{color:#605e5c;background-color:#fff;border:1px solid #d2d0ce;border-radius:2px;padding:2px 8px;font-size:.7rem}.pb-widgets-layout{flex-direction:column;gap:20px;display:flex}.pb-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.pb-kpi-card{background-color:#fff;border:1px solid #e1dfdd;border-radius:2px;flex-direction:column;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.pb-kpi-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.pb-kpi-card.blue-accent:before{background-color:#106ebe}.pb-kpi-card.purple-accent:before{background-color:#5c2d91}.pb-kpi-card.pink-accent:before{background-color:#b4009e}.pb-kpi-card.emerald-accent:before{background-color:#107c41}.pb-kpi-val{color:#252423;margin-bottom:4px;font-size:1.8rem;font-weight:800;line-height:1.1}.pb-kpi-label{color:#605e5c;text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:700}.pb-kpi-subtext{color:#a19f9d;font-size:.65rem}.pb-visual-tiles-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.pb-visual-tile{background-color:#fff;border:1px solid #e1dfdd;border-radius:2px;padding:16px;box-shadow:0 1px 3px #0000000d}.tile-title{color:#252423;margin-bottom:4px;font-size:.88rem;font-weight:700}.tile-summary-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.tile-row-item{border-bottom:1px solid #f3f2f1;justify-content:space-between;padding-bottom:6px;font-size:.78rem;display:flex}.tile-row-item:last-child{border-bottom:none}.tile-item-name{color:#605e5c;font-weight:500}.tile-item-val{color:#252423;font-weight:700}.mb-12{margin-bottom:12px}.pb-table-layout{background-color:#fff;border:1px solid #e1dfdd;border-radius:2px;flex-direction:column;gap:16px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000d}.pb-table-scroll{overflow-x:auto}.pb-data-grid{border-collapse:collapse;text-align:left;color:#323130;width:100%;font-size:.78rem}.pb-data-grid th{color:#252423;background-color:#f3f2f1;border:1px solid #d2d0ce;padding:8px 12px;font-size:.75rem;font-weight:700}.pb-data-grid td{background-color:#fff;border:1px solid #e1dfdd;padding:8px 12px}.pb-data-grid tr:nth-child(2n) td{background-color:#fdfdfd}.pb-data-grid tr:hover td{background-color:#f3f2f1}.pb-data-grid tr.archived-row td{opacity:.5;text-decoration:line-through}.grid-code-cell{font-family:var(--font-mono);color:#106ebe;font-weight:600}.grid-bold-cell{color:#252423;font-weight:700}.pb-stats-bar{background-color:#f3f2f1;border:1px solid #e1dfdd;border-radius:2px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:12px;display:grid}.pb-stat-box{background-color:#fff;border:1px solid #d2d0ce;border-radius:2px;flex-direction:column;padding:8px 12px;display:flex}.pb-stat-label{color:#605e5c;text-transform:uppercase;font-size:.65rem;font-weight:700}.pb-stat-value{color:#252423;font-size:1.15rem;font-weight:800}.pb-stat-box.pb-highlight{background-color:#fffdf5;border-color:#f2c811}.pb-stat-box.pb-highlight .pb-stat-value{color:#a80000}.grid-badge{border-radius:2px;padding:2px 6px;font-size:.65rem;font-weight:700}.grid-badge.house-red{color:#e02424;background-color:#fde8e8;border:1px solid #f8b4b4}.grid-badge.house-blue{color:#1e429f;background-color:#e1effe;border:1px solid #c3ddfd}.grid-badge.house-green{color:#03543f;background-color:#edfdfd;border:1px solid #def7ec}.grid-badge.house-yellow{color:#723b13;background-color:#fdf6b2;border:1px solid #fce96f}.grid-alert-card{color:#b25900;background-color:#fff8e6;border:1px solid #ffe599;border-radius:2px;align-items:center;padding:2px 6px;font-size:.72rem;display:inline-flex}.grid-muted-text{color:#a19f9d}.grid-empty-cell{text-align:center;color:#605e5c;font-style:italic;padding:24px!important}.grid-status-badge{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:.68rem;font-weight:700}.grid-status-badge.present{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.grid-status-badge.absent{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}.grid-status-badge.late{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.grid-status-badge.authorizedabsent{color:#075985;background-color:#e0f2fe;border:1px solid #bae6fd}.grid-status-badge.unmarked{color:#605e5c;background-color:#f3f2f1;border:1px solid #d2d0ce}.grid-code{font-family:var(--font-mono);color:#106ebe}.pb-filters-pane{background-color:#f3f2f1;border-left:1px solid #e1dfdd;flex-direction:column;width:220px;display:flex}.filters-pane-header{color:#252423;background-color:#fff;border-bottom:1px solid #e1dfdd;align-items:center;gap:8px;padding:10px 16px;font-size:.75rem;font-weight:800;display:flex}.filter-pane-icon{color:#605e5c}.filter-sections-scroll{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.filter-card{background-color:#fff;border:1px solid #d2d0ce;border-radius:2px;flex-direction:column;gap:6px;padding:8px 12px;display:flex;box-shadow:0 1px 2px #00000008}.filter-card-label{color:#605e5c;text-transform:uppercase;font-size:.68rem;font-weight:700}.filter-search-wrapper{align-items:center;display:flex;position:relative}.filter-textbox{color:#323130;background-color:#fff;border:1px solid #b3b0ad;border-radius:2px;outline:none;width:100%;padding:4px 6px 4px 22px;font-size:.78rem}.filter-textbox:focus{border-color:#f2c811}.filter-textbox+.search-icon{color:#605e5c;position:absolute;left:6px}.filter-select{color:#323130;cursor:pointer;background-color:#fff;border:1px solid #b3b0ad;border-radius:2px;outline:none;padding:4px 6px;font-size:.78rem}.filter-select:focus{border-color:#f2c811}.filters-pane-footer{color:#a19f9d;text-align:center;background-color:#fff;border-top:1px solid #e1dfdd;padding:8px;font-size:.65rem;font-weight:600}.theme-classic .pb-ribbon-bar{border-top-color:#f2c811}.theme-sunset .pb-ribbon-bar{border-top-color:#ea580c}.theme-forest .pb-ribbon-bar{border-top-color:#16a34a}.theme-navy .pb-ribbon-bar{border-top-color:#1e3a8a}.ribbon-btn.active-view-btn{background-color:#f3f2f1;border-color:#f2c811;font-weight:700}.pb-data-grid.hide-gridlines td,.pb-data-grid.hide-gridlines th{border:none!important;border-bottom:1px solid #e1dfdd!important}.pb-modal-overlay{z-index:1000;background-color:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeInModal;display:flex;position:fixed;inset:0}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.pb-modal-card{background-color:#fff;border:1px solid #a19f9d;border-radius:2px;flex-direction:column;width:480px;max-width:90%;display:flex;box-shadow:0 10px 25px #00000026}.modal-header{background-color:#f3f2f1;border-bottom:1px solid #d2d0ce;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header h3{color:#252423;font-size:.88rem;font-weight:700}.modal-header .close-btn{color:#605e5c;cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.modal-header .close-btn:hover{color:#252423}.modal-body{flex-direction:column;gap:12px;padding:16px;display:flex}.modal-desc{color:#605e5c;font-size:.78rem;line-height:1.4}.dax-editor-group{flex-direction:column;gap:4px;display:flex}.dax-label{color:#605e5c;text-transform:uppercase;font-size:.7rem;font-weight:700}.dax-textarea-editor{width:100%;font-family:var(--font-mono);color:#004578;background-color:#faf9f8;border:1px solid #a19f9d;border-radius:2px;outline:none;padding:8px;font-size:.75rem}.dax-textarea-editor:focus{background-color:#fff;border-color:#f2c811}.dax-result-box{border-radius:2px;padding:10px 14px;font-size:.78rem;line-height:1.35}.dax-result-box.success{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.dax-result-box.error{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}.modal-footer{background-color:#f3f2f1;border-top:1px solid #d2d0ce;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.pb-btn-flat{color:#323130;cursor:pointer;background:0 0;border:1px solid #d2d0ce;border-radius:2px;padding:6px 16px;font-size:.78rem;font-weight:600}.pb-btn-flat:hover{background-color:#edebe9}.pb-btn-primary{color:#252423;cursor:pointer;background-color:#f2c811;border:1px solid #d2d0ce;border-radius:2px;padding:6px 16px;font-size:.78rem;font-weight:700}.pb-btn-primary:hover{background-color:#e2ba0f}.schema-visual-list{flex-direction:column;gap:12px;margin-top:8px;display:flex}.schema-node{color:#323130;background-color:#faf9f8;border:1px solid #d2d0ce;border-radius:2px;flex-direction:column;gap:2px;padding:10px 14px;font-size:.75rem;display:flex}.schema-node strong{color:#252423}.schema-link{color:#a19f9d;text-transform:uppercase;border-left:2px dashed #a19f9d;align-self:center;align-items:center;height:16px;margin:4px 0;padding-left:6px;font-size:.65rem;font-weight:700;display:flex}@media print{body{color:#000!important;background:#fff!important}.app-container{height:auto!important;padding:0!important}.api-header,.portal-tabs,.pb-ribbon-bar,.pb-sheets-sidebar,.pb-filters-pane,.pb-modal-overlay{display:none!important}.pb-canvas-wrapper.powerbi-theme{height:auto!important;box-shadow:none!important;background:#fff!important;border:none!important}.pb-canvas-sheet{background:#fff!important;padding:0!important}.canvas-date-badge{border:none!important}.pb-kpi-card{border:1px solid #d2d0ce!important}.pb-data-grid th{background-color:#f3f2f1!important;border:1px solid #b3b0ad!important}.pb-data-grid td{background-color:#fff!important;border:1px solid #d2d0ce!important}.grid-badge,.grid-status-badge{color:#000!important;background:0 0!important;border:1px solid #999!important}}@media (width<=900px){.main-layout{grid-template-columns:1fr}.api-header{flex-direction:column;align-items:flex-start}.header-controls{width:100%}.control-card{flex:140px}.pb-dashboard-container{flex-direction:column}.pb-sheets-sidebar{border-bottom:1px solid #e1dfdd;border-right:none;flex-flow:wrap;width:100%;padding:6px}.sheet-nav-title{display:none}.sheet-tab-item{border-bottom:2px solid #0000;border-left:none;width:auto;padding:6px 12px}.sheet-tab-item.active{box-shadow:none;border-bottom-color:#f2c811}.pb-filters-pane{border-top:1px solid #e1dfdd;border-left:none;width:100%}}
