:root{--primary:#2563eb;--danger:#dc2626;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#f3f4f6;--card:#fff;--radius:12px;--nav-h:60px;--safe-b:env(safe-area-inset-bottom,0px);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{overscroll-behavior-y:none;font-size:16px}input,textarea,button,select{font:inherit;color:inherit}input,textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px;font-size:16px}input:focus,textarea:focus{outline:2px solid var(--primary);border-color:#0000}a{color:var(--primary);text-decoration:none}h3{margin:0 0 10px;font-size:15px}.page{min-height:100%;padding-bottom:calc(var(--nav-h) + var(--safe-b) + 12px)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);font-size:14px}.error-bar{color:var(--danger);background:#fee2e2;padding:6px 10px;font-size:13px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;color:var(--text);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:10px 14px;font-size:15px;display:inline-flex}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.btn.danger{color:var(--danger)}.btn.big{width:100%;padding:15px;font-size:17px}.btn.small{padding:6px 10px;font-size:13px}.btn.block{width:100%;margin-top:8px}.btn:disabled{opacity:.6}.link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:6px;font-size:15px}.link.danger{color:var(--danger)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;padding:8px 13px;font-size:14px}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.sep{background:var(--line);flex-shrink:0;width:1px;margin:4px 2px}.badge{color:#fff;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.badge.gray{background:#9ca3af}.status{color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:12px}.topbar{z-index:20;height:52px;padding:0 4px;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--line);background:#fff;grid-template-columns:56px 1fr 56px;align-items:center;display:grid;position:sticky;top:0}.topbar b{text-align:center}.topbar .link:last-child{justify-self:end}.bottom-nav{z-index:30;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);border-top:1px solid var(--line);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:20px;display:flex}.bottom-nav a span{margin-top:2px;font-size:11px}.bottom-nav a.active{color:var(--primary)}.bottom-nav a.nav-add{color:var(--primary);font-size:24px;font-weight:700}.map-page{height:100%;padding:0;position:relative;overflow:hidden}.map-page .map{inset:0;bottom:calc(var(--nav-h) + var(--safe-b));position:absolute}.map-top{z-index:10;padding:10px;padding-top:calc(env(safe-area-inset-top,0px) + 10px);position:absolute;top:0;left:0;right:0}.map-top .chip{box-shadow:0 1px 4px #00000026}.map-error{text-align:center;color:var(--danger);padding:90px 20px 40px}.fab-me{right:12px;bottom:calc(var(--nav-h) + var(--safe-b) + 16px);z-index:10;background:#fff;border:none;border-radius:50%;width:46px;height:46px;font-size:22px;position:absolute;box-shadow:0 2px 8px #00000040}.pin{color:#fff;white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:5px 8px;font-size:12px;font-weight:700;display:flex;position:relative;box-shadow:0 2px 6px #0000004d}.pin:after{content:"";border:6px solid #0000;border-bottom:0;border-top-color:inherit;border-top-color:#00000059;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.pin b{color:#111;background:#fff;border-radius:999px;padding:0 6px;font-size:11px}.me-dot{background:#2563eb;border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 6px #2563eb40}.other-dot{opacity:.8;background:#6b7280;border:2px solid #fff;border-radius:50%;width:12px;height:12px}.sheet{left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-b));z-index:15;background:var(--bg);border-radius:16px 16px 0 0;flex-direction:column;max-height:55%;display:flex;position:absolute;box-shadow:0 -4px 16px #00000026}.sheet-head{background:#fff;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;gap:8px;padding:14px;display:flex}.sheet-list{flex-direction:column;gap:8px;padding:8px;display:flex;overflow-y:auto}.card{text-align:left;background:var(--card);border-radius:var(--radius);cursor:pointer;border:none;gap:10px;width:100%;padding:10px;display:flex;box-shadow:0 1px 2px #0000000d}.card-img,.img-empty{object-fit:cover;background:#e5e7eb;border-radius:10px;flex-shrink:0;width:84px;height:84px}.img-empty{justify-content:center;align-items:center;font-size:26px;display:flex}.card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.card-top{align-items:center;gap:6px;font-size:13px;display:flex}.card-type{color:var(--muted)}.card-price{font-size:17px;font-weight:700}.card-sub{font-size:13px}.card-addr,.card-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.card-summary{color:#b45309}.list-top{z-index:10;padding:10px;padding-top:calc(env(safe-area-inset-top,0px) + 10px);border-bottom:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;display:flex;position:sticky;top:0}.list-count{color:var(--muted);justify-content:space-between;align-items:center;padding:8px 12px 0;font-size:13px;display:flex}.list{flex-direction:column;gap:8px;padding:8px;display:flex}.edit-loc{flex-direction:column;height:100%;padding:0;display:flex}.picker{flex:1;min-height:240px;position:relative}.picker .map{position:absolute;inset:0}.center-pin{pointer-events:none;z-index:5;font-size:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.loc-tools{top:calc(env(safe-area-inset-top,0px) + 62px);z-index:6;gap:8px;display:flex;position:absolute;left:10px;right:10px}.loc-tools .btn{box-shadow:0 2px 6px #0003}.loc-panel{padding:14px;padding-bottom:calc(var(--safe-b) + 14px);background:#fff;flex-direction:column;gap:10px;display:flex;box-shadow:0 -2px 10px #00000014}.loc-panel .addr{font-weight:700}.nearby{background:#fffbeb;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.edit-form{padding-bottom:calc(90px + var(--safe-b))}.form{flex-direction:column;gap:14px;padding:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field .label{font-size:14px;font-weight:600}.field .label em{color:var(--danger);font-style:normal}.with-unit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.with-unit input{flex:1;min-width:120px}.unit{color:var(--muted);font-size:14px}.unit-toggle{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:14px}.hint{width:100%;color:var(--primary);font-size:13px}.loc-summary{border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;padding:12px;display:flex}.group{border-radius:var(--radius);background:#fff;padding:0 12px}.group summary{cursor:pointer;padding:14px 0;font-weight:700}.group[open]{padding-bottom:14px}.group .field+.field{margin-top:12px}.save-bar{z-index:30;padding:10px 12px;padding-bottom:calc(var(--safe-b) + 10px);border-top:1px solid var(--line);background:#fff;position:fixed;bottom:0;left:0;right:0}.photo-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.photo-thumb{aspect-ratio:1;position:relative}.photo-thumb img{object-fit:cover;border-radius:8px;width:100%;height:100%}.photo-thumb button{color:#fff;background:#0009;border:none;border-radius:50%;width:22px;height:22px;font-size:12px;position:absolute;top:2px;right:2px}.photo-add,.strip-add{aspect-ratio:1;border:2px dashed var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:22px;display:flex}.photo-add span,.strip-add span{color:var(--muted);font-size:12px}.photo-strip{background:#fff;gap:6px;padding:10px;display:flex;overflow-x:auto}.strip-img{object-fit:cover;border-radius:10px;flex-shrink:0;width:120px;height:120px}.strip-add{flex-shrink:0;width:120px;height:120px}.head-info{background:#fff;flex-direction:column;gap:4px;padding:4px 14px 14px;display:flex}.big-price{font-size:24px;font-weight:800}.big-price small{color:var(--muted);font-size:14px;font-weight:500}.summary{color:#92400e;background:#fffbeb;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:14px}.actions{gap:6px;padding:10px;display:flex;overflow-x:auto}.info{background:#fff;margin:8px 0;padding:14px}.info dl{flex-direction:column;gap:8px;margin:0;display:flex}.info dl div{gap:10px;font-size:15px;display:flex}.info dt{width:100px;color:var(--muted);flex-shrink:0}.info dd{white-space:pre-wrap;word-break:break-all;margin:0}.info .card{box-shadow:none;border:1px solid var(--line);margin-top:6px}.doc-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.doc-row .link{text-align:left;flex:1}.info .chips{margin-top:10px}.memo-input{align-items:stretch;gap:6px;margin-bottom:10px;display:flex}.note{border-top:1px solid var(--line);padding:8px 0}.note-head{align-items:center;gap:6px;font-size:14px;display:flex}.note-head .link{margin-left:auto}.note-body{white-space:pre-wrap;margin-top:2px}.detail-foot{justify-content:space-between;align-items:center;padding:12px;display:flex}.viewer{z-index:100;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer-img{object-fit:contain;max-width:100%;max-height:100%}.modal{z-index:50;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.postcode{flex:1}.login{flex-direction:column;justify-content:center;gap:12px;max-width:360px;min-height:100%;margin:0 auto;padding:60px 24px;display:flex}.login h1{text-align:center;margin:0 0 16px}.login .muted{text-align:center}.login-logo{background:var(--primary);color:#fff;border-radius:18px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto;font-size:40px;font-weight:800;display:flex}.help{border-radius:var(--radius);background:#fff;padding:14px;font-size:14px}.help p{margin:6px 0}@media (width>=720px){.list,.form,.detail>:not(.topbar):not(.viewer){max-width:720px;margin-left:auto;margin-right:auto}}
