:root{--bg: #f5f6f8;--card: #ffffff;--text: #111111;--muted: #7a7f87;--accent: #2f6bff;--accent-press: #2559d9;--ok: #1fb25a;--fail: #e5484d;--border: #e7e9ee;--radius: 14px}:root[data-theme=dark]{--bg: #0f1115;--card: #191c22;--text: #f2f3f5;--muted: #9aa0a8;--accent: #4d84ff;--accent-press: #3d6fe0;--border: #262a31}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;overflow-x:hidden;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100%;min-height:100dvh}.app-content{flex:1;width:100%;max-width:560px;margin:0 auto;padding:16px 16px calc(env(safe-area-inset-bottom) + 16px)}.page{display:flex;flex-direction:column;gap:12px}.page-title{font-size:26px;font-weight:700;margin:0}.page-sub{color:var(--muted);margin:0;font-size:14px}.center{text-align:center}.back-link{color:var(--accent);font-weight:600;width:fit-content}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.row{display:flex;align-items:center}.user-card{display:flex;gap:12px;align-items:center}.avatar{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.user-name{font-weight:700}.user-sub{color:var(--muted);font-size:13px}.search-input{width:100%;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);outline:none}.search-input:focus{border-color:var(--accent)}.list{display:flex;flex-direction:column;gap:10px}.service-card{display:flex;align-items:center;gap:12px;transition:transform .06s ease}.form{display:flex;flex-direction:column;gap:14px}.section-title{font-size:16px;margin:0}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;color:var(--muted);font-weight:600}.req{color:var(--fail);margin-left:3px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:88px;resize:vertical}.field-error,.form-error{color:var(--fail);font-size:13px}.form-error{background:#e5484d1a;border:1px solid rgba(229,72,77,.3);border-radius:12px;padding:10px 12px}.progress{position:relative;height:26px;background:var(--card);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#3fbf7f);transition:width .4s ease}.progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.action-card{display:flex;gap:12px;align-items:flex-start}.action-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.action-title{font-weight:600}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.status-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.status-icon.done{background:#1fb25a29;color:var(--ok)}.status-icon.error{background:#e5484d29;color:var(--fail)}.status-icon.active{background:#2f6bff24}.status-icon.pending{background:var(--bg);color:var(--muted)}.spinner{width:14px;height:14px;border:2px solid rgba(47,107,255,.35);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-page{align-items:stretch;padding-top:8px}.result-badge{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;margin:8px auto 0;color:#fff}.result-badge.ok{background:var(--ok)}.result-badge.fail{background:var(--fail)}.result-card{display:flex;flex-direction:column;gap:10px}.result-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.result-row span{color:var(--muted)}.text-ok{color:var(--ok)}.text-fail{color:var(--fail)}.skeleton{background:linear-gradient(90deg,var(--border) 25%,#d8dbe2 37%,var(--border) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.empty-state{text-align:center;padding:36px 12px;display:flex;flex-direction:column;gap:8px;align-items:center}.empty-icon{font-size:40px}.empty-title{font-weight:700}.empty-subtitle{color:var(--muted);font-size:14px}.pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.pill.run{background:#2f6bff24;color:var(--accent)}.pill.ok{background:#1fb25a24;color:var(--ok)}.pill.fail{background:#e5484d24;color:var(--fail)}.service-card:active{transform:scale(.985)}.service-icon{width:44px;height:44px;border-radius:12px;background:#2f6bff1f;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.service-body{flex:1;min-width:0}.service-title{font-weight:650}.service-desc{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chevron{font-size:22px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:var(--radius);border:1px solid transparent;font-weight:650;cursor:pointer;text-align:center;transition:background .12s ease,transform .06s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6}.btn-primary{background:var(--accent);color:#fff}.btn-primary:active{background:var(--accent-press)}.btn-secondary{background:transparent;border-color:var(--border);color:var(--text)}.btn-block{width:100%}.btn-sm{min-height:40px;padding:8px 14px;font-size:14px}.link-center{text-align:center;color:var(--accent);font-weight:600}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-toggle{width:44px;height:44px;flex-shrink:0;border-radius:12px;border:1px solid var(--border);background:var(--card);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .06s ease}.theme-toggle:active{transform:scale(.94)}.profile-tile{transition:transform .06s ease}.profile-tile:active{transform:scale(.985)}.profile-head{margin-top:0}.user-meta{flex:1;min-width:0}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text);min-height:44px;padding:8px 14px;font-size:14px}.field-row{display:flex;gap:10px}.field-row .field{flex:1;min-width:0}.form-success{color:var(--ok);font-size:13px;text-align:center}.muted{color:var(--muted);font-size:14px}.admin-link{text-align:center;color:var(--muted);font-size:13px;text-decoration:underline}.app-content:has(.admin-page){max-width:960px}.admin-page{width:100%}.admin-actions{display:flex;gap:8px}.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap}.admin-notice{background:#1fb25a1f;border:1px solid rgba(31,178,90,.3);color:var(--ok);border-radius:12px;padding:10px 12px;font-size:14px}.admin-field-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-field-row input,.admin-field-row select{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);outline:none;flex:1;min-width:130px}.admin-field-row input:focus,.admin-field-row select:focus{border-color:var(--accent)}.admin-field-req{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;flex-shrink:0}.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-row-actions{display:flex;gap:6px;flex-shrink:0}@media (max-width: 640px){.admin-row-actions{width:100%;justify-content:flex-end}.service-card{flex-wrap:wrap}}:root[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--border) 25%,#333842 37%,var(--border) 63%);background-size:400% 100%}.check-item{align-items:flex-start}.check-box{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.check-item .action-title{cursor:pointer}.check-item.is-done .action-title{text-decoration:line-through;opacity:.6}.check-optional{margin-left:8px;font-size:12px;font-weight:500;color:var(--muted)}
