:root{color-scheme:light;--bg:#f5f7fb;--bg-strong:#eef3fa;--surface:rgba(255,255,255,0.9);--surface-strong:#ffffff;--surface-soft:#f7f9fc;--ink:#17202b;--muted:#647184;--line:rgba(23,32,43,0.09);--line-strong:rgba(23,32,43,0.14);--accent:#0f8b8d;--accent-soft:#dff5f4;--danger:#cf5b4e;--danger-soft:#ffe7e3;--neutral:#718095;--neutral-soft:#e7edf5;--success:#1d7a6b;--success-soft:#dcf5ef;--shadow:0 24px 70px rgba(51,71,91,0.1)}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,rgba(15,139,141,.08),transparent 22%),radial-gradient(circle at bottom right,rgba(160,181,209,.18),transparent 30%),linear-gradient(180deg,#fbfcfe 0,var(--bg) 52%,var(--bg-strong) 100%)}body{margin:0;color:var(--ink);font-family:SUIT Variable,Noto Sans KR,Apple SD Gothic Neo,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,input{border:0}input{outline:0}.workspace-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:18px 0 40px}.empty-state-card,.map-card,.panel-card,.quick-add-card,.selected-marker-card,.workspace-hero{background:var(--surface);border:1px solid rgba(255,255,255,.85);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspace-hero{display:grid;grid-gap:20px;gap:20px;padding:24px 20px}.hero-heading{display:grid;grid-gap:12px;gap:12px}.eyebrow{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;width:-moz-fit-content;width:fit-content;border-radius:999px;background:rgba(23,32,43,.05);color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.4rem,9vw,4.8rem);line-height:.94;letter-spacing:-.06em}.hero-copy{margin:0;max-width:720px;color:var(--muted);font-size:15px;line-height:1.72}.account-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid var(--line)}.account-copy{display:grid;grid-gap:4px;gap:4px}.account-copy span,.account-copy strong{margin:0}.account-copy span{color:var(--muted);font-size:13px}.account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-link{background:rgba(23,32,43,.06);color:#445264;font-size:13px;text-decoration:none}.account-link,.role-pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:14px;font-weight:800}.role-pill{font-size:12px;letter-spacing:.08em}.role-master{background:rgba(23,32,43,.1);color:#17202b}.role-general{background:rgba(145,214,197,.3);color:#16736d}.role-beginer{background:rgba(244,166,36,.18);color:#9a6408}.account-logout{min-height:42px;padding:0 14px;border-radius:14px;background:#17202b;color:#fff;font-weight:800;cursor:pointer}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.metric-card{display:grid;grid-gap:8px;gap:8px;min-height:106px;padding:16px 14px;border-radius:22px;background:var(--surface-strong);border:1px solid var(--line)}.metric-card small,.metric-card span{color:var(--muted)}.metric-card span{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.metric-card strong{font-size:clamp(1.9rem,7vw,2.8rem);letter-spacing:-.05em;line-height:1}.metric-card small{font-size:12px;line-height:1.45}.workspace-stack{display:grid;grid-gap:18px;gap:18px;margin-top:18px}.map-card,.panel-card{padding:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header-split{align-items:flex-start}.panel-header-centered{flex-direction:column;align-items:center;text-align:center;gap:10px}.panel-title-stack{text-align:center}.panel-header span{display:block;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.panel-header strong{color:var(--ink);font-size:1rem}.status-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.panel-header-centered .status-pills{justify-content:center}.panel-header .status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:800;text-align:center}.status-accent{background:var(--accent-soft);color:var(--accent)}.status-neutral{background:var(--neutral-soft);color:var(--neutral)}.selected-marker-card{display:grid;grid-gap:10px;gap:10px;padding:20px;margin-bottom:14px}.selected-marker-card h2,.selected-marker-card p,.selected-marker-card small{margin:0}.selected-marker-card p{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.selected-marker-card h2{font-size:1.2rem;line-height:1.45}.selected-marker-card small{font-size:13px;line-height:1.55;opacity:.85}.selected-state{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:32px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:800}.tone-red{background:linear-gradient(135deg,#fef6f5,#f9ece8)}.tone-amber{background:linear-gradient(135deg,#fff7e7,#fdf0cf)}.tone-teal{background:linear-gradient(135deg,#eefcf9,#dff5f4)}.tone-ink,.tone-slate{background:linear-gradient(135deg,#f4f7fb,#e8eef6)}.tone-deleted{background:linear-gradient(135deg,#f1f4f8,#e6ebf1);color:#4f5d70}.tone-empty{background:linear-gradient(135deg,#f8fafc,#eef3fa)}.state-pending{background:#eef2f7;color:#546274}.state-completed{background:var(--success-soft);color:var(--success)}.state-deleted{background:#e7ebf1;color:#6b7788}.quick-add-card{padding:18px;margin-bottom:14px}.quick-add-label{display:block;margin-bottom:10px;font-size:13px;font-weight:800;color:var(--ink)}.quick-add-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;grid-gap:10px;gap:10px}.quick-add-input{min-height:52px;padding:0 16px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--ink)}.quick-add-input::placeholder{color:#96a2b3}.action-chip,.quick-add-button{min-height:52px;border-radius:18px;font-weight:800;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease}.action-chip:hover,.quick-add-button:hover{transform:translateY(-1px)}.action-chip:disabled,.quick-add-button:disabled{opacity:.52;cursor:not-allowed;transform:none}.quick-add-button{background:linear-gradient(135deg,#16202c,#2f4156);color:#fff;box-shadow:0 14px 28px rgba(31,39,51,.16)}.form-hint{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:20px;margin-bottom:14px}.action-chip.success{background:var(--success-soft);color:var(--success)}.action-chip.danger{background:var(--danger-soft);color:var(--danger)}.action-chip.neutral{background:var(--neutral-soft);color:var(--neutral)}.map-stage{position:relative}.map-canvas{width:100%;min-height:400px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(237,243,250,.95),rgba(248,251,255,.98)),linear-gradient(45deg,rgba(23,32,43,.05) 25%,transparent 0),linear-gradient(-45deg,rgba(23,32,43,.05) 25%,transparent 0);background-size:auto,24px 24px,24px 24px;background-position:0 0,0 0,12px 12px}.map-overlay{position:absolute;inset:auto 16px 16px 16px;padding:14px 16px;border-radius:18px;background:rgba(20,29,39,.9);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.map-overlay p,.map-overlay strong{margin:0}.map-overlay p{margin-top:6px;color:rgba(255,255,255,.76);line-height:1.55}.map-overlay-error{background:rgba(192,77,62,.94)}.map-overlay-muted{background:rgba(71,82,98,.9)}.map-inline-note{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.6;text-align:center}.list-meta{color:var(--muted);font-size:12px;line-height:1.45;text-align:right}.panel-header-actions{display:grid;justify-items:end;grid-gap:10px;gap:10px}.panel-header-centered .list-meta{text-align:center}.panel-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:var(--neutral-soft);color:var(--neutral);font-size:12px;font-weight:800;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background .16s ease}.panel-toggle:hover{transform:translateY(-1px)}.marker-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.marker-list-collapsed{padding:18px;border-radius:20px;background:var(--surface-soft);border:1px solid var(--line)}.marker-list-collapsed p,.marker-list-collapsed strong{margin:0}.marker-list-collapsed strong{display:block;margin-bottom:8px}.marker-list-collapsed p{color:var(--muted);line-height:1.6}.marker-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:20px;background:var(--surface-strong);border:1px solid var(--line);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.marker-row:hover{transform:translateY(-1px)}.marker-row.is-selected{border-color:rgba(15,139,141,.28);box-shadow:0 14px 26px rgba(43,69,95,.08)}.marker-row.is-deleted{background:#eef2f6;border-color:rgba(113,128,149,.22)}.marker-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.marker-copy{min-width:0;text-align:left}.marker-address,.marker-title{margin:0}.marker-title{display:block;font-size:15px;line-height:1.4}.marker-address{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.5;word-break:break-word}.marker-row.is-deleted .marker-address{color:#788698}.marker-state{align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:800}.marker-dot,.marker-state{display:inline-flex;flex-shrink:0;border-radius:999px}.marker-dot{width:12px;height:12px;margin-top:5px;box-shadow:0 0 0 6px rgba(255,255,255,.7)}.empty-state-card{padding:18px;background:rgba(247,249,252,.98);border:1px dashed rgba(23,32,43,.14)}.empty-state-card p,.empty-state-card strong{margin:0}.empty-state-card strong{display:block;margin-bottom:8px}.empty-state-card p{color:var(--muted);line-height:1.6}.upload-card{background:rgba(255,255,255,.82)}.upload-grid{display:grid;grid-template-columns:78px minmax(0,1fr);grid-gap:14px;gap:14px;padding:16px;border-radius:22px;background:var(--surface-soft);border:1px dashed var(--line-strong)}.panel-card.upload-card .upload-grid{align-items:center}.panel-card.upload-card .upload-grid.upload-grid-locked{align-items:start}.upload-badge{display:grid;place-items:center;min-height:76px;border-radius:20px;background:linear-gradient(135deg,#18212c,#3a5066);color:#fff;font-size:14px;font-weight:800;letter-spacing:.08em}.upload-copy h3,.upload-copy p{margin:0}.upload-copy{text-align:center}.upload-copy h3{margin-bottom:8px;font-size:1.05rem}.upload-copy p{color:var(--muted);line-height:1.6}.upload-form-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-gap:10px;gap:10px;margin-top:14px}.upload-file-input{width:100%;min-height:50px;padding:12px 14px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--muted)}.upload-file-input::-webkit-file-upload-button{margin-right:10px;padding:10px 12px;border:0;border-radius:12px;background:var(--neutral-soft);color:var(--neutral);font-weight:800;cursor:pointer}.upload-file-input::file-selector-button{margin-right:10px;padding:10px 12px;border:0;border-radius:12px;background:var(--neutral-soft);color:var(--neutral);font-weight:800;cursor:pointer}.upload-submit{min-height:50px;border-radius:18px;background:linear-gradient(135deg,#16202c,#2f4156);color:#fff;font-weight:800;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease;box-shadow:0 14px 28px rgba(31,39,51,.16)}.upload-submit:hover{transform:translateY(-1px)}.upload-submit:disabled{opacity:.52;cursor:not-allowed;transform:none}.upload-file-name,.upload-success{margin-top:10px;font-size:12px}.upload-file-name{color:var(--muted)}.upload-success{color:var(--success);font-weight:700}.admin-panel{gap:14px}.admin-error-card{margin-top:4px}.admin-member-list,.admin-member-row{display:grid;grid-gap:12px;gap:12px}.admin-member-row{padding:16px;border-radius:22px;background:var(--surface-soft);border:1px solid var(--line)}.admin-member-copy{display:grid;grid-gap:4px;gap:4px}.admin-member-copy small,.admin-member-copy span,.admin-member-copy strong{margin:0}.admin-member-copy strong{color:var(--ink);font-size:1rem}.admin-member-copy span{color:var(--muted);font-size:.9rem}.admin-member-copy small{color:var(--muted);font-size:.82rem}.admin-member-metrics{display:grid;grid-gap:4px;gap:4px;margin-top:8px}.admin-member-metrics span{color:var(--muted);font-size:.78rem;line-height:1.45}.admin-member-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.role-select{min-width:138px;min-height:42px;padding:0 14px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface-strong);color:var(--ink);font-size:13px;font-weight:700}.import-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.import-summary div{padding:14px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line)}.import-summary span,.import-summary strong{display:block}.import-summary span{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:700}.import-summary strong{font-size:14px}.upload-progress-screen{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(245,247,251,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.upload-progress-card{width:min(460px,100%);display:grid;grid-gap:16px;gap:16px;padding:24px 20px;border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.92);box-shadow:var(--shadow)}.upload-progress-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:34px;padding:0 12px;border-radius:999px;background:var(--neutral-soft);color:var(--neutral);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upload-progress-card h2,.upload-progress-copy{margin:0}.upload-progress-card h2{font-size:1.4rem;line-height:1.35}.upload-progress-copy{color:var(--muted);line-height:1.65}.upload-progress-track{position:relative;overflow:hidden;min-height:14px;border-radius:999px;background:#e8edf5}.upload-progress-fill{height:14px;width:0;border-radius:inherit;background:linear-gradient(90deg,#0f8b8d,#63c7c4);transition:width .24s ease}.upload-progress-track.is-indeterminate .upload-progress-fill{width:42%;animation:upload-progress-slide 1.2s ease-in-out infinite}.upload-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.upload-progress-stats article{padding:14px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.upload-progress-stats span,.upload-progress-stats strong{display:block}.upload-progress-stats span{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:700}.upload-progress-stats strong{font-size:1.2rem;letter-spacing:-.04em}@keyframes upload-progress-slide{0%{transform:translateX(-120%)}to{transform:translateX(240%)}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px 14px}.auth-card{width:min(520px,100%);padding:28px 22px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.88);border-radius:30px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-heading{display:grid;grid-gap:12px;gap:12px;margin-bottom:22px}.auth-title{margin:0;font-size:clamp(2rem,8vw,3.1rem);line-height:.96;letter-spacing:-.05em}.auth-copy{margin:0;color:var(--muted);line-height:1.65}.auth-form{display:grid;grid-gap:12px;gap:12px}.auth-field{display:grid;grid-gap:8px;gap:8px}.auth-field span{font-size:13px;font-weight:800;color:var(--ink)}.auth-field input{min-height:54px;padding:0 16px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--ink)}.auth-checkbox{display:inline-flex;align-items:center;gap:10px;min-height:24px;margin-top:4px;color:var(--muted);font-size:14px}.auth-checkbox input{width:18px;height:18px;margin:0}.auth-error{margin:0;padding:12px 14px;border-radius:16px;background:var(--danger-soft);color:var(--danger);font-size:14px;font-weight:700}.auth-submit{min-height:56px;border-radius:18px;background:linear-gradient(135deg,#17202b,#314257);color:#fff;font-weight:800;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:18px;color:var(--muted);font-size:14px}.auth-footer p{margin:0}.auth-footer a{color:var(--accent);font-weight:800;text-decoration:none}@media (max-width:720px){.action-grid,.hero-metrics,.import-summary,.upload-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid .action-chip:last-child,.metric-card:last-child{grid-column:1/-1}.quick-add-row{grid-template-columns:1fr}.marker-row,.panel-header,.panel-header-split{flex-direction:column;align-items:flex-start}.list-meta,.panel-header-actions,.status-pills{justify-content:flex-start;text-align:left}.panel-header-actions{justify-items:start}.marker-row{align-items:stretch}.marker-state{align-self:flex-start}.account-strip{flex-direction:column;align-items:flex-start}.account-actions{width:100%}.upload-form-row,.upload-grid{grid-template-columns:1fr}.upload-progress-stats article:last-child{grid-column:1/-1}.admin-member-actions{flex-direction:column;align-items:stretch}.role-select{width:100%}}@media (min-width:900px){.workspace-shell{padding-top:28px}.workspace-hero{grid-template-columns:1.2fr .8fr;align-items:end;padding:28px}.workspace-stack{gap:20px}.map-card,.panel-card{padding:24px}.map-canvas{min-height:560px}}