:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#192a36;background:#f2f5f7;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:250px;background:#102b31;color:#e9f3f3;position:fixed;height:100vh;padding:32px 22px;display:flex;flex-direction:column;gap:20px}.brand{font-size:20px;font-weight:700}aside p{margin:0;color:#93b4b9}aside small{margin-top:auto;color:#93b4b9}nav{display:grid;gap:9px}nav button{text-align:left;background:#1c3e46;color:white;border:0}main{margin-left:250px;padding:42px 5%;width:calc(100% - 250px);max-width:1500px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}h1{font-size:32px;margin:8px 0}h2{font-size:18px;margin:0 0 18px}header p,.hint{color:#63777f;line-height:1.8}.eyebrow{font-size:11px;letter-spacing:2px;color:#167669;font-weight:bold}section{background:white;border:1px solid #dfe7ea;border-radius:14px;padding:25px;margin-bottom:20px;box-shadow:0 3px 12px #16334204}button{cursor:pointer;border:1px solid #c9d7db;background:white;padding:10px 17px;border-radius:8px;font:inherit;font-weight:600;color:#20444a}button:hover{background:#e9f3f1}.primary{background:#117969;color:white;border-color:#117969}.primary:hover{background:#0c6155}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-weight:600;margin-bottom:12px}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #cbd7db;border-radius:8px;padding:11px;background:#fbfcfd;color:#192a36;font:inherit;margin-top:9px}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:20px;height:20px;accent-color:#117969;vertical-align:middle}.section-title,.switch-row,.actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.switch-row{border-bottom:1px solid #edf1f3;padding:15px 0;margin-bottom:4px}.switch-row small{display:block;color:#6d8087;font-weight:400;line-height:1.7;margin-top:5px}.grid{margin-top:20px}.range{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:center;margin-bottom:12px}.range select,.range input{margin:0}.actions{margin-top:18px}.actions span{font-size:12px;color:#6d8087}#code,#snippet{font-family:ui-monospace,monospace}#notice:not(:empty){padding:14px;background:#e3f1ed;color:#125847;margin-bottom:20px;border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}td,th{padding:12px;border-bottom:1px solid #e7ecee;vertical-align:top}th{color:#62777e}.table-wrap{overflow:auto}#login{max-width:520px}#login button{margin-top:18px}[hidden]{display:none!important}@media(max-width:850px){aside{position:static;width:100%;height:auto;padding:20px}aside small{display:none}body{display:block}main{margin:0;width:100%;padding:24px 16px}.grid{grid-template-columns:1fr}.range{grid-template-columns:1fr 1fr}.section-title{align-items:flex-start}header h1{font-size:26px}section{padding:20px}}
input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;width:42px;height:24px;min-width:42px;border-radius:20px;background:#c5d1d5;border:0;cursor:pointer;transition:background .15s}input[type=checkbox]::after{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .15s}input[type=checkbox]:checked{background:#117969}input[type=checkbox]:checked::after{transform:translateX(18px)}input[type=checkbox]:focus-visible{outline:3px solid #60bbaa;outline-offset:3px}
.view-tabs{display:flex;gap:8px;margin:0 0 22px}.view-tabs .active{background:#117969;color:white;border-color:#117969}main{max-width:none;padding:36px 28px}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:22px 0}.metrics>div{border:1px solid #dce7e8;border-radius:10px;padding:18px;background:#f8fbfa}.metrics span{display:block;color:#62777e}.metrics strong{display:block;font-size:30px;margin-top:8px;font-variant-numeric:tabular-nums}.filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px 16px;align-items:end;border-bottom:1px solid #e7ecee;padding-bottom:18px}.filters label{font-size:12px;margin:0}.filter-actions{display:flex;gap:8px;padding-bottom:1px}.visit-table{max-height:650px;border:1px solid #e3eaed;border-radius:8px}.visit-table table{min-width:1550px}.visit-table th{position:sticky;top:0;background:#f3f7f7;z-index:1;white-space:nowrap}.visit-table td{max-width:240px;min-width:95px;overflow-wrap:anywhere}.visit-table td:nth-child(1){min-width:150px}.visit-table td:nth-child(3){min-width:155px;font-family:ui-monospace,monospace}.visit-table td:last-child{min-width:220px}.visit-table tbody tr:nth-child(even){background:#f7f9fa}.visit-table tbody tr:hover{background:#edf6f3}.badge{display:inline-block;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:700}.badge.allowed{background:#dbf1e7;color:#166447}.badge.blocked{background:#fee5e5;color:#a82f3b}.visit-table small{display:block;margin-top:6px;color:#62777e;font-size:11px;line-height:1.6}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:#63777f}.pagination button{margin-left:8px}button:disabled{opacity:.4;cursor:default}.empty-state{text-align:center;padding:50px!important;color:#6d8087}@media(max-width:1100px){.filters{grid-template-columns:repeat(2,minmax(130px,1fr))}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){main{padding:20px 12px}.filters{grid-template-columns:1fr}.metrics strong{font-size:24px}.pagination{align-items:flex-start;gap:12px;flex-direction:column}}
.save-state{position:sticky;top:0;z-index:3;background:#e5f3ee;color:#145d4d;border:1px solid #c3e1d5;border-radius:8px;padding:12px 16px;margin-bottom:18px;line-height:1.6}.toggle-feedback{font-size:12px!important;white-space:nowrap;min-width:48px;color:#167669!important}.switch-row>span{flex:1}.switch-row{gap:12px}#editor input:disabled{cursor:wait;opacity:.65}
.snippet-card{border:1px solid #d6e2e4;border-radius:10px;padding:18px;margin:16px 0;background:#fbfdfd}.snippet-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.snippet-toolbar>label:first-child{flex:1;min-width:180px}.snippet-toolbar label{margin:0}.snippet-toolbar small{color:#167669}.snippet-code{font-family:ui-monospace,monospace}.snippet-delete{color:#a82f3b}.snippet-card>label{margin-top:14px}
.rule-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0;border-bottom:1px solid #e7ecee}.rule-description{flex:1;min-width:190px}.rule-description strong{font-size:15px}.rule-description small{display:block;color:#6d8087;line-height:1.6;margin-top:5px}.rule-controls{display:flex;gap:24px;justify-content:flex-end;flex-wrap:nowrap}.rule-toggle{position:relative;display:flex;align-items:center;gap:9px;white-space:nowrap;margin:0;min-width:112px;font-size:13px}.rule-toggle .toggle-feedback{position:absolute;top:25px;right:0;font-size:10px!important;min-width:0}.rule-details{margin-top:18px}.rule-details summary{color:#526e74;cursor:pointer}.rule-details textarea{max-width:700px}@media(max-width:1050px){.rule-controls{gap:12px}.rule-row{gap:12px}.rule-description small{max-width:320px}.rule-toggle{min-width:100px}}@media(max-width:700px){.rule-row{align-items:flex-start;flex-direction:column;gap:12px}.rule-controls{width:100%;justify-content:flex-start;gap:12px;flex-wrap:wrap;padding-bottom:8px}.rule-description small{max-width:none}.rule-toggle{min-width:0;gap:6px;font-size:12px}}

aside{overflow-y:auto}aside>.brand,aside>p,aside>#new{flex-shrink:0}.site-item{min-width:0}.site-item>button{width:100%;overflow-wrap:anywhere}.site-note{padding:6px 10px 10px;color:#bbd6d9;font-size:12px}.site-note summary{cursor:pointer;user-select:none}.site-note textarea{resize:vertical;min-height:75px;max-height:400px;margin:8px 0;color:#192a36;font-size:13px}.site-note button{font-size:12px;padding:6px 10px;background:#dceeea;color:#12594d}.note-status{display:block;margin-top:6px;line-height:1.5;overflow-wrap:anywhere;color:#c5e4dd}

.site-item>button:hover,.site-item>button:focus-visible{color:#163e45;background:#e9f3f1}

.project-group{border:1px solid #315057;border-radius:10px;overflow:hidden}.project-group>summary{padding:12px 10px;background:#17383f;color:#e1f1ed;font-weight:700;cursor:pointer;overflow-wrap:anywhere}.project-domains{display:grid;gap:8px;padding:10px 6px 2px 12px;border-left:2px solid #41656b;margin-left:8px}.project-domains .site-item>button{font-size:13px;padding:10px}.project-domains .site-note{padding-left:14px}#sites{padding-bottom:12px}

/* Compact project/domain navigation */
aside{width:260px;padding:20px 12px;gap:12px;background:#10292f}.brand{font-size:18px;color:#fff}main{margin-left:260px;width:calc(100% - 260px)}.sidebar-actions{display:flex;gap:6px}.sidebar-actions button{flex:1;padding:8px 6px;font-size:13px}#groupForm{display:flex;gap:5px}#groupForm input{min-width:0;margin:0;padding:7px}#groupForm button{padding:6px}#groupStatus{font-size:12px;color:#d0e7e5;line-height:1.5}#groupStatus:empty{display:none}#sites{gap:8px}.project-group{border:0;border-radius:0;overflow:visible}.project-group>summary{background:transparent;padding:7px 2px;color:#fff;font-size:14px;border-bottom:1px solid #3b565d}.project-domains{padding:4px 0;margin:0;border:0;gap:0}.site-item{display:grid;grid-template-columns:1fr auto;gap:0 8px;padding:5px 6px;border-bottom:1px solid #29434a}.project-domains .site-item>.domain-button{grid-column:1/-1;padding:5px 3px;background:transparent;color:#f3f8fa;border-radius:3px;font-size:14px;font-weight:500;text-align:left}.site-item>.domain-button.selected{background:#284b54;color:#fff;font-weight:700}.site-item>.domain-button:hover{background:#254650;color:#fff}.move-group{font-size:12px!important;width:100%;min-width:0;margin:2px 0!important;padding:2px 4px!important;background:#18353d!important;color:#deecef!important;border:1px solid #42616a!important;border-radius:3px!important;align-self:start}.project-domains .site-note{padding:3px 0;color:#e0ecef;font-size:12px}.site-note[open]{grid-column:1/-1}.site-note[open] textarea{margin:5px 0}.site-note summary{white-space:nowrap}aside>small{display:none}@media(max-width:850px){aside{width:100%;padding:16px}main{margin-left:0;width:100%}}

#groupForm input{flex:1;width:0}#groupForm button{flex:none;white-space:nowrap;padding:6px 10px}
