*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{background:#f0f2f8;color:#1a1f36;font-family:-apple-system,'Pretendard','Apple SD Gothic Neo',sans-serif;overflow:hidden;height:100vh;}
#root{max-width:480px;margin:0 auto;height:100vh;display:flex;flex-direction:column;position:relative;}
.page{display:none;flex:1;flex-direction:column;overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:62px;}
.page.on{display:flex;}
.pg-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.nav{position:absolute;bottom:0;left:0;right:0;height:62px;background:#fff;border-top:1px solid #f3f4f6;display:flex;z-index:100;box-shadow:0 -4px 24px rgba(0,0,0,.08);}
.nb{flex:1;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;}
.nb.on{color:#2563eb;}
.ni{font-size:22px;line-height:1;}
.nl{font-size:9px;font-weight:700;}
.body{padding:14px;}
.card{background:#fff;border-radius:18px;padding:18px;margin-bottom:12px;box-shadow:0 2px 16px rgba(0,0,0,.06);}
.card-t{font-size:11px;font-weight:700;color:#9ca3af;letter-spacing:1px;margin-bottom:14px;}
.sec-lbl{font-size:11px;font-weight:700;color:#9ca3af;letter-spacing:2px;margin:14px 4px 8px;}
.inp{background:#f8f9ff;border:1.5px solid #e5e7eb;border-radius:12px;color:#1a1f36;padding:12px 14px;font-size:15px;width:100%;outline:none;}
.inp:focus{border-color:#2563eb;background:#fff;}
select.inp{cursor:pointer;}
.inp-lbl{font-size:12px;color:#6b7280;font-weight:600;margin-bottom:6px;}
.btn-blue{width:100%;background:#2563eb;color:#fff;border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(37,99,235,.3);}
.btn-blue:active{transform:scale(.98);}
.btn-sky{width:100%;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:800;cursor:pointer;}
.btn-remove{background:#fff1f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:700;}
.set-row{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #f3f4f6;}
.set-row:last-child{border-bottom:none;}
.set-lbl{font-size:14px;font-weight:600;}
.set-inp{background:#f8f9ff;border:1.5px solid #e5e7eb;border-radius:12px;color:#1a1f36;padding:9px 12px;font-size:15px;font-weight:700;width:90px;text-align:right;outline:none;}
.set-unit{font-size:12px;color:#9ca3af;font-weight:600;margin-left:6px;min-width:26px;}
.pos-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.pos-btn{padding:13px 8px;border-radius:14px;border:1.5px solid #e5e7eb;background:#f8f9ff;color:#9ca3af;font-size:14px;font-weight:700;cursor:pointer;text-align:center;}
.pos-btn.on{background:#2563eb;color:#fff;border-color:#2563eb;}
.r-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #f3f4f6;font-size:14px;}
.r-row:last-child{border-bottom:none;}
.r-lbl{color:#6b7280;}
.r-hi{color:#2563eb;font-size:16px;font-weight:800;}
.badge{font-size:10px;font-weight:700;padding:3px 7px;border-radius:6px;}
.b-intl{background:#eff6ff;color:#2563eb;}
.b-dom{background:#f0fdf4;color:#16a34a;}
.b-dh{background:#fff7ed;color:#ea580c;}
.b-off{background:#f3f4f6;color:#6b7280;}
.b-layover{background:#ecfeff;color:#0891b2;}
.empty{text-align:center;color:#9ca3af;padding:40px 20px;font-size:14px;line-height:2.2;}
.empty-icon{font-size:44px;display:block;margin-bottom:12px;}
.mode-tabs{display:flex;background:#f8f9ff;border-radius:12px;padding:4px;gap:4px;margin-bottom:14px;}
.mode-tab{flex:1;padding:10px 8px;border-radius:9px;border:none;background:transparent;color:#9ca3af;font-size:13px;font-weight:700;cursor:pointer;text-align:center;}
.mode-tab.on{background:#fff;color:#0284c7;box-shadow:0 2px 8px rgba(0,0,0,.1);}
.cond-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.cond-btn{padding:11px 8px;border-radius:12px;border:1.5px solid #e5e7eb;background:#f8f9ff;color:#9ca3af;font-size:13px;font-weight:700;cursor:pointer;text-align:center;}
.cond-btn.on{background:#0ea5e9;color:#fff;border-color:#0ea5e9;}
.wind-hero{border-radius:20px;padding:22px 18px;margin-bottom:12px;}
.wh-ok{background:linear-gradient(135deg,#16a34a,#15803d);}
.wh-over{background:linear-gradient(135deg,#dc2626,#b91c1c);}
.wh-status{font-size:24px;font-weight:900;color:#fff;text-align:center;margin-bottom:6px;}
.wh-info{font-size:11px;color:rgba(255,255,255,.8);text-align:center;margin-bottom:16px;line-height:1.6;}
.wh-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.wh-item{background:rgba(255,255,255,.18);border-radius:14px;padding:12px 6px;text-align:center;}
.wh-n{font-size:20px;font-weight:900;color:#fff;}
.wh-n-over{font-size:20px;font-weight:900;color:#fca5a5;}
.wh-l{font-size:10px;color:rgba(255,255,255,.7);margin-top:3px;}
.lim-bar{margin-top:12px;}
.lim-bar-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px;color:#fff;}
.lim-bar-bg{height:7px;background:rgba(255,255,255,.2);border-radius:4px;overflow:hidden;margin-bottom:8px;}
.lim-bar-fill{height:100%;border-radius:4px;}
.meet-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px;}
.meet-btn{padding:16px 8px;border-radius:16px;border:2px solid #e5e7eb;background:#f8f9ff;cursor:pointer;text-align:center;}
.meet-btn.on{border-color:#7c3aed;background:#faf5ff;}
.meet-icon{font-size:26px;display:block;margin-bottom:6px;}
.meet-lbl{font-size:13px;font-weight:700;}
.meet-sub{font-size:10px;color:#9ca3af;margin-top:3px;}
.member-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f8f9ff;}
.member-item:last-child{border-bottom:none;}
.member-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;}
.member-name{font-size:14px;font-weight:700;}
.member-info{font-size:11px;color:#9ca3af;margin-top:2px;}
.me-badge{background:#7c3aed;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:6px;}
.my-code-box{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:20px;padding:22px 20px;text-align:center;margin-bottom:12px;}
.my-code{font-size:36px;font-weight:900;color:#fff;letter-spacing:8px;margin:10px 0;}
.result-card{background:#fff;border-radius:18px;overflow:hidden;margin-bottom:12px;box-shadow:0 2px 16px rgba(0,0,0,.06);}
.result-hdr{background:linear-gradient(135deg,#7c3aed,#6d28d9);padding:14px 18px;}
.result-item{padding:13px 18px;border-bottom:1px solid #f8f9ff;}
.result-item:last-child{border-bottom:none;}
.result-date{font-size:15px;font-weight:800;margin-bottom:6px;}
.result-members{display:flex;flex-wrap:wrap;gap:6px;}
.result-member{font-size:11px;font-weight:700;padding:3px 10px;border-radius:8px;background:#f3f4f6;color:#6b7280;}
.result-ok{background:#f0fdf4;color:#16a34a;}
.sched-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f8f9ff;}
.save-msg{text-align:center;color:#16a34a;font-size:14px;font-weight:700;margin-top:12px;display:none;}
.info-box{background:#eff6ff;border-radius:12px;padding:13px 15px;font-size:12px;color:#2563eb;line-height:1.8;margin-top:10px;border:1px solid #bfdbfe;}
.warn-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:13px 15px;font-size:12px;color:#9a3412;line-height:1.8;margin-bottom:12px;display:none;}
.hero-card{background:linear-gradient(135deg,#2563eb,#1e40af);border-radius:20px;padding:22px 18px;margin-bottom:12px;color:#fff;box-shadow:0 8px 24px rgba(37,99,235,.3);}
input[type="file"]{display:none;}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:flex-end;z-index:200;}
.modal.on{display:flex;}
.modal-sheet{background:#fff;border-radius:20px 20px 0 0;padding:20px;width:100%;max-width:480px;margin:0 auto;max-height:85vh;overflow-y:auto;}
.modal-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.form-row{margin-bottom:10px;}
.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.chk-row{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:#6b7280;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px;}
