/* Codiix huisstijl — matches EventOS (src/app/globals.css) */
@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/red-hat-display-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Red Hat Display";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/red-hat-display-latin.woff2) format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --background:0 0% 98%;--foreground:0 0% 15%;
  --card:0 0% 100%;
  --primary:342 100% 42%;--primary-foreground:0 0% 100%;
  --secondary:0 0% 95%;
  --muted:0 0% 95%;--muted-foreground:276 3% 36%;
  --accent:342 100% 96%;--accent-foreground:342 100% 34%;
  --highlight:42 98% 50%;--highlight-foreground:0 0% 15%;
  --border:0 0% 90%;--input:0 0% 86%;--ring:342 100% 42%;
  --success:145 50% 34%;--warning:36 95% 38%;--danger:4 74% 47%;
  --radius:.875rem;
  --shadow-soft:0 1px 2px rgba(39,39,39,.05),0 1px 3px rgba(39,39,39,.07);
  --shadow-card:0 1px 3px rgba(39,39,39,.06),0 8px 24px -12px rgba(39,39,39,.16);
  --mesh:radial-gradient(60% 60% at 15% 10%,hsl(342 100% 92% / .55) 0%,transparent 60%),radial-gradient(50% 50% at 90% 5%,hsl(42 98% 88% / .5) 0%,transparent 55%),radial-gradient(45% 45% at 80% 95%,hsl(342 80% 93% / .45) 0%,transparent 55%);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --background:219 27% 10%;--foreground:0 0% 96%;
  --card:220 26% 14%;
  --primary:342 90% 52%;
  --secondary:220 22% 18%;
  --muted:220 22% 16%;--muted-foreground:220 8% 64%;
  --accent:342 45% 20%;--accent-foreground:342 100% 82%;
  --highlight:42 98% 52%;
  --border:220 18% 21%;--input:220 18% 24%;--ring:342 90% 58%;
  --success:145 45% 48%;--warning:42 95% 56%;--danger:4 78% 60%;
  --mesh:radial-gradient(60% 60% at 15% 10%,hsl(342 70% 28% / .3) 0%,transparent 60%),radial-gradient(50% 50% at 90% 5%,hsl(42 80% 30% / .18) 0%,transparent 55%),radial-gradient(45% 45% at 80% 95%,hsl(220 40% 24% / .35) 0%,transparent 55%);
  color-scheme:dark;
}}

*{box-sizing:border-box;border-color:hsl(var(--border))}
::selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
body{margin:0;min-height:100vh;background:hsl(var(--background)) var(--mesh) no-repeat;background-attachment:fixed;color:hsl(var(--foreground));font:14px/1.5 "Red Hat Display",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Header + logo (EventOS <Logo />) */
header{position:sticky;top:0;z-index:10;height:72px;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;align-items:center;padding:0 6%;background:hsl(var(--background) / .7);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5)}
.brand{display:flex;align-items:center;gap:10px;color:hsl(var(--foreground));text-decoration:none}
.mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#fff;box-shadow:var(--shadow-soft);background-image:radial-gradient(120% 120% at 0% 0%,hsl(42 98% 50%) 0%,hsl(350 100% 46%) 45%,hsl(342 100% 32%) 100%)}
.mark svg{width:20px;height:20px}
.wordmark{line-height:1}
.wordmark .name{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
.wordmark .name span{color:hsl(var(--muted-foreground))}
.byline{display:block;margin-top:4px;font-size:10px;font-weight:500;letter-spacing:.025em;color:hsl(var(--muted-foreground))}
.byline b{font-weight:600;color:hsl(var(--primary))}
.privacy{font-size:12px;color:hsl(var(--muted-foreground));display:flex;gap:8px;align-items:center;border:1px solid hsl(var(--border));border-radius:999px;padding:5px 12px;background:hsl(var(--card) / .6)}
.privacy span{background:hsl(var(--success));width:6px;height:6px;border-radius:50%}

/* Hero */
main{max-width:1240px;margin:auto;padding:58px 32px 0}
.eyebrow{display:inline-block;font-size:11px;letter-spacing:.14em;font-weight:600;color:hsl(var(--accent-foreground));background:hsl(var(--accent));border-radius:999px;padding:5px 12px}
h1{font-size:60px;line-height:1.05;letter-spacing:-.035em;font-weight:700;margin:20px 0}
h1 span{background-image:radial-gradient(120% 120% at 0% 0%,hsl(42 98% 50%) 0%,hsl(350 100% 46%) 45%,hsl(342 100% 32%) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro{font-size:17px;line-height:1.7;color:hsl(var(--muted-foreground));margin-bottom:36px}

/* Card */
.workspace{display:grid;grid-template-columns:1fr 1.12fr;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:calc(var(--radius) + 8px);overflow:hidden;box-shadow:var(--shadow-card)}
section{padding:27px}
.input-panel{border-right:1px solid hsl(var(--border))}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:27px}
h2{font-size:12px;font-weight:600;color:hsl(var(--primary));margin:0;white-space:nowrap}
h2 span{font-size:15px;font-weight:600;letter-spacing:-.01em;margin-left:10px;color:hsl(var(--foreground))}

/* Buttons (EventOS <Button />) */
button{cursor:pointer;font:inherit;font-weight:500;border:0;border-radius:var(--radius);padding:10px 16px;background:hsl(var(--secondary));color:hsl(var(--foreground));transition:background-color .15s,color .15s,opacity .15s}
button:hover:not(:disabled){background:hsl(var(--muted))}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.text-button{background:none;font-size:13px;padding:6px 10px;border-radius:calc(var(--radius) - 4px);color:hsl(var(--muted-foreground))}
.text-button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}
.primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));height:48px;padding:0 24px;font-size:15px;flex:1;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-soft)}
.primary:hover:not(:disabled){background:hsl(var(--highlight));color:hsl(var(--highlight-foreground))}
.primary:active{opacity:.9}
button:disabled{opacity:.5;cursor:default}

/* Input */
.panel-title #total{font-size:12px;color:hsl(var(--muted-foreground))}
label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:hsl(var(--foreground))}
textarea{width:100%;height:235px;resize:vertical;border:1px solid hsl(var(--input));border-radius:var(--radius);padding:16px;background:hsl(var(--background));font:13px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));outline:none;transition:border-color .15s,box-shadow .15s}
textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .15)}
textarea::placeholder{color:hsl(var(--muted-foreground) / .7)}
.hint{font-size:12px;line-height:1.7;color:hsl(var(--muted-foreground));margin-top:10px}
.toggle{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));cursor:pointer;font-weight:400;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}
.toggle input{accent-color:hsl(var(--primary));width:16px;height:16px;margin:1px 0 0;flex-shrink:0}
.toggle strong{display:block;font-size:13px;font-weight:600;color:hsl(var(--foreground))}
.input-actions{display:flex;align-items:center;gap:16px;margin-top:23px}
.local-note{font-size:11px;color:hsl(var(--muted-foreground));margin-top:24px}

/* Results */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:25px}
.stats>div{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));padding:16px 14px}
.stats strong{font-size:28px;font-weight:600;letter-spacing:-.02em;display:block;margin-bottom:6px}
.stats span{font-size:11px;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:6px}
i{width:6px;height:6px;border-radius:50%;display:inline-block}
.green{background:hsl(var(--success))}
.red{background:hsl(var(--danger))}
.amber{background:hsl(var(--highlight))}
.pink{background:hsl(var(--primary))}
.filters{display:flex;gap:4px;padding:4px;border-radius:var(--radius);background:hsl(var(--secondary));width:max-content;max-width:100%}
.filters button{border-radius:calc(var(--radius) - 4px);background:none;padding:6px 12px;font-size:13px;color:hsl(var(--muted-foreground))}
.filters button:hover:not(:disabled){background:none;color:hsl(var(--foreground))}
.filters button.active{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:var(--shadow-soft)}
.results{height:213px;overflow:auto;margin-top:8px}
.empty{text-align:center;padding:22px;color:hsl(var(--muted-foreground))}
.empty-icon{margin:auto;background:hsl(var(--accent));border-radius:12px;width:40px;height:40px;display:grid;place-items:center;color:hsl(var(--accent-foreground));font-size:18px}
.empty h3{font-size:14px;font-weight:600;color:hsl(var(--foreground));margin:14px 0 6px}
.empty p{font-size:12px;line-height:1.6;margin:0}
.row{display:flex;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px solid hsl(var(--border))}
.address{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.reason{font-size:11px;color:hsl(var(--muted-foreground));margin-top:4px}
.badge{white-space:nowrap;align-self:start;font-size:11px;font-weight:500;border-radius:999px;padding:2px 10px;background:hsl(var(--success) / .12);color:hsl(var(--success))}
.badge.invalid{background:hsl(var(--danger) / .12);color:hsl(var(--danger))}
.badge.fixed{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}
.badge.duplicate{background:hsl(var(--warning) / .15);color:hsl(var(--warning))}
.export{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:6px}
#copy{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-soft);font-size:13px}
#copy:hover:not(:disabled){background:hsl(var(--highlight));color:hsl(var(--highlight-foreground))}
#message{font-size:12px;min-height:16px;margin-top:9px;color:hsl(var(--success))}

/* Notice + footer */
aside{display:flex;gap:12px;margin-top:22px;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card) / .6);color:hsl(var(--muted-foreground));line-height:1.7;font-size:12px}
aside p{margin:0}
aside strong{color:hsl(var(--foreground));font-weight:600}
aside .info{background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-weight:600;border-radius:50%;width:18px;height:18px;flex-shrink:0;text-align:center;line-height:18px;font-size:11px}
footer{display:flex;justify-content:space-between;margin-top:42px;padding:22px 0;border-top:1px solid hsl(var(--border));font-size:11px;color:hsl(var(--muted-foreground))}
footer span:last-child{letter-spacing:.14em}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:999px;border:3px solid hsl(var(--card))}
::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}

@media(max-width:760px){header{height:64px;padding:0 16px}.privacy{font-size:0;padding:8px;gap:0}.privacy span{width:8px;height:8px}main{padding:35px 16px 0}h1{font-size:44px}.workspace{grid-template-columns:1fr}.input-panel{border-right:0;border-bottom:1px solid hsl(var(--border))}section{padding:20px}.intro br{display:none}.panel-title{margin-bottom:22px}.stats{gap:6px;grid-template-columns:repeat(2,1fr)}.stats>div{padding:14px 10px}.stats span{font-size:10px}footer{flex-direction:column;gap:6px}}
