:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--g-primary:#3730a3;--g-dark:#1e1b6b;--g-bg:#eef0f7;--g-text:#1f2937;--g-muted:#6b7280;--g-border:#e0e3ee;--g-red:#dc2626;--g-orange:#ea7a0c;--g-green:#16a34a}body{background:var(--g-bg);color:var(--g-text);margin:0;font-family:Segoe UI,system-ui,-apple-system,Arial,sans-serif;font-size:15px;display:block}#root{text-align:left;border:none;width:100%;max-width:none;margin:0;display:block}h1,h2,h3{letter-spacing:normal}h2{color:var(--g-text);margin:0 0 14px;font-size:18px}.app{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--g-dark), #2a2590);color:#fff;box-sizing:border-box;flex-direction:column;flex-shrink:0;width:230px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.main{box-sizing:border-box;flex:1;min-width:0;max-width:1150px;padding:24px 28px 40px}.brand{text-align:center;padding:6px 4px 18px}.brand-logo{font-size:34px}.brand-name{word-break:break-word;margin:6px 0 4px;font-size:20px;font-weight:700;line-height:1.2}.brand form input{box-sizing:border-box;width:100%;margin:6px 0}.brand form button{margin:2px;padding:6px 10px;font-size:13px}.link-btn{color:#c7c9f5;background:0 0;border:1px solid #ffffff4d;padding:2px 6px;font-size:12px}.side-nav{flex-direction:column;gap:4px;margin-top:6px;display:flex}.side-nav a,.side-nav .disabled{color:#dcdcf7;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-weight:600;text-decoration:none;display:flex}.side-nav a:hover{background:#ffffff1a}.side-nav a.active{color:#fff;background:#4f46e5;box-shadow:0 4px 12px #00000040}.side-nav .disabled{opacity:.5;cursor:not-allowed}.soon{color:#1f2937;background:#f59e0b;border-radius:6px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.side-footer{border-top:1px solid #ffffff26;align-items:center;gap:10px;margin-top:auto;padding:12px 8px 0;font-size:14px;display:flex}.side-footer small{color:#b8baf0}.avatar{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.topbar{justify-content:flex-end;margin-bottom:12px;display:flex}.date-pill{border:1px solid var(--g-border);color:var(--g-muted);background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.welcome{background:linear-gradient(120deg,#e4e3fb,#cfcdf7);border:1px solid #d5d3f5;border-radius:14px;margin-bottom:20px;padding:22px 26px}.welcome h1{color:var(--g-dark);margin:0 0 4px;font-size:26px}.welcome p{color:#4b4a7a;margin:0}.page-title{color:var(--g-dark);margin:0 0 18px;font-size:26px}.summary{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.summary-box{color:#fff;border-radius:14px;flex:1;align-items:center;gap:14px;min-width:170px;padding:18px;display:flex;box-shadow:0 6px 14px #00000026}.summary-icon{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:flex}.summary-number{font-size:32px;font-weight:800;line-height:1}.summary-label{opacity:.95;margin-top:2px;font-weight:600}.summary-box.red{background:linear-gradient(135deg, #b91c1c, var(--g-red))}.summary-box.orange{background:linear-gradient(135deg, #c2620a, var(--g-orange))}.summary-box.green{background:linear-gradient(135deg, #15803d, var(--g-green))}.summary-box.blue{background:linear-gradient(135deg,#3730a3,#5b52e0)}.card{border:1px solid var(--g-border);background:#fff;border-radius:14px;margin-bottom:22px;padding:20px;box-shadow:0 2px 8px #0000000d}input,select{color:var(--g-text);background:#fff;border:1px solid #d1d5db;border-radius:8px;margin:4px 6px 4px 0;padding:10px 12px;font-size:14px}input:focus,select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e52e}button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;margin:2px;padding:9px 14px;font-size:14px;font-weight:600;transition:all .15s}button:hover{filter:brightness(1.12);transform:translateY(-1px)}button.danger{background:var(--g-red)}button.green{background:var(--g-green)}button.grey{background:#6b7280}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--g-border);padding:12px 10px}th{color:var(--g-muted);text-transform:uppercase;letter-spacing:.6px;background:#f1f2f7;font-size:12px}tbody tr:hover{background:#f5f6ff}.badge{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.badge.red{color:#b91c1c;background:#fee2e2}.badge.orange{color:#b45309;background:#fde8d3}.badge.green{color:#15803d;background:#dcfce7}@media (width<=800px){.app{flex-direction:column}.sidebar{width:100%;height:auto;padding:12px;position:static}.brand{padding-bottom:8px}.side-nav{flex-flow:wrap}.side-footer{display:none}.main{padding:16px 12px 30px}}.summary-box.clickable{cursor:pointer;transition:transform .15s}.summary-box.clickable:hover{transform:translateY(-3px)}.summary-view{opacity:.9;white-space:nowrap;align-self:flex-end;margin-left:auto;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.toolbar input{flex:1;min-width:200px;margin:0}.toolbar select,.toolbar button{margin:0}.icon-btn{margin:2px;padding:7px 9px;font-size:15px}.form-grid{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.form-field{color:var(--g-muted);flex-direction:column;font-size:13px;font-weight:600;display:flex}.form-field input,.form-field select{min-width:190px;margin:4px 0 0;font-weight:400}.info-note{color:#3b3a82;background:#eceafd;border-radius:10px;margin:14px 0 0;padding:10px 14px;font-size:13px}.pager{color:var(--g-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;font-size:14px;display:flex}.pager button:disabled{opacity:.4;cursor:not-allowed}.msg-ok{color:var(--g-green);font-weight:600}.msg-error{color:var(--g-red);font-weight:600}.pkg-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.pkg-card{border:1px solid var(--g-border);text-align:center;background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 8px #0000000d}.pkg-name{color:var(--g-dark);font-size:18px;font-weight:700}.pkg-days{color:var(--g-muted);margin:2px 0 10px;font-size:14px}.pkg-fee{color:var(--g-dark);margin-bottom:10px;font-size:30px;font-weight:800}.pkg-members{color:#3b3a82;background:#eceafd;border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.pkg-card input{text-align:center;width:100px;margin:4px}.pkg-actions{justify-content:center;gap:8px;display:flex}.pkg-actions button{flex:1;margin:0}.feature-editor{text-align:left;margin-top:8px}.feature-add{align-items:center;gap:6px;display:flex}.pkg-card .feature-add input,.feature-add input{text-align:left;flex:1;width:auto;min-width:0;margin:0}.feature-add button{white-space:nowrap;margin:0}.suggest{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.suggest button{color:#3b3a82;background:#eceafd;margin:0;padding:4px 10px;font-size:12px}.feature-list{margin:10px 0 0;padding:0;list-style:none}.feature-list li{align-items:center;gap:8px;padding:4px 0;display:flex}.feature-list .tick,.pkg-features .tick{color:var(--g-green);font-weight:700}.chip-x{color:#b91c1c;background:#fee2e2;margin-left:auto;padding:0 8px;font-size:15px;line-height:22px}.pkg-features{text-align:left;margin:0 0 14px;padding:0 8px;list-style:none}.pkg-features li{padding:3px 0}.pkg-no-features{color:var(--g-muted);margin-bottom:14px;font-size:13px}.collect{border:2px solid var(--g-green);background:#fff;border-radius:14px;align-items:center;gap:16px;margin-bottom:22px;padding:18px 22px;display:flex;box-shadow:0 2px 8px #0000000d}.collect-icon{background:var(--g-green);border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;display:flex}.collect-amount{color:var(--g-dark);font-size:28px;font-weight:800;line-height:1.1}.collect-label{color:var(--g-muted);font-size:14px;font-weight:600}.history-total{color:var(--g-dark);margin:0 0 12px;font-weight:600}.member-cell{align-items:center;gap:10px;display:flex}.member-photo{object-fit:cover;border:1px solid var(--g-border);border-radius:50%;flex-shrink:0;width:40px;height:40px}.member-photo.placeholder{color:#3b3a82;background:#eceafd;border:none;justify-content:center;align-items:center;font-weight:700;display:flex}.photo-preview{object-fit:cover;border:1px solid var(--g-border);border-radius:50%;width:64px;height:64px;margin-top:6px}.camera-box{margin-top:6px}.camera-video{background:#000;border-radius:12px;width:240px;max-width:100%;margin-bottom:6px;display:block;transform:scaleX(-1)}.photo-field{background:#f7f7fd;border:1px dashed #c7c9e8;border-radius:12px;flex-basis:100%;align-items:center;gap:16px;padding:14px 16px;display:flex}.photo-field .photo-preview,.photo-empty{object-fit:cover;border:2px solid var(--g-border);border-radius:50%;flex-shrink:0;width:76px;height:76px;margin:0}.photo-empty{background:#eceafd;justify-content:center;align-items:center;font-size:30px;display:flex}.photo-info{flex-direction:column;gap:8px;display:flex}.photo-title{color:var(--g-muted);font-size:13px;font-weight:600}.photo-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.photo-actions .camera-box,.photo-actions button,.file-btn{margin:0}.file-btn{color:#fff;cursor:pointer;background:#6b7280;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-block}.file-btn:hover{filter:brightness(1.12)}@media (width<=700px){.card{padding:12px}.table-wrap table{font-size:12px}.table-wrap th,.table-wrap td{padding:8px 4px}.table-wrap th{letter-spacing:.3px;font-size:10px}.table-wrap .badge{padding:3px 8px;font-size:11px}.member-cell{gap:6px}.member-photo{width:28px;height:28px;font-size:12px}.icon-btn{margin:1px;padding:5px 6px;font-size:13px}.table-wrap td input{width:90px;padding:6px;font-size:12px}.summary-box{min-width:140px}.collect{flex-wrap:wrap}}.details-head{flex-wrap:wrap;align-items:center;gap:18px;margin-top:14px;display:flex}.details-photo{object-fit:cover;border:2px solid var(--g-border);border-radius:50%;flex-shrink:0;width:90px;height:90px}.details-photo.placeholder{color:#3b3a82;background:#eceafd;justify-content:center;align-items:center;font-size:36px;font-weight:700;display:flex}.details-info .page-title{margin:0 0 8px}.details-actions{margin-left:auto}.details-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.details-label{text-transform:uppercase;letter-spacing:.6px;color:var(--g-muted);margin-bottom:2px;font-size:12px;font-weight:700}@media (width<=700px){.details-actions{margin-left:0}.details-photo{width:64px;height:64px}}.member-link{color:inherit;text-decoration:none}.member-link:hover span{color:var(--g-primary);text-decoration:underline}.details-photo.clickable{cursor:zoom-in}.photo-modal{z-index:100;cursor:zoom-out;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:fixed;inset:0}.photo-modal img{object-fit:cover;background:#fff;border:3px solid #fff;border-radius:16px;width:min(90vw,420px);height:min(90vw,420px)}.photo-modal-name{color:#fff;font-size:18px;font-weight:700}
