 :root{
  --ink:#20343a;
  --muted:#6b7880;
  --paper:#f7fbfd;
  --card:#ffffff;
  --line:#d9e5ec;
  --blue:#4f7ea8;
  --blue-dark:#35536e;
  --blue-soft:#eaf1f7;
  --green:#5aa34d;
  --danger:#c64c4c;
  --danger-soft:#fff0f0;
  --shadow:0 18px 40px rgba(21,42,56,.12);
  --radius:28px;
}
*{box-sizing:border-box}
html{min-height:100%;background:linear-gradient(180deg,#eef6fb,#f9fbfd)}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-weight:500;line-height:1.45;background:transparent}
button,input{font:inherit}
.app-shell{width:min(760px,100%);margin:0 auto;padding:18px 14px 48px}
.card{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin:14px 0}
.hero{display:flex;gap:16px;align-items:center;background:linear-gradient(145deg,#fff,#edf6fb)}
.app-icon{width:78px;height:78px;border-radius:22px;object-fit:cover;background:white;box-shadow:0 8px 22px rgba(21,42,56,.14)}
.eyebrow{margin:0 0 4px;color:var(--blue-dark);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
h1{margin:0;font-size:clamp(2rem,9vw,3.5rem);line-height:1;font-weight:700;color:var(--blue-dark)}
.subline{margin:8px 0 0;color:var(--muted);font-size:1.05rem;font-weight:600}
h2{margin:0 0 12px;font-size:1.35rem;line-height:1.15;font-weight:700;color:var(--blue-dark)}
h3{margin:18px 0 10px;font-size:1.05rem;font-weight:700;color:var(--blue-dark)}
p{margin:0 0 12px}.muted,.data-card p,.update-card p,.danger-soft p{color:var(--muted)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);padding:6px 11px;font-weight:700;font-size:.85rem;white-space:nowrap}
.check-list,.group-list,.edit-list{display:flex;flex-direction:column;gap:10px}
.check-row,.group-row,.sub-row{display:flex;align-items:flex-start;gap:12px;width:100%;border:1px solid var(--line);border-radius:20px;background:#fff;padding:13px 14px;color:var(--ink)}
.check-row input,.group-row input,.sub-row input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--blue)}
.check-row label,.group-row label,.sub-row label{flex:1;font-weight:700;color:var(--ink)}
.check-row.checked label,.sub-row.checked label,.group-row.checked label{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:rgba(32,52,58,.35);color:#6c7a80}
.group-box{border:1px solid var(--line);border-radius:24px;padding:10px;background:linear-gradient(180deg,#fff,#f7fbfd)}
.sub-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 2px 36px}
.sub-row{background:var(--blue-soft);box-shadow:none}
.empty{border:1px dashed var(--line);border-radius:18px;padding:14px;color:var(--muted);background:#fbfdfe;text-align:center}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}
input[type="text"]{width:100%;border:2px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);padding:13px 14px;outline:none;font-weight:600}
input[type="text"]:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(79,126,168,.15)}
.btn{border:0;border-radius:18px;background:var(--blue);color:white;padding:12px 16px;font-weight:700;box-shadow:0 8px 18px rgba(79,126,168,.22);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px}
.btn.secondary{background:#edf3f7;color:var(--blue-dark);box-shadow:none;border:1px solid var(--line)}
.btn.danger{background:var(--danger);color:white}.btn.small{min-height:38px;padding:8px 11px;border-radius:14px;font-size:.9rem}.btn.full{width:100%}.btn:disabled{opacity:.38;cursor:not-allowed}.move-btn{min-width:40px;font-size:1rem;line-height:1}
.button-row{display:flex;flex-wrap:wrap;gap:10px}.file-label input{display:none}.danger-soft{background:linear-gradient(145deg,#fff,#fff7f7);border-color:#f0d4d4}.danger-soft .btn{color:#8f3030;border-color:#efc4c4;background:#fff7f7}.update-card{text-align:center}.update-card p{margin:10px 0 0;font-size:.95rem}.setup-block{border-top:1px solid var(--line);padding-top:4px;margin-top:14px}.edit-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:10px}.edit-item strong{font-weight:700;color:var(--ink);padding-left:4px}.edit-group{border:1px solid var(--line);border-radius:22px;background:#fff;padding:12px;margin-top:10px}.edit-group-title{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.sub-editor{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.sub-editor .inline-form{grid-template-columns:1fr auto}.edit-sub{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px;background:var(--blue-soft);border-radius:16px;padding:8px 10px}.edit-sub span{font-weight:700;color:var(--ink)}
@media (max-width:520px){.hero{align-items:flex-start}.app-icon{width:66px;height:66px;border-radius:19px}.inline-form{grid-template-columns:1fr}.btn{width:100%}.move-btn{width:auto}.edit-actions .move-btn{flex:0 0 auto}.edit-item,.edit-group-title,.edit-sub{grid-template-columns:1fr}.sub-list{margin-left:18px}h1{font-size:2.2rem}.card{padding:18px;border-radius:24px}}

.edit-actions{justify-content:flex-end}
