:root{--navy:#070d15;--navy-2:#121a26;--ink:#141414;--text:#3c4147;--muted:#6b7178;--border:#e2e5e8;--border-2:#cdd1d5;--bg:#f5f7f9;--card:#fff;--blue:#007adb;--blue-2:#3d97d9;--blue-soft:#e6f1fb;--orange:#ff9d00;--yellow:#fb3;--cream:#fff6e3;--pink:#fbe7e3;--green:#18a058;--green-soft:#e3f6ec;--red:#d64545;--red-soft:#fce8e8;--gradient:linear-gradient(112deg, #fb3 -0.41%, #ff9d00 97.74%);--gutter:clamp(16px, 2.2vw, 40px);--radius:20px;--radius-sm:12px;--shadow:0 1px 2px #070d150a, 0 6px 20px #070d150d}*{box-sizing:border-box}html,body{margin:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Figtree,system-ui,sans-serif;font-size:14px}h1,h2,h3{color:var(--navy);margin:0;font-weight:700}h1{letter-spacing:-.01em;font-size:26px}h2{font-size:17px}h3{font-size:14px}a{color:var(--blue);text-decoration:none}button{font-family:inherit}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.topbar{background:var(--navy);color:#fff;z-index:20;position:sticky;top:0}.topbar-inner{height:64px;padding:0 var(--gutter);align-items:center;gap:28px;margin:0 auto;display:flex}.brand{color:#fff;align-items:center;gap:12px;display:flex}.brand svg{width:auto;height:28px}.brand-label{color:#ffffffb3;border-left:1px solid #fff3;padding-left:12px;font-size:13px;font-weight:600}.nav{gap:4px;display:flex}.nav a{color:#ffffffbf;border-radius:29px;padding:8px 14px;font-weight:500}.nav a.active,.nav a:hover{color:#fff;background:#ffffff14}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.badge-test{color:var(--yellow);background:#ffbb3326;border:1px solid #fb36;border-radius:29px;padding:4px 10px;font-size:12px;font-weight:600}.btn{border:1px solid var(--border-2);color:var(--navy);cursor:pointer;white-space:nowrap;background:#fff;border-radius:29px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--navy)}.btn-primary{background:var(--gradient);color:var(--navy);border:none;padding:10px 20px}.btn-primary:hover{filter:brightness(1.04)}.btn-blue{background:var(--blue);border-color:var(--blue);color:#fff}.btn-blue:hover{background:#006bc2;border-color:#006bc2}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:#070d150d;border-color:#0000}.btn-sm{padding:6px 12px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.topbar .btn:not(.btn-primary){color:#fff;background:0 0;border-color:#ffffff4d}.input,.select{border:1px solid var(--border-2);color:var(--navy);background:#fff;border-radius:29px;outline:none;padding:9px 16px;font-family:inherit;font-size:13px}.input:focus,.select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}textarea.input{border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:140px}.segmented{border:1px solid var(--border-2);background:#fff;border-radius:29px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:29px;padding:6px 14px;font-size:12px;font-weight:600}.segmented button.active{background:var(--navy);color:#fff}.page{padding:28px var(--gutter) 60px;margin:0 auto}.page-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-head .spacer{flex:1}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px 22px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.has-tip{cursor:help}.info:not(.callout){color:var(--muted);cursor:help;border:1px solid var(--border-2);border-radius:50%;place-items:center;width:16px;height:16px;margin-left:6px;font-size:12px;display:inline-grid}.grid-projects{grid-template-columns:repeat(auto-fill,minmax(max(340px,25% - 12px),1fr));gap:16px;display:grid}.project-card{cursor:pointer;flex-direction:column;gap:14px;padding:16px 20px;transition:transform .15s,box-shadow .15s;display:flex}.project-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #070d1517}.project-title{align-items:center;gap:10px;display:flex}.favicon{color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.project-title .domain{color:var(--navy);font-size:15px;font-weight:700}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.kpi{color:var(--navy);font-size:26px;font-weight:800;line-height:1.1}.kpi small{color:var(--muted);font-size:13px;font-weight:500}.delta{align-items:center;gap:2px;font-size:12px;font-weight:700;display:inline-flex}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.delta.flat{color:var(--muted)}.spark-range{gap:6px;display:flex}.spark-axis{width:30px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px;position:relative}.spark-axis span{line-height:1;position:absolute;left:0;transform:translateY(-50%)}.project-list{table-layout:fixed}.project-list td{vertical-align:middle;padding-top:12px;padding-bottom:12px}.project-list th.pl-left,.project-list td.pl-left{text-align:left;width:170px}.project-list .pl-num{text-align:right;width:150px}.project-list .pl-spark{text-align:left;width:220px;padding-left:32px}.project-list .pl-menu{text-align:right;width:56px}.project-list .pl-titles{flex-direction:column;min-width:0;line-height:1.25;display:flex}.project-list .pl-project{color:var(--navy);text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.project-list .pl-domain{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.dist-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.dist-legend i{border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.new-card{border:2px dashed var(--border-2);box-shadow:none;cursor:pointer;min-height:140px;color:var(--muted);background:0 0;place-items:center;font-weight:600;display:grid}.new-card:hover{border-color:var(--blue);color:var(--blue)}.plus{background:var(--gradient);width:44px;height:44px;color:var(--navy);border-radius:50%;place-items:center;margin:0 auto 10px;font-size:24px;display:grid}.project-layout{grid-template-columns:minmax(560px,1fr) minmax(460px,1fr);align-items:start;gap:20px;display:grid}@media (width<=1200px){.project-layout{grid-template-columns:1fr}.project-layout>*{min-width:0}.project-layout .table-wrap{height:60vh!important;position:static!important}.project-layout .side{scroll-margin-top:76px}}@media (width<=900px){.last-measure{display:none}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-2);color:var(--text);cursor:pointer;background:#fff;border-radius:29px;padding:5px 12px;font-size:12px;font-weight:600}.chip.active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.chip.chip-remove{background:var(--red-soft);border-color:var(--red);color:var(--red)}.chip .n{color:var(--muted);margin-left:4px;font-weight:500}.project-layout .table-wrap{flex-direction:column;height:calc(100vh - 104px);min-height:360px;display:flex;position:sticky;top:84px;overflow:hidden}.table-scroll{overscroll-behavior-x:contain;flex:1;min-height:0;overflow:auto}.kw-table{border-collapse:collapse;width:100%}.kw-table th{text-align:right;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2;background:#fff;padding:14px 10px;font-size:11px;font-weight:700;position:sticky;top:0}.kw-table th:first-child,.kw-table td:first-child{text-align:left;padding-left:20px}.kw-table .check-col{cursor:default;width:36px;padding-right:0}.kw-table .check-col+th,.kw-table .check-col+td{text-align:left}.kw-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;vertical-align:middle}.kw-table .gsc-col{color:var(--muted);border-left:1px solid #f0f2f4}.kw-table th.gsc-col{color:var(--blue)}.kw-table tr.checked td{background:#f7fafd}.kw-table th:last-child,.kw-table td:last-child{padding-right:20px}.kw-table th.sorted{color:var(--navy)}.kw-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;border-bottom:1px solid #f0f2f4;padding:11px 10px}.kw-table tr{cursor:pointer}.kw-table tbody tr:hover td{background:#fafbfc}.kw-table tr.selected td{background:var(--blue-soft)}.kw-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--blue)}.bulk-bar{background:var(--navy);color:#fff;border-radius:0 0 var(--radius) var(--radius)}.bulk-bar strong{color:#fff}.bulk-actions{gap:8px;display:flex}.bulk-bar .btn{color:#fff;background:0 0;border-color:#ffffff59}.bulk-bar .btn:hover{border-color:#fff}.bulk-bar .btn-danger{color:#ffb4b4;border-color:#e57373b3}.gsc-link{color:var(--blue);opacity:1;font-weight:600;text-decoration:none}.gsc-link:hover{text-decoration:underline}.link-btn{color:inherit;cursor:pointer;font:inherit;opacity:.8;background:0 0;border:none;padding:0;text-decoration:underline}.btn-danger-solid{background:var(--red);border-color:var(--red);color:#fff}.btn-danger-solid:hover{background:#bf3a3a;border-color:#bf3a3a}.kw-name{color:var(--navy);white-space:normal;font-weight:600}.kw-sub{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.tag{color:var(--muted);background:var(--bg);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:600}.flag-warn{color:#a86400;background:var(--cream);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700}.flag-info{color:var(--blue);background:var(--blue-soft);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700}.pos{color:var(--navy);font-size:15px;font-weight:800}.pos.nf{color:var(--muted);font-size:13px;font-weight:600}.chg{text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;min-width:38px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.chg.up{background:var(--green-soft);color:var(--green)}.chg.down{background:var(--red-soft);color:var(--red)}.chg.flat{color:var(--muted)}.table-foot{border-top:1px solid var(--border);color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;font-size:12px;display:flex}.side{flex-direction:column;gap:18px;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=700px){.two-col{grid-template-columns:1fr}}.chart-box{height:200px;position:relative}.chart-box.tall{height:240px}.kpis{flex-wrap:wrap;gap:36px;margin-top:14px;display:flex}.mini-table{border-collapse:collapse;width:100%;font-size:13px}.mini-table th{text-align:left;text-transform:uppercase;color:var(--muted);letter-spacing:.04em;padding:0 0 8px;font-size:11px;font-weight:700}.mini-table th.r,.mini-table td.r{text-align:right}.mini-table td{font-variant-numeric:tabular-nums;border-top:1px solid #f0f2f4;padding:7px 0}.mini-table tr.click{cursor:pointer}.mini-table tr.click:hover td{color:var(--blue)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:260px;display:inline-block;overflow:hidden}.flow{text-align:center;grid-template-columns:repeat(3,1fr);margin-bottom:14px;display:grid}.flow .n{font-size:26px;font-weight:800}.flowbar{background:var(--border);border-radius:8px;height:8px;display:flex;overflow:hidden}.callout{border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;line-height:1.45}.callout.warn{background:var(--cream);color:#6b4300}.callout.info{background:var(--blue-soft);color:#0b4a80}.serp-list{margin:0;padding:0;font-size:13px;list-style:none}.serp-list li{border-top:1px solid #f0f2f4;align-items:baseline;gap:10px;padding:6px 0;display:flex}.serp-list li.own{background:var(--blue-soft);border-top-color:#0000;border-radius:8px;margin:0 -10px;padding:6px 10px}.serp-list .rk{text-align:right;width:22px;color:var(--muted);flex-shrink:0;font-weight:700}.serp-list li.own .rk,.serp-list li.own .d{color:var(--blue);font-weight:700}.close-x{border:1px solid var(--border-2);cursor:pointer;background:#fff;border-radius:29px;padding:6px 12px;font-size:12px;font-weight:600}.close-x:hover{border-color:var(--navy)}.backdrop{z-index:50;background:#070d1573;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);max-height:90vh;padding:26px;overflow:auto}.form-grid{gap:14px;margin-top:16px;display:grid}.form-grid label,.form-grid .field{color:var(--navy);gap:6px;font-size:13px;font-weight:600;display:grid}.form-grid .hint{color:var(--muted);font-size:12px;font-weight:400}.checks{gap:16px;font-weight:500;display:flex}.modal.modal-wide{width:min(760px,100%)}.import-tools{flex-wrap:wrap;align-items:center;gap:8px;font-weight:400;display:flex}.import-tools .input{flex:1;min-width:140px}.import-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:320px;padding:4px 12px;font-weight:400;overflow:auto}.import-list .mini-table th{background:#fff;padding-top:8px;position:sticky;top:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.error{color:var(--red);font-size:13px}.empty{text-align:center;color:var(--muted);padding:60px 20px}.loading{text-align:center;color:var(--muted);padding:40px}@media (width<=640px){.page{padding:18px 16px 40px}.topbar-inner{gap:14px;padding:0 16px}.brand-label,.nav{display:none}.grid-projects,.project-layout{grid-template-columns:1fr}.kw-table .hide-sm{display:none}.project-layout,.side{min-width:0}}.kpi-tabs{grid-template-columns:repeat(var(--tiles,4), minmax(0, 1fr));border-bottom:1px solid var(--border);display:grid}.kpi-tab{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;gap:3px;min-width:0;margin-bottom:-1px;padding:16px 18px 14px;font-family:inherit;display:grid}.kpi-tab+.kpi-tab{border-left:1px solid var(--border)}.kpi-tab:first-child{border-top-left-radius:var(--radius)}.kpi-tab:last-child{border-top-right-radius:var(--radius)}.kpi-tab:hover{background:#fafbfc}.kpi-tab .kpi{white-space:nowrap;font-size:22px}.kpi-tab.active{border-bottom-color:var(--blue);background:var(--blue-soft)}.kpi-tab.active.vi{border-bottom-color:var(--orange);background:var(--cream)}.kpi-tab.active.clicks{border-bottom-color:var(--green);background:var(--green-soft)}@media (width<=700px){.kpi-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.movers-title{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700}.movers-title.up{color:var(--green)}.movers-title.down{color:var(--red)}.kw-clean th.chg-col,.kw-clean td.chg-col{text-align:center;width:76px}.kw-clean td.chg-col .chg{min-width:58px}.kw-clean td{padding-top:14px;padding-bottom:14px}.kw-clean .kw-cell{white-space:normal;width:100%;max-width:0;overflow:hidden}.kw-clean .kw-line{align-items:center;min-width:0;display:flex}.kw-clean .kw-name-1{color:var(--navy);white-space:normal;-webkit-line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;flex:0 auto;min-width:0;font-size:17px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}@media (width<=1600px){.kw-clean .kw-name-1{font-size:16px}.kw-clean th,.kw-clean td{padding-left:6px;padding-right:6px}.kw-clean th:first-child,.kw-clean td:first-child{padding-left:14px}.kw-clean .check-col{width:28px}.kw-clean .menu-col{width:40px;padding-right:8px}.kw-clean th{letter-spacing:.02em}}.kw-clean .kw-line .mini-flag,.kw-clean .kw-dots{flex-shrink:0}.kw-dots{vertical-align:middle;gap:3px;margin-right:8px;display:inline-flex}.kw-dots i{border-radius:50%;width:7px;height:7px;display:block}.page-flag{color:var(--muted);cursor:pointer;flex-shrink:0;align-items:center;gap:2px;margin-left:7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.page-flag:hover{color:var(--blue)}.mini-flag{vertical-align:middle;border-radius:5px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:700}.mini-flag.info{color:var(--blue);background:var(--blue-soft)}.mini-flag.warn{color:#a86400;background:var(--cream)}.kw-clean .menu-col{text-align:right;width:44px;padding-left:0;padding-right:12px}.col-menu{position:relative}.col-menu-btn{cursor:pointer;border:1px solid var(--border-2);width:32px;height:30px;color:var(--navy);background:#fff;border-radius:9px;place-items:center;display:inline-grid;box-shadow:0 1px 2px #070d150f}.col-menu-btn:hover,.col-menu-btn.open{color:var(--blue);border-color:var(--blue);background:var(--blue-soft)}.col-menu-panel{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;text-transform:none;letter-spacing:0;color:var(--navy);background:#fff;gap:6px;min-width:170px;padding:12px 14px;font-size:13px;font-weight:500;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #070d1524}.col-menu-panel label{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;display:flex}.toolbar-split{justify-content:space-between;align-items:center}.toolbar-split .search-field{margin-left:auto}.crumbs{color:var(--muted);align-items:center;gap:8px;margin:-6px 0 12px;font-size:12px;display:flex}.crumbs a{color:var(--muted);font-weight:600}.crumbs a:hover{color:var(--blue)}.crumbs span:last-child{color:var(--navy);font-weight:600}.domain-link{color:var(--muted);font-weight:600}.domain-link:hover{color:var(--blue);text-decoration:underline}.project-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:3px;font-size:12px;display:flex}.status-pill{border:1px solid var(--border-2);font:inherit;color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:12px;font-weight:600;display:inline-flex}.status-pill i{background:var(--border-2);border-radius:50%;width:7px;height:7px}.status-pill.ok i{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.status-pill.off{color:var(--muted)}.status-pill:hover{border-color:var(--navy)}.search-field{border:1px solid var(--border-2);color:var(--muted);background:#fff;border-radius:29px;align-items:center;gap:8px;width:220px;height:36px;padding:0 14px;display:inline-flex}.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);color:var(--blue)}.search-field input{font:inherit;color:var(--navy);background:0 0;border:none;outline:none;width:100%;font-size:13px}.chip-dot{vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.tag-dd{align-items:center;gap:6px;display:flex;position:relative}.tag-dd-panel{z-index:30;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;gap:8px;width:260px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #070d1524}.tag-dd-list{gap:1px;max-height:280px;display:grid;overflow:auto}.tag-dd-list button{text-align:left;font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:0;padding:7px 8px;font-size:13px;display:flex}.tag-dd-list button span:first-of-type{flex:1}.tag-dd-list button .n{color:var(--muted);font-size:12px}.tag-dd-list button:hover{background:var(--bg)}.tag-dd-list button.active{background:var(--blue-soft);color:var(--blue)}.login-page{background:var(--navy);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{text-align:center;gap:12px;width:min(380px,100%);padding:32px 28px;display:grid}.login-card .input{text-align:center;width:100%}.login-card .btn{justify-content:center}.login-logo{background:var(--navy);border-radius:var(--radius-sm);margin-bottom:6px;padding:14px}.login-logo svg{width:auto;height:26px}.favicon-img{border:1px solid var(--border);background:#fff;padding:3px;overflow:hidden}.favicon-img img{object-fit:contain;width:100%;height:100%;display:block}.title-row{align-items:center;gap:6px;display:flex}.proj-menu{flex-shrink:0;align-self:flex-start;position:relative}.proj-menu-btn{cursor:pointer;width:30px;height:30px;color:var(--muted);letter-spacing:1px;background:0 0;border:1px solid #0000;border-radius:9px;font-size:18px;line-height:1}.proj-menu-btn:hover,.proj-menu-btn[aria-expanded=true]{background:var(--bg);border-color:var(--border);color:var(--navy)}.proj-menu-panel{z-index:35;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;min-width:190px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 12px 30px #070d1524}.title-row .proj-menu-panel{left:0;right:auto}.proj-menu-panel button{text-align:left;font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:500}.proj-menu-panel button:hover:not(:disabled){background:var(--bg)}.proj-menu-panel button.danger{color:var(--red)}.proj-menu-panel button:disabled{opacity:.45;cursor:default}.proj-menu-panel hr{border:none;border-top:1px solid var(--border);margin:4px 2px}.logo-edit{align-items:center;gap:14px;font-weight:400;display:flex}.logo-actions{flex-wrap:wrap;gap:6px;display:flex}.checks label{align-items:center;gap:6px;font-weight:500;display:inline-flex}.chart-legend{flex-direction:column;gap:2px;margin-top:10px;display:flex}.legend-item{font:inherit;color:var(--navy);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:5px 6px;font-size:13px;display:flex}.legend-item:hover{background:var(--bg)}.legend-item i{border:0 solid #0000;border-radius:2px;flex-shrink:0;width:18px;height:3px}.legend-item i.dashed{background:repeating-linear-gradient(90deg,#c3c8cd 0 4px,#0000 4px 7px)}.legend-item i.square{border-radius:3px;width:9px;height:9px;margin:0 4.5px}.legend-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.legend-meta{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.legend-item.off{opacity:.4}.legend-item.off .legend-label{text-decoration:line-through}.tag-manager{width:min(900px,100%)}.tm-grid{grid-template-columns:220px minmax(0,1fr);gap:18px;margin-top:12px;display:grid}@media (width<=700px){.tm-grid{grid-template-columns:1fr}}.tm-tags{flex-direction:column;gap:2px;max-height:460px;display:flex;overflow:auto}.tm-tag{font:inherit;color:var(--navy);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:0;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.tm-tag span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tm-tag .n{color:var(--muted);font-size:12px;font-weight:500}.tm-tag:hover{background:var(--bg)}.tm-tag.active{background:var(--blue-soft);color:var(--blue)}.tm-new{margin-top:8px}.tm-new .input{width:100%;padding:7px 12px}.tm-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.tm-head h3{font-size:16px}.tm-head .input{flex:1}.tm-actions{flex-shrink:0;gap:6px;display:flex}.tm-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tm-tools .input{flex:1;min-width:160px;padding:7px 12px}.tm-only{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.tm-list{max-height:380px;padding:4px 6px}.tm-row{cursor:pointer;color:var(--navy);border-radius:7px;align-items:center;gap:10px;padding:6px;font-size:14px;display:flex}.tm-row:hover{background:var(--bg)}.tm-row input{accent-color:var(--blue);width:15px;height:15px}.tm-kw{flex:1}.btn-danger-outline{color:var(--red);border-color:#d6454566}.btn-danger-outline:hover{border-color:var(--red)}.foot-link{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.foot-link:hover{text-decoration:underline}.chart-tip{z-index:5;pointer-events:none;opacity:0;background:var(--navy);color:#fff;border-radius:12px;min-width:220px;max-width:380px;padding:12px 14px;font-size:13px;line-height:1.3;transition:opacity .12s,left 80ms,top 80ms;position:absolute;box-shadow:0 10px 28px #070d1547}.chart-tip .tip-date{text-transform:capitalize;border-bottom:1px solid #ffffff1f;margin-bottom:8px;padding-bottom:8px;font-size:13px;font-weight:700}.chart-tip .tip-row{align-items:center;gap:10px;margin-top:7px;display:flex}.chart-tip .tip-row i{border-radius:50%;flex-shrink:0;width:8px;height:8px}.chart-tip .tip-row i.dashed{background:repeating-linear-gradient(90deg,#9aa1a8 0 3px,#0000 3px 5px);border-radius:2px;height:3px}.chart-tip .tip-row.muted{opacity:.7}.chart-tip .tip-total{color:#fffc;border-top:1px solid #ffffff1f;margin-top:9px;padding-top:9px}.chart-tip .tip-pill{text-align:center;width:40px;color:var(--navy);font-variant-numeric:tabular-nums;background:#fff;border-radius:6px;flex-shrink:0;padding:1px 6px;font-weight:800;display:inline-block}.chart-tip .tip-pill.light{color:#fff;background:#ffffff2e}.chart-tip .tip-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-tip .tip-sub{color:#ffffffb3;margin-top:8px;font-size:12px}.meta-line{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.card-body{align-items:flex-end;gap:20px;display:flex}.card-kpi{flex:none;gap:2px;display:grid}.card-spark{flex:1;min-width:0}.picker{align-items:center;gap:8px;display:inline-flex;position:relative}.picker-btn{gap:8px}.picker-btn-active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.popover{z-index:40;border:1px solid var(--border);border-radius:var(--radius);background:#fff;position:absolute;top:calc(100% + 8px);box-shadow:0 18px 50px #070d1529}.popover.right{right:0}.popover.left{left:0}.picker-main{padding:16px 18px 14px}.picker-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-top:12px;display:flex}.cal{position:relative}.cal-nav{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:-2px;left:0;right:0}.cal-arrow{pointer-events:auto;border:1px solid var(--border-2);cursor:pointer;width:28px;height:28px;color:var(--navy);background:#fff;border-radius:50%;font-size:16px;line-height:1}.cal-arrow:disabled{opacity:.3;cursor:default}.cal-months{gap:28px;display:flex}.cal-title{text-align:center;color:var(--navy);text-transform:capitalize;margin:4px 0 10px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,36px);row-gap:2px;display:grid}.cal-wd{text-align:center;color:var(--muted);padding-bottom:6px;font-size:11px;font-weight:600}.cal-day{height:34px;color:var(--navy);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:10px;font-family:inherit;font-size:13px}.cal-day:hover:not(:disabled){background:var(--bg)}.cal-day.in{background:var(--blue-soft);color:var(--blue);border-radius:0}.cal-day.start,.cal-day.end{background:var(--blue);color:#fff;font-weight:700}.cal-day.start:not(.end){border-radius:10px 0 0 10px}.cal-day.end:not(.start){border-radius:0 10px 10px 0}.cal-day.today:not(.start):not(.end){box-shadow:inset 0 0 0 1px var(--blue)}.cal-day.off{color:var(--border-2);cursor:default}@media (width<=760px){.cal-months>:not(:first-child){display:none}}.preview-section{margin-bottom:44px}.project-list .pl-flag{margin-right:6px}@media (width<=640px){.project-list{table-layout:auto}.project-list .pl-num{width:auto;padding-left:6px;padding-right:6px}.project-list .pl-menu{width:36px}.project-list .pl-name{max-width:150px}}.spinner{vertical-align:-2px;border:2px solid #007adb33;border-top-color:var(--blue);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-inline{color:var(--blue);align-items:center;gap:6px;margin-left:10px;font-weight:600;display:inline-flex}.is-loading{opacity:.45;pointer-events:none;transition:opacity .15s}.loading .spinner{vertical-align:-4px;width:18px;height:18px;margin-right:8px}.user-menu{position:relative}.user-btn{color:#fff;width:34px;height:34px;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;font-size:13px;font-weight:700}.user-btn:hover,.user-btn[aria-expanded=true]{background:#ffffff2e}.user-panel{min-width:240px;top:calc(100% + 8px);left:auto;right:0}.user-head{color:var(--navy);flex-direction:column;gap:2px;padding:8px 10px 6px;display:flex}.team-table th.tl,.team-table td.tl{text-align:left}.team-table .team-actions{justify-content:flex-end;gap:8px;display:flex}.team-table select{width:auto}.temp-password{background:var(--bg);border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.temp-password code{letter-spacing:.04em;color:var(--navy);flex:1;font-size:17px;font-weight:700}.login-card .link-btn{align-self:center}.input-sm{padding:6px 10px;font-size:13px}.temp-message{border:1px solid var(--border);border-radius:10px;gap:8px;margin-top:10px;padding:12px 14px;display:grid}.temp-message pre{font:inherit;white-space:pre-wrap;color:var(--navy);margin:0;font-size:13px}.temp-message .btn{justify-self:start}.feedback{z-index:40;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:20px;right:20px}.feedback-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#f7b733,#f39c12);border:none;border-radius:50%;place-items:center;width:52px;height:52px;transition:transform .15s;display:grid;box-shadow:0 8px 24px #070d1538}.feedback-btn:hover{transform:scale(1.06)}.feedback-panel{width:min(360px,100vw - 40px);padding:16px 18px;box-shadow:0 16px 40px #070d152e}.feedback-panel form{gap:10px;display:grid}.feedback-panel h3{color:var(--navy);margin:0;font-size:16px}.feedback-panel textarea{resize:vertical;min-height:110px}.feedback-kinds{justify-self:start}.feedback-actions{justify-content:flex-end;gap:8px;display:flex}.feedback-thanks{text-align:center;justify-items:center;gap:6px;padding:8px 0 2px;display:grid}.feedback-thanks .feedback-actions{margin-top:8px}.feedback-check{width:40px;height:40px;color:var(--green);background:#e6f6ec;border-radius:50%;place-items:center;font-size:18px;font-weight:800;display:grid}.nav-badge{color:#fff;background:#f39c12;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:800;display:inline-grid}.feedback-list{gap:12px;display:grid}.feedback-item{padding:14px 18px}.feedback-item.verwerkt,.feedback-item.afgewezen{opacity:.6}.feedback-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.feedback-meta .spacer{flex:1}.feedback-meta select{width:auto}.feedback-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--blue);background:#e8f2fc;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.feedback-kind.probleem{color:var(--red);background:#fdecec}.feedback-kind.vraag{color:#7b5cd6;background:#f1ecfb}.feedback-message{white-space:pre-wrap;color:var(--navy);margin:10px 0 0;line-height:1.5}.switch{color:var(--navy);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{background:var(--border-2);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #070d1540}.switch input:checked+.switch-track{background:var(--blue)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--blue);outline-offset:2px}.pos.low{color:var(--muted);font-weight:600}.mini-flag.muted-flag{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.letter-bar{z-index:5;background:var(--bg);flex-wrap:wrap;gap:2px;margin-bottom:8px;padding:8px 0;display:flex;position:sticky;top:64px}.letter-bar button{min-width:28px;height:28px;font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:none;border-radius:7px;font-size:13px;font-weight:700}.letter-bar button:hover:not(:disabled){color:var(--blue);background:#fff;box-shadow:0 1px 3px #070d1514}.letter-bar button:disabled{color:var(--border-2);cursor:default}.letter-group{scroll-margin-top:120px}.letter-group+.letter-group{margin-top:28px}.letter-head{border-bottom:1px solid var(--border);color:var(--navy);align-items:baseline;gap:10px;margin:0 0 12px;padding-bottom:8px;font-size:20px;font-weight:800;display:flex}.upd-layer{pointer-events:none;position:absolute;inset:0}.upd-band{pointer-events:none;border-left:1px dashed;border-right:1px dashed;position:absolute}.upd-badge{color:#fff;width:18px;height:18px;font:inherit;cursor:help;pointer-events:auto;z-index:2;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;font-size:9px;font-weight:800;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 1px 3px #070d1533}.upd-tip{z-index:6;pointer-events:none;width:270px}.upd-tip-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex;text-transform:none!important}.upd-kind{text-transform:uppercase;letter-spacing:.04em;color:#fff;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-block}.upd-card{margin-top:16px}.upd-card-head{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:16px 20px;display:flex}.upd-card-head h2{color:var(--navy);margin:0;font-size:16px}.upd-card-head .spacer{flex:1}.upd-card-head .chev{color:var(--muted);transition:transform .15s}.upd-card-head .chev.open{transform:rotate(180deg)}.legend-inline{color:var(--muted);gap:12px;font-size:12px;display:flex}.legend-inline i{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:4px;display:inline-block}.upd-table th.tl,.upd-table td.tl{text-align:left}.upd-table tr{cursor:default}.upd-table td a{color:var(--navy)}.upd-table td a:hover{color:var(--blue);text-decoration:underline}.upd-foot{padding:12px 20px 16px}@media (width<=760px){.legend-inline{display:none}}.toolbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;margin-left:auto;display:flex}.anno-layer{pointer-events:none;position:absolute;inset:0}.anno-line{opacity:.75;pointer-events:none;border-left:1.5px dashed;position:absolute}.anno-pin{color:#fff;width:22px;height:22px;font:inherit;cursor:pointer;pointer-events:auto;z-index:3;border:2px solid #fff;border-radius:6px 6px 6px 0;place-items:center;padding:0;font-size:11px;line-height:1;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 1px 4px #070d1540}.anno-pin:hover,.anno-pin:focus-visible{transform:translate(-50%)scale(1.12)}.anno-tip{z-index:6;pointer-events:none;width:280px}.anno-tip-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex;text-transform:none!important}.anno-tip-text{margin-top:2px}.anno-tip-note{color:#ffffffd9;white-space:pre-wrap;margin-top:6px;font-size:12px}.muted-on-dark{color:#ffffffa6}.chart-foot{justify-content:flex-end;align-items:flex-start;gap:12px;margin-top:10px;display:flex}.chart-foot>.muted{flex:1}.chart-actions{align-items:center;gap:8px;display:flex}.anno-types{flex-wrap:wrap;gap:6px;display:flex}.anno-type{border:1px solid var(--border);font:inherit;color:var(--navy);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.anno-type span{background:var(--c);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.anno-type.active{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb, var(--c) 25%, transparent)}.anno-scope{justify-self:start}.modal-actions .spacer{flex:1}.anno-head-toggle{font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex}.anno-head-toggle h2{color:var(--navy);margin:0;font-size:16px}.anno-table td.anno-what{white-space:normal;align-items:flex-start;gap:8px;min-width:220px;display:flex}.anno-table .anno-note{white-space:pre-wrap;margin-top:2px;display:block}.anno-dot{color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;margin-top:1px;font-size:10px;display:grid}.anno-edit{color:var(--blue);font-size:12px}.chart-tip .tip-hint{border-top:1px solid #ffffff1f;margin-top:8px;padding-top:6px}.kpi-tab{position:relative}.kpi-tab .has-dots{text-underline-offset:3px;-webkit-text-decoration:underline dotted #5b657080;text-decoration:underline dotted #5b657080}.kpi-tip{z-index:20;background:var(--navy);color:#fff;text-align:left;white-space:pre-line;opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;width:300px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .12s;position:absolute;top:calc(100% + 6px);left:12px;box-shadow:0 10px 28px #070d1547}.kpi-tip strong{margin-bottom:4px;font-size:13px;display:block}.kpi-tab:hover .kpi-tip,.kpi-tab:focus-visible .kpi-tip,.kpi-item:hover .kpi-tip,.kpi-item:focus-visible .kpi-tip,.th-tip:hover .kpi-tip,.th-tip:focus-visible .kpi-tip{opacity:1;visibility:visible;transition-delay:.25s}.th-tip{cursor:help;outline:none}.th-tip .kpi-tip{text-transform:none;letter-spacing:normal;width:280px;top:calc(100% - 4px);left:auto;right:8px}.kpi-item{cursor:help;outline:none;position:relative}.kpi-item .kpi-tip{width:260px;left:0}.kpi-item.tip-right .kpi-tip{left:auto;right:0}.kpi-tab:last-child .kpi-tip,.kpi-tab:nth-last-child(2) .kpi-tip{left:auto;right:12px}.th-tools{justify-content:flex-end;align-items:center;gap:6px;display:flex}.kw-clean .menu-col.wide{width:86px}.filter-btn{position:relative}.filter-btn.on{color:#fff;background:var(--blue);border-color:var(--blue)}.filter-btn.on:after{content:"";background:var(--orange);border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;right:-3px}.filter-panel{gap:2px;min-width:220px}.qf-row{width:100%;font:inherit;color:var(--navy);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;font-weight:600;display:flex}.qf-row span:first-of-type{flex:1}.qf-row .n{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.qf-row:hover:not(:disabled){background:var(--bg)}.qf-row.active{background:var(--blue-soft);color:var(--blue)}.qf-row:disabled{opacity:.4;cursor:default}.qf-row:before{content:"";background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px}.qf-top3:before{background:#12874a}.qf-top10:before{background:#f2c94c}.qf-top20:before{background:#f2994a}.qf-outside:before{background:#e05656}.qf-down:before{background:var(--red);clip-path:polygon(0 10%,100% 10%,50% 100%);border-radius:0}.qf-local:before{background:var(--blue)}.qf-lowdata:before{background:var(--border-2)}.filter-chip{background:var(--blue-soft);color:var(--blue);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.filter-chip:hover{background:var(--blue);color:#fff}
