:root{font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;color:#102a43;background:#f0f5fa;font-synthesis:none;--blue:#1683ff;--line:#dce7f2;--muted:#6a8198}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{background:white;border:1px solid var(--line);border-radius:9px;padding:9px 14px;color:#264969;transition:background .15s}button:hover{background:#f0f7ff;border-color:#9ecbff}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #80bbff;outline-offset:3px}input,select{border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:white;color:#193853}header{height:78px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#102a43;white-space:nowrap}.brand b{font-size:23px;letter-spacing:-.5px}.brand>span:last-child{font-size:14px;font-weight:600}.shield{color:var(--blue);font-size:37px;font-weight:900;line-height:1}.divider{height:22px;width:1px;background:#dce5f0;margin:0 3px}.account{display:flex;align-items:center;gap:10px;font-size:13px}.pill{display:inline-block;padding:5px 9px;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap}.blue{color:#086dd3;background:#e8f2ff}.red{color:#d94359;background:#fff0f2}.gray{background:#f0f4f8;color:#63798c}main{max-width:1520px;margin:auto;padding:40px 4vw 22px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#7092b3;margin-bottom:10px}h1{font-size:32px;letter-spacing:-1.3px;margin:0 0 10px}p{color:var(--muted);line-height:1.7;margin:0}h2{font-size:19px;letter-spacing:-.5px}h3{font-size:14px}.top-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.freshness{font-size:12px;color:var(--muted)}.freshness.stale{color:#b75b18}.icon-button{font-size:21px;padding:4px 11px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:27px}.metric{background:white;border:1px solid var(--line);border-radius:14px;min-height:117px;padding:23px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 9px #173a6110}.metric-icon{width:54px;height:54px;background:#f0f7ff;border-radius:15px;display:grid;place-items:center;font-size:26px;color:var(--blue)}.metric small{display:block;color:#657e97;font-weight:600;font-size:12px;margin-bottom:7px}.metric strong{font-size:30px;line-height:1.2;color:#123757}.metric:last-child strong{font-size:23px;color:var(--blue)}.tabs{display:flex;gap:15px;padding:0 8px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow:auto}.tabs button{border:0;border-radius:0;background:transparent;padding:12px 10px 15px;color:#627a93;white-space:nowrap;border-bottom:3px solid transparent;font-weight:700}.tabs button.active{border-color:var(--blue);color:var(--blue)}.records-panel,.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 15px #173a6107}.filter-bar{display:flex;align-items:center;gap:20px;padding:19px 22px;border-bottom:1px solid var(--line)}.search{display:flex;align-items:center;gap:12px;flex:1;border:1px solid var(--line);border-radius:9px;padding:0 13px}.search span{font-size:27px;color:#748da5}.search input{width:100%;border:0;padding-left:0;background:transparent}.search input:focus{outline:0}.search:focus-within{outline:2px solid #80bbff}.read-only{color:#7f94a6;font-size:12px;white-space:nowrap}.split{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);min-height:435px}.list{border-right:1px solid var(--line)}.table-head{display:grid;grid-template-columns:116px 60px 1fr;gap:10px;padding:16px 20px;background:#f7fafe;color:#64809d;font-size:12px;font-weight:700}.record{width:100%;display:grid;grid-template-columns:116px 60px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-bottom:1px solid #eef2f7;border-radius:0;text-align:left;padding:17px 20px;font-size:13px;min-height:66px}.record:hover{background:#f3f8ff}.record.selected{background:#eaf3ff;box-shadow:inset 3px 0 var(--blue)}.record time{font-variant-numeric:tabular-nums;color:#3d6080;font-size:12px}.record .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.record .kind{color:#70849a;font-size:12px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-size:12px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:12px}.pagination button{padding:2px 10px;font-size:22px}article{padding:26px 28px;overflow:hidden}article .detail-top{display:flex;justify-content:space-between;align-items:center}article h2{margin:0}article h3{font-size:21px;line-height:1.6;word-break:break-word;white-space:pre-wrap;margin:25px 0;color:#153d62}.detail-fields{margin:0}.detail-fields>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #edf2f7;font-size:13px}.detail-fields dt{color:var(--muted)}.detail-fields dd{margin:0;word-break:break-word;white-space:pre-wrap}.empty-detail{padding:60px 10px;text-align:center}.empty-detail h2{font-size:17px;margin:15px}.empty-detail p{font-size:13px}.empty-icon{font-size:40px;color:#a1b9d0}.empty-list{padding:65px 20px;text-align:center;color:#7b92a8;line-height:1.8;font-size:13px}.access-note{display:flex;gap:12px;align-items:center;border:1px solid #dceafa;background:#e9f3ff;border-radius:10px;padding:14px 18px;margin-top:18px;color:#4e7196;font-size:12px}.access-note>span:first-child{color:var(--blue);font-size:18px}footer{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:30px;color:#7c93a8;font-size:11px}footer button{font-size:11px;padding:0;border:0;background:transparent;color:#66819a}.notice{background:#fff7e9;border:1px solid #f5dab2;color:#935c21;padding:13px 18px;border-radius:10px;margin-bottom:20px;font-size:13px}.card{padding:25px}.section-heading{margin-bottom:24px}.section-heading h2{margin-top:0}.section-heading p{font-size:13px}#permission-form>label{display:block;margin-bottom:8px;font-size:13px}#permission-email{width:min(100%,450px)}.permission-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:15px;border-bottom:1px solid var(--line);font-size:13px;gap:10px}.permission-row input{accent-color:var(--blue)}#permission-grid{margin:20px 0}.permission-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;color:var(--muted)}.primary{color:white;background:var(--blue);border-color:var(--blue)}.primary:hover{background:#0674ef;color:white}.permission-account{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;gap:15px}.permission-account small{display:block;color:var(--muted);margin-top:5px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.status-grid>div{padding:20px;background:#f6faff;border-radius:10px}.status-grid small{display:block;color:var(--muted)}.status-grid b{display:block;font-size:25px;margin-top:10px}dialog{max-width:650px;width:90%;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 12px 60px #102a4333}dialog::backdrop{background:#102a4366}dialog p{font-size:14px;margin-bottom:15px}.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:950px){main{padding:25px 20px}.intro{align-items:flex-start;flex-direction:column}.metric{padding:18px;gap:12px}.split{grid-template-columns:1fr}.list{border-right:0;border-bottom:1px solid var(--line)}article{min-height:280px}.account{gap:6px}#account-label{max-width:170px;overflow:hidden;text-overflow:ellipsis}.metrics{gap:10px}.metric-icon{width:40px;height:40px}.status-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{padding:14px 18px;height:auto;flex-wrap:wrap}.brand b{font-size:21px}.account{width:100%;justify-content:flex-end}h1{font-size:27px}.top-controls{gap:10px}.metrics{grid-template-columns:1fr 1fr}.metric{min-height:96px;padding:15px}.metric:last-child{grid-column:1/-1;min-height:76px}.metric strong{font-size:26px}.metric-icon{font-size:23px}.record,.table-head{grid-template-columns:95px 40px minmax(0,1fr);gap:6px;padding:15px 12px}.record>.pill{display:none}.filter-bar{padding:15px}.read-only{display:none}.tabs{gap:5px}.tabs button{font-size:13px}footer{flex-wrap:wrap;justify-content:flex-start}.permission-row{grid-template-columns:1fr 1fr;font-size:12px}.permission-row>b{grid-column:1/-1}.permission-footer{align-items:flex-start;flex-direction:column}}

/* Keep the GIS fallback SVG inside its button while its stylesheet/frame loads. */
#google-button{position:relative;flex:0 0 220px;width:220px;height:36px;max-width:100%;overflow:hidden;contain:layout paint;border-radius:5px}
#google-button:not(.ready)::before{content:"Google 로그인 준비 중";position:absolute;inset:0;display:grid;place-items:center;border:1px solid #dce7f2;border-radius:5px;background:#fff;color:#6a8198;font-size:13px}
#google-button:not(.ready)>*{visibility:hidden}
#google-button svg{width:18px!important;height:18px!important;max-width:18px;max-height:18px;flex-shrink:0}
#google-button iframe{max-width:220px;max-height:36px}

.records-scroll{overflow:auto}.record-table{min-width:790px}.private-records .record-table{min-width:1240px}
.record,.table-head{grid-template-columns:145px 170px 55px minmax(230px,1fr) 75px;align-items:start;gap:12px;padding:16px 20px}
.private-records .record,.private-records .table-head{grid-template-columns:145px 170px 55px minmax(230px,1fr) 75px 140px 70px minmax(180px,.7fr)}
.record{cursor:default}.record .title{white-space:pre-wrap;overflow:visible;text-overflow:clip;word-break:break-word;line-height:1.7}.record>span{overflow-wrap:anywhere;line-height:1.7}
.record>.pill{display:block;justify-self:start}.record .gallery-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3d6080;font-size:12px}
.record:nth-child(even){background:#f7fafe}.private-column{display:none}.private-records .private-column{display:block}
.publication-choice{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:14px}#publication-form{margin-bottom:26px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
