:root{--bg: #1a1a2e;--surface: #16213e;--accent: #e94560;--accent-soft: #e9456022;--text: #eee;--text-muted: #aaa;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:8px;min-height:44px}button.secondary{background:var(--surface);color:var(--text);border:1px solid rgba(255,255,255,.15)}input,textarea{background:var(--surface);color:var(--text);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.6rem .8rem;width:100%;min-height:44px}input::placeholder,textarea::placeholder{color:var(--text-muted)}label{display:block;margin-bottom:.25rem;color:var(--text-muted);font-size:.9rem}a{color:var(--accent)}.app{min-height:100%;padding-top:var(--safe-top);padding-bottom:calc(60px + var(--safe-bottom));max-width:480px;margin:0 auto}.nav{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;display:flex;background:var(--surface);border-top:1px solid rgba(255,255,255,.08);padding:.5rem;padding-bottom:calc(.5rem + var(--safe-bottom));z-index:100}.nav button{flex:1;background:transparent;color:var(--text-muted);padding:.5rem;font-size:.85rem;min-height:44px}.nav button.active{color:var(--accent);font-weight:600}.page{padding:1rem 1rem 2rem}.page h1{margin:0 0 1rem;font-size:1.5rem;font-weight:700}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-header h2{margin:0;font-size:1.2rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:1rem}.calendar-weekday{text-align:center;font-size:.7rem;color:var(--text-muted);padding:.25rem 0}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.9rem;background:var(--surface);min-height:44px}.calendar-day.other-month{opacity:.4}.calendar-day.has-gig{background:var(--accent-soft);color:var(--accent);font-weight:600}.calendar-day.selected{outline:2px solid var(--accent);outline-offset:2px}.calendar-day:active{background:var(--accent);color:#fff}.gigs-on-day{margin-top:1rem}.gigs-on-day h3{font-size:1rem;color:var(--text-muted);margin-bottom:.5rem}.gig-card{background:var(--surface);border-radius:10px;padding:1rem;margin-bottom:.75rem;border-left:4px solid var(--accent)}.gig-card .venue{font-weight:600;margin-bottom:.25rem}.gig-card .meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.gig-card .musicians{font-size:.85rem;color:var(--text)}.gig-card .musicians span{display:inline-block;background:#ffffff1a;padding:.2rem .5rem;border-radius:6px;margin-right:.25rem;margin-bottom:.25rem}.form-group{margin-bottom:1rem}.form-actions{display:flex;gap:.5rem;margin-top:1.5rem}.form-actions button{flex:1}.checkbox-list{list-style:none;padding:0;margin:0}.checkbox-list li{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.08);min-height:44px}.checkbox-list input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent)}.musicians-list{list-style:none;padding:0;margin:0}.musicians-list li{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08);gap:.5rem}.musicians-list .name{font-weight:500}.musicians-list .instrument{font-size:.85rem;color:var(--text-muted)}.musicians-list button{padding:.4rem .6rem;min-height:36px;font-size:.85rem}.empty-state{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.95rem}.back-link{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:1rem;color:var(--text-muted);text-decoration:none;font-size:.9rem}.back-link:hover{color:var(--accent)}.add-fab{position:fixed;right:1rem;bottom:calc(70px + var(--safe-bottom));width:52px;height:52px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #e9456066;z-index:50}@media (min-width: 481px){.add-fab{right:calc(50% - 240px + 1rem)}}
