.admin-root{--admin-radius:var(--radius);--admin-shadow:var(--shadow-plank);background:radial-gradient(circle at 100% 0%, color-mix(in oklab, var(--primary) 5%, transparent), transparent 34rem), var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.admin-root *,.admin-root :before,.admin-root :after{box-sizing:border-box}.admin-root button,.admin-root input,.admin-root textarea,.admin-root select{font:inherit}.admin-auth-screen{background:radial-gradient(circle at 20% 10%, color-mix(in oklab, var(--secondary) 8%, transparent), transparent 28rem), radial-gradient(circle at 85% 90%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 26rem), var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-auth-card{background:var(--card);width:100%;max-width:420px;color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-plank);flex-direction:column;gap:18px;padding:34px;display:flex}.admin-auth-mark{background:var(--accent);color:#fff;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;width:fit-content;margin:0;padding:7px 11px;font-size:10px;font-weight:800;line-height:1}.admin-auth-card h1{font-family:var(--font-display);margin:2px 0 0;font-size:26px;font-weight:700;line-height:1.2}.admin-auth-sub{color:var(--muted-foreground);margin:-8px 0 4px;font-size:14px;line-height:1.55}.admin-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{background:linear-gradient(180deg, color-mix(in oklab, var(--card) 96%, var(--primary)), var(--card));border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.admin-brand{flex-direction:column;gap:4px;padding:4px 10px 26px;display:flex}.admin-brand-mark{font-family:var(--font-display);letter-spacing:-.02em;color:var(--foreground);font-size:17px;font-weight:800}.admin-brand-mark:after{content:".";color:var(--accent)}.admin-brand-sub{color:var(--muted-foreground);font-size:12px;font-weight:500}.admin-nav{flex-direction:column;gap:4px;display:flex}.admin-nav-item{border-radius:var(--radius);min-height:42px;color:var(--muted-foreground);border:1px solid #0000;align-items:center;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s,transform .18s;display:flex;position:relative}.admin-nav-item:hover{color:var(--foreground);background:var(--muted);border-color:var(--border);transform:translate(2px)}.admin-nav-item.admin-active{color:var(--primary);background:linear-gradient(90deg, color-mix(in oklab, var(--primary) 10%, var(--card)), var(--card));border-color:color-mix(in oklab, var(--primary) 20%, var(--border))}.admin-nav-item.admin-active:before{content:"";background:var(--primary);border-radius:0 999px 999px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-1px}.admin-sign-out{margin-top:auto}.admin-content{width:100%;max-width:1120px;padding:44px 48px 64px}.admin-screen-center{min-height:100vh;color:var(--muted-foreground);place-items:center;font-size:14px;display:grid}.admin-page-header{border-bottom:1px solid var(--border);margin-bottom:30px;padding-bottom:20px}.admin-eyebrow{color:var(--primary);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800;line-height:1.2}.admin-page-header h1{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 7px;font-size:clamp(24px,4vw,32px);font-weight:700;line-height:1.2}.admin-page-sub{max-width:62ch;color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.6}.admin-muted{color:var(--muted-foreground);font-size:14px}.admin-alert{background:color-mix(in oklab, var(--accent) 9%, var(--card));border:1px solid color-mix(in oklab, var(--accent) 32%, var(--border));border-radius:var(--radius);color:var(--accent);margin:0 0 20px;padding:12px 15px;font-size:14px;line-height:1.5}.admin-field{color:var(--muted-foreground);flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.admin-field input{background:var(--background);width:100%;color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius);padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s,background-color .15s}.admin-field input::placeholder{color:var(--muted-foreground);opacity:.7}.admin-field input:hover{border-color:color-mix(in oklab, var(--primary) 30%, var(--input))}.admin-field input:focus,.admin-field input:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 15%, transparent);outline:none}.admin-btn{border-radius:var(--radius);background:var(--card);min-height:40px;color:var(--foreground);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 17px;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn:not(:disabled):active{transform:translateY(1px)}.admin-btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:0 6px 16px -10px color-mix(in oklab, var(--primary) 70%, transparent)}.admin-btn-primary:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 86%, black);box-shadow:0 10px 22px -12px color-mix(in oklab, var(--primary) 75%, transparent);transform:translateY(-1px)}.admin-btn-outline{border-color:var(--border);color:var(--foreground);background:0 0}.admin-btn-outline:hover:not(:disabled){border-color:color-mix(in oklab, var(--primary) 45%, var(--border));color:var(--primary);background:color-mix(in oklab, var(--primary) 5%, transparent)}.admin-btn-ghost{color:var(--muted-foreground);background:0 0;border-color:#0000}.admin-btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.admin-btn-small{min-height:34px;padding:7px 12px;font-size:13px}.admin-file-btn{position:relative;overflow:hidden}.admin-stat-row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-plank);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px;display:grid;overflow:hidden}.admin-stat{border-right:1px solid var(--border);min-width:0;padding:22px;transition:background-color .2s}.admin-stat:last-child{border-right:none}.admin-stat:hover{background:color-mix(in oklab, var(--primary) 3%, var(--card))}.admin-stat-number{color:var(--primary);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;margin:0 0 5px;font-size:clamp(28px,5vw,38px);font-weight:700;line-height:1}.admin-stat-label{color:var(--muted-foreground);margin:0;font-size:13px;font-weight:600}.admin-dashboard-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-plank);margin-bottom:20px;padding:22px}.admin-dashboard-section h2{font-family:var(--font-display);margin:0 0 14px;font-size:17px;font-weight:700}.admin-quick-links{flex-wrap:wrap;gap:10px;margin-bottom:30px;display:flex}.admin-checklist{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.admin-checklist li{color:var(--muted-foreground);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.admin-checklist-dot{background:var(--border);border-radius:999px;flex:none;width:8px;height:8px;margin-top:6px}.admin-checklist-dot.is-ok{background:var(--primary)}.admin-checklist-dot.is-warn{background:var(--accent)}.admin-tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;-webkit-overflow-scrolling:touch;align-items:center;gap:6px;margin-bottom:22px;padding:0 0 8px;display:flex;overflow-x:auto}.admin-tab{color:var(--muted-foreground);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none;align-items:center;gap:8px;padding:8px 5px 11px;font-size:14px;font-weight:700;transition:color .15s;display:inline-flex;position:relative}.admin-tab:after{content:"";background:0 0;border-radius:999px;height:2px;transition:background-color .15s;position:absolute;bottom:-9px;left:0;right:0}.admin-tab:hover{color:var(--foreground)}.admin-tab-active{color:var(--primary)}.admin-tab-active:after{background:var(--primary)}.admin-tab-count{background:var(--muted);color:var(--muted-foreground);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.admin-tab-active .admin-tab-count{background:var(--primary);color:var(--primary-foreground)}.admin-upload-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-plank);flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:20px;display:flex}.admin-upload-form .admin-field{flex:220px}.admin-file-hint{color:var(--muted-foreground);margin:1px 0 0;font-size:12px;font-weight:500}.admin-preview-strip{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.admin-preview-thumb{object-fit:cover;border:1px solid var(--border);background:var(--muted);border-radius:6px;width:58px;height:58px}.admin-image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.admin-image-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-plank);margin:0;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .2s;position:relative;overflow:hidden}.admin-image-tile:hover{border-color:color-mix(in oklab, var(--primary) 28%, var(--border));box-shadow:0 18px 38px -20px color-mix(in oklab, var(--primary) 35%, transparent);transform:translateY(-4px)}.admin-image-tile img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);display:block}.admin-image-tile:hover img{transform:scale(1.04)}.admin-image-tile .admin-btn-delete{opacity:0;background:color-mix(in oklab, var(--card) 94%, transparent);border:1px solid var(--border);color:var(--accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .18s,background-color .18s;position:absolute;top:9px;right:9px}.admin-image-tile:hover .admin-btn-delete,.admin-image-tile:focus-within .admin-btn-delete{opacity:1}.admin-image-tile .admin-btn-delete:hover{background:color-mix(in oklab, var(--accent) 10%, var(--card));border-color:color-mix(in oklab, var(--accent) 35%, var(--border))}.admin-service-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.admin-service-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-plank);flex-direction:column;gap:11px;padding:14px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .2s;display:flex}.admin-service-card:hover{border-color:color-mix(in oklab, var(--primary) 28%, var(--border));box-shadow:0 18px 38px -20px color-mix(in oklab, var(--primary) 35%, transparent);transform:translateY(-4px)}.admin-service-card img{aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius) - 2px);width:100%;display:block}.admin-service-placeholder{aspect-ratio:4/3;background:var(--muted);border:1px dashed var(--border);border-radius:calc(var(--radius) - 2px);width:100%;color:var(--muted-foreground);justify-content:center;align-items:center;font-size:13px;display:flex}.admin-service-title{color:var(--card-foreground);font-family:var(--font-display);margin:0;font-size:15px;font-weight:700;line-height:1.35}.admin-service-meta{color:var(--muted-foreground);margin:-5px 0 0;font-size:12px;line-height:1.4}.admin-empty-state{text-align:center;background:color-mix(in oklab, var(--muted) 45%, var(--card));border:1px dashed var(--border);border-radius:var(--radius-xl);color:var(--muted-foreground);grid-column:1/-1;padding:52px 20px;font-size:14px}@media (width<=900px){.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-content{padding:34px 30px 50px}}@media (width<=720px){.admin-shell{display:block}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;padding:16px;position:relative}.admin-brand{padding:4px 6px 16px}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.admin-nav-item{min-height:40px}.admin-sign-out{margin-top:12px}.admin-content{max-width:none;padding:28px 20px 44px}.admin-stat-row{grid-template-columns:1fr 1fr}.admin-stat:nth-child(2){border-right:none}.admin-stat:nth-child(3){border-top:1px solid var(--border);border-right:none;grid-column:1/-1}.admin-upload-form{flex-direction:column;align-items:stretch}.admin-upload-form .admin-btn{width:100%}.admin-quick-links{flex-direction:column}.admin-quick-links .admin-btn{width:100%}}@media (width<=480px){.admin-auth-card{padding:26px 20px}.admin-content{padding:24px 16px 40px}.admin-page-header{margin-bottom:24px}.admin-page-header h1{font-size:24px}.admin-stat-row{grid-template-columns:1fr}.admin-stat{border-right:none;border-top:1px solid var(--border)}.admin-stat:first-child{border-top:none}.admin-image-grid,.admin-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-service-card{padding:10px}.admin-tabs{margin-left:-2px;margin-right:-2px}}.admin-bottom-nav{display:none}@media (width<=720px){.admin-shell{min-height:100dvh;display:block}.admin-sidebar{z-index:40;border-right:none;border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(16px);flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:auto;padding:14px 18px;display:flex;position:sticky;top:0}.admin-sidebar .admin-nav,.admin-sidebar .admin-sign-out{display:none}.admin-brand{padding:0}.admin-content{width:100%;max-width:none;padding:24px 20px calc(100px + env(safe-area-inset-bottom))}.admin-bottom-nav{z-index:100;height:calc(72px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:color-mix(in oklab, var(--card) 94%, transparent);border-top:1px solid var(--border);box-shadow:0 -12px 35px -25px color-mix(in oklab, var(--foreground) 30%, transparent);-webkit-backdrop-filter:blur(18px);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.admin-bottom-tab{border-radius:var(--radius-lg);min-width:0;color:var(--muted-foreground);font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 4px;font-size:11px;font-weight:700;text-decoration:none;transition:color .18s,background-color .18s,transform .18s;display:flex;position:relative}.admin-bottom-tab svg{flex:none;width:22px;height:22px;display:block}.admin-bottom-tab.is-active{color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, transparent)}.admin-bottom-tab.is-active:before{content:"";background:var(--primary);border-radius:0 0 999px 999px;width:24px;height:3px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.admin-bottom-tab:active{transform:scale(.95)}}@media (width<=380px){.admin-content{padding-left:14px;padding-right:14px}.admin-bottom-nav{padding-left:4px;padding-right:4px}.admin-bottom-tab{font-size:10px}.admin-bottom-tab svg{width:20px;height:20px}}@media (width>=721px){.admin-bottom-nav{display:none!important}}.admin-root :focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.admin-root *,.admin-root :before,.admin-root :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
