:root{--bg-main: #ffffff;--bg-card: #ffffff;--bg-card-strong: #f4f6fb;--stroke: rgba(0, 0, 0, .08);--stroke-strong: rgba(0, 0, 0, .14);--text-primary: #0c1222;--text-muted: #525a6a;--accent-1: #34c759;--accent-2: #4f8bff;--accent-3: #f28ab2;--shadow-strong: 0 18px 50px rgba(12, 18, 34, .12);--radius-lg: 22px;--radius-sm: 12px;--font-main: "Space Grotesk", "Manrope", "Sora", "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}html,body{margin:0;min-height:100vh;background:var(--bg-main)!important;color:var(--text-primary)!important;font-family:var(--font-main)}a,html{background:var(--bg-main)}a{color:inherit}.bg{background:var(--bg-main);color:var(--text-primary)}.theme-page{min-height:100vh;background:var(--bg-main)!important;color:var(--text-primary)!important;font-family:var(--font-main)}.theme-card{border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:0 10px 26px #0c122214}.theme-btn{border:none;padding:10px 14px;border-radius:14px;background:#00000008;color:var(--text-primary);font-weight:700;cursor:pointer;transition:transform .08s ease,background .2s ease;border:1px solid var(--stroke)}.theme-btn:hover{background:#0000000f}.theme-btn:active{transform:translateY(1px)}.theme-btn.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 85%,#ffffff 6%),color-mix(in srgb,var(--accent-1) 90%,#ffffff 6%));color:#0b1020;border:none}.theme-btn.ghost{background:transparent;border:1px solid var(--stroke-strong)}.theme-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent-1) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent-1) 24%,transparent);color:color-mix(in srgb,var(--accent-1) 85%,#ffffff 10%);font-size:12px;font-weight:700;white-space:nowrap}.theme-pill.tiny{padding:2px 8px;font-size:10px;margin-right:6px;vertical-align:middle}.theme-muted{color:var(--text-muted)}.theme-mono{font-family:var(--mono)}.page-welcome .topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;background:color-mix(in srgb,var(--bg-card) 80%,transparent)}.page-welcome .brand{display:flex;gap:12px;align-items:center}.page-welcome .logo-img,.dashboard-page .logo-img,.public-page .logo-img{width:44px;height:44px;border-radius:14px;overflow:hidden;display:grid;place-items:center}.page-welcome .title{font-weight:800;line-height:1.1}.page-welcome .subtitle{color:var(--text-muted);font-size:12px;margin-top:2px}.page-welcome .user{display:flex;align-items:center;gap:12px}.page-welcome .avatar{width:40px;height:40px;border-radius:14px;background:var(--bg-card);display:grid;place-items:center;font-weight:800;border:1px solid var(--stroke)}.page-welcome .meta .name{font-weight:700}.page-welcome .meta .role{color:var(--text-muted);font-size:12px}.page-welcome .container{max-width:1100px;margin:0 auto;padding:28px 18px 40px}.page-welcome .hero{display:grid;grid-template-columns:1.2fr .9fr;gap:22px;align-items:stretch}@media(max-width:900px){.page-welcome .hero{grid-template-columns:1fr}.page-welcome .user .meta{display:none}}.page-welcome .hero-left{padding:26px}.page-welcome h1{margin:14px 0 8px;font-size:42px;letter-spacing:-.8px}.page-welcome p{margin:0;color:var(--text-muted);line-height:1.5;max-width:560px}.page-welcome .actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.page-welcome .hint{margin-top:16px;color:var(--text-muted);font-size:13px}.page-welcome .preview{overflow:hidden}.page-welcome .card-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--stroke);background:color-mix(in srgb,var(--bg-card) 70%,transparent)}.page-welcome .dot{width:10px;height:10px;border-radius:999px;background:#ffffff2e}.page-welcome .spacer{flex:1}.page-welcome .badge{font-size:12px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent-2) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 25%,transparent);color:color-mix(in srgb,var(--accent-2) 80%,#ffffff 10%);font-weight:700}.page-welcome .card-body{padding:18px}.page-welcome .big{font-size:20px;font-weight:900}.page-welcome .small{color:var(--text-muted);margin-top:4px}.page-welcome .mini-list{margin-top:16px;display:grid;gap:10px}.page-welcome .mini-item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;background:#f6f7fb;border:1px solid var(--stroke)}.page-welcome .mini-icon{width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--accent-2) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 25%,transparent)}.page-welcome .mini-title{font-weight:800}.page-welcome .mini-sub{color:var(--text-muted);font-size:12px}.page-welcome .qr{margin-top:14px;display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--accent-1) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-1) 18%,transparent)}.page-welcome .qr-box{width:52px;height:52px;border-radius:14px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 6px,transparent 6px 10px),repeating-linear-gradient(0deg,rgba(0,0,0,.08) 0 6px,transparent 6px 10px);opacity:.55}.page-welcome .grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.page-welcome .grid{grid-template-columns:1fr}}.page-welcome .grid .card{padding:18px}.page-welcome .kpi{font-size:22px;font-weight:900}.page-welcome .label{color:var(--text-muted);margin-top:4px}.public-page{min-height:100vh;padding:26px 14px;display:flex;align-items:center;justify-content:center}.public-page .wrap{width:min(760px,100%)}.public-page .card{overflow:hidden}.public-page .header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 14px;border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg-card) 70%,transparent);gap:12px}.public-page .brand{display:flex;align-items:center;gap:12px}.public-page .logo-img{width:46px;height:46px;border-radius:16px;object-fit:cover;border:1px solid var(--stroke);background:var(--bg-card-strong)}.public-page .logo-fallback{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:#0b1020;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 85%,#ffffff 5%),color-mix(in srgb,var(--accent-1) 90%,#ffffff 5%));box-shadow:0 12px 35px #00000059}.public-page .name{font-weight:900;font-size:16px}.public-page .sub{color:var(--text-muted);font-size:12px;margin-top:2px}.public-page .content{padding:16px 18px 18px}.public-page .targets{display:grid;gap:10px}.public-page .target{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-radius:18px;background:#f7f9ff;border:1px solid var(--stroke);text-decoration:none;color:var(--text-primary);transition:transform .08s ease,background .2s ease}.public-page .target:hover{background:#ecf2ff}.public-page .target:active{transform:translateY(1px)}.public-page .target-left{display:flex;align-items:center;gap:10px;min-width:0}.public-page .dot{width:10px;height:10px;border-radius:999px;background:color-mix(in srgb,var(--accent-2) 80%,#ffffff 5%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-2) 25%,transparent);flex:0 0 auto}.public-page .t-meta{min-width:0}.public-page .t-label{font-weight:900;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.public-page .t-url{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}.public-page .open{color:var(--text-muted);font-weight:900}.public-page .debug{margin-top:12px;font-size:11px;opacity:.75;word-break:break-all}.public-page .footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--stroke)}.public-page .error .err-title{font-weight:900;font-size:16px;color:#fecaca}.public-page .error .err-sub{color:var(--text-muted);margin-top:6px}.public-page .empty{padding:10px 2px}.public-page .empty-title{font-weight:900}.public-page .empty-sub{color:var(--text-muted);margin-top:4px}.public-page .skeleton{border-radius:12px;background:#ffffff0f;border:1px solid var(--stroke);animation:pulse 1.2s ease-in-out infinite}.public-page .skeleton.title{height:20px;width:55%;margin:4px 0 12px}.public-page .skeleton.line{height:52px;width:100%;margin-top:10px}@keyframes pulse{0%{opacity:.55}50%{opacity:.95}to{opacity:.55}}.dashboard-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 24px;background:var(--bg-main)!important;color:var(--text-primary)!important;font-family:var(--font-main)}.dashboard-page .card{width:100%;border:1px solid var(--stroke);border-radius:18px;background:#fff;box-shadow:0 12px 30px #0c122214;padding:18px}.dashboard-page .dashboard-layout{width:100%;margin:0;display:grid;gap:16px}.dashboard-page .dash-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.dashboard-page .dash-header .logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 85%,#ffffff 5%),color-mix(in srgb,var(--accent-1) 90%,#ffffff 5%));color:#0b1020;font-weight:900}.dashboard-page .dash-header .title{font-weight:800;font-size:18px}.dashboard-page .dash-header .sub{color:var(--text-muted);font-size:13px;margin-top:2px}.dashboard-page .dash-header .right{display:flex;gap:10px;align-items:center}.dashboard-page .dash-header .role{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:var(--bg-card-strong);border:1px solid var(--stroke)}.dashboard-page .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.dashboard-page .stat{padding:16px}.dashboard-page .stat-label{font-size:12px;margin-bottom:6px}.dashboard-page .stat-value{font-weight:800;font-size:16px;word-break:break-all}.dashboard-page .stat-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.dashboard-page .stat-actions.inline{align-items:center}.dashboard-page .stat-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.dashboard-page .one-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-page .stat-hint{margin-top:6px;font-size:12px}.dashboard-page .targets-card,.dashboard-page .add-card{padding:16px}.dashboard-page .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-page .section-title{font-weight:800}.dashboard-page .section-sub{font-size:13px}.dashboard-page .alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.dashboard-page .alert{padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);font-size:13px}.dashboard-page .alert.success{background:#e8f7ee;border-color:#b7e3c8;color:#0f5132}.dashboard-page .alert.error{background:#fdecec;border-color:#f5c2c7;color:#842029}.dashboard-page .target-list{display:grid;gap:10px}.dashboard-page .target-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--stroke);border-radius:14px;background:#f7f9ff}.dashboard-page .target-meta{min-width:0}.dashboard-page .target-label{display:flex;align-items:center;gap:8px;font-weight:800}.dashboard-page .target-url{font-size:12px;word-break:break-all}.dashboard-page .target-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-page .target-actions .clicks{font-size:12px}.dashboard-page .add-form{display:grid;gap:10px}.dashboard-page .add-form label{display:grid;gap:6px;font-size:13px;color:var(--text-muted)}.dashboard-page .add-form input{padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);font-size:14px}.dashboard-page .add-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.dashboard-page .modal-backdrop{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;z-index:999}.dashboard-page .modal{width:min(420px,92%);padding:16px}.dashboard-page .modal-title{font-weight:800;font-size:16px;margin-bottom:10px}.dashboard-page .modal-body{display:grid;gap:10px;margin-bottom:14px}.dashboard-page .modal-field{display:grid;gap:6px;font-size:13px;color:var(--text-muted)}.dashboard-page .modal-field input{padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);font-size:14px}.dashboard-page .modal-actions{display:flex;justify-content:flex-end;gap:8px}.dashboard-page .top{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--stroke)}.dashboard-page .left{display:flex;gap:12px;align-items:center}.dashboard-page .logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 85%,#ffffff 5%),color-mix(in srgb,var(--accent-1) 90%,#ffffff 5%));color:#0b1020;font-weight:900}.dashboard-page .title{font-weight:900;font-size:18px}.dashboard-page .sub{color:var(--text-muted);font-size:13px;margin-top:2px}.dashboard-page .right{display:flex;gap:10px;align-items:center}.dashboard-page .role{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:var(--bg-card-strong);border:1px solid var(--stroke)}.dashboard-page .content{padding-top:14px}.dashboard-page .error{color:#d92b2b}.dashboard-page .line{display:grid;gap:6px}.dashboard-page .label{color:var(--text-muted);font-size:13px}.dashboard-page .value{font-weight:800}.dashboard-page .mono{font-family:var(--mono)}.dashboard-page .actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.qr-box{margin-top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.qr-img{width:160px;height:160px;background:#fff;padding:10px;border-radius:14px}.qr-actions{display:flex;gap:8px;align-items:center}.small{font-size:12px}a.disabled{pointer-events:none;opacity:.6}.page-welcome .logo-img img,.dashboard-page .logo-img img,.public-page .logo-img img{width:100%;height:100%;object-fit:cover;display:block}
