@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--color-jamf-blue: #778eb1;--color-jamf-red: #d94453;--color-jamf-grey-dark: #444444;--color-jamf-grey-medium: #929292;--color-jamf-grey-light: #bfbfbf;--color-jamf-off-white: #f8f8f8;--color-bg-primary: #121212;--color-bg-secondary: #1e1e1e;--color-bg-tertiary: #2d2d2d;--color-bg-elevated: #333333;--color-surface: #252525;--color-surface-hover: #2f2f2f;--color-surface-active: #3a3a3a;--color-border: #444444;--color-border-light: #555555;--color-text-primary: #ffffff;--color-text-secondary: #bfbfbf;--color-text-tertiary: #929292;--color-accent: #d94453;--color-accent-hover: #c43c4a;--color-accent-light: rgba(217, 68, 83, .1);--color-primary-brand: #778eb1;--color-success: #10b981;--color-success-light: rgba(16, 185, 129, .1);--color-error: #d94453;--color-error-light: rgba(217, 68, 83, .1);--color-warning: #f59e0b;--gradient-primary: linear-gradient( 135deg, #778eb1 0%, #d94453 100% );--gradient-surface: linear-gradient( 180deg, rgba(255, 255, 255, .03) 0%, rgba(255, 255, 255, 0) 100% );--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{height:100%;width:100%;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-surface);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-hover)}::selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}code{font-family:var(--font-mono);font-size:.9em;background-color:var(--color-surface);padding:.125rem .375rem;border-radius:var(--radius-sm)}pre{font-family:var(--font-mono);background-color:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;border:none;background:none;transition:all var(--transition-fast)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}input:focus,textarea:focus{outline:none;border-color:var(--color-accent);background-color:var(--color-bg-tertiary)}textarea{resize:vertical;min-height:100px}.chat-container{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-primary)}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.message{display:flex;gap:var(--spacing-md);animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;background:var(--gradient-primary)}.message.user .message-avatar{background:var(--color-surface)}.message-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.message-header{display:flex;align-items:center;gap:var(--spacing-sm)}.message-role{font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.message-timestamp{font-size:.75rem;color:var(--color-text-tertiary)}.message-text{color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.message.assistant .message-text{background-color:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border)}.chat-input-container{padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.chat-input-wrapper{display:flex;gap:var(--spacing-md);align-items:flex-end}.chat-input{flex:1;min-height:44px;max-height:200px;padding:var(--spacing-md);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-sans);font-size:.875rem;resize:none;transition:all var(--transition-fast)}.chat-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.chat-send-button{padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-primary);color:#fff;border-radius:var(--radius-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.chat-send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.chat-send-button:active:not(:disabled){transform:translateY(0)}.chat-send-button:disabled{opacity:.6;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-lg);color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-2xl)}.empty-state-icon{font-size:4rem;opacity:.5}.empty-state-title{font-size:1.5rem;font-weight:600;color:var(--color-text-secondary)}.empty-state-description{max-width:400px;line-height:1.6}.loading-indicator{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-tertiary);font-size:.875rem}.loading-dots{display:flex;gap:4px}.loading-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-accent);animation:loadingDot 1.4s infinite ease-in-out both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingDot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.recipe-suggestions-container{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.recipe-suggestions-label{font-size:.75rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.recipe-suggestions-scroll{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-xs);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.recipe-suggestions-scroll::-webkit-scrollbar{height:6px}.recipe-suggestions-scroll::-webkit-scrollbar-track{background:transparent}.recipe-suggestions-scroll::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.recipe-suggestions-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.recipe-suggestion-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.recipe-suggestion-pill:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.recipe-suggestion-pill:active:not(:disabled){transform:translateY(0)}.recipe-suggestion-pill:disabled{opacity:.5;cursor:not-allowed}.recipe-pill-icon{font-size:1rem}.recipe-pill-text{line-height:1}.recipe-suggestions-loading{padding:var(--spacing-sm);text-align:center;color:var(--color-text-tertiary);font-size:.875rem}.code-block-wrapper{position:relative;border-radius:var(--radius-md);overflow:hidden}.copy-btn{position:absolute;top:8px;right:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--color-text-primary);cursor:pointer;padding:4px 8px;font-size:1rem;transition:all .2s;z-index:10;display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:#fff3}.assistant-note{background:#3b82f61a;border-left:4px solid var(--color-jamf-blue);padding:12px;border-radius:4px;color:var(--color-text-primary);font-size:.95rem;white-space:pre-wrap}.resource-detail-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.resource-detail-panel{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1)}.header-content{display:flex;align-items:center;gap:var(--spacing-md)}.resource-icon-large{font-size:3rem}.header-text h2{margin:0;font-size:1.5rem;color:var(--color-text-primary);font-weight:600}.resource-type-badge{display:inline-block;padding:4px 12px;background:var(--color-jamf-blue);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-primary);text-transform:capitalize;margin-top:4px}.detail-header .close-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.detail-header .close-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.detail-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md)}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-jamf-blue);border-radius:50%;animation:spin .8s linear infinite}.detail-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);color:var(--color-jamf-red)}.detail-error button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-jamf-blue);border:none;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-weight:600}.dependencies-section{margin-bottom:var(--spacing-xl)}.dependencies-section h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;color:var(--color-text-secondary);font-weight:600}.dependency-tree{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dependency-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:all .2s ease}.dependency-item:hover{background:#ffffff0f;border-color:var(--color-jamf-blue);transform:translate(4px)}.dep-icon{font-size:1.5rem}.dep-info{display:flex;flex-direction:column;gap:2px}.dep-type{font-size:.7rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.dep-name{font-size:.9rem;color:var(--color-text-primary);font-weight:500}.hcl-section{margin-bottom:var(--spacing-lg)}.hcl-section h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;color:var(--color-text-secondary);font-weight:600}.hcl-code{background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);max-height:400px;overflow-y:auto}.hcl-code pre{margin:0;font-family:Monaco,Menlo,Courier New,monospace;font-size:.85rem;color:var(--color-text-primary);line-height:1.5}.hcl-code code{color:var(--color-text-primary)}.detail-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.btn-primary,.btn-secondary{flex:1;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--color-jamf-blue),var(--color-jamf-red));color:var(--color-text-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d9445366}.btn-secondary{background:#ffffff1a;color:var(--color-text-primary);border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;border-color:var(--color-jamf-blue)}.proporter-menu-wrapper{position:relative}.proporter-menu-button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);font-size:.75rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-xs)}.proporter-menu-button:hover:not(.disabled){background-color:#ffffff14;border-color:#fff3}.proporter-menu-button.disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-surface)}.proporter-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:500px;background:#1e1e28fa;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;animation:slideDown .2s ease-out;display:flex;flex-direction:column}.proporter-menu-dropdown .dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.proporter-menu-dropdown .dropdown-header h3{font-size:.9rem;font-weight:600;margin:0;color:var(--color-text-primary)}.proporter-menu-dropdown .close-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.proporter-menu-dropdown .close-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.proporter-menu-content{overflow-y:auto;max-height:400px;padding:var(--spacing-md)}.proporter-info{padding:var(--spacing-sm);margin-bottom:var(--spacing-md);background:#778eb11a;border:1px solid rgba(119,142,177,.2);border-radius:var(--radius-md)}.proporter-info p{margin:0;font-size:.8rem;color:var(--color-jamf-blue)}.resource-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.resource-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.resource-item:hover{background:#ffffff14;border-color:#778eb14d;transform:translate(4px)}.resource-icon{font-size:1.5rem;flex-shrink:0}.resource-info{flex:1}.resource-name{font-size:.9rem;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.resource-description{font-size:.75rem;color:var(--color-text-tertiary)}.resource-arrow{color:var(--color-jamf-blue);font-size:1rem;opacity:0;transition:opacity .2s ease}.resource-item:hover .resource-arrow{opacity:1}.proporter-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.05);text-align:center}.proporter-footer small{font-size:.7rem;color:var(--color-text-tertiary)}.proporter-menu-content::-webkit-scrollbar{width:6px}.proporter-menu-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.proporter-menu-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.proporter-menu-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.back-btn{background:#ffffff1a;border:none;color:var(--color-text-primary);cursor:pointer;font-size:1rem;padding:4px 8px;margin-right:8px;border-radius:4px;transition:all .2s ease}.back-btn:hover{background:#fff3}.proporter-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.export-progress{display:flex;align-items:center;gap:16px;padding:16px}.progress-spinner{width:32px;height:32px;border:3px solid rgba(119,142,177,.2);border-top-color:var(--color-jamf-blue);border-radius:50%;animation:spin 1s linear infinite}.progress-text{display:flex;flex-direction:column;gap:4px}.progress-title{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.progress-detail{font-size:.8rem;color:var(--color-text-secondary)}.progress-hint{font-size:.7rem;color:var(--color-text-tertiary);font-style:italic}.summary-total{font-size:.85rem;font-weight:600;color:var(--color-jamf-blue);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.proporter-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.proporter-error span{color:var(--color-error)}.proporter-error button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.proporter-error button:hover{background:#ffffff1a}.proporter-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-tertiary)}.export-all-btn{width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-jamf-blue),var(--color-jamf-red));border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.export-all-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d944534d}.instance-summary{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md)}.instance-summary h4{margin:0 0 var(--spacing-sm) 0;font-size:.85rem;color:var(--color-text-secondary)}.summary-item{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(255,255,255,.05)}.summary-item:last-child{border-bottom:none}.summary-type{font-size:.8rem;color:var(--color-text-primary);text-transform:capitalize}.summary-count{font-size:.8rem;color:var(--color-jamf-blue);font-weight:600}.hcl-preview{margin-bottom:var(--spacing-md);max-height:200px;overflow:auto}.hcl-preview h4{margin:0 0 var(--spacing-sm) 0;font-size:.85rem;color:var(--color-text-secondary)}.hcl-preview pre{padding:var(--spacing-md);background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);font-family:Monaco,Menlo,monospace;font-size:.75rem;color:var(--color-text-primary);overflow-x:auto;margin:0}.download-btn{width:100%;padding:var(--spacing-md);background:var(--color-jamf-blue);border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.download-btn:hover{background:var(--color-jamf-red);transform:translateY(-2px)}.header-title-row{display:flex;align-items:center;gap:12px}.select-mode-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--color-text-primary);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s ease}.select-mode-btn:hover{background:#fff3}.select-mode-btn.active{background:var(--color-jamf-blue);border-color:var(--color-jamf-blue)}.resource-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-jamf-blue)}.resource-item.selected{background:#778eb126;border-color:#778eb166}.bulk-actions-bar{background:#1e1e28f2;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;animation:slideDown .2s ease-out}.selection-count{font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.bulk-download-btn{background:var(--color-jamf-blue);color:#fff;border:none;padding:4px 12px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.bulk-download-btn:hover{background:var(--color-jamf-red)}.package-warning-banner{width:100%;padding:8px 12px;margin-bottom:8px;background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:var(--radius-sm)}.package-warning-banner span{font-size:.7rem;color:#ffc107;line-height:1.4;display:block}.package-warning-banner a{color:#60a5fa;text-decoration:underline;font-weight:600;transition:color .2s ease}.package-warning-banner a:hover{color:#93c5fd}.section-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--color-text-tertiary)}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent)}.section-divider span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.export-hint{margin-top:var(--spacing-sm);text-align:center}.export-hint small{font-size:.7rem;color:var(--color-text-tertiary);font-style:italic}.download-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.download-btn .btn-icon{font-size:1.1rem}.download-btn .btn-text{font-weight:600}.export-all-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:linear-gradient(135deg,#778eb1e6,#778eb1b3);border:1px solid rgba(119,142,177,.3);box-shadow:0 2px 8px #778eb133}.export-all-btn:hover{background:linear-gradient(135deg,#778eb1,#778eb1d9);box-shadow:0 4px 16px #778eb14d}.instance-summary{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1)}.instance-summary h4{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-weight:600}.summary-count{background:#778eb126;padding:2px 8px;border-radius:10px}.resource-item{position:relative;overflow:hidden}.resource-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-jamf-blue);transform:scaleY(0);transition:transform .2s ease}.resource-item:hover:before{transform:scaleY(1)}.jamf-status-wrapper{position:relative}.jamf-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.jamf-status:hover{background-color:#ffffff14}.jamf-status.connected{border:1px solid rgba(72,187,120,.3)}.jamf-status.disconnected{border:1px solid rgba(245,101,101,.3)}.jamf-status-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:#1e1e28fa;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.dropdown-header h3{font-size:.9rem;font-weight:600;margin:0;color:var(--color-text-primary)}.close-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.dropdown-form{padding:var(--spacing-md)}.form-field{margin-bottom:var(--spacing-md)}.form-field label{display:block;font-size:.75rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}.form-field input{width:100%;padding:.5rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.85rem;transition:all .2s ease;box-sizing:border-box}.form-field input:focus{outline:none;border-color:var(--color-primary);background:#0006}.form-field input::placeholder{color:var(--color-text-tertiary)}.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-right:2.5rem}.toggle-password{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6;transition:opacity .2s ease;padding:.25rem}.toggle-password:hover{opacity:1}.dropdown-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.dropdown-actions button{flex:1;padding:.5rem;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-test{background:var(--gradient-primary);color:#fff}.btn-test:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #778eb166}.btn-test:disabled{opacity:.5;cursor:not-allowed}.btn-disconnect{background:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error-light)}.btn-disconnect:hover{background:#d9445333}.dropdown-info{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.05);text-align:center}.dropdown-info small{font-size:.7rem;color:var(--color-text-tertiary)}.connection-feedback{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:.8rem;display:flex;flex-direction:column;gap:var(--spacing-xs);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.connection-feedback.error{background:#dc354526;border:1px solid rgba(220,53,69,.3);color:#f87171}.connection-feedback.success{background:#48bb7826;border:1px solid rgba(72,187,120,.3);color:#68d391}.feedback-title{font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs)}.feedback-message{font-size:.75rem;opacity:.9;line-height:1.4}.feedback-hint{font-size:.7rem;opacity:.7;font-style:italic;margin-top:var(--spacing-xs)}.testing-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.btn-test.testing{pointer-events:none;opacity:.8}.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.app-title-section{display:flex;align-items:center;gap:var(--spacing-md)}.app-logo{font-size:2rem}.app-title{font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-subtitle{font-size:.875rem;color:var(--color-text-tertiary);margin-top:-4px}.app-status-group{display:flex;align-items:center;gap:var(--spacing-md)}.app-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);font-size:.75rem;font-weight:500}.status-indicator{width:8px;height:8px;border-radius:50%;background-color:var(--color-success);animation:pulse 2s ease-in-out infinite}.status-indicator.offline{background-color:var(--color-error);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.app-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-content{flex:1;overflow:hidden}
