:root{--primary:#8553f4;--primary-hover:#7241d9;--bg-color:#f6f8fb;--card-bg:#fffffff2;--text-main:#1c1c1e;--text-muted:#8e8e93;--border-radius-pill:999px;--border-radius-card:24px;--border-radius-sm:12px;--shadow-card:0 12px 32px #0000000a;--shadow-btn:0 4px 12px #8553f44d;--mesh-pink:#f9a8d466;--mesh-blue:#93c5fd66;--mesh-purple:#d8b4fe66}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;margin-top:0;font-weight:700}.layout{flex-direction:column;min-height:100vh;display:flex}.header{z-index:50;background:var(--bg-color);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.header h1{color:var(--text-main);align-items:center;gap:.5rem;margin:0;font-size:1.4rem;font-weight:700;display:flex}.header h1:before{content:"←";color:var(--text-muted);cursor:pointer;font-size:1.2rem;font-weight:400}.header nav a{border-radius:var(--border-radius-pill);color:var(--text-main);background:#fff;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;box-shadow:0 2px 8px #0000000d}.main-content{flex:1;width:100%;max-width:500px;margin:0 auto;padding:0 1.5rem 2rem}.btn{border-radius:var(--border-radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;margin-bottom:.75rem;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:active{transform:scale(.97)}.btn-secondary{color:var(--text-main);background-color:#e5e7eb}.btn-danger{color:#dc2626;background-color:#fee2e2}.card{background:var(--card-bg);border-radius:var(--border-radius-card);box-shadow:var(--shadow-card);border:1px solid #fff6;margin-bottom:1.5rem;padding:1.5rem;position:relative;overflow:hidden}.card:before{content:"";background:radial-gradient(circle, var(--mesh-pink) 0%, transparent 70%);filter:blur(20px);z-index:0;pointer-events:none;width:200px;height:200px;position:absolute;bottom:-30%;right:-10%}.card:after{content:"";background:radial-gradient(circle, var(--mesh-blue) 0%, transparent 70%);filter:blur(20px);z-index:0;pointer-events:none;width:250px;height:250px;position:absolute;top:-20%;left:-20%}.card>*{z-index:1;position:relative}.input{border-radius:var(--border-radius-sm);background:#ffffff80;border:1px solid #e5e7eb;outline:none;width:100%;margin-bottom:1rem;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .2s;box-shadow:inset 0 2px 4px #00000005}.input:focus{border-color:var(--primary);background:#fff}.task-card{background:#fff;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.task-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.task-header strong{color:var(--text-main);font-size:1.1rem}.task-status{border-radius:var(--border-radius-pill);color:var(--text-muted);background:#f3f4f6;padding:.3rem .8rem;font-size:.75rem;font-weight:600}.status-completed{background:var(--primary);color:#fff}.status-available{color:#4f46e5;background:#e0e7ff}.status-in_progress{color:#d97706;background:#fef3c7}h3{margin-bottom:1rem;font-size:1.25rem}.task-photos{gap:1rem;margin-top:1rem;display:flex}.task-photo-wrap{flex-direction:column;flex:1;gap:.5rem;display:flex}.task-photo-wrap small{color:var(--text-muted);font-size:.8rem;font-weight:600}.task-photo{aspect-ratio:1;object-fit:cover;border-radius:var(--border-radius-sm);background:#f3f4f6;width:100%;box-shadow:inset 0 2px 4px #0000000d}.pin-modal{-webkit-backdrop-filter:blur(8px);z-index:100;background:#f6f8fbcc;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pin-content{border-radius:var(--border-radius-card);text-align:center;background:#ffffffe6;border:1px solid #fff9;width:90%;max-width:320px;padding:2.5rem 2rem;box-shadow:0 24px 48px #00000014}.pin-content input{text-align:center;letter-spacing:.5rem;border-radius:var(--border-radius-sm);background:#f3f4f6;border:none;font-size:1.5rem;font-weight:700}.balance-card{text-align:left}.balance-card h2{color:var(--text-muted);margin-bottom:.25rem;font-size:1rem;font-weight:500}.balance-amount{color:var(--primary);letter-spacing:-1px;font-size:2.5rem;font-weight:700}
