*{box-sizing:border-box;margin:0;padding:0}
body{background:#090e1c;color:#ddeeff;font-family:-apple-system,sans-serif;padding-bottom:40px}
header{background:#0f1624;border-bottom:1px solid #1b3050;padding:12px;position:sticky;top:0;z-index:30}
h1{color:#00c4ff;font-size:15px;font-weight:600;margin-bottom:10px}
.stats-row{display:flex;gap:6px;margin-bottom:10px;align-items:stretch;width:100%}
.sido-card.off{border-color:#1b3050}
.sido-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.sido-label{color:#ffffff;font-size:10px;font-weight:600}
.sido-check{color:#00c4ff;font-size:10px;font-weight:700}
.sido-body{display:flex;align-items:baseline;gap:4px}
.sido-card.off .sido-body{opacity:0.2}
.sido-num{color:#00c4ff;font-size:15px;font-weight:700}
.sido-unit{color:#5a7a9a;font-size:9px}
.sido-stud{color:#00c4ff;font-size:13px;font-weight:600;margin-left:4px}
.fav-box{flex:0 0 auto;background:#141d2e;border-radius:8px;padding:6px 8px;display:flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;border:1px solid #ffffff;position:relative;white-space:nowrap;}
.sec{color:#5a7a9a;font-size:10px;letter-spacing:1px;margin-bottom:4px;padding-left:2px}
.sec-white{color:#ffffff;font-weight:700}
.fbar{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.sb{display:inline-block;border:1px solid #6a9abb;border-radius:20px;padding:5px 10px;font-size:11px;color:#aad0e0;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}
.sb.active{background:rgba(0,196,255,.2);border-color:#00c4ff;color:#00c4ff;font-weight:700}
.sb.active-green{background:rgba(0,220,120,.2);border-color:#00dc78;color:#00dc78;font-weight:700}
.fl{display:inline-flex;flex-direction:column;align-items:center;border:1px solid #1b3050;border-radius:20px;padding:5px 10px;font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}
.type-box{display:inline-block;width:13px;height:13px;margin-right:4px;vertical-align:middle;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='1.5'%3E%3Crect x='1' y='1' width='14' height='14' rx='2'/%3E%3C/svg%3E") center/contain no-repeat}
.type-box.checked{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Crect x='1' y='1' width='14' height='14' rx='2'/%3E%3Cpolyline points='3.5 8 6.5 11 12.5 5'/%3E%3C/svg%3E") center/contain no-repeat}
.rsearch-wrap{position:relative;display:flex;align-items:center;margin-bottom:8px}
.rsearch{width:100%;background:#ffffff;border:2px solid #ccddee;border-radius:20px;padding:8px 36px 8px 14px;color:#000;font-size:13px;outline:none;-webkit-appearance:none}
.rsearch:focus{border-color:#00c4ff}
.rsearch::placeholder{color:#888}
.rclr{position:absolute;right:8px;background:#e74c3c;border:none;border-radius:50%;color:#ffffff;font-size:11px;font-weight:700;cursor:pointer;display:none;padding:0;width:14px;height:14px;line-height:1;align-items:center;justify-content:center;flex-shrink:0}
.rdrop{display:none} /* 기존 드롭다운 비활성 */
/* ── Bottom Sheet ── */
#rg-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.72);z-index:500;align-items:flex-start;}
#rg-sheet{background:#0f1624;border-radius:0 0 16px 16px;border-bottom:1.5px solid #1b3050;width:100%;display:flex;flex-direction:column;max-height:78vh;}
/* ── 학교 검색 Sheet ── */
#sc-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.72);z-index:500;align-items:flex-start;}
#sc-sheet{background:#0f1624;border-radius:0 0 16px 16px;border-bottom:1.5px solid #1b3050;width:100%;display:flex;flex-direction:column;max-height:82vh;}
#sc-inner-search{margin:0 12px 8px;background:#1b3050;border:1.5px solid #2a4060;border-radius:20px;padding:7px 14px;color:#fff;font-size:13px;outline:none;width:calc(100% - 24px);box-sizing:border-box;flex-shrink:0;}
#sc-inner-search::placeholder{color:#5a7a9a;}
#sc-inner-search:focus{border-color:#00c4ff;}
#sc-condition{padding:4px 14px 6px;font-size:10px;color:#5a7a9a;flex-shrink:0;}
#sc-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:20px;}
.sc-item{padding:12px 16px;border-bottom:1px solid #1b3050;cursor:pointer;display:flex;flex-direction:column;gap:3px;}
.sc-item:active{background:#1b3050;}
.sc-name{color:#ffffff;font-size:14px;font-weight:600;}
.sc-meta{color:#5a7a9a;font-size:11px;}
.sc-empty{padding:30px 16px;text-align:center;color:#5a7a9a;font-size:13px;}
#rg-handle{width:36px;height:4px;background:#3a5a7a;border-radius:2px;margin:10px auto 0;flex-shrink:0;}
#rg-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 8px;flex-shrink:0;}
.rg-search-row{display:flex;align-items:center;gap:4px;margin:0 12px 8px;background:#1b3050;border:1.5px solid #2a4060;border-radius:20px;padding:4px 6px 4px 8px;box-sizing:border-box;flex-shrink:0;}
.rg-search-row:focus-within{border-color:#00c4ff;}
#rg-kb-btn{flex-shrink:0;width:40px;height:38px;border:none;border-radius:14px;background:transparent;color:#aad0e0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;}
#rg-kb-btn.rg-kb-on{color:#00c4ff;background:rgba(0,196,255,0.12);}
#rg-inner-search{flex:1;min-width:0;margin:0;background:transparent;border:none;border-radius:16px;padding:7px 10px;color:#fff;font-size:13px;outline:none;box-sizing:border-box;}
#rg-inner-search::placeholder{color:#7a9ab8;}
#rg-inner-search:focus{outline:none;}
#rg-inner-search[readonly]{cursor:default;}
#rg-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:20px;}
.rg-sec-label{padding:5px 14px 3px;font-size:10px;color:#ffc800;letter-spacing:1px;}
.rg-sec-label.all{color:#5a7a9a;border-top:1px solid #1b3050;margin-top:6px;}
.rg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px 10px;}
.rg-btn{background:#141d2e;border:1px solid #1b3050;border-radius:8px;padding:11px 6px;color:#ddeeff;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;-webkit-user-select:none;user-select:none;}
.rg-btn.selected{border-color:#00c4ff;background:rgba(0,196,255,0.1);color:#00c4ff;}
.rg-star-btn{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;flex-shrink:0;}
.rdrop-item{padding:10px 14px;color:#ddeeff;font-size:13px;cursor:pointer;border-bottom:1px solid #1b3050}
.rdrop-item:last-child{border-bottom:none}
.rdrop-item.selected{color:#00c4ff;font-weight:700}
.wrap{padding:10px 10px 0}
@keyframes favDistBlink{0%,88%,100%{opacity:1}92%,96%{opacity:.35}}
.tbl{width:100%;border-collapse:collapse}
.tbl thead tr{border-bottom:1px solid #1b3050}
.tbl thead th{padding:6px 4px;font-size:10px;color:#5a7a9a;text-align:right;white-space:nowrap;position:sticky;background:#090e1c;z-index:10}
.tbl thead th:first-child{text-align:left}
.tbl tbody tr{border-bottom:1px solid #1b3050}
.namecol{padding:10px 6px;width:100%;overflow:hidden}
.regcol,.tot,.mf{padding:10px 4px;white-space:nowrap;font-size:12px;text-align:right;vertical-align:top}
.regcol{color:#5a7a9a;font-size:11px}
.tot{color:#ddeeff;font-weight:600}
.mf{color:#5a7a9a}
.badge{display:inline-block;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700;margin-right:4px;vertical-align:middle}
.sname{font-size:13px;font-weight:600;color:#ffffff}
.est-badge{display:inline-flex;align-items:center;border-radius:4px;overflow:hidden;margin-right:6px;vertical-align:middle;border:1px solid #1b3050}
.est-type{padding:2px 3px;font-size:11px;font-weight:700;letter-spacing:0}
.est-slash{color:#ffffff;font-size:10px;padding:0;background:#141d2e;font-weight:400;line-height:1}
.est-est{padding:2px 3px;font-size:11px;font-weight:700;letter-spacing:0}
.school-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;border:1.5px solid #ffffff;background:#141d2e;flex-shrink:0;margin-left:8px;vertical-align:middle;text-decoration:none;font-size:16px;line-height:1}
.school-icon.no-hp{cursor:default;opacity:0.6}
.tmap-btn{margin-left:8px;background:#f0f0f0;border:1.5px solid #ffffff;border-radius:5px;padding:0;cursor:pointer;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;overflow:hidden;}
.fav-star-btn{margin-left:6px;background:none;border:1.5px solid #ffffff;border-radius:5px;font-size:16px;cursor:pointer;color:#ffffff;padding:0;line-height:1;flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.fav-star-btn.on{color:#ffc800;border-color:#ffc800}
.zoom-btn{margin-left:8px;background:#0f2a45;border:1.5px solid #7ecfff;border-radius:5px;padding:0;cursor:pointer;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}
.install-badge{display:block;margin-top:6px}
.ibtn{display:inline-flex;align-items:center;gap:4px;border:1.5px solid #00dc78;border-radius:5px;padding:2px 8px;color:#00dc78 !important;font-size:10px;font-weight:700;text-decoration:none !important}
.ibtn.nolink{cursor:default}
.imeta{display:inline-block;margin-left:8px;color:#3a8a5a;font-size:10px;vertical-align:middle}
.submeta{display:block;margin-top:3px;font-size:10px;color:#7a9ab0}
.edu-label{display:inline-flex;align-items:center;gap:4px;margin-left:10px;background:#0f2a45;color:#7ecfff;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;vertical-align:middle;text-decoration:none}
.phonerow{display:block;margin-top:4px}
.phlink{display:inline-flex;align-items:center;gap:5px;background:#1b3050;border-radius:14px;padding:3px 10px;text-decoration:none}
.phlink::before{content:'';display:inline-block;width:13px;height:13px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300c4ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 13a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.6 2.18h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 9.91a16 16 0 0 0 6.08 6.08l.91-.91a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat}
.phnum{color:#ffffff;font-size:11px}
.addrrow{display:block;margin-top:3px;font-size:11px;color:#ffffff}
.addrlink{color:#ffffff;text-decoration:none;font-size:11px}
.copybtn{width:13px;height:13px;margin-right:6px;border:1px solid rgba(255,255,255,0.8);border-radius:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center/contain no-repeat;cursor:pointer;vertical-align:middle;flex-shrink:0}
.loading{text-align:center;padding:40px;color:#5a7a9a;font-size:13px}
#main-tabbar{display:flex;gap:6px;margin-bottom:10px}
.main-tab-btn{border:1px solid #1b3050;border-radius:10px;padding:7px 10px;background:#141d2e;color:#7a9ab8;font-size:12px;font-weight:700;cursor:pointer;min-width:0}
.main-tab-btn--school{flex:5 1 0%}
.main-tab-btn--vendor{flex:4 1 0%}
.main-tab-btn--sales{flex:4 1 0%}
.main-tab-btn--admin{flex:1 1 0%;display:flex;align-items:center;justify-content:center;padding:7px 4px;font-size:0;line-height:0;color:#161f30;transition:color 0.2s ease}
.main-tab-btn--admin:hover{color:#7a9ab8}
.main-tab-btn--admin svg{flex-shrink:0;display:block}
.main-tab-btn.active{border-color:#00c4ff;background:rgba(0,196,255,.15);color:#00c4ff}
#vendor-page{display:none;padding:10px 10px 0}
#admin-page{display:none;padding:10px 10px 0}
.vendor-card{background:#0f1624;border:1px solid #1b3050;border-radius:12px;padding:10px;margin-bottom:10px}
.vendor-title{font-size:13px;color:#00c4ff;font-weight:700;margin-bottom:8px}
.vendor-input{width:100%;background:#1b3050;border:1.5px solid #2a4060;border-radius:8px;padding:8px 10px;color:#fff;font-size:12px;outline:none}
.vendor-input:focus{border-color:#00c4ff}
.vendor-input.step2{background:#153248;border-color:#3aa2d6;color:#bfe9ff}
.vendor-input.step2:focus{border-color:#7ecfff}
.vendor-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.vendor-search-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.vendor-list-item{border:1px solid #1b3050;border-radius:10px;padding:10px;background:#141d2e;margin-bottom:8px}
.vendor-meta{color:#aad0e0;font-size:11px;line-height:1.6}
.vendor-actions{display:flex;gap:6px;margin-top:8px}
.vendor-btn{border:1px solid #6a9abb;border-radius:7px;background:transparent;color:#aad0e0;font-size:11px;font-weight:700;padding:5px 8px;cursor:pointer}
.vendor-btn.danger{border-color:#e74c3c;color:#e74c3c}
.vendor-chip-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.vendor-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #00c4ff;border-radius:20px;padding:3px 8px;font-size:10px;color:#00c4ff;background:rgba(0,196,255,.12)}
.vendor-sort-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.vendor-sort-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid #6a9abb;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;background:transparent;color:#aad0e0;cursor:pointer}
.vendor-sort-btn.active{border-color:#00c4ff;background:rgba(0,196,255,.15);color:#00c4ff}
.vendor-sort-btn,.vendor-btn,.vendor-right .fav-star-btn,.vendor-right .zoom-btn{transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}
.vendor-sort-btn:active,.vendor-btn:active,.vendor-right .fav-star-btn:active,.vendor-right .zoom-btn:active,
.vendor-sort-btn.pressed,.vendor-btn.pressed,.vendor-right .fav-star-btn.pressed,.vendor-right .zoom-btn.pressed{
  transform:translateY(1px) scale(0.97);
  filter:brightness(0.9);
  box-shadow:none;
}
.vendor-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.vendor-left{min-width:0;flex:1}
.vendor-right{display:flex;gap:27px;flex-shrink:0;align-items:flex-start}
.vendor-right .fav-star-btn,.vendor-right .zoom-btn{margin-left:0;vertical-align:top}
.vendor-badge{display:inline-flex;align-items:center;border-radius:4px;overflow:hidden;margin-right:6px;vertical-align:middle;border:1px solid #1b3050}
.vendor-badge-l{padding:2px 4px;font-size:11px;font-weight:700;letter-spacing:0;background:#00c4ff22;color:#00c4ff}
.vendor-badge-s{color:#ffffff;font-size:10px;padding:0;background:#141d2e;font-weight:400;line-height:1}
.vendor-badge-r{padding:2px 4px;font-size:11px;font-weight:700;letter-spacing:0;background:#ffe8cc22;color:#ffe8cc}
.vendor-name{font-size:13px;font-weight:700;color:#ffffff;vertical-align:middle}
.vendor-submeta{display:block;margin-top:3px;font-size:10px;color:#7a9ab0}
.vendor-phone{display:block;margin-top:4px;color:#ffffff;font-size:12px;font-weight:600}
.vendor-addr{display:block;margin-top:3px;font-size:11px;color:#ffffff;line-height:1.5}
.vendor-trade-schools-block{display:block;margin-top:3px;font-size:10px;color:#7a9ab0;line-height:1.55}
.vendor-trade-schools-label{color:#c8dff5;font-weight:600;margin-right:4px}
.vendor-trade-schools-block.is-collapsible{cursor:pointer;border-radius:6px;padding:2px 4px;margin:3px -4px 0 -4px;transition:background .12s ease}
.vendor-trade-schools-block.is-collapsible:hover{background:rgba(0,196,255,.08)}
.vendor-trade-schools-block.is-collapsible .vendor-trade-schools-full{display:none}
.vendor-trade-schools-block.is-collapsible.expanded .vendor-trade-schools-preview{display:none}
.vendor-trade-schools-block.is-collapsible.expanded .vendor-trade-schools-full{display:inline}
.vendor-search-toolbar{display:flex;align-items:center;justify-content:flex-start;margin-bottom:8px;width:100%;box-sizing:border-box}
.vendor-search-title{margin-bottom:0;flex-shrink:0}
.vendor-search-actions{display:flex;align-items:center;margin-left:auto;margin-right:1cm;flex-shrink:0}
.vendor-field-inline{display:flex;gap:6px;align-items:stretch}
.vendor-field-inline .vendor-input{flex:1;min-width:0}
#copy-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1b3050;color:#ddeeff;padding:16px 28px;border-radius:20px;font-size:14px;z-index:999;display:none;pointer-events:none;text-align:center;line-height:1.8;border:1.5px solid #00c4ff;box-shadow:0 0 20px rgba(0,196,255,0.4);white-space:nowrap;}
#tmap-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1b3050;color:#ddeeff;padding:16px 28px;border-radius:20px;font-size:14px;z-index:999;display:none;pointer-events:none;text-align:center;line-height:1.8;border:1.5px solid #00c4ff;box-shadow:0 0 20px rgba(0,196,255,0.4);white-space:nowrap;}
#naver-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1b3050;color:#ddeeff;padding:16px 28px;border-radius:20px;font-size:14px;z-index:999;display:none;pointer-events:none;text-align:center;line-height:1.8;border:1.5px solid #00c4ff;box-shadow:0 0 20px rgba(0,196,255,0.4);white-space:nowrap;}
.fav-popup{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:#141d2e;border:1.5px solid #ffc800;border-radius:10px;z-index:100;min-width:280px;overflow:hidden}

/* ── 반응형: 393px 기준, clamp(최소, 선호, 최대) ── */
:root {
  --fs-xs:  clamp(8px,  2.0vw, 10px);
  --fs-sm:  clamp(9px,  2.3vw, 11px);
  --fs-md:  clamp(11px, 2.8vw, 13px);
  --fs-lg:  clamp(13px, 3.3vw, 15px);
  --fs-xl:  clamp(14px, 3.8vw, 17px);
  --sp-xs:  clamp(3px,  0.8vw, 5px);
  --sp-sm:  clamp(5px,  1.3vw, 8px);
  --sp-md:  clamp(8px,  2.0vw, 12px);
  --sp-lg:  clamp(10px, 2.5vw, 14px);
  --icon:   clamp(22px, 5.6vw, 28px);
}
body{font-size:var(--fs-md)}
h1{font-size:var(--fs-lg) !important}
header{padding:var(--sp-md)}
.sido-label{font-size:clamp(8px,2.2vw,10px);white-space:nowrap}
.sido-check{font-size:clamp(8px,2.0vw,10px)}
.sido-num{font-size:clamp(11px,3.5vw,15px);font-weight:700;color:#00c4ff;white-space:nowrap}
.sido-stud{font-size:clamp(10px,3.0vw,13px);font-weight:600;color:#00c4ff;margin-left:4px;white-space:nowrap}
.sido-unit{font-size:clamp(7px,1.8vw,9px);white-space:nowrap}
.sido-body{display:flex;align-items:baseline;gap:4px;flex-wrap:nowrap;overflow:hidden}
.sido-card{flex:1;background:#141d2e;border:1.5px solid #00c4ff;border-radius:8px;padding:5px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color 0.15s,opacity 0.15s;min-width:0}
.sec{font-size:var(--fs-xs)}
.sb{font-size:var(--fs-sm);padding:var(--sp-xs) var(--sp-sm)}
.fl{font-size:var(--fs-sm);padding:var(--sp-xs) var(--sp-sm)}
.rsearch{font-size:var(--fs-md) !important;padding:var(--sp-sm) 30px var(--sp-sm) var(--sp-lg)}
.rdrop-item{font-size:var(--fs-md);padding:var(--sp-sm) var(--sp-lg)}
.sname{font-size:var(--fs-md)}
.est-type{font-size:var(--fs-sm)}
.est-est{font-size:var(--fs-sm)}
.est-slash{font-size:var(--fs-xs)}
.school-icon{width:var(--icon);height:var(--icon);font-size:var(--fs-xl);margin-left:var(--sp-sm)}
.tmap-btn{width:var(--icon);height:var(--icon);font-size:var(--fs-xs);margin-left:var(--sp-sm)}
.fav-star-btn{width:var(--icon);height:var(--icon);font-size:var(--fs-xl);margin-left:6px}
.zoom-btn{width:var(--icon);height:var(--icon)}
.zoom-btn svg{width:var(--fs-xl);height:var(--fs-xl);display:block;flex-shrink:0}
.submeta{font-size:var(--fs-xs)}
.edu-label{font-size:var(--fs-xs)}
.phnum{font-size:var(--fs-sm)}
.addrrow{font-size:var(--fs-sm)}
.addrlink{font-size:var(--fs-sm)}
.regcol{font-size:var(--fs-sm)}
.tot{font-size:var(--fs-md)}
.mf{font-size:var(--fs-sm)}
.ibtn{font-size:var(--fs-xs)}
.imeta{font-size:var(--fs-xs)}
.tbl thead th{font-size:var(--fs-xs)}

/* ── 협력사 탭: 좁은 화면 반응형 ─────────────────────────────── */
@media (max-width:600px){
  #vendor-page,#admin-page{padding-left:8px;padding-right:8px}
  #vendor-page .vendor-card{padding:8px;margin-bottom:8px}
  #vendor-page .vendor-search-toolbar{flex-wrap:nowrap;gap:6px;min-width:0;align-items:center}
  #vendor-page .vendor-search-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #vendor-page .vendor-search-actions{flex-shrink:0;flex-wrap:nowrap}
  #vendor-page .vendor-grid:not(.vendor-search-grid):not(.vendor-form-grid){grid-template-columns:1fr}
  #vendor-page .vendor-search-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
  #vendor-page .vendor-field-inline{flex-direction:column;align-items:stretch}
  #vendor-page .vendor-field-inline .vendor-input{flex:none;width:100%}
  #vendor-page .vendor-list-item{padding:8px 9px;margin-bottom:6px;border-radius:8px}
  #vendor-page .vendor-name{font-size:12px}
  #vendor-page .vendor-phone{font-size:11px}
  #vendor-page .vendor-addr{font-size:10px;line-height:1.45}
  #vendor-page .vendor-submeta{font-size:9px;line-height:1.45}
  #vendor-page .vendor-trade-schools-block{font-size:9px}
  #vendor-page .vendor-badge-l,#vendor-page .vendor-badge-r{font-size:10px;padding:2px 3px}
  #vendor-page .vendor-badge-s{font-size:9px}
  #vendor-page .vendor-row{gap:6px;align-items:flex-start}
  #vendor-page .vendor-right{gap:14px}
  #vendor-page .vendor-list-item .vendor-btn{font-size:9px;padding:2px 6px}
  #vendor-page .vendor-meta{font-size:10px;line-height:1.55}
  #vendor-page .vendor-input{font-size:11px;padding:7px 9px}
  #vendor-page .vendor-sort-btn{font-size:10px;padding:4px 8px}
  #vendor-page .vendor-btn{font-size:10px;padding:4px 7px}
  #vendor-page .vendor-title{font-size:12px}
}

/* ── Print / PDF 저장 CSS ─────────────────────────────────────── */
@media print {
  /* A4 페이지 설정 */
  @page { size: A4 portrait; margin: 12mm 10mm; }

  /* 화면 전용 요소 숨김 */
  header,
  #copy-toast,#tmap-toast,#kakao-toast,#naver-toast,
  #navi-modal,#detail-modal,#home-guide,
  #chrome-guide-modal,#library-modal,
  .fav-star-btn,.zoom-btn,.tmap-btn,.school-icon,
  .rclr,.sclr,.rdrop,
  .fav-popup,
  div[style*="position:fixed"],
  div[style*="position: fixed"] { display:none !important; }

  /* 배경 흰색, 글씨 검정 */
  *{ background:white !important; color:#111 !important;
     box-shadow:none !important; border-color:#ccc !important; }
  body{ background:white !important; padding-bottom:0; }

  /* 테이블 스타일 */
  .tbl{ width:100%; border-collapse:collapse; font-size:9pt; }
  .tbl thead th{
    background:#f0f0f0 !important; color:#111 !important;
    border-bottom:1.5px solid #333 !important;
    padding:5px 4px; font-size:8pt; position:static !important;
  }
  .tbl tbody tr{ border-bottom:1px solid #ddd !important; }
  .tbl tbody tr:nth-child(even){ background:#f9f9f9 !important; }

  /* 셀 압축 */
  .namecol{ padding:5px 4px !important; }
  .regcol,.tot,.mf{ padding:5px 3px !important; font-size:8.5pt !important; }

  /* 행 잘림 방지 */
  tr{ page-break-inside:avoid; }

  /* 배지/레이블 색상 보정 */
  .badge,.est-badge,.est-type,.est-est{
    border:1px solid #999 !important;
    color:#111 !important; background:#eee !important;
  }
  .ibtn{ border:1px solid #333 !important; color:#111 !important; background:#e8f8ee !important; }
  .imeta{ color:#333 !important; }
  .submeta,.addrrow,.addrlink,.phnum{ color:#333 !important; }
  .edu-label{ background:#e8f0ff !important; color:#333 !important; }
  .sname{ color:#111 !important; font-size:10pt !important; }

  /* wrap 여백 제거 */
  .wrap{ padding:0 !important; }
}

#usercode-modal #usercode-company-input::placeholder,
#usercode-modal #usercode-input::placeholder{color:#94b8d4;opacity:1}
/* ── Settings Page ── */
#settings-page{padding:12px;max-width:600px;margin:0 auto;}
.settings-card{background:#0f1e30;border:1.5px solid #1b3a60;border-radius:12px;padding:16px 18px;margin-bottom:10px;}
.settings-title{color:#b8d0e8;font-size:16px;font-weight:700;letter-spacing:0.5px;}
/* ── Sales Page ── */
#sales-page{padding:12px;max-width:600px;margin:0 auto;}
.sales-card{background:#0f1e30;border:1.5px solid #1b3a60;border-radius:12px;padding:16px 18px;margin-bottom:10px;}
.sales-title{color:#b8d0e8;font-size:16px;font-weight:700;letter-spacing:0.5px;}
.settings-accordion-card{background:#0f1e30;border:1.5px solid #c8960a;border-radius:12px;margin-bottom:8px;overflow:hidden;}
.settings-accordion-toggle{width:100%;background:none;border:none;color:#f0c040;font-size:14px;font-weight:600;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;text-align:left;}
.settings-accordion-toggle:active{background:#1b3050;}
.settings-dropdown{padding:0 18px 14px;}
.settings-desc{color:#5a7a9a;font-size:12px;}
.settings-button-row{display:flex;gap:8px;margin-top:10px;}
.settings-sync-btn{flex:1;padding:9px 0;border:1.5px solid #00c4ff;color:#00c4ff;background:none;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;}
.settings-sync-btn.active{background:rgba(0,196,255,.18);}
.settings-sync-btn:active{opacity:0.7;}
.settings-input{background:#0a1625;border:1px solid #1b3050;color:#b8d0e8;font-size:13px;border-radius:8px;padding:8px 10px;width:100%;box-sizing:border-box;outline:none;}
.settings-input:focus{border-color:#00c4ff;}
.settings-textarea{background:#0a1625;border:1px solid #1b3050;color:#b8d0e8;font-size:13px;border-radius:8px;padding:8px 10px;width:100%;box-sizing:border-box;outline:none;resize:vertical;min-height:80px;}
.settings-textarea:focus{border-color:#00c4ff;}
.settings-send-btn{width:100%;padding:10px 0;border:1.5px solid #00dc78;color:#00dc78;background:none;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;margin-top:10px;}
.settings-send-btn:active{opacity:0.7;}
