:root{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:#20304a;background:#f3f5f9;font-size:16px;line-height:1.6;--navy:#172e53;--muted:#65738a;--line:#e1e7f0;--blue:#235fdd}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #6da0ff;outline-offset:4px}input:focus,select:focus{outline:3px solid #d7e4ff;border-color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.4;letter-spacing:-.055em;margin-bottom:.6rem}h2{font-size:1.35rem;letter-spacing:-.035em}h3{font-size:1rem}label{display:block;font-size:.875rem;font-weight:700;margin:1rem 0 .4rem}input,select{width:100%;border:1px solid #cbd4e1;background:#fff;border-radius:8px;padding:.75rem .85rem;min-height:46px;color:#20304a}input:disabled,select:disabled{background:#f1f3f6}.primary{background:var(--blue);color:white;border-radius:8px;padding:.78rem 1.2rem;font-weight:700}.primary:hover{background:#184ebf}.secondary{background:#edf2fb;color:#204e98;border:1px solid #dbe5f5;border-radius:8px;padding:.6rem 1rem;font-weight:700}.quiet{background:transparent;color:var(--muted);padding:.5rem .2rem}.full{width:100%}.muted,.help,.hint{color:var(--muted)}.hint{font-size:.875rem;margin-top:.5rem}.message{color:#b52b32;font-size:.875rem;margin:1rem 0;min-height:0}.message:empty{display:none}.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;white-space:nowrap;font-size:1.12rem;letter-spacing:-.035em}.brand span{font-size:.75rem;font-weight:400;opacity:.7}.login-page{background:#eaf0f8;min-height:100vh;display:grid;place-items:center;padding:2rem}.login-shell{display:grid;grid-template-columns:1.05fr 1fr;width:min(1040px,100%);min-height:660px;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #172e5312}.login-story{padding:3rem;background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:space-between}.login-story h1{font-size:3.25rem;line-height:1.35;margin-bottom:1.5rem}.eyebrow{font-size:.875rem;color:#91e7d1;letter-spacing:.04em;margin-bottom:1.2rem}.story-copy{color:#d1dceb;line-height:1.9;font-size:.95rem}.story-foot{font-size:.875rem;color:#acbed5;margin:0}.login-panel{background:white;display:flex;align-items:center;padding:3rem}.login-form-wrap{width:100%}.login-panel h2{font-size:2rem;margin:.9rem 0 .3rem}.small-tag{font-size:.875rem;font-weight:700;color:#225997;background:#edf3fc;border-radius:5px;padding:.3rem .6rem}.login-panel .primary{margin-top:1.5rem}.help{font-size:.875rem;line-height:1.8;margin-top:1.8rem}.workspace{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:white;border-right:1px solid var(--line);padding:2rem 1.4rem;display:flex;flex-direction:column;min-height:100vh}.workspace-label{font-size:.875rem;color:var(--muted);margin:1.3rem .3rem 2rem}.sidebar nav a{display:block;border-radius:8px;padding:.8rem 1rem;margin-bottom:.3rem;font-size:.95rem;font-weight:600;color:#55657c}.sidebar nav a.current{background:#eaf1fe;color:#215acf}.sidebar nav a:hover{background:#f1f5fc}.nav-caption{font-size:.75rem;color:#79869b;letter-spacing:.06em;margin:1.8rem 1rem .65rem}.sidebar-bottom{margin-top:auto;padding-top:3rem;font-size:.875rem}.person-role{display:block;color:var(--muted);font-size:.875rem}.main{padding:0 3rem 3rem;min-width:0}.topbar{height:84px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted);margin-bottom:2.5rem;gap:1rem}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.page-heading p{margin-bottom:0}.section-tag{color:#245cc0;font-size:.875rem;font-weight:700;margin-bottom:.5rem}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.6rem}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.4rem}.card h2{margin-bottom:1.3rem}.profile-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem}.avatar{width:52px;height:52px;border-radius:14px;background:#eaf1fe;color:#245bc2;display:grid;place-items:center;font-size:1.4rem;font-weight:700;flex-shrink:0}.profile-head h2{margin:0}.profile-head p{margin:0}.details{margin:0}.details div{display:flex;justify-content:space-between;border-top:1px solid #edf0f5;padding:.9rem 0;gap:1rem}.details dt{color:var(--muted);font-size:.875rem}.details dd{margin:0;text-align:right;overflow-wrap:anywhere}.badge{display:inline-block;border-radius:5px;padding:.15rem .5rem;font-size:.875rem;background:#edf2fa;color:#355780;white-space:nowrap}.badge.active{background:#e6f5ef;color:#216b52}.badge.inactive{background:#f0f1f4;color:#667085}.card-link{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid var(--line);font-size:.95rem;font-weight:700}.card-link span{color:#2b61bd}.note{background:#edf2fa;border-left:3px solid #9ab3dc;color:#4a5f7e;padding:1rem 1.2rem;font-size:.875rem;margin-top:1.4rem;border-radius:0 8px 8px 0}.summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.4rem}.summary{padding:1.3rem 1.5rem;background:white;border:1px solid var(--line);border-radius:10px}.summary p{font-size:.875rem;color:var(--muted);margin:0}.summary strong{display:block;font-size:1.9rem;margin-top:.2rem}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;white-space:nowrap}th{padding:1rem;color:#65738a;font-weight:600;background:#f9faff;border-bottom:1px solid var(--line)}td{padding:1.1rem 1rem;border-bottom:1px solid #edf0f5}tr:last-child td{border-bottom:0}.cell-name{font-size:1rem;font-weight:700}.cell-sub{font-size:.875rem;color:var(--muted);display:block}.password-card{max-width:540px}.password-card .primary{margin-top:1.3rem}.empty{padding:2rem;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:14px;padding:1.8rem;width:min(480px,calc(100% - 2rem));max-height:90vh;color:#20304a}dialog::backdrop{background:#172e5370}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-head h2{margin:0}.history-item{padding:1.2rem 0;border-bottom:1px solid var(--line)}.history-item:last-child{border:0}.history-item h3{margin-bottom:.35rem}.history-item p{margin-bottom:.3rem;font-size:.875rem;color:var(--muted)}.history-item ul{font-size:.875rem;padding-left:1.2rem}.preview-banner{background:#fff1c9;color:#694b0a;padding:.7rem 1rem;text-align:center;font-size:.875rem}.preview-banner a{text-decoration:underline;margin-left:1rem}body:has(.preview-banner) .workspace{min-height:calc(100vh - 48px)}@media(min-width:1500px){.main{padding-left:4rem;padding-right:4rem}#content{max-width:1200px}}@media(max-width:960px){.workspace{grid-template-columns:200px 1fr}.sidebar{padding:1.5rem 1rem}.main{padding:0 1.5rem 2rem}.grid{grid-template-columns:1fr}.login-story{padding:2rem}.login-panel{padding:2rem}.login-story h1{font-size:2.6rem}}@media(max-width:640px){.login-page{padding:0;display:block;background:white}.login-shell{display:block;border-radius:0;min-height:100vh;box-shadow:none}.login-story{padding:1.5rem;gap:1.6rem}.login-story h1{font-size:2rem;margin-bottom:0}.login-story h1 br{display:none}.login-story .story-copy,.story-foot{display:none}.eyebrow{margin-bottom:.5rem}.login-panel{padding:2rem 1.5rem}.workspace{display:block}.sidebar{min-height:0;padding:1rem;border-right:0;border-bottom:1px solid var(--line)}.workspace-label{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:1rem}.sidebar nav a{padding:.55rem .7rem;margin:0;font-size:.875rem}.sidebar nav #admin-nav:not([hidden]){display:contents}.nav-caption{display:none}.sidebar-bottom{padding:0;margin-top:.8rem;display:flex;justify-content:space-between;align-items:center}.person-role{display:inline;margin-left:.5rem}.main{padding:0 1rem 2rem}.topbar{height:60px;margin-bottom:1.5rem;font-size:.8rem}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:1.3rem}h1{font-size:1.65rem}.card{padding:1.2rem}.summary-row{gap:.6rem}.summary{padding:.8rem}.summary strong{font-size:1.5rem}.summary p{font-size:.875rem}.details div{flex-wrap:wrap}.details dd{text-align:left}.preview-banner a{display:inline-block}.login-panel h2{font-size:1.7rem}}
