:root{--bg:#f4f6f9;--card:#fff;--ink:#1b2430;--sub:#5b6676;--line:#d9dee6;--main:#1f4e79;--main-ink:#fff;--accent:#f5b700;--bad:#c62828;--good:#2e7d32;--tab-h:64px}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--card:#1c222b;--ink:#e8ecf1;--sub:#9aa5b4;--line:#2e3744;--main:#3b7cc0}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:17px/1.5 system-ui,-apple-system,Malgun Gothic,Apple SD Gothic Neo,sans-serif}button,input,textarea,select{font:inherit;color:inherit}input,textarea{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;min-height:46px;padding:10px 12px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid var(--main);outline-offset:-1px}.page{max-width:640px;min-height:100vh;margin:0 auto}.page.with-tabs{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.bar{z-index:5;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--main);color:var(--main-ink);align-items:center;gap:8px;display:flex;position:sticky;top:0}.bar h1{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:19px;overflow:hidden}.bar .who,.bar .saving{opacity:.9;font-size:14px}.bar .saving.bad{color:#ffd1d1;font-weight:700}.back{color:inherit;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:0 10px 4px 0;font-size:32px;line-height:1}.body{flex-direction:column;gap:14px;padding:16px;display:flex}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:46px;padding:8px 16px;text-decoration:none;display:inline-flex}.btn.primary{background:var(--main);border-color:var(--main);color:var(--main-ink);font-weight:700}.btn.big{width:100%;min-height:56px;font-size:18px}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.ghost{color:#fff;background:0 0;border-color:#fff6}.btn:disabled{opacity:.55}.link{color:var(--sub);cursor:pointer;background:0 0;border:0;padding:10px;text-decoration:underline}.foot-links{justify-content:space-between;margin-top:16px;display:flex}.err{color:var(--bad);margin:0}.hint,.empty{color:var(--sub);margin:0}.center-msg{min-height:60vh;color:var(--sub);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.login{flex-direction:column;gap:14px;max-width:380px;margin:0 auto;padding:48px 20px;display:flex}.login h1{text-align:center;margin:0 0 8px}.login-icon{width:72px;height:72px;margin:0 auto}label{color:var(--sub);flex-direction:column;gap:4px;font-size:15px;display:flex}label input,label textarea{color:var(--ink);font-size:17px}label.check{flex-direction:row;align-items:center;gap:10px}label.check input{width:22px;min-height:22px}label.small{flex:1}.cards,.list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.card,.item{text-align:left;border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;width:100%;padding:14px 16px;display:flex}.item.static{cursor:default}.card small,.item-meta{color:var(--sub);font-size:14px}.item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.item-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;display:-webkit-box;overflow:hidden}.tag{background:var(--bg);color:var(--sub);border-radius:99px;padding:2px 8px;font-size:13px}.row-inline{align-items:flex-end;gap:8px;display:flex}.row-inline input{flex:1}.form>.col{display:contents}.s-weather{order:1}.s-work{order:2}.s-next{order:3}.s-labor{order:4}.s-photo{order:5}.s-note{order:6}.s-hint{order:7}.form section{flex-direction:column;gap:8px;display:flex}.form h2,.box h2{color:var(--sub);margin:0;font-size:16px}.form h2 small{margin-left:6px;font-weight:400}.box{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:99px;min-width:64px;min-height:44px;padding:6px 14px}.chip.on{background:var(--main);border-color:var(--main);color:var(--main-ink);font-weight:700}.labor{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.labor li{grid-template-columns:1fr 1fr auto auto;align-items:center;gap:6px;display:grid}@media (width<=420px){.labor li{border-bottom:1px dashed var(--line);grid-template-columns:1fr 1fr;padding-bottom:8px}}.stepper{align-items:center;display:flex}.stepper button{border:1px solid var(--line);background:var(--card);cursor:pointer;width:44px;height:46px;font-size:22px}.stepper button:first-child{border-radius:10px 0 0 10px}.stepper button:last-child{border-radius:0 10px 10px 0}.stepper input{text-align:center;border-left:0;border-right:0;border-radius:0;width:52px}.labor .x{width:44px;height:46px;color:var(--sub);cursor:pointer;background:0 0;border:0;font-size:18px}.day{color:var(--sub);margin:8px 0;font-size:15px}.grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}@media (width>=560px){.grid{grid-template-columns:repeat(4,1fr)}}.thumb{aspect-ratio:1;background:var(--line);cursor:pointer;border:0;border-radius:6px;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.viewer{z-index:20;color:#fff;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer img{object-fit:contain;flex:1;width:100%;min-height:0}.viewer-top,.viewer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.viewer-top{padding-top:calc(10px + env(safe-area-inset-top))}.viewer-bottom{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.viewer-bottom>div{gap:8px;display:flex}.viewer .btn.danger{color:#ff8a80;background:0 0;border-color:#ff8a80}.tabs{z-index:5;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{max-width:320px;height:var(--tab-h);color:var(--sub);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}.tabs button.on{color:var(--main);font-weight:700}.tabs .ti{font-size:22px;line-height:1.1}@media (width>=760px){.page{max-width:1100px}.tabs button{max-width:400px}.list{grid-template-columns:1fr 1fr;display:grid}.list>li>.item,.cards>li>.card{height:100%}.cards{grid-template-columns:1fr 1fr;display:grid}.grid{grid-template-columns:repeat(6,1fr)}.form{grid-template-columns:1fr 1.25fr;align-items:start;column-gap:24px;display:grid}.form>.err,.form>.s-hint{grid-column:1/-1}.form>.col{flex-direction:column;gap:14px;display:flex}.form .grid{grid-template-columns:repeat(4,1fr)}.stepper button{width:38px}.stepper input{width:44px}.labor li{border-bottom:0;grid-template-columns:1.3fr 1fr auto auto;padding-bottom:0}}.auth{flex-direction:column;min-height:100vh;display:flex}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:36px 20px 8px;display:flex}.auth-brand img{width:64px;height:64px}.auth-brand b{font-size:24px}.auth-brand span{color:var(--sub);font-size:14px}.auth-main{flex-direction:column;gap:14px;width:100%;max-width:420px;margin:0 auto;padding:16px 20px 40px;display:flex}.auth-main h1{margin:8px 0 0;font-size:22px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form small,label small{color:var(--sub);font-weight:400}.auth-links{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:4px 12px;padding-top:10px;display:flex}@media (width>=900px){.auth{flex-direction:row}.auth-brand{background:var(--main);color:#fff;flex:0 0 42%;justify-content:center;padding:40px}.auth-brand img{border-radius:22px;width:96px;height:96px;box-shadow:0 0 0 3px #ffffff40}.auth-brand b{font-size:34px}.auth-brand span{color:#fffc;font-size:16px}.auth-main{justify-content:center;padding:40px}}.seg{border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.seg button{background:var(--card);cursor:pointer;border:0;flex:1;min-height:46px}.seg button.on{background:var(--main);color:var(--main-ink);font-weight:700}.ok-box{background:color-mix(in srgb, var(--good) 12%, var(--card));border:1px solid color-mix(in srgb, var(--good) 40%, var(--line));border-radius:12px;margin:0;padding:14px 16px;line-height:1.7}.ok-box ul{margin:6px 0;padding-left:20px}.ok-box .pw{letter-spacing:1px;font-family:Consolas,monospace;font-size:20px}.ok-box .btn{margin-top:8px}.notice{text-align:left;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--card));cursor:pointer;border-radius:12px;padding:12px 16px}.badge{background:var(--bad);color:#fff;text-align:center;border-radius:99px;min-width:20px;margin-left:4px;padding:0 6px;font-size:12px;text-decoration:none;display:inline-block}.mute{color:var(--sub);font-weight:400}select{border:1px solid var(--line);background:var(--card);border-radius:10px;max-width:100%;min-height:46px;padding:8px 10px}.row-inline.wrap{flex-wrap:wrap}.list.one{display:flex}.foot-links{flex-wrap:wrap}.install{flex-direction:column;gap:8px;display:flex}.install-btn{border-style:dashed;border-color:var(--main);width:100%;color:var(--main);font-weight:700}.install-help{font-size:15px}
