*{box-sizing:border-box}body{margin:0;background:#eaf2f8;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#172033}button,input,textarea,select{font:inherit}.auth,#app>header,#app>main,nav{max-width:480px;margin:auto}.auth{min-height:100vh;padding:70px 24px;text-align:center}.auth img{width:120px;border-radius:28px}.auth input{margin:15px 0}.warning{background:#fef3c7;padding:15px;border-radius:16px}header{background:linear-gradient(135deg,#071d3b,#075985,#0d9488);color:#fff;padding:20px 18px 26px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:64px;height:64px;border-radius:18px}.brand b{display:block;font:italic 900 24px Georgia,serif}.brand small,.brand span{display:block;font-size:10px;opacity:.8}header>button{float:right;margin-top:-54px;background:#fff2;color:#fff;border:0;border-radius:13px;padding:8px}header h1{font-size:24px;margin:22px 0 0}main{min-height:650px;background:#f8fafc;padding:16px 16px 100px}h2{font-size:20px;margin:22px 2px 8px}section,.crew,.birthday,.photo{background:#fff;border-radius:22px;padding:14px;margin:10px 0;box-shadow:0 6px 18px #64748b16}.notice{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.notice p{background:#ffffff1f;padding:8px;border-radius:12px}.birthday{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;display:flex;gap:10px;align-items:center}.birthday strong{font-size:32px}.crew{display:grid;grid-template-columns:repeat(4,1fr);gap:13px 6px;text-align:center}.crew i{display:grid;width:44px;height:44px;border-radius:50%;place-items:center;margin:auto;color:#fff;font-style:normal;font-size:11px;font-weight:900}.crew b,.crew small{display:block;font-size:10px}.crew small{color:#94a3b8;font-size:8px}.photo img{width:100%;height:250px;object-fit:cover;border-radius:16px}.photo>div,.title,.add,article{display:flex;align-items:center;gap:10px}.photo>div{justify-content:space-between;margin-top:10px}.photo label,.photo button,.title button,.add button,.modal button{border:0;border-radius:13px;padding:10px 12px;background:#0284c7;color:#fff;font-weight:800;cursor:pointer}.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.counts div{padding:13px 3px;border-radius:17px;text-align:center;color:#fff}.counts strong,.counts small,.counts b{display:block}.counts strong{font-size:24px}.counts small,.counts b{font-size:9px}.c0{background:#f59e0b}.c1{background:#e11d48}.c2{background:#8b5cf6}.add input{flex:1;min-width:0}input,textarea,select{width:100%;padding:11px;border:1px solid #dbe3ed;border-radius:13px;background:#fff}article{padding:10px;border-radius:15px;background:#f8fafc;margin-top:8px}article>div{flex:1;min-width:0}article b,article small{display:block}article small{color:#64748b;font-size:11px}.dot{padding:9px;border-radius:10px}.purple{background:#ede9fe}.cyan{background:#cffafe}.orange{background:#ffedd5}.pink{background:#fce7f3}.blue{background:#dbeafe}.check{width:27px;height:27px;border:2px solid #cbd5e1;border-radius:50%;background:#fff}.done .check{background:#10b981;color:#fff}.done b{text-decoration:line-through;color:#94a3b8}.trash{border:0;background:none}.team{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff}.title{justify-content:space-between}.title h2{margin-bottom:2px}.title small{color:#64748b}.month{text-align:center;font-weight:900;font-size:18px;margin-bottom:12px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.cal span{padding:9px 2px;border-radius:10px}.cal i{min-height:1px}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(480px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff2;padding:8px 5px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #e5e7eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}nav button{border:0;background:none;padding:8px;color:#64748b;font-size:18px}nav span{display:block;font-size:10px;text-transform:capitalize}.on{background:#e0f2fe;color:#0369a1;border-radius:14px}.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:end;justify-content:center;z-index:20}.modal form{width:min(480px,100%);background:#fff;border-radius:26px 26px 0 0;padding:20px;display:grid;gap:10px}.modal #close{margin-left:auto;background:none;color:#111;padding:4px}@media(min-width:520px){#app{padding:20px}#app>header{border-radius:30px 30px 0 0}#app>main{box-shadow:0 20px 50px #33415522}}
