:root{color-scheme:light;--paper:#fbf8ef;--ink:#172128;--navy:#244f6b;--brass:#9a6a2f;--line:#d9d4c8;--muted:#647078;--soft:#eef3f4;--danger:#9a3732;--success:#326346;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",sans-serif}
*{box-sizing:border-box;word-break:keep-all;overflow-wrap:normal;line-break:strict}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);word-break:keep-all;overflow-wrap:normal;line-break:strict}
body{font-size:15px;line-height:1.55}
button,input,textarea,select{font:inherit;color:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:var(--navy);text-decoration:none}
.eyebrow{margin:0 0 5px;color:var(--brass);font-size:.72rem;font-weight:800;letter-spacing:.16em}
.brand-mark{display:grid;width:54px;height:54px;margin:0 auto 18px;border:1px solid var(--brass);border-radius:50%;place-items:center;color:var(--brass);font:700 29px Batang,"AppleMyungjo",serif}
.login-page{display:grid;min-height:100vh;padding:24px;place-items:center;background:radial-gradient(circle at 50% 0,#fff 0,var(--paper) 52%,#eee7da 100%)}
.login-card{width:min(440px,100%);padding:48px 38px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 24px 70px rgba(23,33,40,.12);text-align:center}
.login-card h1{margin:0;font-family:Batang,"AppleMyungjo",serif;font-size:2rem}.lead{margin:12px 0 28px;color:var(--muted)}
.google-button,.primary-button,.secondary-button,.text-button{border:0;border-radius:10px;font-weight:750}
.google-button,.primary-button{padding:13px 18px;background:var(--navy);color:#fff}.google-button{display:flex;width:100%;align-items:center;justify-content:center;gap:12px}.google-button span{display:grid;width:26px;height:26px;border-radius:50%;background:#fff;color:#4285f4;place-items:center}
.secondary-button{padding:9px 13px;border:1px solid var(--line);background:#fff}.text-button{padding:6px;background:transparent;color:var(--navy)}
.help{color:var(--muted);font-size:.82rem}.notice{margin:14px 0;padding:11px 13px;border-radius:9px;background:var(--soft);font-size:.88rem}.notice.warning{background:#f7edcf}.notice.danger{background:#f7dfdd;color:var(--danger)}.notice.success{background:#dfeee4;color:var(--success)}
.topbar{position:sticky;z-index:10;top:0;display:flex;min-height:62px;padding:10px 24px;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;background:rgba(251,248,239,.94);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:700 1.08rem Batang,"AppleMyungjo",serif}.brand span{display:grid;width:32px;height:32px;border:1px solid var(--brass);border-radius:50%;place-items:center;color:var(--brass)}.account-tools{display:flex;align-items:center;gap:16px;font-size:.86rem}
.dashboard-shell{display:grid;width:min(1480px,100%);min-height:calc(100vh - 62px);margin:0 auto;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}
.customer-panel{padding:25px 20px;border-right:1px solid var(--line);background:rgba(255,255,255,.5)}.consultation-panel{min-width:0;padding:26px clamp(18px,3vw,44px)}
.panel-heading{display:flex;margin-bottom:18px;align-items:flex-start;justify-content:space-between;gap:16px}.panel-heading h1,.panel-heading h2{margin:0;font-family:Batang,"AppleMyungjo",serif}.panel-heading>p{max-width:520px;margin:8px 0;color:var(--muted)}
input,textarea,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 11px}textarea{resize:vertical}
.tabs{display:grid;margin:12px 0;grid-template-columns:1fr 1fr}.tabs button{padding:8px;border:0;border-bottom:2px solid var(--line);background:transparent}.tabs button.active{border-color:var(--navy);color:var(--navy);font-weight:800}
.customer-list{display:grid;gap:7px}.customer-row{display:grid;border:1px solid var(--line);border-radius:10px;background:#fff;grid-template-columns:minmax(0,1fr) auto;overflow:hidden}.customer-row.selected{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.customer-select{display:grid;min-width:0;padding:10px 12px;border:0;background:transparent;text-align:left}.customer-select small{color:var(--muted)}.archive-button{border:0;border-left:1px solid var(--line);background:#faf9f5;color:var(--muted)}.empty{padding:20px;color:var(--muted);text-align:center}
.secure-label{padding:5px 9px;border:1px solid #b8c8cf;border-radius:999px;background:var(--soft);color:var(--navy);font-size:.76rem;font-weight:800}
.birth-form{display:grid;padding:20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.72);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.field{display:grid;min-width:0;gap:6px}.field>span,.field legend{font-size:.82rem;font-weight:800}.span-2{grid-column:span 2}.date-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px}.birth-time-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}.field-help,.auto-save-note{color:var(--muted);font-size:.78rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}fieldset{margin:0;padding:0;border:0}.segmented{display:grid;grid-template-columns:1fr 1fr}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:9px;border:1px solid var(--line);background:#fff;text-align:center}.segmented label:first-child span{border-radius:8px 0 0 8px}.segmented label:last-child span{border-radius:0 8px 8px 0}.segmented input:checked+span{border-color:var(--navy);background:var(--soft);color:var(--navy);font-weight:800}.check-field{display:flex;align-items:center;gap:8px}.check-field input{width:auto}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-status{display:grid;gap:3px}.calculation-progress{min-height:1.25em;color:var(--navy);font-size:.82rem}.calculation-progress[data-tone="success"]{color:var(--success)}.calculation-progress[data-tone="danger"]{color:var(--danger)}
.result-panel{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.result-placeholder{display:grid;min-height:220px;place-content:center;color:var(--muted);text-align:center}.result-placeholder strong{color:var(--ink)}#result-frame{width:100%;height:min(1100px,calc(100vh - 130px));border:0;background:#fff}
.admin-shell{width:min(1200px,100%);margin:0 auto;padding:38px 24px}.admin-section{margin-top:26px}.section-heading{display:flex;margin-bottom:9px;align-items:flex-end;justify-content:space-between;gap:14px}.section-heading h2{margin:0;font:700 1.35rem Batang,"AppleMyungjo",serif}.admin-help{margin:0 0 14px;color:var(--muted);font-size:.84rem}.license-summary{display:grid;margin-bottom:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.license-summary>div{display:grid;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.72)}.license-summary strong{font:700 1.25rem Batang,"AppleMyungjo",serif}.license-summary small{color:var(--muted)}.license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.license-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.license-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.license-card h3{margin:0;font:700 1.16rem ui-monospace,SFMono-Regular,Menlo,monospace}.license-status{padding:5px 9px;border-radius:999px;background:var(--soft);font-size:.76rem;font-weight:800}.status-active{background:#dfeee4;color:var(--success)}.status-suspended{background:#f7edcf;color:#745317}.status-revoked{background:#f7dfdd;color:var(--danger)}.license-facts{display:grid;margin:14px 0;gap:6px}.license-facts>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.license-facts dt{color:var(--muted);font-size:.78rem;font-weight:800}.license-facts dd{min-width:0;margin:0;font-size:.82rem}.license-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.license-actions .danger-text{grid-column:1/-1;justify-self:start;color:var(--danger)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}td strong,td small{display:block}td small{color:var(--muted)}
@media(max-width:900px){.dashboard-shell{grid-template-columns:1fr}.customer-panel{border-right:0;border-bottom:1px solid var(--line)}.customer-list{grid-template-columns:repeat(2,minmax(0,1fr))}.license-grid{grid-template-columns:1fr}}
@media(max-width:600px){body{font-size:14px}.topbar{padding:9px 14px}.account-tools>span{display:none}.dashboard-shell{display:block}.customer-panel,.consultation-panel{padding:18px 14px}.customer-list{grid-template-columns:1fr}.birth-form{grid-template-columns:1fr;padding:15px}.span-2{grid-column:auto}.birth-time-row{grid-template-columns:1.25fr 1fr 1fr}.form-actions{align-items:stretch;flex-direction:column}.primary-button{width:100%}.panel-heading,.section-heading{align-items:flex-start;flex-direction:column}.login-card{padding:38px 22px}.admin-shell{padding:24px 12px}.license-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.license-actions{grid-template-columns:1fr}.license-actions .danger-text{grid-column:auto}th,td{padding:10px;white-space:normal}}
