@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#172a2a;background:#f7f8f7;--teal:#087e70;--line:#e5ebe8;--muted:#75847f}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer;border:0}header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(calc((100vw - 1200px)/2),24px);gap:14px;position:sticky;top:0;z-index:5}header button:first-child{background:none;font-size:22px;color:#243a37}header span{color:#93a19b;font-size:13px}#syncButton,.btn{margin-left:auto;background:#f0f7f3;border:1px solid #d8e8df;color:var(--teal);border-radius:9px;padding:10px 13px;font-weight:600}main{max-width:1120px;margin:auto;padding:34px 26px 90px;min-height:calc(100vh - 68px)}#drawer{position:fixed;inset:0 auto 0 0;z-index:12;width:min(320px,86vw);padding:22px 16px;background:#fff;transform:translateX(-105%);transition:.25s;box-shadow:15px 0 40px #102a241a;display:flex;flex-direction:column}#drawer.open{transform:none}#shade{position:fixed;inset:0;background:#162b2970;z-index:11;opacity:0;visibility:hidden;transition:.2s}#shade.open{opacity:1;visibility:visible}.brand{font-size:17px;font-weight:700;padding:6px 8px 22px;border-bottom:1px solid var(--line)}.brand button{float:right;font-size:23px;background:#f2f5f3;border-radius:50%}#schemaNav{padding:16px 0;overflow:auto;flex:1}#schemaNav button,footer button{display:block;width:100%;text-align:left;padding:13px 12px;border-radius:9px;background:none;color:#53645e}#schemaNav button:hover,footer button:hover,.active{background:#edf6f2!important;color:var(--teal)!important}footer{border-top:1px solid var(--line);padding-top:12px}footer small{display:block;padding:17px 10px;color:#899792}h1{font-size:30px;letter-spacing:-.04em;margin:8px 0}h2{font-size:18px;margin:0}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--teal);font-weight:700}.muted,p{color:var(--muted)}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.panel,.stat,.schema-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 4px 16px #172b2606}.hero{background:linear-gradient(115deg,#087e70,#0b6158);color:white;border-radius:18px;padding:27px 30px;margin-bottom:18px}.hero .eyebrow,.hero p{color:#cae7de}.hero h2{font-size:23px;margin:8px 0}.hero p{font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:16px 0}.stat{padding:16px}.stat small{color:var(--muted)}.stat b{display:block;font-size:22px;margin-top:7px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.schema-card{cursor:pointer;transition:.16s}.schema-card:hover{transform:translateY(-2px);border-color:#b7d9cc}.schema-card h3{margin:10px 0 4px}.schema-card p{font-size:12px;margin:0}.tabs{display:flex;gap:4px;background:#edf0ee;width:max-content;padding:4px;border-radius:10px;margin-bottom:18px}.tab{background:none;padding:10px 15px;border-radius:8px;color:#71817c}.tab.active{background:#fff!important;box-shadow:0 2px 8px #1d3d310c;font-weight:600}.columns{display:grid;grid-template-columns:230px 1fr;gap:14px}.list button{display:block;width:100%;text-align:left;padding:12px;background:white;color:#586a64;border-radius:8px;margin:3px 0}.field{display:grid;gap:6px;margin:12px 0}.field label{font-size:12px;font-weight:600;color:#53645f}.field input,.field select,.field textarea,.search{width:100%;padding:11px;border:1px solid #dfe7e3;border-radius:9px;background:white;outline:none}.field input:focus,.field select:focus{border-color:#55a891;box-shadow:0 0 0 3px #e1f2ec}.row{display:flex;gap:9px;align-items:center}.row>*{flex:1}.btn{margin:0;background:white;color:#475953}.primary{background:var(--teal);border-color:var(--teal);color:white}.danger{color:#b54e45}.notice{background:#eef7f2;border:1px solid #dcece3;padding:13px;border-radius:10px;font-size:12px;line-height:1.65;color:#557267;margin:14px 0}.notice.warn{background:#fff8e9;border-color:#f2e6c8;color:#886a38}.admin{display:grid;grid-template-columns:200px 1fr;gap:14px}.fieldrow{display:grid;grid-template-columns:1fr 150px auto;gap:8px;align-items:end}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:12px}table{width:100%;border-collapse:collapse;min-width:500px;background:white}th,td{text-align:left;border-bottom:1px solid #edf0ee;padding:12px;font-size:12px}th{background:#f6f9f7;color:#71817c}.search{max-width:300px}.empty{padding:30px;text-align:center;border:1px dashed #d8e3dd;border-radius:12px;color:#80918a}.toast{position:fixed;z-index:20;bottom:25px;left:50%;transform:translate(-50%,12px);opacity:0;background:#203b35;color:white;padding:11px 16px;border-radius:10px;font-size:12px;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}#mobileBar{display:none}@media(max-width:700px){header{height:58px;padding:0 14px;gap:9px}header span{font-size:11px}header b{font-size:14px}#syncButton{margin-left:auto;font-size:0;padding:8px 11px}#syncButton:first-letter{font-size:17px}main{padding:24px 15px 90px}.heading{align-items:start}h1{font-size:24px}.heading p{font-size:12px}.heading .btn{font-size:11px;padding:9px}.hero{padding:23px 19px}.hero h2{font-size:19px}.hero p{font-size:12px;line-height:1.6}.stats{gap:7px}.stat{padding:11px 9px}.stat small{font-size:9px}.stat b{font-size:17px}.grid{grid-template-columns:1fr 1fr;gap:8px}.schema-card{padding:13px}.schema-card h3{font-size:13px}.schema-card p{font-size:10px}.columns,.admin{grid-template-columns:1fr}.list{display:flex;overflow:auto;gap:4px}.list button{white-space:nowrap;width:auto}.fieldrow{grid-template-columns:1fr 115px}.fieldrow .btn{grid-column:1/-1}.panel{padding:15px}#mobileBar{position:fixed;z-index:8;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#ffffffed;border-top:1px solid var(--line);padding:8px 12px max(8px,env(safe-area-inset-bottom));backdrop-filter:blur(12px)}#mobileBar button{background:none;color:#82918c;display:grid;justify-items:center;gap:2px;font-size:19px}#mobileBar small{font-size:10px}#mobileBar button.active{color:var(--teal)}#toast{bottom:75px}}
.field textarea{resize:vertical;line-height:1.55;min-height:72px}

html,body{touch-action:manipulation}

.drawer-status{display:flex;align-items:center;justify-content:space-between;padding:17px 10px;color:#899792}.drawer-status small{padding:0}.drawer-status #appVersion{font-variant-numeric:tabular-nums;color:#a3afaa}
