@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Roboto:wght@400;500;600;700&display=swap);:root{--bg:#fff;--bg-soft:#fbfaf8;--panel:#fff;--panel-soft:#fbfaf8;--border:#edebe6;--border-soft:#f2f0eb;--text:#2b2a28;--text-soft:#6b6862;--text-muted:#8c8880;--text-faint:#a9a59c;--brand:#12768d;--brand-dark:#0e5f72;--brand-soft:#eaf2f1;--link:#0e8fb0;--link-hover:#0b7290;--success-bg:#e7f3ed;--success:#2b8a5f;--danger-bg:#fbeae7;--danger:#c0392b;--warning-bg:#fbf2e2;--warning:#9c7a3c;--neutral-bg:#f2f0eb;--neutral:#6b6862;--info-bg:#e7f1f3;--radius-sm:6px;--radius-md:10px;--shadow:0 2px 8px #2b2a280f;--shadow-lg:0 12px 32px #2b2a2824;--sidebar-width:208px;--topbar-height:56px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#fff;background:var(--bg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Roboto,sans-serif}body,h1,h2,h3{color:#2b2a28;color:var(--text)}h1,h2,h3{font-family:Poppins,Roboto,sans-serif;letter-spacing:-.2px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#0e8fb0;color:var(--link);text-decoration:none}a:hover{color:#0b7290;color:var(--link-hover);text-decoration:underline}button,input,select,textarea{font:inherit}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#edebe6;background:var(--border);border-radius:8px}.profile-dropdown-wrap{position:relative}.topbar-user{align-items:center;background:none;border:1px solid #0000;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:8px;padding:4px 6px;transition:background .15s ease}.topbar-user:hover{background:#fbfaf8;background:var(--bg-soft)}.topbar-chevron{color:#a9a59c;color:var(--text-faint);font-size:.6rem;margin-left:2px}.profile-dropdown{animation:dropdown-enter .15s ease;background:#fff;background:var(--panel);border:1px solid #edebe6;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 12px 32px #2b2a2824;box-shadow:var(--shadow-lg);overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:266px;z-index:1000}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{align-items:center;border-bottom:1px solid #edebe6;border-bottom:1px solid var(--border);display:flex;gap:11px;padding:16px}.profile-avatar-lg{background:#12768d;background:var(--brand);border-radius:8px;color:#fff;display:grid;flex-shrink:0;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:700;height:36px;place-items:center;width:36px}.profile-dropdown-info{flex:1 1;line-height:1.35;min-width:0}.profile-dropdown-info strong{color:#2b2a28;color:var(--text);font-size:.82rem;font-weight:600}.profile-dropdown-info span,.profile-dropdown-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dropdown-info span{color:#a9a59c;color:var(--text-faint);font-size:.75rem}.profile-dropdown-details{display:flex;flex-direction:column;gap:9px;padding:12px 16px}.profile-detail-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.profile-detail-label{color:#a9a59c;color:var(--text-faint);font-size:.8rem;font-weight:500}.profile-detail-value{color:#2b2a28;color:var(--text);font-size:.82rem;font-weight:500}.profile-status-active{align-items:center;color:#2b8a5f;color:var(--success);display:flex;gap:6px}.profile-status-active:before{background:#2b8a5f;background:var(--success);border-radius:50%;content:"";height:6px;width:6px}.profile-dropdown-footer{padding:4px 8px 8px}.profile-logout-btn{background:none;border:none;box-shadow:none;color:#2b2a28;color:var(--text);font-weight:500;justify-content:flex-start;width:100%}.profile-logout-btn:hover{background:#fbfaf8;background:var(--bg-soft);box-shadow:none;color:#c0392b;color:var(--danger)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell-public{display:block}.app-topbar{background:#fff;background:var(--panel);border-bottom:1px solid #edebe6;border-bottom:1px solid var(--border);flex-shrink:0;height:56px;height:var(--topbar-height);justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:200}.app-topbar,.topbar-brand{align-items:center;display:flex}.topbar-brand{gap:9px}.topbar-logo{display:grid;flex-shrink:0;place-items:center}.topbar-logo img{display:block;height:22px;width:auto}.topbar-brand-stack{align-items:center;display:flex;gap:8px}.topbar-brand-name{color:#2b2a28;color:var(--text);font-family:Poppins,sans-serif;font-size:.93rem;font-weight:700}.topbar-brand-subtitle{border-left:1px solid #edebe6;border-left:1px solid var(--border);color:#a9a59c;color:var(--text-faint);font-size:.8rem;padding-left:8px}.topbar-user-info{line-height:1.25;text-align:left}.topbar-user-info strong{color:#2b2a28;color:var(--text);display:block;font-size:.82rem;font-weight:500}.topbar-user-info span{color:#a9a59c;color:var(--text-faint);display:block;font-size:.72rem;text-transform:capitalize}.topbar-avatar{background:#12768d;background:var(--brand);border-radius:6px;color:#fff;display:grid;flex-shrink:0;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:700;height:26px;place-items:center;width:26px}.app-body{min-height:0;overflow:hidden}.app-body,.app-main{display:flex;flex:1 1}.app-main{background:#fff;background:var(--bg);flex-direction:column;height:calc(100vh - 56px);height:calc(100vh - var(--topbar-height));min-width:0;overflow-y:auto;position:relative}.app-main-watermark{bottom:0;height:180px;opacity:.025;pointer-events:none;position:fixed;right:0;width:auto;z-index:0}.page-stage{animation:page-enter .2s ease both;flex:1 1;position:relative;z-index:1}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.loading{align-items:center;color:#8c8880;display:flex;font-size:.95rem;height:100%;justify-content:center;min-height:200px}.container{margin:0 auto;max-width:1120px;padding:36px 44px 60px;width:100%}.btn{align-items:center;background:#12768d;background:var(--brand);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:500;gap:7px;justify-content:center;padding:9px 16px;transition:background .15s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{background:#0e5f72;background:var(--brand-dark)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-danger{background:#c0392b;background:var(--danger)}.btn-danger:hover{background:#a53125}.btn-success{background:#2b8a5f;background:var(--success)}.btn-success:hover{background:#226f4b}.btn-secondary{background:#fff;background:var(--panel);border:1px solid #edebe6;border:1px solid var(--border);box-shadow:none;color:#2b2a28;color:var(--text)}.btn-secondary:hover{background:#fbfaf8;background:var(--bg-soft);border-color:#a9a59c;border-color:var(--text-faint);color:#2b2a28;color:var(--text)}.btn-primary{background:#12768d;background:var(--brand)}.card{background:#fff;background:var(--panel);border:1px solid #edebe6;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);margin-bottom:20px;padding:20px}.form-group{margin-bottom:18px}.form-group label{color:#2b2a28;color:var(--text);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--panel);border:1px solid #edebe6;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#2b2a28;color:var(--text);font-size:.9rem;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#12768d;border-color:var(--brand);box-shadow:0 0 0 3px #12768d1f;outline:none}.error{color:#c0392b;color:var(--danger)}.error,.success{font-size:.85rem;margin-top:5px}.success{color:#2b8a5f;color:var(--success)}.table{border-collapse:collapse;width:100%}.table th{background-color:#fbfaf8;background-color:var(--bg-soft);border-bottom:1px solid #edebe6;border-bottom:1px solid var(--border);color:#8c8880;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 16px;text-align:left;text-transform:uppercase}.table td{border-bottom:1px solid #f2f0eb;border-bottom:1px solid var(--border-soft);color:#2b2a28;color:var(--text);font-size:.86rem;padding:12px 16px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:#fbfaf8;background-color:var(--bg-soft)}.badge{align-items:center;border-radius:5px;display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 9px;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.badge-danger,.badge-fail,.badge-failed,.badge-high{background:#fbeae7;background:var(--danger-bg);color:#c0392b;color:var(--danger)}.badge-blocked,.badge-medium,.badge-warning{background:#fbf2e2;background:var(--warning-bg);color:#9c7a3c;color:var(--warning)}.badge-low,.badge-neutral,.badge-skipped{background:#f2f0eb;background:var(--neutral-bg);color:#6b6862;color:var(--neutral)}.badge-completed,.badge-pass,.badge-passed,.badge-success{background:#e7f3ed;background:var(--success-bg);color:#2b8a5f;color:var(--success)}.badge-info,.badge-progress,.badge-running{background:#e7f1f3;background:var(--info-bg);color:#12768d;color:var(--brand)}.priority.high,.status-badge.status-fail{background:#fbeae7;background:var(--danger-bg);color:#c0392b;color:var(--danger)}.status-badge.status-blocked{background:#fbf2e2;background:var(--warning-bg);color:#9c7a3c;color:var(--warning)}.priority.medium{background:#fbf2e2;color:#9c7a3c}.priority.low,.status-badge{background:#f2f0eb;color:#6b6862}.status-badge{background:var(--neutral-bg);border-radius:5px;color:var(--neutral);display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 9px}.status-badge.status-pass{background:#e7f3ed;background:var(--success-bg);color:#2b8a5f;color:var(--success)}.status-badge.status-skipped{background:#f2f0eb;background:var(--neutral-bg);color:#6b6862;color:var(--neutral)}.status-badge.status-progress{background:#e7f1f3;background:var(--info-bg);color:#12768d;color:var(--brand)}.empty-state-action-row{gap:16px;justify-content:space-between}.empty-state-action-content{flex:1 1}.empty-state-action-content p{margin:0}.empty-state-action-subtext{color:#8c8880;color:var(--text-muted);font-size:.85rem;line-height:1.5;margin-top:6px!important}.error-banner{background:#fbeae7;background:var(--danger-bg);border:1px solid #c0392b33;border-radius:6px;border-radius:var(--radius-sm);color:#c0392b;color:var(--danger);font-size:.88rem;margin-bottom:16px;padding:12px 16px}.empty-state{background:#fff;background:var(--panel);border:1px solid #edebe6;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);font-size:.9rem;padding:48px 24px;text-align:center}.empty-state,.help-text{color:#8c8880;color:var(--text-muted)}.help-text{font-size:.85rem}@media (max-width:768px){.app-body{flex-direction:column}.app-main{height:auto}.container{padding:20px 16px 32px}.topbar-brand-subtitle,.topbar-user-info{display:none}}@media (max-width:640px){.empty-state-action-row{align-items:flex-start;flex-direction:column}}.login-container{align-items:center;background:var(--bg-soft);display:flex;justify-content:center;min-height:100vh;padding:32px}.login-card{animation:login-card-enter .3s ease;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);max-width:400px;padding:44px 40px;text-align:center;width:100%}.login-logo{align-items:center;display:inline-flex;justify-content:center;margin-bottom:20px}.login-logo img{display:block;height:48px;width:auto}.login-card h1{font-size:1.35rem;font-weight:700;margin:0 0 10px}.login-subtitle{color:var(--text-muted);font-size:.88rem;line-height:1.5;margin:0 0 28px}.error-message{background-color:var(--danger-bg);border:1px solid #c0392b33;border-radius:var(--radius-sm);color:var(--danger);font-size:.85rem;margin-bottom:18px;padding:11px}.btn-google{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;gap:10px;justify-content:center;padding:12px 18px;transition:background .15s ease,border-color .15s ease;width:100%}.btn-google:hover{border-color:var(--text-faint)}.btn-google:active,.btn-google:hover{background:var(--bg-soft)}.google-icon{flex-shrink:0}@keyframes login-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-page,.dashboard-page .container{display:flex;flex:1 1;flex-direction:column}.dashboard-page .container{overflow-y:auto}.dashboard-title-row{align-items:flex-start;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:28px}.dashboard-page h1{font-size:1.5rem;font-weight:700;letter-spacing:-.2px;margin-bottom:4px}.welcome{color:var(--text-muted);font-size:.85rem;margin:0}.dashboard-page .card{flex-shrink:0;margin-bottom:16px}.dashboard-overview{flex-shrink:0;margin-bottom:32px}.col-heading{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.dashboard-metrics{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:1px;grid-template-columns:repeat(4,1fr);overflow:hidden}.metric-card{background:var(--panel)!important;border:none!important;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:6px;padding:18px 20px}.metric-label{font-size:.75rem}.metric-value{color:var(--text);font-family:Poppins,sans-serif;font-size:1.6rem;font-weight:700;letter-spacing:-.3px;line-height:1.1}.dashboard-projects-col{display:flex;flex:1 1;flex-direction:column;min-height:0}.projects-list{display:flex;flex-direction:column}.project-row{align-items:center;border-top:1px solid var(--border);display:flex;gap:20px;justify-content:space-between;padding:16px 4px}.project-row-main{flex:1 1;min-width:0}.project-row-name{color:var(--text);font-family:Poppins,sans-serif;font-size:.92rem;font-weight:600;margin-bottom:2px}.project-row-desc{color:var(--text-muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row-open{flex-shrink:0}.project-empty-state{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.empty-state p,.project-empty-state p{color:var(--text-muted);font-size:.9rem;margin:0}.dashboard-header{align-items:center;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:12px}.dashboard-header h2{font-size:1rem;font-weight:700;margin:0}@media (max-width:900px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.dashboard-page h1{font-size:1.3rem}.dashboard-title-row{align-items:flex-start;flex-direction:column}.dashboard-metrics{gap:1px;grid-template-columns:repeat(2,1fr)}.project-row{align-items:flex-start;flex-direction:column;gap:8px}}.breadcrumb{align-items:center;display:flex;flex-wrap:wrap;font-size:.8rem;gap:2px;margin-bottom:16px}.breadcrumb-item{align-items:center;display:inline-flex;gap:6px}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--brand);text-decoration:underline}.breadcrumb-current{color:var(--text);font-weight:600}.breadcrumb-sep{color:var(--text-muted);opacity:.6}.app-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b2a2873;display:flex;inset:0;justify-content:center;padding:20px;pointer-events:all;position:fixed;z-index:9999}.app-modal-card{animation:app-modal-pop .15s ease-out;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:22px;width:min(440px,100%)}.app-modal-card h3{color:var(--text);font-size:1.05rem;font-weight:600;margin-bottom:8px}.app-modal-card p{color:var(--text-soft);font-size:.88rem;line-height:1.5;margin-bottom:18px}.app-modal-actions{display:flex;gap:10px;justify-content:flex-end}@keyframes app-modal-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.test-case-page{display:flex;flex:1 1;flex-direction:column}.toast-container{display:flex;flex-direction:column;gap:8px;left:50%;pointer-events:none;position:fixed;top:20px;transform:translateX(-50%);z-index:9999}.toast{align-items:center;animation:toast-in .2s ease;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);display:flex;font-size:.86rem;font-weight:500;gap:10px;max-width:480px;min-width:260px;padding:11px 16px;pointer-events:all}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:var(--success-bg);border:1px solid #2b8a5f4d;color:var(--success)}.toast-icon{flex-shrink:0;font-size:.95rem}.toast-message{flex:1 1}.toast-close{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:1.05rem;line-height:1;opacity:.6;padding:0 2px}.toast-close:hover{opacity:1}.test-case-page h1{font-size:1.5rem;font-weight:700;margin:0 0 4px}.test-case-page .page-description{color:var(--text-muted);font-size:.85rem;margin:0 0 22px}.test-case-page h2{font-size:1rem;font-weight:600;margin:0 0 16px}.filters{margin-bottom:16px}.filter-group input,.filter-group select{min-width:220px}.action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.form-card{margin-bottom:20px;padding:22px}.form-actions{align-items:center;display:flex;gap:10px;margin-top:4px}.form-row{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-bottom:18px}.test-cases-table{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.test-cases-table table{border-collapse:collapse;width:100%}.test-cases-table thead{background:var(--bg-soft);border-bottom:1px solid var(--border)}.test-cases-table th{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 16px;text-align:left;text-transform:uppercase}.test-cases-table td{border-bottom:1px solid var(--border-soft);color:var(--text);font-size:.86rem;padding:12px 16px}.test-cases-table tbody tr:last-child td{border-bottom:none}.test-cases-table tbody tr{transition:background-color .15s ease}.test-cases-table tbody tr:hover{background:var(--bg-soft)}.priority{border-radius:5px;display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 9px;text-align:center}.priority.high{background:var(--danger-bg);color:var(--danger)}.priority.medium{background:var(--warning-bg);color:var(--warning)}.priority.low{background:var(--neutral-bg);color:var(--neutral)}.btn-small{font-size:.8rem;padding:6px 12px}.loading{color:var(--text-muted);font-size:.9rem;padding:48px 20px;text-align:center}@media (max-width:980px){.form-row{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.filter-group input,.filter-group select{min-width:0}}@media (max-width:640px){.test-case-page h1{font-size:1.3rem}.form-card{padding:16px}.test-cases-table{overflow-x:auto}}.test-execution-page{display:flex;flex:1 1;flex-direction:column}.test-execution-page h1{font-size:1.5rem;font-weight:700;margin:0 0 4px}.test-execution-page .page-description{color:var(--text-muted);font-size:.85rem;margin:0 0 22px}.filters{align-items:flex-end;background:var(--panel);gap:20px;margin-bottom:20px}.filter-group input,.filter-group select{min-width:200px}.test-selection{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:20px;padding:20px}.test-selection h2{font-size:.95rem;font-weight:600;margin-bottom:14px}.test-cases-list{grid-gap:8px;display:grid;gap:8px;margin-bottom:16px}.test-case-checkbox{align-items:center;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:12px;padding:10px 14px;transition:border-color .15s ease}.test-case-checkbox:hover{border-color:var(--brand)}.test-case-checkbox input[type=checkbox]{accent-color:var(--brand);cursor:pointer;height:16px;width:16px}.test-case-checkbox span{color:var(--text);flex:1 1;font-size:.88rem;font-weight:500}.test-case-checkbox small{color:var(--text-muted);font-size:.82rem}.test-runs-section{margin-top:8px}.test-runs-section h2{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.test-runs-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.run-row{align-items:center;background:var(--panel);border-top:1px solid var(--border-soft);display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.run-row:first-child{border-top:none}.run-row-main{align-items:center;display:flex;gap:14px;min-width:0}.run-status-dot{background:var(--neutral);border-radius:50%;flex-shrink:0;height:8px;width:8px}.run-status-dot-completed{background:var(--success)}.run-status-dot-progress{background:var(--brand)}.run-row-name{color:var(--text);font-size:.88rem;font-weight:500}.run-row-meta{color:var(--text-faint);font-size:.76rem;margin-top:2px}.run-row-actions{flex-shrink:0;gap:12px}.run-card-actions,.run-row-actions{align-items:center;display:flex;flex-wrap:wrap}.run-card-actions{gap:.5rem}.run-card-actions button{margin:0}.copy-link-btn{align-items:center;background:#21c5e71a;border:1px solid #21c5e740;border-radius:6px;color:#17b0d1;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:.4rem;padding:.5rem .9rem;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.copy-link-btn:hover{background:#21c5e72e;border-color:#21c5e766}.copy-link-btn:active{transform:translateY(1px)}.results-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:flex-start;margin-bottom:1rem}.results-title-row .results-run-title{margin:0}.execution-container{margin:0 auto;max-width:720px;width:100%}.execution-header{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px;padding:18px 20px}.execution-header h2{font-size:1rem;font-weight:600}.progress-info{display:flex;flex-wrap:wrap;font-size:.82rem;gap:8px}.progress-info span{background:var(--info-bg);border-radius:var(--radius-sm);color:var(--brand);display:inline-block;font-weight:500;padding:5px 10px}.test-executor{margin-bottom:20px}.test-details{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.test-details h3{border-bottom:1px solid var(--border);font-size:1rem;font-weight:600;margin-bottom:12px;margin-top:0;padding-bottom:10px}.test-details p{color:var(--text-soft);font-size:.88rem;line-height:1.6;margin:10px 0}.test-details strong{color:var(--text)}.test-details ol{margin:10px 0;padding-left:24px}.test-details ol li{color:var(--text-soft);font-size:.88rem;margin-bottom:6px}.case-comment-field{border-top:1px solid var(--border-soft);margin-top:16px;padding-top:16px}.case-comment-field textarea{width:100%}.result-buttons{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:20px}.result-buttons .btn{font-size:.88rem;min-width:110px;padding:9px 16px}.results-run-title{font-size:1.3rem;font-weight:700;margin:0 0 12px}.results-header{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;padding:16px 20px}.results-header p{color:var(--text-soft);font-size:.88rem;margin:6px 0}.results-header a{color:var(--brand);word-break:break-all}.results-links-edit{display:flex;flex-direction:column;gap:10px;margin-top:10px}.results-links-edit input{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.86rem;margin-top:4px;padding:8px 12px;width:100%}.results-table-container{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.results-table-container table{border-collapse:collapse;width:100%}.results-table-container th{background-color:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 16px;text-align:left;text-transform:uppercase}.results-table-container td{border-bottom:1px solid var(--border-soft);color:var(--text);font-size:.86rem;padding:12px 16px}.results-table-container tbody tr:last-child td{border-bottom:none}.results-table-container tbody tr:hover td{background-color:var(--bg-soft)}.results-table-container details{cursor:pointer}.results-table-container summary{color:var(--link);cursor:pointer;font-size:.85rem;font-weight:500}.results-table-container pre{background:var(--bg-soft);border-radius:var(--radius-sm);font-size:.78rem;margin:8px 0 0;overflow-x:auto;padding:10px}.result-status-select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.82rem;padding:5px 8px}.result-status-select:focus{border-color:var(--brand);outline:none}.result-edit-actions{display:flex;flex-wrap:wrap;gap:6px}.result-row-error{color:var(--danger);font-size:.76rem;margin-top:6px;max-width:220px}.result-comment-text{color:var(--text-soft);font-size:.82rem;margin:8px 0 0;white-space:pre-wrap}.result-comment-edit{color:var(--text-muted);display:block;font-size:.76rem;font-weight:600;letter-spacing:.04em;margin-top:10px;text-transform:uppercase}.result-comment-edit textarea{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);display:block;font-family:inherit;font-size:.82rem;font-weight:400;letter-spacing:normal;margin-top:4px;min-width:180px;padding:6px 8px;text-transform:none;width:100%}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin:20px auto;max-width:400px;padding:20px}.form-card h2{font-size:1rem;font-weight:600;margin-bottom:16px;margin-top:0}@media (max-width:768px){.result-buttons{flex-direction:column}.result-buttons .btn{width:100%}.run-row{align-items:flex-start;flex-direction:column}}@media (max-width:640px){.test-execution-page h1{font-size:1.3rem}.execution-header,.result-buttons,.test-details,.test-selection{padding:16px}.filters{align-items:stretch;flex-direction:column}}.reports-page{display:flex;flex:1 1;flex-direction:column}.reports-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px}.reports-header h1{font-size:1.5rem;font-weight:700;margin:0 0 4px}.subtitle{color:var(--text-muted);font-size:.85rem}.reports-header .btn{white-space:nowrap}.filters{border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:26px;padding:16px}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:170px}.filter-group label{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.filter-group input,.filter-group select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Roboto,sans-serif;font-size:.86rem;padding:8px 12px;transition:border-color .15s ease}.filter-group input:focus,.filter-group select:focus{border-color:var(--brand);outline:none}.metrics-grid{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:26px;overflow:hidden}.metric-card{background:var(--panel);padding:16px 18px}.metric-label{color:var(--text-muted);font-size:.72rem;font-weight:400;margin:0 0 5px}.metric-card h3{font-family:Poppins,sans-serif;font-size:1.35rem;font-weight:700;margin:0}.metric-value-accent{color:var(--success)}.reports-panels{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:1.4fr 1fr;margin-bottom:16px}.panel-card{margin-bottom:0}.panel-title{font-size:.92rem;font-weight:600;margin:0 0 18px}.timeline-chart{align-items:flex-end;display:flex;gap:8px;height:150px}.timeline-bar-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;height:100%;justify-content:flex-end;min-width:0}.timeline-bar-wrap{background:var(--border-soft);border-radius:3px;display:flex;flex-direction:column-reverse;max-width:22px;overflow:hidden;width:100%}.timeline-bar-passed{background:var(--brand)}.timeline-bar-label{color:var(--text-faint);font-size:.68rem;white-space:nowrap}.chart-legend{display:flex;gap:16px;margin-top:14px}.legend-item{align-items:center;color:var(--text-soft);display:flex;font-size:.78rem;gap:6px}.legend-dot{border-radius:2px;display:inline-block;flex-shrink:0;height:8px;width:8px}.donut-row{align-items:center;display:flex;gap:20px}.donut{border-radius:50%;flex-shrink:0;height:100px;mask:radial-gradient(circle,#0000 33%,#000 34%);-webkit-mask:radial-gradient(circle,#0000 33%,#000 34%);width:100px}.donut-legend{gap:9px}.donut-legend,.failures-list{display:flex;flex-direction:column}.failure-row{align-items:center;border-top:1px solid var(--border-soft);display:flex;gap:16px;justify-content:space-between;padding:11px 0}.failure-row:first-child{border-top:none}.failure-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.failure-name{color:var(--text);font-size:.86rem}.failure-error{color:var(--text-faint);font-family:Courier New,monospace;font-size:.76rem;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.failure-count{color:var(--danger);flex-shrink:0;font-size:.78rem;font-weight:600}.table-wrapper{overflow-x:auto;width:100%}.empty-state-action-row{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center}.empty-state-action-content p{color:var(--text-soft);font-size:.9rem;margin:4px 0}@media (max-width:900px){.reports-panels{grid-template-columns:1fr}}@media (max-width:768px){.reports-header{align-items:stretch;flex-direction:column}.reports-header h1{font-size:1.3rem}}@media (max-width:640px){.metric-card h3{font-size:1.15rem}.failure-row{align-items:flex-start;flex-direction:column;gap:4px}}.sidebar-shell{background:var(--bg-soft);border-right:1px solid var(--border);flex-shrink:0;height:calc(100vh - var(--topbar-height));min-width:var(--sidebar-width);overflow-y:auto;position:-webkit-sticky;position:sticky;top:var(--topbar-height);width:var(--sidebar-width)}.sidebar-nav,.sidebar-shell{display:flex;flex-direction:column}.sidebar-nav{flex:1 1;gap:1px;padding:16px 10px}.sidebar-link{align-items:center;border-radius:6px;color:var(--text-soft);display:flex;font-size:.86rem;font-weight:400;gap:10px;padding:8px 10px;text-decoration:none;transition:background .15s ease,color .15s ease}.sidebar-link:hover{background:var(--panel);color:var(--text);text-decoration:none}.sidebar-link.is-active{background:var(--brand-soft);color:var(--brand);font-weight:600}.sidebar-link-icon{color:inherit;display:flex;flex-shrink:0;height:17px;width:17px}@media (max-width:768px){.sidebar-shell{border-bottom:1px solid var(--border);border-right:none;height:auto;min-width:0;padding:0 8px;position:static;width:100%}.sidebar-nav{flex:1 1;flex-direction:row;gap:4px;overflow-x:auto;padding:6px 0}.sidebar-link{font-size:.82rem;padding:8px 10px;white-space:nowrap}}
/*# sourceMappingURL=main.cc12f3d5.css.map*/