.notifications-container{position:relative;margin-right:1rem}.notifications-button{position:relative;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-text);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:background-color .2s}.notifications-button:hover{background:var(--color-bg-secondary)}.notification-badge{position:absolute;top:0;right:0;background:var(--color-secondary);color:#fff;border-radius:10px;min-width:18px;height:18px;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px;transform:translate(25%,-25%)}.notifications-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:400px;max-width:calc(100vw - 2rem);background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;max-height:500px;display:flex;flex-direction:column}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border)}.notifications-header h3{margin:0;font-size:1.125rem}.btn-sm{font-size:.875rem;padding:.25rem .5rem}.notifications-list{overflow-y:auto;max-height:400px}.notification-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.notification-item{display:flex;padding:1rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s;position:relative}.notification-item:hover{background:var(--color-bg-secondary)}.notification-item.unread{background:var(--color-bg)}.notification-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary)}.notification-content{flex:1}.notification-title{font-weight:600;margin-bottom:.25rem;color:var(--color-text)}.notification-message{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:.5rem;line-height:1.4}.notification-time{font-size:.75rem;color:var(--color-text-secondary)}.notification-delete{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:0 .5rem;opacity:.5;transition:opacity .2s}.notification-delete:hover{opacity:1;color:var(--color-danger)}.notifications-footer{padding:.75rem 1rem;border-top:1px solid var(--color-border);text-align:center}@media (max-width: 768px){.notifications-dropdown{width:320px}}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.header-content{max-width:1280px;margin:0 auto;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.nav{display:flex;gap:1.5rem;flex:1}.nav a{padding:.5rem 1rem;border-radius:var(--border-radius);transition:all .2s;color:var(--color-text-secondary);font-weight:500;text-decoration:none;display:inline-block;cursor:pointer}.nav a:hover{color:var(--color-primary);background:var(--color-bg)}.nav a.active{color:var(--color-primary);background:#2563eb1a}.user-section{display:flex;align-items:center;gap:1rem}.user-name{color:var(--color-text-secondary);font-weight:500}.btn-logout{padding:.5rem 1rem;background:var(--color-secondary);color:#fff;border-radius:var(--border-radius);font-weight:500}.btn-logout:hover{opacity:.9}.main-content{flex:1;padding:2rem 1rem}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem}.nav{order:2;width:100%;justify-content:center;flex-wrap:wrap}.user-section{order:3}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.metrics-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.metrics-header h2{margin:0}.metrics-subtitle{color:var(--color-text-secondary);font-size:.95rem;max-width:32rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.metric-card{background:linear-gradient(150deg,#fffffff2,#f8fafca6);border-radius:16px;padding:1.25rem;border:1px solid rgba(148,163,184,.25);display:flex;flex-direction:column;gap:.75rem;box-shadow:0 12px 24px #0f172a0d;position:relative;overflow:hidden}.metric-card-top{display:flex;flex-direction:column;gap:.75rem}.metric-chip{width:18px;height:18px;border-radius:6px;background:linear-gradient(140deg,#94a3b8e6,#94a3b866);box-shadow:0 10px 18px #94a3b840}.metric-card--primary .metric-chip{background:linear-gradient(140deg,#3b82f6e6,#3b82f673);box-shadow:0 10px 18px #3b82f640}.metric-card--warning .metric-chip{background:linear-gradient(140deg,#fbbf24e6,#fbbf2473);box-shadow:0 10px 18px #fbbf2440}.metric-card--info .metric-chip{background:linear-gradient(140deg,#0ea5e9e6,#0ea5e973);box-shadow:0 10px 18px #0ea5e940}.metric-chip--accent{background:linear-gradient(140deg,#22c55ee6,#22c55e73);box-shadow:0 10px 18px #22c55e33}.metric-label{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);font-weight:600;line-height:1.1}.metric-value{margin:.1rem 0 0;font-size:2.5rem;font-weight:700;color:var(--color-text-primary);line-height:1.1}.metric-helper{font-size:.95rem;color:var(--color-text-secondary)}.metric-progress{height:8px;border-radius:999px;background:#e2e8f0b3;overflow:hidden}.metric-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55ed9,#10b981d9)}.metric-footnote{margin:0;font-size:.85rem;color:#0f766ee6;font-weight:600}.dashboard-section{margin-bottom:2rem}.dashboard-section h2{margin-bottom:1rem;color:var(--color-text-primary);font-size:1.5rem}.renewal-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.renewal-panel{border-radius:20px;padding:1.5rem;background:linear-gradient(150deg,#0f172a08,#0f172a00);border:1px solid rgba(148,163,184,.25);box-shadow:inset 0 1px #ffffff59,0 18px 25px #0f172a0d;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.renewal-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.renewal-panel-meta{margin:.4rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.renewal-panel-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-radius:999px;padding:.35rem .9rem}.renewal-panel-badge--alert{background:#fee2e2bf;color:#b91c1c}.renewal-panel-badge--calm{background:#e0e7ffbf;color:#3730a3}.renewals-list{display:grid;gap:.75rem}.renewals-list--timeline{position:relative;margin-left:.75rem}.renewal-item{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:1rem 1.25rem 1rem 2.75rem;display:flex;justify-content:space-between;align-items:start;transition:transform .2s ease,box-shadow .2s ease;position:relative;gap:1rem}.renewal-item--last:after{display:none}.renewal-item:hover{transform:translateY(-2px);box-shadow:0 12px 18px #0f172a14}.renewal-item-info{flex:1}.renewal-item-name{font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.renewal-item-meta{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.25rem}.renewal-item-date{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.85rem}.renewal-item-date span:last-child{color:var(--color-text-secondary)}.renewal-date-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.renewal-date-badge.upcoming{background:#fef3c7;color:#92400e}.renewal-date-badge.upcoming-soon{background:#fee2e2;color:#991b1b}.renewal-date-badge.past{background:#e0e7ff;color:#3730a3}.renewal-item-cost{font-weight:600;color:var(--color-primary);margin-top:.5rem;font-size:.95rem}.empty-state{text-align:center;padding:2rem;color:var(--color-text-secondary)}.empty-state p{margin:.5rem 0}.badge-wordpress{background:#0ea5e9;color:#fff;font-size:12px}.badge-other{background:var(--color-secondary);color:#fff;font-size:12px}.wizard-progress{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.wizard-progress-step{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:#1f2937;font-size:.9rem;cursor:pointer;transition:border .2s ease,box-shadow .2s ease}.wizard-progress-step .wizard-progress-index{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid currentColor;font-weight:600;font-size:.85rem}.wizard-progress-step .wizard-progress-title{font-weight:600}.wizard-progress-step.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #2a64f426}.wizard-progress-step.completed{background:#2a64f414;border-color:#2a64f466}.wizard-progress-step:disabled{cursor:default;opacity:.7}.wizard-progress-step:not(:disabled):hover{border-color:var(--color-primary)}.wizard-content,.wizard-step{display:flex;flex-direction:column;gap:1rem}.checkbox-group label{display:flex;flex-direction:row;gap:.5rem}.checkbox-group label input{width:16px}.property-dashboard{display:flex;flex-direction:column;gap:2rem;padding-bottom:4rem}.property-dashboard .page-header{align-items:flex-start;gap:1.5rem}.property-dashboard .page-header-main{flex:1 1 auto}.property-dashboard .page-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.property-dashboard .summary-email-feedback{font-size:.875rem;color:var(--color-text-secondary)}.property-dashboard .summary-email-feedback.success{color:var(--color-success)}.property-dashboard .summary-email-feedback.error{color:var(--color-danger)}.page-subtitle{margin-top:.25rem;color:var(--color-text-secondary)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}.detail-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.25rem}.detail-value{font-size:1rem;font-weight:500;color:var(--color-text)}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.tabbed-sections{display:flex;flex-direction:column;gap:2rem}.tab-list{display:flex;flex-wrap:wrap;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.tab-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem 1.1rem;border:none;border-radius:999px;background:transparent;color:var(--color-text-secondary);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.tab-button:hover,.tab-button:focus-visible{background:#0f172a0d;color:var(--color-text);outline:none}.tab-button.active{background:var(--color-primary, #2563eb);color:#fff;box-shadow:0 8px 16px #2563eb40}.tab-panels,.tab-panel{display:flex;flex-direction:column;gap:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-subtitle{margin-top:.25rem;color:var(--color-text-secondary);font-size:.875rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.25rem}.metric-card{padding:1.25rem;box-shadow:var(--shadow-sm)}.metric-card h3{font-size:1rem;margin-bottom:.5rem}.metric-value{font-size:1.75rem;font-weight:700}.metric-change{margin-top:.35rem;font-size:.875rem;font-weight:600}.metric-change.positive{color:var(--color-success)}.metric-change.negative{color:var(--color-danger)}.metric-change.neutral{color:var(--color-text-secondary)}.analytics-chart{width:100%;height:260px;margin-bottom:1.5rem}.uptime-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1rem}.link-health-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1rem}.link-health-status{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600;background:#94a3b840;color:#475569}.link-health-status.ok{background:#10b9812e;color:#047857}.link-health-status.issue{background:#ef44442e;color:#b91c1c}.link-health-status.neutral{background:#94a3b840;color:#475569}.link-health-broken-list{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.85rem}.link-health-item{border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.4rem;background:#f8fafcb3}.link-health-item div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.link-health-url{font-weight:600;color:var(--color-primary, #2563eb);text-decoration:none;word-break:break-word}.link-health-url:hover,.link-health-url:focus-visible{text-decoration:underline}.link-health-status-pill{font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.link-health-error{margin:0;font-size:.9rem;color:var(--color-danger)}.link-health-meta{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.link-health-found-on ul{list-style:disc;padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.25rem}.link-health-found-on a{color:var(--color-primary, #2563eb);text-decoration:none;word-break:break-word}.link-health-found-on a:hover,.link-health-found-on a:focus-visible{text-decoration:underline}.link-health-actions{margin-top:.75rem}.link-health-actions .btn{font-size:.8rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-up{background:#10b98126;color:var(--color-success)}.status-down,.status-error{background:#ef444426;color:var(--color-danger)}.status-timeout{background:#f59e0b26;color:var(--color-warning)}.status-unknown{background:#94a3b833;color:var(--color-text-secondary)}.maintenance-list{list-style:none;display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.maintenance-primary{display:flex;justify-content:space-between;align-items:center;gap:1rem}.maintenance-meta{display:flex;gap:1.5rem;color:var(--color-text-secondary);font-size:.9rem;margin-top:.35rem}.maintenance-notes{margin-top:.75rem;color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.maintenance-notes :is(p,ul,ol){margin:0 0 .35rem}.maintenance-notes ul,.maintenance-notes ol{padding-left:1.25rem}.maintenance-notes code{background:#0f172a14;padding:.1rem .3rem;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.wordpress-summary{display:flex;flex-direction:column;gap:1rem}.wordpress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.snapshot-thumbnail{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1rem}.snapshot-thumbnail img{width:100%;max-width:480px;border-radius:.5rem;box-shadow:var(--shadow-md);border:1px solid rgba(15,23,42,.08)}.snapshot-thumbnail.placeholder{width:100%;max-width:480px}.snapshot-thumbnail-empty{width:100%;padding:2.5rem 1.5rem;border-radius:.5rem;border:1px dashed rgba(148,163,184,.6);color:var(--color-text-secondary);text-align:center}.accessibility-tab{display:flex;flex-direction:column;gap:2rem}.accessibility-header{align-items:flex-start}.accessibility-header-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.accessibility-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.accessibility-score-card{display:flex;flex-direction:column;gap:1.25rem;background:linear-gradient(145deg,#0f172a06,#0f172a0a);border:1px solid rgba(148,163,184,.25)}.accessibility-score-gauge{position:relative;height:180px}.accessibility-score-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;color:var(--color-text);text-align:center;pointer-events:none}.accessibility-score-value.good{color:#16a34a}.accessibility-score-value.warn{color:#ca8a04}.accessibility-score-value.caution{color:#f97316}.accessibility-score-value.critical{color:#dc2626}.accessibility-score-value.info{color:#475569}.accessibility-score-number{font-size:2.5rem;line-height:1}.accessibility-score-label-text{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em}.accessibility-score-details{display:flex;flex-direction:column;gap:.75rem}.accessibility-score-title{display:flex;flex-direction:column;gap:.3rem}.accessibility-score-title h3{margin:0}.accessibility-score-updated{font-size:.85rem;color:var(--color-text-secondary)}.accessibility-chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.accessibility-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#94a3b826;color:var(--color-text)}.accessibility-chip.critical{background:#ef444424;color:#b91c1c}.accessibility-chip.warning{background:#facc1529;color:#b45309}.accessibility-chip.neutral{background:#94a3b824;color:#475569}.accessibility-chip.highlight{background:#2563eb24;color:#1d4ed8}.accessibility-score-summary{font-size:.9rem;color:var(--color-text-secondary);margin:0}.accessibility-insights-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.accessibility-issues-card{display:flex;flex-direction:column;gap:1.25rem}.accessibility-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.accessibility-issues-list,.accessibility-node-list,.accessibility-side-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.accessibility-empty-state{padding:1rem;border:1px dashed rgba(148,163,184,.5);border-radius:12px;text-align:center;color:var(--color-text-secondary)}.accessibility-issue{border:1px solid rgba(148,163,184,.3);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#f8fafca6}.accessibility-issue-header{display:flex;gap:.75rem;align-items:flex-start}.accessibility-severity-badge{min-width:48px;text-align:center;padding:.35rem .5rem;border-radius:12px;font-weight:700;font-size:.875rem}.accessibility-severity-badge.good{background:#86efac59;color:#166534}.accessibility-severity-badge.warn{background:#fde04759;color:#b45309}.accessibility-severity-badge.caution{background:#fbbf2459;color:#b45309}.accessibility-severity-badge.critical{background:#f8717140;color:#b91c1c}.accessibility-severity-badge.info{background:#94a3b833;color:#475569}.accessibility-issue-title{font-weight:600;margin:0}.accessibility-issue-description{font-size:.9rem;margin-top:.35rem;color:var(--color-text-secondary)}.accessibility-node-list{padding-left:.25rem}.accessibility-node-list li{font-size:.85rem;color:var(--color-text-secondary)}.accessibility-node-list code{background:#0f172a0f;border-radius:6px;padding:.1rem .35rem;font-size:.8rem}.accessibility-node-note{color:var(--color-text-secondary)}.accessibility-node-more{color:var(--color-text-secondary);font-style:italic}.accessibility-issue-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.accessibility-tag-row{display:flex;flex-wrap:wrap;gap:.5rem}.accessibility-tag{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#3b82f626;color:#1d4ed8}.accessibility-tag.neutral{background:#94a3b833;color:#475569}.accessibility-link{font-weight:600;color:var(--color-primary, #2563eb);font-size:.85rem;text-decoration:none}.accessibility-link:hover,.accessibility-link:focus-visible{text-decoration:underline}.accessibility-side-column{display:flex;flex-direction:column;gap:1.5rem}.accessibility-side-section{display:flex;flex-direction:column;gap:.75rem}.accessibility-side-list li{border:1px solid rgba(148,163,184,.3);border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem;background:#f8fafc99}.accessibility-side-title{font-weight:600;margin:0}.accessibility-side-description{font-size:.85rem;color:var(--color-text-secondary);margin:0}.accessibility-side-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}@media (max-width: 1024px){.accessibility-insights-grid{grid-template-columns:1fr}}@media (max-width: 900px){.section-grid{grid-template-columns:1fr}.property-dashboard .page-header{flex-direction:column;gap:1rem}.property-dashboard .page-header-actions{align-items:flex-start;width:100%}}.search-console-tab .card{margin:20px 0}.modal{max-width:900px}.inline-screenshot-slider{margin-top:1.25rem;width:100%}.inline-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem;flex-wrap:wrap}.inline-slider-labels{display:flex;gap:1rem;align-items:center}.inline-slider-label,.inline-slider-diff-score{font-size:.875rem;color:var(--color-text-secondary, #64748b);font-weight:500}.inline-slider-container{position:relative;width:100%;border-radius:.5rem;overflow:hidden;border:1px solid rgba(15,23,42,.1);background:var(--color-surface, #ffffff);cursor:col-resize;max-height:600px;overflow-y:auto}.inline-slider-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.inline-slider-baseline{display:block}.inline-slider-current-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.inline-slider-current{display:block;width:100%;height:100%;object-fit:contain}.inline-slider-handle{position:absolute;top:0;bottom:0;width:4px;cursor:col-resize;z-index:20;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.inline-slider-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#6366f1;box-shadow:0 0 4px #6366f180;transform:translate(-50%)}.inline-slider-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;background:#6366f1;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 8px #0003;border:2px solid white;z-index:21}.inline-slider-grip svg{width:14px;height:14px}.inline-slider-grip:hover{background:#4f46e5;transform:translate(-50%,-50%) scale(1.1)}@media (max-width: 768px){.inline-slider-header{flex-direction:column;align-items:flex-start}.inline-slider-labels{width:100%;justify-content:space-between}}.core-web-vitals-list{display:grid;gap:1.25rem}.core-web-vital-card{display:flex;flex-direction:column;gap:1.25rem;border-radius:var(--border-radius);border:1px solid var(--color-border);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);padding:1.5rem}.core-web-vital-card__header{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;flex-wrap:wrap}.core-web-vital-card__meta{display:grid;gap:.5rem;margin:0}.core-web-vital-card__meta div{display:grid;gap:.15rem}.core-web-vital-card__meta dt{margin:0;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary)}.core-web-vital-card__meta dd{margin:0;font-size:.95rem;font-weight:500;color:var(--color-text);word-break:break-word}.core-web-vital-card__meta--origin{min-width:220px}.core-web-vital-summary{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem;border-radius:14px;border:1px solid transparent}.core-web-vital-summary__body{margin:0;font-size:.9rem;line-height:1.4}.core-web-vital-metrics{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.core-web-vital-metric{position:relative;display:flex;flex-direction:column;gap:.6rem;border-radius:16px;border:1px solid var(--color-border);background:var(--color-bg);padding:1rem;box-shadow:var(--shadow-sm);min-height:180px}.core-web-vital-metric:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border-top:4px solid transparent;pointer-events:none}.core-web-vital-metric__header{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem}.core-web-vital-metric__name{font-size:.9rem;font-weight:600;color:var(--color-text);line-height:1.3}.core-web-vital-metric__value{font-size:1.4rem;font-weight:600;color:var(--color-text)}.core-web-vital-metric__description,.core-web-vital-metric__target{margin:0;font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.core-web-vital-status{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;width:fit-content}.core-web-vital-status__dot{width:.5rem;height:.5rem;border-radius:999px;background:currentColor}.core-web-vital-status--success{background:#dcfce7;color:#166534}.core-web-vital-status--warning{background:#fef3c7;color:#92400e}.core-web-vital-status--danger{background:#fee2e2;color:#b91c1c}.core-web-vital-status--muted{background:#e2e8f0;color:#475569}.core-web-vital-summary--success{background:#ecfdf5;border-color:#10b98159;color:#047857}.core-web-vital-summary--success .core-web-vital-summary__body{color:#047857}.core-web-vital-summary--warning{background:#fffbeb;border-color:#f59e0b59;color:#92400e}.core-web-vital-summary--warning .core-web-vital-summary__body{color:#92400e}.core-web-vital-summary--danger{background:#fef2f2;border-color:#ef444459;color:#b91c1c}.core-web-vital-summary--danger .core-web-vital-summary__body{color:#b91c1c}.core-web-vital-summary--muted{background:#f8fafc;border-color:#94a3b859;color:#475569}.core-web-vital-summary--muted .core-web-vital-summary__body{color:#475569}.core-web-vital-metric--success{border-color:#10b98159}.core-web-vital-metric--success:after{border-top-color:#10b981}.core-web-vital-metric--warning{border-color:#f59e0b59}.core-web-vital-metric--warning:after{border-top-color:#f59e0b}.core-web-vital-metric--danger{border-color:#ef444459}.core-web-vital-metric--danger:after{border-top-color:#ef4444}.core-web-vital-metric--muted{border-color:#94a3b859}.core-web-vital-metric--muted:after{border-top-color:#94a3b8}.version-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.version-control-summary,.version-control-activity,.version-control-footer{grid-column:1 / -1}.version-control-summary{display:flex;flex-direction:column;gap:1.25rem}.version-control-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.version-control-summary-header h2{margin:0}.version-control-summary-header p{margin:.25rem 0 0;color:var(--color-text-secondary)}.version-control-meta-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.version-control-list,.version-control-activity{display:flex;flex-direction:column;gap:1rem}.version-control-list-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--color-text-secondary)}.version-control-list ul{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.version-control-list li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.version-control-list strong{display:block;color:var(--color-text-primary)}.version-control-list p{margin:.25rem 0 0;color:var(--color-text-secondary);font-size:.9rem}.version-control-list a{color:var(--color-primary);text-decoration:none;font-weight:600;white-space:nowrap}.version-control-list a:hover{text-decoration:underline}.version-control-status{color:var(--color-text-secondary);margin:0}.version-control-error{color:var(--color-danger);margin:0}.version-control-timestamp{display:block;margin-top:.35rem;font-size:.8rem;color:var(--color-text-muted)}.version-control-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;margin-left:.5rem;font-size:.75rem;background:var(--color-surface-alt);color:var(--color-primary)}.version-control-footer{display:flex;justify-content:flex-end;color:var(--color-text-secondary)}.version-control-footer .btn-link{margin-left:.5rem}.version-control-chart{width:100%;height:260px}tspan{font-size:11px}.modal-large{max-width:800px}.btn-sm{padding:.4rem .8rem;font-size:.875rem}.form-alert{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--border-radius, 8px);background:#2563eb14;border:1px solid rgba(37,99,235,.2);color:var(--color-primary, #2563eb);font-size:.9rem}.markdown-hint{margin:.35rem 0;font-size:.85rem;color:var(--color-text-secondary)}.markdown-preview{margin-top:.75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, 8px);background:#fff;padding:.75rem 1rem;max-height:220px;overflow:auto;font-size:.9rem;line-height:1.5}.markdown-preview-header{text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.5rem}.markdown-preview :is(p,ul,ol){margin:0 0 .5rem}.markdown-preview ul,.markdown-preview ol{padding-left:1.25rem}.markdown-preview code{background:#0f172a0f;padding:.1rem .3rem;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.markdown-preview pre{background:#0f172a0f;padding:.65rem;border-radius:6px;overflow:auto}.markdown-preview-empty{margin:0;color:var(--color-text-secondary);font-style:italic}.maintenance-view{padding:1.5rem;background:var(--color-surface, #fff)}.maintenance-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.maintenance-view-field{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, 8px);padding:.85rem 1rem;background:#f8fafc}.maintenance-view-label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:.25rem}.maintenance-view-value{font-size:1rem;color:var(--color-text);word-break:break-word}.maintenance-view-section{margin-top:1.5rem}.maintenance-view-section h3{margin-bottom:.5rem;font-size:1rem}.maintenance-view-notes{border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, 8px);padding:1rem;background:#fff}.maintenance-view-notes :is(p,ul,ol){margin:0 0 .75rem}.maintenance-view-notes ul,.maintenance-view-notes ol{padding-left:1.25rem}.maintenance-update-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, 8px);background:#fff}.maintenance-update-list li{padding:.75rem 1rem;border-bottom:1px solid var(--color-border, #e2e8f0);display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}.maintenance-update-list li:last-child{border-bottom:none}.maintenance-view-empty{margin-top:1rem;color:var(--color-text-secondary);font-style:italic}.filters-panel{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.5rem;padding:1rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius, 8px);background:var(--color-surface, #fff)}.filters-panel .form-group{flex:1;min-width:180px;margin-bottom:0}.date-range-group .date-range-inputs{display:flex;align-items:center;gap:.5rem}.date-range-group input[type=date]{width:100%}.filters-actions{display:flex;align-items:flex-end}.filters-actions .btn{white-space:nowrap}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:url(/login-bg.jpeg) no-repeat center center;background-size:cover;padding:1rem}.login-card{background:#fff;border-radius:12px;padding:3rem;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--color-secondary);line-height:1.1}.login-header p{color:var(--color-text-secondary);margin-top:.5rem}.login-options{display:flex;flex-direction:column;gap:1rem}.btn-login{width:100%;padding:.875rem 1.5rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem}.btn-microsoft{background:var(--color-secondary);color:#fff;border:1px solid var(--color-primary)}.btn-microsoft:hover{background:#f5f5f5;background:var(--color-primary);box-shadow:0 2px 8px #0000001a}.btn-mock{background:var(--color-secondary);color:#fff}.btn-mock:hover{background:#475569}.btn-login:disabled{opacity:.6;cursor:not-allowed}.divider{position:relative;text-align:center;margin:1rem 0}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:var(--color-border)}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;padding:0 1rem;color:var(--color-text-secondary)}.error-message{background:#fee;color:var(--color-danger);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc}.demo-note{text-align:center;color:var(--color-text-secondary);margin-top:1rem}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.login-header h1{font-size:1.5rem}}.bitbucket-summary{display:flex;flex-direction:column;gap:1.5rem}.bitbucket-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bitbucket-summary-header h1{margin:0;color:var(--color-primary)}.bitbucket-summary-subtitle{margin:.5rem 0 0;color:var(--color-text-secondary)}.bitbucket-summary-back{color:var(--color-primary);font-weight:600;text-decoration:none}.bitbucket-summary-back:hover{text-decoration:underline}.bitbucket-summary-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.bitbucket-summary-meta h2{margin:0;font-size:1rem;color:var(--color-text-secondary)}.bitbucket-summary-meta-value{margin:.35rem 0 0;font-size:1.1rem;font-weight:600}.bitbucket-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.bitbucket-summary-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;color:var(--color-text-secondary)}.bitbucket-summary-section-header h2{margin:0;color:var(--color-text-primary)}.bitbucket-summary-empty{color:var(--color-text-secondary);margin:0}.bitbucket-summary-commit-list,.bitbucket-summary-branch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.bitbucket-summary-commit-item,.bitbucket-summary-branch-item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.bitbucket-summary-commit-message{font-weight:600;margin-bottom:.4rem}.bitbucket-summary-commit-meta,.bitbucket-summary-branch-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary)}.bitbucket-summary-commit-link,.bitbucket-summary-branch-link{color:var(--color-primary);font-size:.85rem;text-decoration:none}.bitbucket-summary-commit-link:hover,.bitbucket-summary-branch-link:hover{text-decoration:underline}.bitbucket-summary-branch-name{font-weight:600;display:flex;align-items:center;gap:.5rem}.bitbucket-summary-badge{background:var(--color-surface-alt);color:var(--color-primary);border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600}.bitbucket-summary-error h2{margin-top:0}.bitbucket-summary-error p{margin-bottom:0}.badge-admin{background:#fef3c7;color:#92400e}.badge-developer{background:#dbeafe;color:#1e40af}.badge-accounting{background:#e9d5ff;color:#7c3aed}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-group small{display:block;margin-top:.25rem;color:var(--color-text-secondary);font-size:.875rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary)}.table-container{background:var(--color-bg-secondary);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-bg)}.data-table th{padding:1rem;text-align:left;font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border)}.data-table td{padding:1rem;border-bottom:1px solid var(--color-border)}.data-table tbody tr:hover{background:var(--color-bg)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.badge-weekly{background:#e0f2fe;color:#0369a1}.badge-bi-weekly{background:#fef3c7;color:#92400e}.badge-monthly{background:#dbeafe;color:#1e40af}.badge-quarterly{background:#e9d5ff;color:#7c3aed}.action-buttons{display:flex;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:.25rem .5rem;font-size:.875rem;text-decoration:underline}.btn-link.btn-danger{color:var(--color-danger)}.btn-link.btn-danger:hover{color:#dc2626}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:var(--border-radius);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal.modal-large{max-width:98vw!important;width:1400px!important;max-height:95vh!important}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.5rem}.btn-close{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:var(--color-text)}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.badge-renewal{background:#fef3c7;color:#92400e;font-weight:600}.badge-renewal-future{background:#e0f2fe;color:#0369a1;font-weight:500}.badge-no-renewal{background:#f1f5f9;color:var(--color-text-secondary);font-weight:400}:root{--color-primary: #2F0356;--color-primary-dark: #1e40af;--color-secondary: #B13895;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-bg: #f8fafc;--color-bg-secondary: #ffffff;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--border-radius: 14px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;border:none;font-family:inherit}a{text-decoration:none;color:inherit}input,textarea,select{font-family:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.card{background:var(--color-bg-secondary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:1.5rem}.btn{padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:500;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-link{background:none;color:var(--color-primary);padding:.25rem .5rem;text-decoration:underline;font-weight:500}.btn-link:hover{color:var(--color-primary-dark)}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.ml-1{margin-left:.5rem}.ml-2{margin-left:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:1rem}
