@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Red+Hat+Display:wght@300;400;500;600;700;800;900&display=swap";:root{--ascera-navy: #002851;--ascera-blue: #0076d5;--ascera-green: #7fd114;--ascera-teal: #7ebec5;--ascera-link-blue: #2ea3f2;--ascera-white: #ffffff;--ascera-light-gray: #f3f3f3;--ascera-border-gray: #dddddd;--ascera-dark-text: #333333;--ascera-muted-text: #666666;--ascera-warning: #f4b740;--ascera-success: #2f8f46;--font-primary: "Red Hat Display", Helvetica, Arial, Lucida, sans-serif;--font-secondary: "Poppins", Helvetica, Arial, Lucida, sans-serif;--fs-xs: 13px;--fs-sm: 14px;--fs-base: 16px;--fs-lg: 20px;--fs-xl: 23px;--fs-2xl: 36px;--fs-3xl: 42px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 6px;--radius-md: 8px;--shadow-card: 0 16px 40px rgb(0 40 81 / 10%);--transition-fast: .16s ease}*{box-sizing:border-box}html{min-height:100%}body{min-height:100%;margin:0;color:var(--ascera-dark-text);background:var(--ascera-white);font-family:var(--font-primary);font-size:var(--fs-base);line-height:1.7}h1,h2,h3,h4,h5,h6,p{margin-top:0}h1,h2,h3,h4,h5,h6{color:var(--ascera-navy);font-family:var(--font-primary);font-weight:800;line-height:1.4;letter-spacing:0}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}a{color:var(--ascera-link-blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.container{width:min(1120px,calc(100% - 32px));margin:0 auto}.section{padding:var(--space-7) 0}.section-alt{background:var(--ascera-light-gray)}.section-navy{color:var(--ascera-white);background:var(--ascera-navy)}.section-blue{color:var(--ascera-white);background:var(--ascera-blue)}.navbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:76px;padding:0 var(--space-6);border-bottom:1px solid var(--ascera-border-gray);background:var(--ascera-white)}.navbar img{display:block;width:154px;height:auto}.btn-primary,.btn-secondary,.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700;line-height:1;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.btn-primary{padding:15px 30px;color:var(--ascera-white);background:var(--ascera-green)}.btn-primary:hover,.nav-cta:hover{color:var(--ascera-white);background:var(--ascera-navy);border-color:var(--ascera-navy);text-decoration:none}.btn-secondary{padding:15px 30px;color:var(--ascera-navy);background:transparent;border-color:var(--ascera-navy)}.btn-secondary:hover{color:var(--ascera-white);background:var(--ascera-navy);text-decoration:none}.nav-cta{padding:12px 22px;color:var(--ascera-white);background:var(--ascera-green);border-color:var(--ascera-green);border-radius:var(--radius-md)}.card{border:1px solid var(--ascera-border-gray);border-radius:var(--radius-md);background:var(--ascera-white);box-shadow:var(--shadow-card)}.form-group{display:grid;gap:var(--space-2)}.form-group label{color:var(--ascera-navy);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase}.form-input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--ascera-border-gray);border-radius:var(--radius-sm);color:var(--ascera-dark-text);background:var(--ascera-white)}.form-input:focus{border-color:var(--ascera-blue);outline:3px solid rgb(0 118 213 / 16%)}.footer{padding:var(--space-6);color:var(--ascera-white);background:var(--ascera-navy)}#root{min-height:100vh}.app-shell{min-height:100vh;background:var(--ascera-white)}.app-navbar{position:sticky;top:0;z-index:10}.brand-mark{display:inline-flex;align-items:center}.nav-links{display:flex;align-items:center;gap:var(--space-5);font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:600}.nav-links a:not(.nav-cta){color:var(--ascera-navy)}.nav-icon-button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:8px 10px;border:1px solid rgb(0 40 81 / 18%);border-radius:var(--radius-md);color:var(--ascera-navy);background:var(--ascera-white);cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700}.nav-icon-button:hover{border-color:#0076d557;color:var(--ascera-blue)}.queue-counter{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:6px 10px 6px 12px;border:1px solid rgb(0 40 81 / 18%);border-radius:var(--radius-md);color:var(--ascera-navy);background:#0076d50f;cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:800}.queue-counter:hover,.queue-counter:focus-visible{border-color:#0076d557;outline:none}.queue-counter strong{display:inline-grid;place-items:center;min-width:26px;min-height:24px;padding:0 7px;border-radius:var(--radius-sm);color:var(--ascera-white);background:var(--ascera-blue);line-height:1}.queue-counter.is-running{border-color:#7fd114b8;color:var(--ascera-navy);background:#7fd11429}.running-dot{width:9px;height:9px;border-radius:999px;background:var(--ascera-green);box-shadow:0 0 0 4px #7fd1142e}.running-label{color:var(--ascera-navy);font-size:var(--fs-xs);text-transform:uppercase}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:15px 18px;border:1px solid #b3261e;border-radius:var(--radius-md);color:var(--ascera-white);background:#b3261e;cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700;line-height:1}.btn-danger:hover,.btn-danger:focus-visible{color:var(--ascera-white);background:#7f1d1d;border-color:#7f1d1d;outline:none}.auth-loading,.login-page{min-height:100vh;background:linear-gradient(135deg,#002851eb,#0076d5c2),var(--ascera-navy)}.auth-loading{display:grid;place-items:center;align-content:center;gap:var(--space-4);color:var(--ascera-white)}.auth-loading img{width:164px;filter:brightness(0) invert(1)}.login-page{display:grid;place-items:center;padding:var(--space-6)}.login-panel{display:grid;gap:var(--space-5);width:min(100%,430px);padding:var(--space-6);border:1px solid rgb(126 190 197 / 42%);border-radius:var(--radius-md);background:var(--ascera-white);box-shadow:var(--shadow-card)}.login-panel img{width:156px}.login-panel h1{margin-bottom:0;font-size:var(--fs-2xl)}.login-form{display:grid;gap:var(--space-4)}.login-error{margin-bottom:0;color:#b3261e;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700}.dashboard-hero{padding:56px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:var(--space-6);align-items:center}.hero-copy{max-width:720px}.hero-copy h1,.hero-copy p{color:var(--ascera-white)}.hero-copy h1{margin-bottom:var(--space-3)}.hero-copy>p:last-of-type{max-width:640px;margin-bottom:var(--space-5);color:#ffffffd6;font-size:var(--fs-lg)}.eyebrow{margin-bottom:var(--space-2);color:var(--ascera-blue);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800;letter-spacing:0;text-transform:uppercase}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.backend-message{display:grid;gap:var(--space-1);width:min(100%,480px);margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid rgb(126 190 197 / 46%);border-radius:var(--radius-md);background:#ffffff1a}.backend-message span,.backend-message code{color:#ffffffbd;font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase}.backend-message strong{color:var(--ascera-white);font-size:var(--fs-xl);line-height:1.3}.backend-message code{text-transform:none}.hero-secondary{color:var(--ascera-white);border-color:#ffffffbd}.hero-secondary:hover{color:var(--ascera-navy);background:var(--ascera-white);border-color:var(--ascera-white)}.status-panel{display:grid;gap:var(--space-2);min-height:260px;padding:var(--space-6);border:1px solid rgb(126 190 197 / 42%);border-radius:var(--radius-md);background:#ffffff14}.status-panel h2,.status-panel p{color:var(--ascera-white)}.status-panel h2{margin-bottom:0}.panel-label{margin-bottom:0;color:#ffffffb8;font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase}.status-dot{width:14px;height:14px;border-radius:999px;background:var(--ascera-warning)}.status-online{background:var(--ascera-green)}.status-offline{background:#d94a4a}.status-checking{background:var(--ascera-warning)}.dashboard-band{background:var(--ascera-light-gray);padding-bottom:var(--space-6)}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.metric-card{display:grid;gap:var(--space-2);min-height:150px;padding:var(--space-5)}.metric-card svg{color:var(--ascera-blue)}.metric-card span{color:var(--ascera-muted-text);font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase}.metric-label{display:inline-flex;align-items:center;gap:var(--space-2)}.metric-status-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:var(--ascera-warning)}.metric-status-online{background:var(--ascera-green)}.metric-status-offline{background:#d94a4a}.metric-status-checking{background:var(--ascera-warning)}.metric-card strong{color:var(--ascera-navy);font-size:34px;line-height:1.1;text-transform:capitalize}.metric-card p{margin-bottom:0;color:var(--ascera-muted-text);font-size:var(--fs-sm)}.filter-band{padding:0 0 var(--space-6);background:var(--ascera-light-gray)}.category-filter{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--ascera-border-gray);border-radius:var(--radius-md);background:var(--ascera-white);box-shadow:var(--shadow-card)}.filter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.filter-heading h2{margin-bottom:0;font-size:var(--fs-xl)}.filter-heading p{margin-bottom:0;color:var(--ascera-muted-text);font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700}.filter-controls{display:grid;gap:var(--space-2)}.filter-select-label{color:var(--ascera-navy);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase}.category-picker{display:flex;flex-wrap:wrap;gap:var(--space-2)}.category-filter-button{min-height:36px;padding:7px 11px;border:1px solid rgb(0 40 81 / 18%);border-radius:var(--radius-md);color:var(--ascera-navy);background:var(--ascera-white);cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:800}.category-filter-button:hover,.category-filter-button:focus-visible{border-color:var(--ascera-blue);color:var(--ascera-blue);outline:none}.category-filter-button.is-selected{color:var(--ascera-white);background:var(--ascera-blue);border-color:var(--ascera-blue)}.selected-filter-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-chip,.filter-reset-button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:6px 10px;border:1px solid rgb(0 118 213 / 24%);border-radius:var(--radius-md);color:var(--ascera-navy);background:#0076d512;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:800}.filter-chip button,.filter-reset-button{cursor:pointer}.filter-chip button{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid rgb(0 40 81 / 16%);border-radius:var(--radius-sm);color:var(--ascera-navy);background:var(--ascera-white)}.filter-chip button:hover,.filter-chip button:focus-visible,.filter-reset-button:hover,.filter-reset-button:focus-visible{color:var(--ascera-white);background:var(--ascera-blue);border-color:var(--ascera-blue);outline:none}.filter-reset-button{border-color:#0028512e;background:var(--ascera-white)}.execute-page{min-height:calc(100vh - 76px);background:var(--ascera-light-gray)}.execute-stack{display:grid;gap:var(--space-5)}.execute-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.execute-header h1{margin-bottom:var(--space-1);font-size:var(--fs-2xl)}.execute-header p{margin-bottom:0;color:var(--ascera-muted-text);font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:800;text-transform:uppercase}.execute-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3)}.queue-name-card{display:grid;gap:var(--space-4);width:min(520px,100%);padding:var(--space-5)}.queue-name-card h2{margin-bottom:0;font-size:var(--fs-xl)}.queue-run-error{margin-bottom:0;color:#b3261e;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700}.execution-card{overflow:hidden}.execution-table-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--ascera-border-gray);background:#0076d50f}.execution-table-header h2{margin-bottom:0;font-size:var(--fs-xl)}.execution-table-header span{color:var(--ascera-muted-text);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase}.execution-table-wrap{overflow-x:auto}.execution-table{width:100%;border-collapse:collapse}.execution-table th,.execution-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid rgb(221 221 221 / 78%);text-align:left;vertical-align:top}.execution-table th{color:var(--ascera-navy);background:var(--ascera-white);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase}.execution-table tr:last-child td{border-bottom:0}.result-status{display:inline-flex;min-height:28px;padding:5px 8px;border-radius:var(--radius-sm);color:var(--ascera-navy);background:#f4b7403d;font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase}.result-status-running,.result-status-passed,.result-status-completed{color:var(--ascera-navy);background:#7fd11438}.result-status-failed{color:#7f1d1d;background:#b3261e1f}.result-status-pending,.result-status-queued{color:var(--ascera-navy);background:#f4b7403d}.result-status-aborted,.result-status-aborting{color:#7f1d1d;background:#b3261e1f}.library-stack{display:grid;gap:var(--space-5)}.library-heading{max-width:720px}.category-list{display:grid;gap:var(--space-4)}.test-category{overflow:visible}.category-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--ascera-border-gray);background:#0076d50f}.category-header>div{display:grid;gap:var(--space-1)}.category-header h3{margin-bottom:0;font-size:var(--fs-lg)}.category-header span{flex:0 0 auto;color:var(--ascera-muted-text);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase}.category-add-button{position:relative;z-index:1;display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid rgb(0 118 213 / 28%);border-radius:var(--radius-md);color:var(--ascera-navy);background:var(--ascera-white);cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-lg);font-weight:800;line-height:1}.category-add-button:hover,.category-add-button:focus-visible{z-index:30;color:var(--ascera-white);background:var(--ascera-blue);border-color:var(--ascera-blue);outline:none}.category-add-button:disabled{color:var(--ascera-muted-text);background:#dddddd8a;border-color:#dddddddb;cursor:not-allowed}.category-add-button:after{position:absolute;right:50%;bottom:calc(100% + 10px);z-index:20;width:max-content;max-width:min(280px,70vw);padding:7px 9px;border-radius:var(--radius-sm);color:var(--ascera-white);background:var(--ascera-navy);box-shadow:var(--shadow-card);content:attr(data-tooltip);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:700;line-height:1.3;opacity:0;pointer-events:none;text-align:center;transform:translate(50%) translateY(4px);transition:opacity var(--transition-fast),transform var(--transition-fast);white-space:normal}.category-add-button:disabled:after{content:"Category already in queue"}.category-add-button:hover:after,.category-add-button:focus-visible:after{opacity:1;transform:translate(50%) translateY(0)}.test-list{display:grid}.test-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:76px;padding:var(--space-4) var(--space-5);border-bottom:1px solid rgb(221 221 221 / 74%)}.test-row:last-child{border-bottom:0}.test-row h3{margin-bottom:var(--space-1);font-size:var(--fs-lg)}.test-row h4{margin-bottom:var(--space-1);color:var(--ascera-navy);font-size:var(--fs-base)}.test-row p{margin-bottom:0;color:var(--ascera-muted-text);font-family:var(--font-secondary);font-size:var(--fs-sm)}.test-actions{display:flex;align-items:center;gap:var(--space-2)}.test-action-button{position:relative;z-index:1;display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgb(0 118 213 / 28%);border-radius:var(--radius-md);color:var(--ascera-navy);background:var(--ascera-white);cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-lg);font-weight:800;line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.test-action-button:hover,.test-action-button:focus-visible{z-index:30;color:var(--ascera-white);background:var(--ascera-blue);border-color:var(--ascera-blue);outline:none;transform:translateY(-1px)}.test-action-button:disabled{color:var(--ascera-muted-text);background:#dddddd8a;border-color:#dddddddb;cursor:not-allowed;transform:none}.test-action-button:disabled:after{content:"Already in queue"}.test-action-button:after{position:absolute;right:50%;bottom:calc(100% + 10px);z-index:20;width:max-content;max-width:min(260px,70vw);padding:7px 9px;border-radius:var(--radius-sm);color:var(--ascera-white);background:var(--ascera-navy);box-shadow:var(--shadow-card);content:attr(data-tooltip);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:700;line-height:1.3;opacity:0;pointer-events:none;text-align:center;transform:translate(50%) translateY(4px);transition:opacity var(--transition-fast),transform var(--transition-fast);white-space:normal}.test-action-button:hover:after,.test-action-button:focus-visible:after{opacity:1;transform:translate(50%) translateY(0)}.source-warning{margin-top:var(--space-3);margin-bottom:0;padding:var(--space-3);border-radius:var(--radius-sm);color:var(--ascera-navy);background:#7ebec552;font-family:var(--font-secondary);font-size:var(--fs-sm);font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--space-5);background:#001226a3}.queue-modal{display:grid;grid-template-rows:auto minmax(120px,1fr) auto;width:min(680px,100%);max-height:min(720px,calc(100vh - 48px));border:1px solid rgb(126 190 197 / 40%);border-radius:var(--radius-md);background:var(--ascera-white);box-shadow:0 24px 70px #00122657}.queue-modal-header,.queue-modal-footer{padding:var(--space-5)}.queue-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--ascera-border-gray)}.queue-modal-header h2{margin-bottom:0}.modal-close-button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--ascera-border-gray);border-radius:var(--radius-md);color:var(--ascera-navy);background:var(--ascera-white);cursor:pointer;font-family:var(--font-secondary);font-size:var(--fs-base);font-weight:800;line-height:1}.modal-close-button:hover,.modal-close-button:focus-visible{color:var(--ascera-white);background:var(--ascera-navy);outline:none}.queue-modal-body{overflow:auto;padding:var(--space-3) var(--space-5)}.queued-test-row{display:grid;grid-template-columns:34px 1fr auto;gap:var(--space-3);align-items:center;min-height:56px;border-bottom:1px solid rgb(221 221 221 / 78%)}.queued-test-row:last-child{border-bottom:0}.queued-test-row span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-sm);color:var(--ascera-white);background:var(--ascera-blue);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:800}.queued-test-row strong{color:var(--ascera-navy)}.queue-remove-button{position:relative;z-index:1;display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgb(179 38 30 / 28%);border-radius:var(--radius-md);color:#b3261e;background:#b3261e14;cursor:pointer}.queue-remove-button:hover,.queue-remove-button:focus-visible{z-index:30;color:var(--ascera-white);background:#b3261e;border-color:#b3261e;outline:none}.queue-remove-button:after{position:absolute;top:50%;right:calc(100% + 10px);z-index:20;width:max-content;max-width:min(260px,70vw);padding:7px 9px;border-radius:var(--radius-sm);color:var(--ascera-white);background:#7f1d1d;box-shadow:var(--shadow-card);content:attr(data-tooltip);font-family:var(--font-secondary);font-size:var(--fs-xs);font-weight:700;line-height:1.3;opacity:0;pointer-events:none;text-align:center;transform:translateY(-50%) translate(4px);transition:opacity var(--transition-fast),transform var(--transition-fast);white-space:normal}.queue-remove-button:hover:after,.queue-remove-button:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.empty-queue-message{margin:var(--space-5) 0;color:var(--ascera-muted-text)}.queue-modal-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--ascera-border-gray)}.queue-modal-footer .btn-primary:disabled{background:var(--ascera-border-gray);cursor:not-allowed}.footer-inner{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--fs-sm)}@media(max-width:800px){.navbar{align-items:flex-start;flex-direction:column;padding:var(--space-4)}.nav-links{flex-wrap:wrap;gap:var(--space-3)}.login-panel{padding:var(--space-5)}.filter-heading,.execute-header,.execution-table-header{align-items:flex-start;flex-direction:column}.execute-actions{justify-content:flex-start;width:100%}.hero-grid,.metrics-grid{grid-template-columns:1fr}.test-row,.footer-inner{align-items:flex-start;flex-direction:column}.test-actions{align-self:stretch}}
