:root{--bg:#f4f5f6;--surface:#fff;--surface-raised:#fff;--text:#15181c;--muted:#6c737d;--line:#dfe2e6;--soft:#eceef0;--primary:#176b45;--primary-hover:#0f5737;--primary-text:#fff;--danger:#b33d49;--shadow:0 16px 40px #141c2314;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d1014;--surface:#14181d;--surface-raised:#191e24;--text:#f2f4f5;--muted:#929aa4;--line:#293039;--soft:#20262d;--primary:#69c995;--primary-hover:#80d9a7;--primary-text:#092217;--danger:#ef7984;--shadow:0 18px 50px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-height:100vh;color:var(--text);background:var(--bg);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 42%, transparent);outline-offset:2px}.site-shell{flex-direction:column;width:min(1160px,100% - 40px);min-height:100vh;margin:0 auto;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;display:flex}.brand{color:var(--text);align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{color:#092217;background:#79d3a3;border-radius:8px;place-items:center;width:36px;height:36px;font-size:19px;font-weight:850;display:grid}.brand strong{font-size:18px;font-weight:760}.top-actions{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;padding:0;text-decoration:none;transition:color .16s,border-color .16s,background .16s,transform .16s;display:inline-grid}.icon-button:hover{color:var(--text);border-color:color-mix(in srgb, var(--muted) 65%, var(--line));background:var(--soft);transform:translateY(-1px)}.icon-button svg{width:18px;height:18px}.admin-state{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--line));height:38px;color:var(--primary);background:color-mix(in srgb, var(--primary) 9%, var(--surface));border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.admin-state svg{width:15px;height:15px}.catalog-heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:68px 0 30px;display:flex}.catalog-heading p{color:var(--primary);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.catalog-heading h1{margin:0;font-size:clamp(32px,5vw,48px);font-weight:760;line-height:1}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:750;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.primary-button{color:var(--primary-text);background:var(--primary)}.primary-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.primary-button:disabled{opacity:.6;cursor:wait;transform:none}.secondary-button{color:var(--text);border-color:var(--line);background:var(--surface)}.secondary-button:hover{background:var(--soft)}.primary-button svg,.secondary-button svg{width:17px;height:17px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.service-card{--accent:#55b17f;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);border-radius:8px;flex-direction:column;min-height:238px;padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s,opacity .18s;animation:.32s both card-in;display:flex;position:relative;overflow:hidden}.service-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow);transform:translateY(-3px)}.service-card.is-hidden{opacity:.55;border-style:dashed}.accent-green{--accent:#55b17f}.accent-blue{--accent:#4c96d7}.accent-coral{--accent:#de776e}.accent-gold{--accent:#d1a84c}.accent-violet{--accent:#9a7bd4}.accent-slate{--accent:#7d8996}.service-icon{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, var(--surface));border-radius:8px;place-items:center;display:grid}.service-icon svg{width:22px;height:22px}.service-copy{flex:1;padding:22px 0 20px}.service-copy h2{margin:0 0 8px;font-size:19px;font-weight:740}.service-copy p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.service-card>footer{justify-content:space-between;align-items:center;gap:10px;min-height:35px;display:flex}.open-link{color:var(--text);align-items:center;gap:7px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.open-link:hover{color:var(--accent)}.open-link svg{width:15px;height:15px;transition:transform .16s}.open-link:hover svg{transform:translate(3px)}.hidden-label{color:var(--muted);background:var(--soft);text-transform:uppercase;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;font-weight:750;display:inline-flex;position:absolute;top:17px;right:17px}.hidden-label svg{width:12px;height:12px}.card-actions{gap:3px;display:flex}.card-actions button{width:29px;height:29px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.card-actions button:hover{color:var(--text);background:var(--soft)}.card-actions button:disabled{opacity:.22;cursor:default}.card-actions button.danger-action:hover{color:var(--danger)}.card-actions svg{width:15px;height:15px}.service-skeleton{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:238px;padding:22px;overflow:hidden}.service-skeleton i,.service-skeleton b,.service-skeleton span{background:var(--soft);border-radius:5px;animation:1.2s ease-in-out infinite pulse;display:block}.service-skeleton i{width:44px;height:44px;margin-bottom:24px}.service-skeleton b{width:42%;height:18px;margin-bottom:12px}.service-skeleton span{width:88%;height:11px;margin-top:8px}.service-skeleton span:last-child{width:62%}.empty-state{min-height:260px;color:var(--muted);text-align:center;grid-column:1/-1;align-content:center;place-items:center;gap:12px;display:grid}.empty-state>svg{width:34px;height:34px}.empty-state h2{color:var(--text);margin:0}.page-footer{min-height:110px;color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:40px;font-size:11px;display:flex}.page-footer span{font-weight:750}.modal-backdrop{z-index:20;background:#030609ad;place-items:center;padding:24px;animation:.16s both fade-in;display:grid;position:fixed;inset:0}.editor-dialog{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;width:min(560px,100%);max-height:min(780px,100vh - 48px);animation:.2s both dialog-in;overflow:auto;box-shadow:0 30px 90px #00000059}.editor-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.editor-dialog header small{color:var(--primary);text-transform:uppercase;font-size:10px;font-weight:800}.editor-dialog h2{margin:4px 0 0;font-size:20px}.editor-dialog form{gap:17px;padding:22px;display:grid}.editor-dialog form>label:not(.switch-row){gap:7px;display:grid}.editor-dialog label>span:first-child,.editor-dialog legend{color:var(--muted);font-size:11px;font-weight:700}.editor-dialog input[type=text],.editor-dialog input:not([type]),.editor-dialog textarea{border:1px solid var(--line);width:100%;color:var(--text);background:var(--bg);border-radius:7px}.editor-dialog input:not([type]),.editor-dialog input[type=text]{height:42px;padding:0 12px}.editor-dialog textarea{resize:vertical;padding:11px 12px;line-height:1.45}.editor-dialog input:focus,.editor-dialog textarea:focus{border-color:var(--primary);outline:0}.editor-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.editor-dialog legend{margin-bottom:8px}.icon-options,.color-options{flex-wrap:wrap;gap:7px;display:flex}.icon-options label input,.color-options label input{opacity:0;pointer-events:none;position:absolute}.icon-options label>span{border:1px solid var(--line);width:39px;height:39px;color:var(--muted);cursor:pointer;border-radius:7px;place-items:center;display:grid}.icon-options label>span:hover{color:var(--text);background:var(--soft)}.icon-options input:checked+span{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface))}.icon-options svg{width:18px;height:18px}.color-options label>span{border:4px solid var(--surface-raised);background:var(--accent);width:28px;height:28px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%;display:block}.color-options input:checked+span{box-shadow:0 0 0 2px var(--text)}.switch-row{cursor:pointer;align-items:center;gap:9px;display:flex}.switch-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:var(--soft);width:36px;height:21px;box-shadow:inset 0 0 0 1px var(--line);border-radius:11px;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:15px;height:15px;transition:transform .16s,background .16s;position:absolute;top:3px;left:3px}.switch-row input:checked+.switch{background:color-mix(in srgb, var(--primary) 25%, var(--surface))}.switch-row input:checked+.switch:after{background:var(--primary);transform:translate(15px)}.switch-row>span:last-child{color:var(--text);font-size:12px;font-weight:650}.form-error{color:var(--danger);margin:0;font-size:12px}.editor-dialog form>footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.toast{border:1px solid var(--line);z-index:30;max-width:min(360px,100% - 32px);min-height:42px;color:var(--text);background:var(--surface-raised);box-shadow:var(--shadow);cursor:pointer;border-radius:7px;padding:0 16px;font-size:12px;font-weight:700;animation:.18s both dialog-in;position:fixed;bottom:22px;right:22px}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--surface);width:min(390px,100%);box-shadow:var(--shadow);border-radius:8px;padding:30px;animation:.22s both dialog-in}.login-icon{width:46px;height:46px;color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-radius:8px;place-items:center;margin-bottom:26px;display:grid}.login-icon svg{width:22px;height:22px}.login-panel>div:nth-child(2) p{color:var(--primary);text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.login-panel h1{margin:0;font-size:27px}.login-panel>div:nth-child(2) span{color:var(--muted);margin-top:8px;font-size:13px;display:block}.login-panel form{gap:12px;margin:26px 0 20px;display:grid}.login-panel form label{gap:7px;display:grid}.login-panel form label span{color:var(--muted);font-size:11px;font-weight:700}.login-panel input{border:1px solid var(--line);width:100%;height:44px;color:var(--text);background:var(--bg);border-radius:7px;padding:0 12px}.login-panel input:focus{border-color:var(--primary);outline:0}.login-panel form .primary-button{justify-content:space-between;width:100%;margin-top:4px}.login-panel>a{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.login-panel>a:hover{color:var(--text)}.login-panel>a svg{width:14px;height:14px}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes pulse{50%{opacity:.45}}@media (max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:226px}}@media (max-width:620px){.site-shell{width:min(100% - 24px,1160px)}.topbar{height:66px}.brand-mark{width:32px;height:32px}.brand strong{font-size:16px}.admin-state{justify-content:center;width:38px;padding:0;font-size:0}.catalog-heading{align-items:center;padding:44px 0 22px}.catalog-heading h1{font-size:34px}.add-button{width:42px;min-height:42px;padding:0;font-size:0}.service-grid{grid-template-columns:1fr;gap:10px}.service-card{min-height:210px;padding:19px}.service-copy{padding:18px 0}.card-actions{gap:1px}.modal-backdrop{align-items:end;padding:0}.editor-dialog{border-radius:8px 8px 0 0;width:100%;max-height:92vh}.editor-dialog form{padding:18px}.editor-dialog>header{padding:17px 18px}.toast{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
