@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&display=swap";
:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#202124;--text-secondary:#5f6368;--border-color:#dadce0;--border-focus:#1a73e8;--color-google-blue:#1a73e8;--color-google-blue-hover:#1557b0;--color-google-red:#d93025;--color-google-red-hover:#b3241b;--color-google-red-bg:#fce8e6;--color-google-green:#1e8e3e;--color-google-green-bg:#e6f4ea;--color-google-yellow:#f9ab00;--color-google-yellow-bg:#fef7e0;--shadow-sm:0 1px 2px 0 #3c40434d, 0 1px 3px 1px #3c404326;--shadow-md:0 1px 3px 0 #3c40434d, 0 4px 8px 3px #3c404326;--shadow-google-input:0 1px 6px 0 #20212447;--shadow-card:0 1px 2px 0 #3c40431a, 0 1px 3px 1px #3c40430d;--radius-5px:5px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.2px;font-weight:400}a{color:var(--color-google-blue);font-weight:400;text-decoration:none;transition:color .15s}a:hover{color:var(--color-google-blue-hover);text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:14px;font-weight:400;transition:all .15s;border-radius:var(--radius-5px)!important}input,select,textarea{outline:none;font-family:inherit;font-size:14px;font-weight:400;transition:all .15s;border-radius:var(--radius-5px)!important}select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg fill='%235f6368' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:36px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.25s cubic-bezier(.4,0,.2,1) forwards fadeIn}.landing-layout{background-color:var(--bg-primary);flex-direction:column;min-height:100vh;padding-top:64px;display:flex}.landing-nav{background-color:var(--bg-primary);z-index:1000;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:64px;padding:16px 32px;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-.5px;color:var(--text-primary);align-items:center;gap:8px;font-size:22px;font-weight:400;display:flex}.brand span{font-weight:500}.header-user-controls{white-space:nowrap;flex-shrink:0;align-items:center;gap:16px;display:flex}.user-display-name{color:var(--text-secondary);white-space:nowrap;font-size:14px;display:inline-block}.btn-header-logout{border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex;border-radius:var(--radius-5px)!important}.nav-links{align-items:center;gap:20px;display:flex}.nav-link{color:var(--text-secondary);font-size:14px}.btn-nav-auth{background-color:var(--color-google-blue);color:#fff;border:none;padding:8px 16px;font-size:14px;border-radius:var(--radius-5px)!important}.btn-nav-auth:hover{background-color:var(--color-google-blue-hover)}.landing-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.google-logo-style{letter-spacing:-3px;-webkit-user-select:none;user-select:none;margin-bottom:24px;font-size:72px;font-weight:500}.google-logo-style .g1{color:#4285f4}.google-logo-style .o1{color:#ea4335}.google-logo-style .o2{color:#fbbc05}.google-logo-style .g2{color:#4285f4}.google-logo-style .l{color:#34a853}.google-logo-style .e{color:#ea4335}.google-logo-style .sub{letter-spacing:0;color:var(--text-secondary);margin-left:8px;font-size:20px;font-weight:300}.search-box-container{width:100%;max-width:584px;margin-bottom:30px;position:relative}.search-box-wrapper{border:1px solid var(--border-color);background-color:var(--bg-primary);align-items:center;height:46px;padding:0 16px;transition:box-shadow .15s,border-color .15s;display:flex;border-radius:24px!important}.search-box-wrapper:hover,.search-box-wrapper:focus-within{border-color:#dfe1e500;box-shadow:0 1px 6px #20212447}.search-icon-left{color:var(--text-secondary);align-items:center;margin-right:12px;display:flex}.search-input-field{height:100%;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:16px}.search-buttons-group{gap:12px;margin-bottom:48px;display:flex}.btn-google{color:#3c4043;background-color:#f8f9fa;border:1px solid #f8f9fa;outline:none;padding:8px 16px;font-size:14px;border-radius:var(--radius-5px)!important}.btn-google:hover{border-color:var(--border-color);color:#202124;background-color:#f8f9fa;box-shadow:0 1px 1px #0000001a}.btn-google-primary{background-color:var(--color-google-blue);color:#fff;border:1px solid var(--color-google-blue)}.btn-google-primary:hover{background-color:var(--color-google-blue-hover);border-color:var(--color-google-blue-hover);color:#fff}.info-banner{grid-template-columns:repeat(3,1fr);gap:24px;max-width:800px;margin:0 auto 60px;padding:0 24px;display:grid}.info-card{background:var(--bg-primary);border:1px solid var(--border-color);text-align:left;box-shadow:var(--shadow-card);padding:20px;border-radius:var(--radius-5px)!important}.info-card h3{color:var(--text-primary);margin-bottom:8px;font-size:16px}.info-card p{color:var(--text-secondary);font-size:13px}.landing-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);color:var(--text-secondary);justify-content:space-between;padding:16px 32px;font-size:13px;display:flex}.footer-links{gap:20px;display:flex}.footer-link{color:var(--text-secondary)}.auth-layout{background-color:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;max-width:450px;padding:40px;box-shadow:0 4px 16px #00000014;border-radius:var(--radius-5px)!important}.auth-header{text-align:center;margin-bottom:32px}.auth-brand{letter-spacing:-.5px;margin-bottom:8px;font-size:24px;font-weight:500}.auth-title{margin-bottom:8px;font-size:20px;font-weight:400}.auth-subtitle{color:var(--text-secondary);font-size:14px}.form-group{text-align:left;margin-bottom:20px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input{border:1px solid var(--border-color);background-color:var(--bg-primary);width:100%;height:40px;padding:0 12px;font-size:14px}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.btn-auth-submit{background-color:var(--color-google-blue);color:#fff;border:none;width:100%;height:40px;margin-top:10px;margin-bottom:20px;font-size:14px}.btn-auth-submit:hover{background-color:var(--color-google-blue-hover)}.auth-footer-nav{text-align:center;color:var(--text-secondary);font-size:13px}.alert-box{align-items:center;gap:8px;margin-bottom:20px;padding:12px;font-size:13px;display:flex;border-radius:var(--radius-5px)!important}.alert-success{background-color:var(--color-google-green-bg);color:var(--color-google-green);border:1px solid #1e8e3e33}.alert-danger{background-color:var(--color-google-red-bg);color:var(--color-google-red);border:1px solid #d9302533}.dashboard-layout{background-color:var(--bg-secondary);flex-direction:column;min-height:100vh;display:flex;position:relative}.dashboard-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.dashboard-body-container{min-height:calc(100vh - 64px);margin-top:64px;display:flex}.dashboard-sidebar{background-color:var(--bg-primary);border-right:1px solid var(--border-color);z-index:90;flex-direction:column;width:240px;padding-top:16px;display:flex;position:fixed;top:64px;bottom:0;left:0;overflow:hidden}.sidebar-menu-list{flex-direction:column;width:100%;display:flex}.sidebar-menu-item{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 24px;font-size:14px;transition:all .15s;display:flex}.sidebar-menu-item:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.sidebar-menu-item.active{color:var(--color-google-blue);border-left:3px solid var(--color-google-blue);background-color:#f1f6fe;font-weight:500}.dashboard-content-pane{background-color:var(--bg-secondary);flex-grow:1;margin-left:240px;padding:32px;overflow-y:auto}.dashboard-main-container{grid-template-columns:1fr;gap:32px;width:100%;max-width:1200px;margin:0 auto;display:grid}@media (min-width:992px){.dashboard-main-container{grid-template-columns:380px 1fr}}.left-panel{flex-direction:column;gap:24px;display:flex}.panel-card{background-color:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:24px;border-radius:var(--radius-5px)!important}.panel-title{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:18px;display:flex}.job-form-grid{flex-direction:column;gap:16px;display:flex}.btn-form-submit{background-color:var(--color-google-blue);color:#fff;border:none;justify-content:center;align-items:center;gap:8px;height:40px;font-size:14px;display:flex}.btn-form-submit:hover{background-color:var(--color-google-blue-hover)}.toggle-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.toggle-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--color-google-blue)}.toggle-label{color:var(--text-primary);font-size:13px}.jobs-list{flex-direction:column;gap:12px;max-height:500px;padding-right:4px;display:flex;overflow-y:auto}.job-item-card{border:1px solid var(--border-color);background-color:var(--bg-primary);cursor:pointer;justify-content:space-between;align-items:center;padding:16px;transition:all .15s;display:flex;border-radius:var(--radius-5px)!important}.job-item-card:hover{border-color:var(--color-google-blue);background-color:var(--bg-secondary)}.job-item-card.selected{border-color:var(--color-google-blue);background-color:#f1f6fe}.job-item-info{flex:1;min-width:0;padding-right:12px}.job-item-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.job-item-url{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.job-item-status-row{align-items:center;gap:12px;margin-top:6px;display:flex}.status-indicator{border-radius:50%;width:8px;height:8px}.status-indicator.up{background-color:var(--color-google-green)}.status-indicator.down{background-color:var(--color-google-red)}.status-indicator.unknown{background-color:var(--border-color)}.status-text-badge{border-radius:var(--radius-5px);padding:1px 6px;font-size:11px}.status-text-badge.up{color:var(--color-google-green);background-color:var(--color-google-green-bg)}.status-text-badge.down{color:var(--color-google-red);background-color:var(--color-google-red-bg)}.status-text-badge.unknown{color:var(--text-secondary);background-color:var(--bg-secondary)}.right-panel{flex-direction:column;gap:24px;display:flex}.detail-view-container{background-color:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-card);min-height:400px;padding:32px;border-radius:var(--radius-5px)!important}.empty-detail-state{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:350px;display:flex}.empty-detail-state p{max-width:300px;margin-top:12px;font-size:14px}.detail-header{border-bottom:1px solid var(--border-color);flex-direction:column;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}@media (min-width:768px){.detail-header{flex-direction:row;align-items:flex-start}}.detail-header-info{flex:1;min-width:0}.detail-header-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:22px;overflow:hidden}.detail-header-url{color:var(--text-secondary);word-break:break-all;font-size:14px}.detail-header-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-detail-action{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:flex}.btn-detail-action:hover{background-color:var(--border-color)}.btn-delete-action{background-color:var(--color-google-red-bg);color:var(--color-google-red);border:1px solid #d9302533;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:flex}.btn-delete-action:hover{background-color:var(--color-google-red);color:#fff}.metrics-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.metric-box{border:1px solid var(--border-color);background-color:var(--bg-primary);padding:16px 20px;border-radius:var(--radius-5px)!important}.metric-box-label{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.metric-box-value{color:var(--text-primary);font-size:24px;font-weight:500}.section-title{color:var(--text-primary);margin-bottom:16px;font-size:16px}.chart-section{margin-bottom:32px}.chart-box{border:1px solid var(--border-color);background-color:var(--bg-primary);height:200px;padding:20px;position:relative;border-radius:var(--radius-5px)!important}.chart-svg{width:100%;height:100%}.chart-empty{height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:13px;display:flex}.lighthouse-section{border-top:1px solid var(--border-color);margin-bottom:32px;padding-top:24px}.lighthouse-scores-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:576px){.lighthouse-scores-grid{grid-template-columns:repeat(2,1fr);gap:24px}}.lh-score-circle{width:80px;height:80px;margin:0 auto 10px;position:relative}.lh-score-svg{width:100%;height:100%;transform:rotate(-90deg)}.lh-circle-bg{fill:none;stroke:var(--bg-secondary);stroke-width:6px}.lh-circle-fill{fill:none;stroke-width:6px;stroke-linecap:round;transition:stroke-dasharray .3s}.lh-circle-fill.score-green{stroke:var(--color-google-green)}.lh-circle-fill.score-orange{stroke:var(--color-google-yellow)}.lh-circle-fill.score-red{stroke:var(--color-google-red)}.lh-score-value{font-size:16px;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lh-label{color:var(--text-secondary);font-size:12px}.history-section{border-top:1px solid var(--border-color);padding-top:24px}.table-wrapper{border:1px solid var(--border-color);background-color:var(--bg-primary);overflow:hidden;border-radius:var(--radius-5px)!important}.logs-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.logs-table th{background-color:var(--bg-secondary);color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:10px 16px;font-weight:500}.logs-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px}.logs-table tr:last-child td{border-bottom:none}.logs-table tr:hover td{background-color:var(--bg-secondary)}.log-date{color:var(--text-secondary)}.loader-container{justify-content:center;align-items:center;padding:40px;display:flex}.spinner{border:2px solid var(--border-color);border-top-color:var(--color-google-blue);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
