:root{font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:#233f59;background:#f2fbff;font-synthesis:none;--green: #087c98;--line: #d9eaf2;--orange: #ec6686}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:0;border-radius:9px;background:var(--green);color:#fff;padding:.7rem 1rem;text-decoration:none;font-size:.85rem;display:inline-block}button:hover,.button:hover{filter:brightness(1.08)}button:disabled{opacity:.4;cursor:default}.quiet{background:transparent;color:#436562}.light{background:#e8eee6;color:var(--green)}a{color:#236467}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:.7rem;background:#fffef9;color:inherit;max-width:100%}textarea{min-height:110px;resize:vertical}label{display:grid;gap:.4rem;font-size:.85rem}.check{display:flex;align-items:center;gap:.4rem}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(1.4rem,4vw,2rem);letter-spacing:-.045em}h3{letter-spacing:-.035em}p{line-height:1.8;white-space:pre-wrap}small{color:#75847b;font-size:.75rem}.eyebrow{font-size:.67rem;letter-spacing:.14em;font-weight:700;color:#59827b;display:block;margin-bottom:.7rem}header{max-width:1150px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:2.5rem 2rem 1.5rem}header h1{font-size:1.45rem;letter-spacing:-.05em;margin:0}header h1 span{font-size:1rem;margin-left:.5rem}.header-controls{display:flex;align-items:center;font-size:.8rem}nav{position:sticky;top:0;z-index:5;display:flex;gap:.4rem;padding:.7rem max(1rem,calc((100vw - 1086px)/2));background:#f2fbfff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}nav button{background:#e3f2fa;color:#476a85;border-radius:12px 12px 0 0;padding:.9rem 1.5rem}nav .selected{background:var(--green);color:#fff}.event-action-target{position:relative;-webkit-touch-callout:none}.event-action-target .event{padding-right:3rem}.event-more{position:absolute;right:.3rem;top:.5rem;font-size:1.4rem;min-width:42px}.event-menu-backdrop{position:fixed;inset:0;z-index:100;background:#15344866;display:flex;align-items:center;justify-content:center;padding:1rem}.event-menu{background:#fff;border-radius:18px;padding:1.2rem;width:min(100%,400px);max-height:80vh;overflow:auto;box-shadow:0 16px 60px #15344844}.event-menu>button{display:block;width:100%;text-align:left}.event-menu>.quiet{text-align:right}@media(max-width:600px){.event-menu-backdrop{align-items:flex-end}}main{max-width:1086px;margin:auto;padding:1.5rem 1.2rem 4rem}.toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;color:#6d7e76;font-size:.8rem}.toolbar select{background:transparent}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0}.section-heading h2{margin:0}.weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.5rem}.weather{background:linear-gradient(125deg,#e4f9ff,#f0efff);border:1px solid #d5e9fa;border-radius:15px;padding:1.4rem}.weather h3{font-size:2.5rem;margin:.5rem 0}.weather p{font-size:.9rem;margin:.6rem 0}.hourly{display:flex;gap:1rem;overflow:auto;padding:1rem 0}.hourly>div{display:grid;gap:.4rem;min-width:65px;text-align:center}.focus{border-radius:16px;background:var(--green);color:#fffdf2;padding:1.8rem;margin:1.5rem 0}.focus .eyebrow{color:#c4d3b8}.focus .button,.focus button{background:#eee7ca;color:#174e50}.focus h2{margin:.5rem 0}.event{display:grid;grid-template-columns:86px 1fr;gap:1.2rem;padding:1.6rem 1.4rem;background:#fffefa;border:1px solid #e7e5da;border-radius:13px;margin:.7rem 0}.event.active{border:2px solid #669681;background:#f1f8ef}.event.past{opacity:.74}.event p{font-size:.85rem;margin:.4rem 0}.time{font-size:.9rem;color:var(--green);font-weight:700;border-right:1px solid #e2e6db;padding-right:.7rem}.time small{display:block}.title-button{background:none;padding:0;color:#233e37;text-align:left;font-size:1.08rem;font-weight:700}.badges{display:flex;gap:.5rem;margin-bottom:.4rem}.badges span{font-size:.63rem;color:#7f8574;background:#f0f0e6;padding:.15rem .4rem;border-radius:4px}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.8rem 0}.departure{color:#a26338!important}.inline-note{background:#f6f0de;padding:.6rem .8rem;border-radius:8px}.now-line{display:flex;align-items:center;color:#c86945;font-size:.8rem;margin:1rem 0}.now-line:after{content:"";flex:1;height:1px;background:#c86945;margin-left:.6rem}.flight,.note-card,.panel{border:1px solid var(--line);background:#fffefa;border-radius:14px;padding:1.4rem;margin:1rem 0}.flight{border-left:4px solid var(--orange)}.calendar{background:#fffefa;border-radius:16px;padding:1.5rem;margin-bottom:2rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.calendar-grid>small{text-align:center;margin:.5rem}.calendar-grid button{background:none;color:#6b796d;min-height:63px;border:1px solid transparent;padding:.5rem}.calendar-grid button.travel-day{background:#e9eee3;color:#214e47}.calendar-grid small{display:block;font-size:.6rem}.day-section{scroll-margin-top:90px;margin-top:2.5rem}.expense{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0}.expense>div{flex:1}.expense p{font-size:.75rem;margin:0}.expense strong{font-size:.85rem}.empty{text-align:center;padding:3rem 1rem;color:#798678}.empty button{display:block;margin:1rem auto}.notice,.error{border-radius:10px;padding:1rem;font-size:.85rem;background:#eee8d5}.error{background:#fae3dc;color:#a43f25}footer{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}footer a{font-size:.75rem}.overlay{position:fixed;inset:0;background:#102c2ca8;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:#fffefa;border-radius:18px;max-width:680px;width:100%;max-height:92vh;overflow:auto;padding:2rem;box-shadow:0 20px 80px #13282555}.close{float:right;background:transparent;color:#567468}.editor{display:grid;gap:1rem}.editor h2{margin:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}fieldset{border:1px solid var(--line);border-radius:10px;display:grid;gap:.6rem}legend{font-size:.8rem;color:#5a7767}.private{background:#f3efdf;border-left:3px solid #ae9d63;padding:1rem;font-size:.85rem}.attachment{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.file-input{margin:1rem 0}.viewer{max-width:950px}.ticket-navigation{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1rem 0;padding:.75rem;background:#edf9ff;border-radius:12px}.ticket-navigation span{font-weight:700;white-space:nowrap;font-size:.85rem}.ticket-navigation button{padding:.6rem .7rem}.viewer iframe{width:100%;height:65vh;border:0;margin-top:1rem}.viewer img{width:100%;height:auto;margin-top:1rem}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.login-cover{background:var(--green);color:#f4eacd;padding:10vh 10%;display:flex;flex-direction:column;justify-content:center}.login-cover .eyebrow{color:#b3c6ad}.login-cover h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6rem);font-weight:400;letter-spacing:-.06em;line-height:1.1;margin:1rem 0 2rem}.wave{font-size:5rem;color:#d1bb84;letter-spacing:-.3em;margin:1rem 0}.login-form{padding:3rem;max-width:450px;width:100%;margin:auto;display:grid;gap:1.3rem}summary{cursor:pointer;font-size:.85rem}details[open]>summary{margin-bottom:1rem}:focus-visible{outline:3px solid #c88548;outline-offset:3px}.dropdown{position:relative;display:inline-block;min-width:0;width:100%;font-weight:400}.dropdown>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:#fff;color:#233f59;border:1px solid var(--line);min-height:44px;text-align:left}.dropdown-options{position:absolute;z-index:50;top:calc(100% + 5px);left:0;min-width:100%;max-height:240px;overflow:auto;background:#fff;border:1px solid #c8e0ec;border-radius:12px;padding:.3rem;box-shadow:0 12px 30px #23475b26;display:grid}.dropdown-options [role=option]{cursor:pointer;padding:.7rem .8rem;border-radius:8px;font-size:.85rem}.dropdown-options [role=option].highlighted,.dropdown-options [aria-selected=true]{background:#e8f7fd;color:#086981}.dropdown-options [aria-disabled=true]{opacity:.4}.toolbar .dropdown{width:auto;min-width:150px}.day-actions{display:flex;gap:.5rem;flex-wrap:wrap}button,.button{border-radius:10px;min-height:42px;font-weight:600}.event .actions button,.event .actions .button{background:#f1f9fd;color:#176780;border:1px solid #d7eaf3;padding:.65rem .85rem;font-size:.82rem}.event .actions .quiet{background:#fff}.event .actions{gap:.5rem}.day-heading .day-actions button{background:#087c98;color:#fff;border:1px solid #087c98}.day-heading .day-actions .light{background:#fff;color:#087c98;border-color:#c7e4ef}.currency-calculator{border-color:#c8e6f3}.currency-calculator .section-heading{margin-top:0;gap:1rem;flex-wrap:wrap}.currency-calculator h2{font-size:1.25rem}.calculator-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:.8rem}.calculator-inputs output{padding:.7rem;font-size:1.5rem;font-weight:750;color:#087c98;overflow-wrap:anywhere}.rate-caption{font-size:.78rem;color:#52748b;margin:.8rem 0}.rate-settings{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem}.rate-settings a,.editor a{font-size:.75rem}@media(max-width:650px){.calculator-inputs{grid-template-columns:1fr 1fr}.calculator-inputs output{grid-column:1 / -1;padding:.3rem 0}.day-actions button{padding:.6rem .8rem}.day-heading{align-items:flex-start}}body{background:radial-gradient(ellipse at top right,#ffeaf2 0,transparent 45%),#f2fbff}input,select,textarea,.modal,.calendar,.flight,.note-card,.panel,.event{background:#fff}small,.eyebrow,.toolbar,legend,.quiet,.close{color:#52748b}a{color:#087c98}.light{background:#e7f7fd;color:#086981}.focus{background:linear-gradient(125deg,#087c98,#437ecc);color:#fff}.focus .eyebrow,.login-cover .eyebrow{color:#e0f6ff}.focus .button,.focus button{background:#fff;color:#096b86}.title-button{color:#233f59}.time{border-color:#dcecf6}.badges span{background:#eef5ff;color:#466585}.inline-note{background:#fff0f6}.private,.notice{background:#eef5ff;border-color:#90b7e7}.departure{color:#ae4267!important}.calendar-grid button.travel-day{background:#e6f6ff;color:#086981}.calendar-grid button.travel-day:hover{background:#ffedf5}.login-cover{background:linear-gradient(140deg,#07879b,#5782d9);color:#fff}.wave{color:#ffcadf}.event.active{background:#edfaff;border-color:#55bdd7}.day-card{background:#fff;border:1px solid #d9eaf2;border-radius:22px;overflow:hidden;box-shadow:0 8px 28px #2a70910a}.day-heading{padding:1.25rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(110deg,#e8f8ff,#fff0f6);border-bottom:1px solid #d9eaf2}.day-heading h3{margin:0}.day-heading button{background:#fff;color:#096b86;border:1px solid #c7e4ef}.day-card .event{border:0;border-radius:0;margin:0;background:transparent}.day-card .event-action-target+.event-action-target{border-top:1px solid #e6eff5}.day-card .event.active{background:#edfaff}.day-card .now-line,.day-card .gap{margin:.8rem 1.4rem}.file-input{padding:1rem;background:#edf9ff;border:2px dashed #a5d9eb;border-radius:14px;font-weight:700}.file-input small{font-weight:400}.file-input input{width:100%;min-width:0}@media(max-width:650px){.day-heading{padding:1rem .8rem;flex-wrap:wrap;gap:.7rem}.day-heading h3{font-size:1rem}header{padding:1.6rem 1rem}header h1{font-size:1.1rem}header h1 span{display:block;margin:.3rem 0}nav{padding:.5rem .8rem 0;gap:.25rem;overflow-x:auto}nav button{flex:1 0 auto;white-space:nowrap;padding:.8rem .6rem}main{padding:1rem .8rem 3rem}.toolbar{gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.event{grid-template-columns:62px 1fr;gap:.7rem;padding:1rem .8rem}.time{font-size:.76rem}.title-button{font-size:.96rem}.modal{padding:1.2rem;max-height:95vh}.overlay{padding:.5rem}.login{display:block}.login-cover{padding:2rem}.login-cover h1{font-size:3rem;margin:.5rem 0 1rem}.wave{display:none}.login-cover>p:last-child{display:none}.login-form{padding:2rem 1.5rem}.calendar{padding:.8rem}.calendar-grid{gap:.15rem}.calendar-grid button{padding:.3rem;min-height:55px}.expense{gap:.4rem;flex-wrap:wrap}.two{grid-template-columns:1fr}.section-heading{gap:.7rem}.focus{padding:1.2rem}}
