/* Arvio panel — Cineprime shadcn/ui design language, Dracula palette (dracula-9) */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&display=swap");
:root{--background:231 15% 18%;--foreground:60 30% 96%;--card:230 15% 24%;--primary:265 89% 78%;--primary-fg:231 15% 18%;--secondary:232 14% 31%;--muted-fg:225 30% 68%;--destructive:0 100% 67%;--border:232 14% 31%;--success:135 94% 65%;--warning:31 100% 71%;--info:191 97% 77%;--radius:.5rem;--gradient-primary:linear-gradient(135deg,#bd93f9,#ff79c6);--gradient-surface:linear-gradient(180deg,hsl(231 15% 18%),hsl(235 14% 15%));--shadow:0 1px 3px rgb(0 0 0/.4),0 1px 2px -1px rgb(0 0 0/.4);--shadow-md:0 4px 6px -1px rgb(0 0 0/.4),0 2px 4px -2px rgb(0 0 0/.4);--glow-primary:0 0 25px hsl(265 89% 78%/.2);--glow-accent:0 0 20px hsl(191 97% 77%/.15)}
*,*::before,*::after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;background:hsl(var(--background));color:hsl(var(--foreground));font:400 .875rem/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;min-height:100vh}a{color:hsl(var(--primary));text-decoration:none;transition:opacity .15s}a:hover{opacity:.85}
.shell{display:flex;min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:256px;background:var(--gradient-surface);border-right:1px solid hsl(var(--border)/.5);display:flex;flex-direction:column;z-index:50;overflow-y:auto;backdrop-filter:blur(12px)}.brand{display:flex;gap:.75rem;align-items:center;padding:1rem;border-bottom:1px solid hsl(var(--border));font-size:.9rem;font-weight:600;min-height:65px}.logo{display:block;width:34px;height:34px;flex:0 0 34px;border-radius:var(--radius);background:transparent url("logo.png?v=arvio-2") center/contain no-repeat;box-shadow:none;overflow:hidden;position:relative}.logo::after{content:none}
.nav{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.125rem}.nav a{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius);color:hsl(var(--foreground));font-size:.85rem;opacity:1}.nav a:hover{background:hsl(var(--secondary));opacity:1}.nav a.on{background:hsl(var(--secondary));color:hsl(var(--primary));font-weight:500;box-shadow:inset 3px 0 0 hsl(var(--primary));border-radius:0 var(--radius) var(--radius) 0}.nav a::before{font-family:"Material Symbols Outlined";font-size:20px;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;width:20px;overflow:hidden;flex:0 0 20px;color:hsl(var(--muted-fg));content:"circle";mask-image:var(--nav-icon);-webkit-mask-image:var(--nav-icon)}.nav a.on::before{color:hsl(var(--primary))}.nav a[href*="dashboard"]::before{content:"dashboard"}.nav a[href*="portals"]::before{content:"dns"}.nav a[href*="users"]::before{content:"group"}.nav a[href*="addons"]::before{content:"extension"}.nav a[href*="home_servers"]::before{content:"storage"}.nav a[href*="updates"]::before{content:"system_update"}.nav a[href*="sessions"]::before{content:"devices"}.nav a[href*="logs"]::before{content:"history"}.nav a[href*="settings"]::before{content:"settings"}.nav a[href*="logout"]{margin-top:auto;border-top:1px solid hsl(var(--border));border-radius:0;padding-top:1rem}.nav a[href*="logout"]::before{content:"logout"}
.content{flex:1;margin-left:256px;padding:1.5rem;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin:-1.5rem -1.5rem 1.5rem;padding:.85rem 1.5rem;position:sticky;top:0;z-index:40;background:hsl(var(--background)/.82);border-bottom:1px solid hsl(var(--border)/.5);backdrop-filter:blur(12px)}.top h1{margin:0;font-size:1.5rem;line-height:1.3;font-weight:600;letter-spacing:-.025em}.sub,.muted{color:hsl(var(--muted-fg))}.sub{font-size:.85rem;margin-top:.2rem}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.stat,.card{background:hsl(var(--card));border:1px solid hsl(var(--border)/.6);border-radius:calc(var(--radius)*1.5);box-shadow:var(--shadow);transition:box-shadow .25s,border-color .25s;overflow:hidden}.stat:hover,.card:hover{box-shadow:var(--shadow-md),var(--glow-accent);border-color:hsl(var(--border))}.stat{padding:1.25rem;position:relative}.stat::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#8be9fd,#bd93f9)}.stat b{display:block;font-size:1.875rem;line-height:1;margin-top:.5rem;font-weight:600}.card{padding:1.5rem;margin-top:1.5rem}.card h2{margin:-1.5rem -1.5rem 1.25rem;padding:1.1rem 1.5rem;border-bottom:1px solid hsl(var(--border)/.5);font-size:1.05rem;font-weight:600;position:relative}.card h2::after{content:"";position:absolute;left:1.5rem;right:1.5rem;bottom:0;height:1px;background:var(--gradient-primary);opacity:.3}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius);padding:.5rem 1rem;background:var(--gradient-primary);color:hsl(var(--primary-fg));font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.25;cursor:pointer;box-shadow:var(--shadow);transition:all .2s}.btn:hover{opacity:.9;box-shadow:var(--glow-primary),var(--shadow-md);transform:translateY(-1px)}.btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.btn.secondary{background:hsl(var(--secondary));color:hsl(var(--foreground));border-color:hsl(var(--secondary))}.btn.danger{background:linear-gradient(135deg,hsl(var(--destructive)),hsl(var(--destructive)/.8));color:hsl(var(--foreground))}.btn.small{padding:.25rem .75rem;font-size:.8rem}
.tablewrap{overflow:auto;margin:0 -1.5rem -1.5rem}table{width:100%;border-collapse:collapse;min-width:720px;font-size:.85rem}th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));vertical-align:middle}th{font-weight:500;color:hsl(var(--muted-fg));white-space:nowrap}tbody tr:hover{background:hsl(var(--secondary)/.5);box-shadow:inset 3px 0 0 hsl(var(--primary)/.5)}tr:last-child td{border-bottom:0}.pill{display:inline-flex;padding:.125rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500;background:hsl(var(--success)/.15);color:hsl(var(--success));border:1px solid hsl(var(--success)/.3)}.pill.off{background:hsl(var(--destructive)/.15);color:hsl(var(--destructive));border-color:hsl(var(--destructive)/.3)}.pill.warn{background:hsl(var(--warning)/.15);color:hsl(var(--warning));border-color:hsl(var(--warning)/.3)}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.full{grid-column:1/-1}label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.375rem}input,select,textarea{width:100%;font:inherit;padding:.5rem .75rem;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius)}input:focus,select:focus,textarea:focus{outline:0;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15),var(--glow-primary)}input::placeholder,textarea::placeholder{color:hsl(var(--muted-fg))}textarea{min-height:5rem;resize:vertical}select{color-scheme:dark}.notice{padding:.875rem 1rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.5);border-left:3px solid hsl(var(--success));background:hsl(var(--success)/.1);color:hsl(var(--success));margin-bottom:1rem}.notice.err{border-color:hsl(var(--destructive)/.5);border-left-color:hsl(var(--destructive));background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.actions{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.loginwrap{display:grid;place-items:center;min-height:100vh;padding:1rem}.loginbox{width:min(400px,100%);background:hsl(var(--card));border:1px solid hsl(var(--border)/.6);border-radius:calc(var(--radius)*1.5);padding:1.5rem;box-shadow:var(--shadow-md),var(--glow-accent)}.loginbox>.logo{width:64px;height:64px;margin:0 auto 1rem}.loginbox>.logo::after{font-size:1.75rem}.loginbox h1{text-align:center;margin:0;font-size:1.5rem;font-weight:600}.loginbox>p{text-align:center;margin:.25rem 0 1.5rem}.loginbox .btn{width:100%;margin-top:1rem}.loginbox label{margin-top:.75rem}.code{font-family:ui-monospace,monospace;font-size:.8rem;background:hsl(var(--background));border:1px solid hsl(var(--border));padding:.625rem;border-radius:var(--radius);color:hsl(var(--info));overflow:auto}.checkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.check{display:flex;gap:.5rem;align-items:center;padding:.5rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);margin:0}.check input{width:auto}.foot{color:hsl(var(--muted-fg));font-size:.75rem;margin-top:1.5rem;text-align:center}
.endpoint-row{display:flex;align-items:stretch;gap:.5rem}.endpoint-row .code{display:flex;align-items:center;flex:1;min-width:0;white-space:nowrap}.copy-btn{flex:0 0 auto;gap:.45rem}.copy-btn::before{content:"⧉";font-size:1rem;line-height:1}
@media(max-width:1023px){.side{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid hsl(var(--border));overflow:visible}.shell{display:block}.brand{padding:1rem}.nav{flex-direction:row;overflow-x:auto}.nav a{white-space:nowrap}.nav a.on{border-radius:var(--radius);box-shadow:inset 0 -3px 0 hsl(var(--primary))}.nav a[href*="logout"]{margin:0;border:0;padding-top:.5rem}.content{margin-left:0}.top{position:static}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.content{padding:1rem}.top{margin:-1rem -1rem 1rem;padding:1rem}.top h1{font-size:1.25rem}.grid,.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.checkgrid{grid-template-columns:1fr}.card{padding:1rem}.card h2{margin:-1rem -1rem 1rem;padding:1rem}.tablewrap{margin:0 -1rem -1rem}.copy-btn span{display:none}}

/* Self-contained navigation icons: do not depend on an external icon font. */
.nav a::before{content:""!important;display:block;width:20px;height:20px;flex:0 0 20px;background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:20px 20px;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:20px 20px;mask-image:var(--nav-icon);-webkit-mask-image:var(--nav-icon)}
.nav a[href*="dashboard"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E")}
.nav a[href*="users"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-.32 0-.63.05-.91.14A5 5 0 0111.9 11H16zm-8 0c2.21 0 4-1.79 4-4S10.21 3 8 3 4 4.79 4 7s1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm8.13.07c1.1.79 1.87 1.85 1.87 3.43V19h6v-2c0-2.3-3.98-3.61-7.87-3.93z'/%3E%3C/svg%3E")}
.nav a[href*="addons"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7s2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z'/%3E%3C/svg%3E")}
.nav a[href*="portals"]::before,.nav a[href*="home_servers"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 1h16c1.1 0 2 .9 2 2v6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2zm0 12h16c1.1 0 2 .9 2 2v6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2zm2-8v2h2V5H6zm0 12v2h2v-2H6z'/%3E%3C/svg%3E")}
.nav a[href*="updates"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 10h-6V4h-2v6H7l7 7 7-7zM5 20v-2h14v2H5z'/%3E%3C/svg%3E")}
.nav a[href*="sessions"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h18v12H4V6zm2 2v8h14V8H6zM1 9h2v9h12v2H3c-1.1 0-2-.9-2-2V9z'/%3E%3C/svg%3E")}
.nav a[href*="logs"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 3a9 9 0 00-9 9H1l4 4 4-4H6a7 7 0 117 7 6.9 6.9 0 01-4.9-2L6.7 18.4A9 9 0 1013 3zm-1 4v6l5 3 .8-1.3-4.3-2.6V7H12z'/%3E%3C/svg%3E")}
.nav a[href*="settings"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.4 13a7.8 7.8 0 000-2l2.1-1.6-2-3.4-2.5 1a8 8 0 00-1.7-1L15 3h-4l-.4 3a8 8 0 00-1.7 1L6.5 6l-2 3.4L6.6 11a7.8 7.8 0 000 2l-2.1 1.6 2 3.4 2.5-1a8 8 0 001.7 1l.4 3h4l.4-3a8 8 0 001.7-1l2.5 1 2-3.4L19.4 13zM13 15.5a3.5 3.5 0 110-7 3.5 3.5 0 010 7z'/%3E%3C/svg%3E")}
.nav a[href*="logout"]::before{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 17l5-5-5-5v3H1v4h9v3zm9-14H5c-1.1 0-2 .9-2 2v3h2V5h14v14H5v-3H3v3c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'/%3E%3C/svg%3E")}

/* Cineprime attribution treatment. */
.loginwrap{display:flex;flex-direction:column;align-items:center;justify-content:center}.sidebar-credit{padding:.7rem .75rem .85rem;border-top:1px solid hsl(var(--border)/.5);font-size:.7rem;color:hsl(var(--muted-fg));text-align:center}.sidebar-credit a,.login-credit a{color:hsl(var(--primary));font-weight:500}.sidebar-credit a:hover,.login-credit a:hover{color:hsl(var(--foreground));opacity:1}.credit-heart{color:hsl(var(--destructive))}.login-credit{margin-top:1rem;text-align:center;color:hsl(var(--muted-fg));font-size:.75rem}
@media(max-width:1023px){.sidebar-credit{display:none}}
