*{box-sizing:border-box;margin:0}body{font-family:-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;background:#FAF8FF;color:#1E1A2B;font-size:19px;padding-bottom:96px}
main{padding:20px 18px}.brand{color:#6B46C1;font-weight:700;font-size:17px}h1{font-size:28px;margin:4px 0 16px}h2{font-size:21px;margin:22px 0 10px}
.ex{float:right;background:#6E6A7C;color:#fff;font-size:13px;padding:4px 10px;border-radius:20px}
.hero{background:linear-gradient(135deg,#7C4DDB,#5B34B0);color:#fff;border-radius:22px;padding:22px}.hero small{opacity:.85;font-size:17px}.hero .big{font-size:40px;font-weight:800;margin-top:4px}
.card{background:#fff;border-radius:18px;padding:6px 16px;box-shadow:0 2px 8px #6B46C112}.row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #EFEAF8}.row:last-child{border:0}
.row .main{flex:1}.row .t{font-weight:700;font-size:20px}.row .s{color:#6E6A7C;font-size:16px;margin-top:2px}.amt{font-weight:800;font-size:19px;white-space:nowrap}
.tag{font-size:15px;font-weight:700;padding:5px 10px;border-radius:10px}.in{background:#E3EEFF;color:#1E5BB8}.out{background:#FFEEDD;color:#C26A00}.stay{background:#F1ECFC;color:#6B46C1}
.ch{display:inline-block;font-size:14px;font-weight:700;padding:3px 9px;border-radius:8px;color:#fff;margin-right:6px}
.empty{color:#8C879A;padding:16px 0;text-align:center}
.fab{position:fixed;right:18px;bottom:104px;background:#6B46C1;color:#fff;border:0;border-radius:40px;padding:16px 24px;font-size:20px;font-weight:800;box-shadow:0 6px 16px #6B46C155}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #E9E4F5;padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;border:0;background:none;font-size:24px;padding:10px 0 12px;color:#9A95A8;display:flex;flex-direction:column;align-items:center;gap:2px}.tabs b{font-size:16px}.tabs .on{color:#6B46C1}
.sbar{height:16px;background:#EFEAF8;border-radius:8px;overflow:hidden;margin-top:8px;width:100%}.sbar i{display:block;height:100%;background:#8E6BE0;border-radius:8px;min-width:0}.noamt{display:block;color:#C62828;font-size:14px;font-weight:700;margin-top:4px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kpi{background:#fff;border-radius:18px;padding:16px}.kpi small{color:#6E6A7C;font-size:16px}.kpi div{font-size:25px;font-weight:800;margin-top:4px}
form label{display:block;font-weight:700;margin:16px 0 8px}form input{width:100%;font-size:20px;padding:14px;border:2px solid #E9E4F5;border-radius:14px}
.pick{display:flex;gap:10px}.pick button{flex:1;font-size:20px;font-weight:700;padding:16px 0;border-radius:14px;border:2px solid #E9E4F5;background:#fff;color:#1E1A2B}.pick .on{border-color:#6B46C1;background:#F1ECFC;color:#6B46C1}
.save{width:100%;margin-top:26px;background:#6B46C1;color:#fff;border:0;border-radius:16px;padding:18px;font-size:22px;font-weight:800}
.note{background:#E8F6EE;color:#1D7A46;border-radius:14px;padding:12px 14px;font-size:16px;margin-top:12px}.back{background:none;border:0;font-size:18px;color:#6B46C1;font-weight:700;padding:0;margin-bottom:8px}
html,body{overflow-x:hidden;max-width:100%}.row .main{min-width:0}.row .t{overflow-wrap:anywhere}.rm{color:#1E1A2B;font-size:16px}
main{padding-bottom:90px}
.gear{float:right;margin-left:8px;background:#F1ECFC;color:#6B46C1;border:0;border-radius:20px;font-size:14px;font-weight:700;padding:4px 10px}
.tmr{background:#FFF7E0;border:2px solid #F5C451;border-radius:20px;padding:16px;margin-top:14px}.tmr .tt{font-size:20px;font-weight:800;line-height:1.4}.tmr .s{color:#6E6A7C;font-size:16px;margin-top:6px}.tmr .save{margin-top:12px}
.lb{display:block;font-weight:700;margin:18px 0 8px}textarea,main>input{width:100%;font-size:19px;padding:14px;border:2px solid #E9E4F5;border-radius:14px;font-family:inherit;line-height:1.5}
.save.kakao{background:#FEE500;color:#3A1D1D;margin-top:12px}
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#1E1A2B;color:#fff;padding:14px 20px;border-radius:14px;font-size:17px;width:max-content;max-width:90vw;z-index:9}
.card.mini{padding:12px 16px}.card.mini .t{font-weight:700;font-size:20px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card.mini .ch{margin:0}.card.mini .s{color:#6E6A7C;font-size:16px;margin-top:4px}
.dock{position:fixed;left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom));display:flex;gap:10px;padding:10px 18px;background:linear-gradient(#FAF8FF00,#FAF8FF 30%)}.dock .save{margin:0;flex:1;padding:16px 0}
.lb{margin:14px 0 6px}
.need{background:#FFE4E4;color:#C62828;border:0;border-radius:8px;font-size:14px;font-weight:800;padding:4px 9px}
.sheet{position:fixed;inset:0;background:#0007;display:flex;align-items:flex-end;z-index:20}.sheet .box{background:#fff;width:100%;border-radius:22px 22px 0 0;padding:20px 18px 34px}.sheet h2{margin-top:0}
body.login{padding:0;background:#fff}.lg{max-width:420px;margin:0 auto;padding:40px 24px 24px;text-align:center}
.logo img{width:76px;height:76px;border-radius:20px}.lg h1{color:#6B46C1;font-size:30px;margin:10px 0 4px}.hint{font-size:19px;color:#6E6A7C;min-height:28px}.hint.err{color:#C62828;font-weight:700}
.dots{display:flex;justify-content:center;gap:16px;margin:22px 0 28px}.dots i{width:22px;height:22px;border-radius:50%;border:3px solid #B9A6E8}.dots i.on{background:#6B46C1;border-color:#6B46C1}
.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pad button{height:78px;font-size:34px;font-weight:700;border:0;border-radius:20px;background:#F1ECFC;color:#1E1A2B}
.pad button:active{background:#D9CCF7}.pad .fn{font-size:21px;background:#fff;border:2px solid #E9E4F5;color:#6E6A7C}.pad .ok{background:#6B46C1;color:#fff;border:0}
.calhead{display:flex;align-items:center;gap:6px;margin:4px 0 8px}.calhead h1{margin:0;flex:1;text-align:center;font-size:25px}
.arw{width:48px;height:48px;border-radius:14px;border:2px solid #E9E4F5;background:#fff;font-size:30px;color:#6B46C1;font-weight:800;line-height:1}
.todayb{height:48px;padding:0 14px;border-radius:14px;border:0;background:#6B46C1;color:#fff;font-size:17px;font-weight:800}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:16px;font-weight:700;margin-bottom:10px}.legend i,.lbl i{display:inline-block;width:16px;height:16px;border-radius:5px;margin-right:5px;vertical-align:-2px}
.cal{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #6B46C112}.wk{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:15px;padding:8px 0;border-bottom:1px solid #EFEAF8}.wk .sun{color:#D32F2F}.wk .sat{color:#1E5BB8}
.week{position:relative;height:calc(34px + var(--lanes) * 26px);border-bottom:1px solid #EFEAF8}
.day{position:absolute;top:0;bottom:0;width:calc(100%/7);border:0;border-right:1px solid #F4F1FA;background:none;padding:4px 0 0;text-align:center;font-size:16px;font-weight:700;color:#1E1A2B}
.day:nth-child(7){border-right:0}.day.dim{color:#C9C4D4}.day.tdy span{background:#6B46C1;color:#fff;border-radius:50%;display:inline-block;width:26px;height:26px;line-height:26px}
.bar{position:absolute;height:23px;border:0;border-radius:7px;font-size:13px;font-weight:800;padding:0 4px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.lbl{font-weight:800;font-size:18px;margin:12px 0 4px}.drow{display:block;width:100%;text-align:left;background:#FAF8FF;border:0;border-radius:14px;padding:12px 14px;margin-top:6px}
.drow b{display:block;font-size:20px}.drow span{font-size:16px;color:#6E6A7C}.sheet .box{max-height:80vh;overflow-y:auto}
.tabs b{font-size:15px}
.day{display:flex;align-items:flex-start;justify-content:center}
.tabs{z-index:5}
.row.tap{cursor:pointer}.row.tap:active{background:#F6F2FF}.tmr{cursor:pointer}
.rm{padding:2px 8px;border-radius:8px;font-size:15px}.ppl{color:#4B4560;font-size:15px}
.stps{padding:4px 14px}.stp{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #EFEAF8}.stp:last-child{border:0}
.stp span{flex:1;font-size:19px;font-weight:700}.stp button{width:52px;height:52px;border-radius:14px;border:2px solid #E9E4F5;background:#fff;font-size:28px;font-weight:800;color:#6B46C1}.stp b{width:36px;text-align:center;font-size:24px}
.cal{margin-bottom:24px}main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.save.paste{background:#F1ECFC;color:#6B46C1;margin-top:10px;padding:14px;font-size:19px}
.warn{background:#FFEBEE;border:2px solid #E53935;color:#B71C1C;border-radius:16px;padding:14px 16px;margin:12px 0;font-size:18px;font-weight:700}
.warn .s{color:#7F1D1D;font-weight:500;margin:6px 0}
.warn button{background:#fff;border:1px solid #E53935;color:#B71C1C;border-radius:10px;padding:8px 12px;margin:4px 6px 0 0;font-size:16px;font-weight:700}
.clean{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#E8F5E9;border-radius:16px;padding:14px 16px;margin:12px 0}
.clean .tt{font-size:19px;font-weight:800;color:#1B5E20}
.clean button{background:#2E7D32;color:#fff;border:0;border-radius:12px;padding:12px 14px;font-size:17px;font-weight:800;white-space:nowrap}
.clean.urgent{background:#FFEBEE;border:2px solid #E53935}.clean.urgent .tt{color:#B71C1C}
.clean .ug{display:inline-block;margin-top:6px;background:#E53935;color:#fff;border-radius:8px;padding:3px 8px;font-size:15px;font-weight:800}
.clean.done{background:#F1F8E9}.clean.done button{background:#fff;color:#2E7D32;border:1px solid #2E7D32}
.nudge{position:relative;background:#FFF8E1;border:2px solid #FFB300;border-radius:16px;padding:14px 44px 14px 16px;margin:12px 0}
.nudge .tt{font-size:19px;font-weight:800;color:#6D4C00}.nudge .s{color:#5D4300;margin:6px 0;font-size:17px}.nudge .sm{font-size:14px;opacity:.8}
.nudge .x{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:#FFE082;color:#6D4C00;font-size:18px}
.nudge .lk{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.nudge .lk a{background:#fff;border:1px solid #FFB300;color:#6D4C00;border-radius:10px;padding:9px 12px;font-weight:700;text-decoration:none;font-size:16px}
.nudge .pr{background:#fff;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:17px;color:#4E3500;line-height:1.5}
.nudge .pr .sg{color:#C62828}.nudge .pr small{display:block;font-size:13px;opacity:.7}
