:root{--rouge:#4D0C12;--papier:#FCFBF8;--creme:#F6F3E4;--chocolat:#4A2E2A;--encre:#1E100F;--ligne:#E3DBCF;--sable:#D4B89A;--piste:#ECE6DC}
*{box-sizing:border-box}
body{margin:0;background:var(--papier);color:var(--encre);font:16px/1.4 'Inter Tight',Arial,sans-serif}
a{color:var(--rouge)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--rouge);outline-offset:2px}
h1,h2{margin:0;font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.01em}
h1{font-size:40px;line-height:1.1}
h2{font-size:26px;line-height:1.15}
p{margin:0}
.muted{margin-top:4px;color:var(--chocolat)}
.small{font-size:13px;color:var(--chocolat)}
.mono{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--rouge)}

.door{display:flex;flex-direction:column;gap:16px;max-width:400px;margin:0 auto;padding:48px 16px}
.door-logo{width:120px;height:auto}
.stack{display:flex;flex-direction:column;gap:14px}
label{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:var(--chocolat)}
input{width:100%;min-height:46px;padding:8px 12px;border:1px solid var(--sable);border-radius:3px;background:#fff;color:var(--encre);font:inherit}
.hint{margin-top:4px;font-size:13px;color:var(--chocolat)}
.primary{min-height:46px;padding:8px 16px;border:0;border-radius:3px;background:var(--rouge);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.alert{padding:10px 12px;border-radius:3px;background:#F7E3E0;color:var(--rouge);font-size:14px;font-weight:600}

.wrap{display:flex;min-height:100vh}
.side{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;gap:14px;flex-shrink:0;width:240px;max-height:100vh;overflow-y:auto;padding:18px 12px;background:var(--creme);border-right:1px solid var(--ligne)}
.brand{padding:0 8px}
.brand img{display:block;width:104px;height:auto;margin-bottom:10px}
.brand .mono{letter-spacing:1px}
.group{display:flex;flex-direction:column;gap:2px}
.group-title{padding:0 8px 2px;font-size:11px;letter-spacing:1px;color:var(--chocolat)}
.side a{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 8px;border-radius:3px;color:var(--encre);font-size:14px;font-weight:500;text-decoration:none}
.side a:hover{background:#EDE2D6}
.side a.on{background:var(--rouge);color:#fff;font-weight:600}
.side svg{flex-shrink:0}
.logout button{width:100%;min-height:40px;padding:6px 8px;border:0;background:transparent;color:var(--chocolat);font:inherit;font-size:13px;text-align:left;text-decoration:underline;cursor:pointer}

.content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;padding:10px 20px;background:var(--papier);border-bottom:1px solid var(--ligne)}
.dates{min-width:0;font-size:14px}
.dates strong{font-weight:600}
.hijri{font-family:'Noto Naskh Arabic',serif;font-size:16px;color:var(--chocolat)}
.ramadan{flex-shrink:0;padding:3px 12px;border:1px solid var(--sable);border-radius:3px;background:#fff;font-size:14px;color:var(--chocolat)}
.ramadan strong{color:var(--rouge)}
.main{flex:1;width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:18px;padding:20px}

.wins{padding:18px;border-radius:4px;background:var(--rouge);color:#fff}
.wins h2{margin-bottom:12px}
.wins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.win-title{font-weight:600;line-height:1.3}
.win-text{font-size:14px;color:#EDE2D6}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--ligne);border-radius:4px;background:#fff}
.kpi{font-family:'Instrument Serif',Georgia,serif;font-size:52px;line-height:1}
.kpis .card{gap:4px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}
.bars{display:flex;flex-direction:column;gap:10px}
.bar-head{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.bar-track{height:10px;margin-top:3px;border-radius:0 4px 4px 0;background:var(--piste)}
.bar-track div{height:10px;border-radius:0 4px 4px 0;background:var(--rouge)}
.more{font-size:14px;font-weight:600}
.days{display:flex;align-items:flex-end;gap:2px;height:170px;border-bottom:1px solid var(--sable)}
.day{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center}
.day span{display:block;width:100%;max-width:30px;border-radius:4px 4px 0 0;background:var(--rouge)}
.todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:4px 16px;margin:0;padding-left:18px;font-size:15px}
.soon{padding:28px 20px;border:1px dashed var(--sable);border-radius:4px;background:#fff}
.soon p:first-of-type{margin-top:8px}
.table-card{padding:6px 16px;overflow-x:auto}
table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px}
thead th{padding:8px;color:var(--chocolat);font-size:13px;font-weight:600;text-align:left}
tbody th,tbody td{padding:9px 8px;border-top:1px solid var(--ligne);text-align:left}
tbody th{font-weight:600}
.num{text-align:right!important;font-weight:700}
.mono-cell{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--chocolat)}

.c-sana{background:#8E2A33}.c-amazon{background:#B97A17}.c-site{background:#007FA3}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--chocolat)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.swatch{display:inline-block;width:12px;height:12px;border-radius:2px}
.chart{display:flex;flex-direction:column;gap:2px}
.chart-row{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:32px;padding:2px 4px;border-radius:3px;color:var(--encre);font-size:14px;text-decoration:none}
.chart-row:hover{background:var(--creme)}
.chart-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chart-track{display:block;min-width:0}
.chart-bar{display:flex;gap:2px;min-width:4px;height:14px}
.seg{display:block;min-width:2px;flex-basis:0}
.seg:last-child{border-radius:0 4px 4px 0}
.chart-total{font-weight:700;text-align:right}
.tip{position:fixed;z-index:20;max-width:320px;padding:6px 10px;border-radius:3px;background:var(--encre);color:#fff;font-size:13px;pointer-events:none}
textarea{width:100%;padding:8px 12px;border:1px solid var(--sable);border-radius:3px;background:#fff;color:var(--encre);font-family:'JetBrains Mono',monospace;font-size:13px}
.sub{margin:6px 0 10px;font-size:15px;font-weight:600}
.minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px}
.mini{font-family:'Instrument Serif',Georgia,serif;font-size:38px;line-height:1.1}
.note{padding:10px 12px;border-radius:3px;background:var(--creme);color:var(--chocolat);font-size:14px;font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.secondary{min-height:46px;padding:8px 16px;border:1.5px solid var(--rouge);border-radius:3px;background:transparent;color:var(--rouge);font:inherit;font-weight:600;cursor:pointer}
.jumps{display:flex;flex-wrap:wrap;gap:8px}
.jump{display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border:1.5px solid var(--rouge);border-radius:3px;background:#fff;color:var(--rouge);font-size:14px;font-weight:600;text-decoration:none}
.jump:hover{background:var(--rouge);color:#fff}
.anchor{scroll-margin-top:96px}
.links-tools{display:flex;flex-direction:column;gap:10px}
.search{max-width:420px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:38px;padding:4px 12px;border:1px solid var(--sable);border-radius:3px;background:#fff;color:var(--chocolat);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.chip[aria-pressed=true]{border-color:var(--rouge);background:var(--rouge);color:#fff}
.links{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.link-group{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--rouge)}
.link-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 80px 104px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ligne);border-radius:4px;background:#fff}
.link-label{font-weight:600}
.link-address{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--chocolat);overflow-wrap:anywhere}
.tag{justify-self:start;padding:1px 8px;border-radius:3px;background:var(--creme);color:var(--chocolat);font-size:12px;font-weight:600}
.link-clicks{font-size:13px;color:var(--chocolat);white-space:nowrap}
.link-clicks strong{font-size:16px;color:var(--encre)}
.copy{min-height:40px;padding:4px 10px;border:1.5px solid var(--rouge);border-radius:3px;background:transparent;color:var(--rouge);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.copy.done{background:var(--rouge);color:#fff}
.link-broken{font-size:12px;color:var(--chocolat);text-align:center}

.bottom{display:none}
@media(max-width:600px){
.chart-row{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:'label total' 'track track';gap:2px 10px;padding:5px 4px}
.chart-label{grid-area:label}.chart-total{grid-area:total}.chart-track{grid-area:track}
.link-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'main main' 'tag clicks' 'copy copy'}
.link-main{grid-area:main}.tag{grid-area:tag}.link-clicks{grid-area:clicks}.copy,.link-broken{grid-area:copy}
}
@media(max-width:860px){
.wrap{flex-direction:column}
.side{display:none;position:static;width:100%;max-height:none;border-right:0;border-bottom:1px solid var(--ligne)}
.side.open{display:flex}
.bottom{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ligne);background:#fff}
.bottom a,.bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;border:0;background:transparent;color:var(--chocolat);font:inherit;font-size:12px;font-weight:500;text-decoration:none;cursor:pointer}
.bottom a.on{background:#EDE2D6;color:var(--rouge);font-weight:700}
h1{font-size:32px}
.main{padding:16px}
.topbar{padding:10px 16px}
}
