:root{font-family:system-ui,"Malgun Gothic",sans-serif;color:#17263a;background:#f5f7fa}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}.login{min-height:100vh;display:grid;place-items:center}.card{width:min(430px,92vw);padding:34px;background:white;border-radius:16px;box-shadow:0 12px 35px #16324f22}.card input,.card button{width:100%;padding:12px;margin-top:12px}.login-brand{text-align:center}.login-brand img{width:132px;height:auto;margin-bottom:14px}#loginStatus{min-height:24px;margin-top:14px;text-align:center;font-weight:700}#loginStatus.bad{color:#c22}#loginStatus.good{color:#08772d}header{display:flex;justify-content:space-between;align-items:center;padding:13px 24px;background:#123e68;color:#fff}.brand{display:flex;align-items:center;gap:17px}.brand img{width:118px;height:61px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}h1{margin:0 0 4px;font-size:24px}header input{padding:8px;border-radius:6px;border:0}nav{display:flex;justify-content:space-between;gap:36px;overflow-x:auto;padding:8px 16px;background:#fff;border-bottom:1px solid #ccd5df}.tab-main,.tab-admin{display:flex;gap:3px}.tab-admin{margin-left:auto}button{border:1px solid #b9c7d5;background:#fff;border-radius:6px;padding:9px 15px;cursor:pointer;white-space:nowrap}button:hover,button.active{background:#1768ad;color:#fff}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input,.toolbar select{padding:9px;border:1px solid #b9c7d5;border-radius:6px}.panel{padding:18px}.tablebox{width:100%;overflow:auto;max-height:calc(100vh - 235px);border:1px solid #aebac6;background:#fff}.tablebox.tall{max-height:calc(100vh - 185px)}table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}th,td{padding:7px 9px;border-right:1px solid #d3dae1;border-bottom:1px solid #d3dae1;white-space:nowrap;text-align:right}th:first-child,td:first-child{text-align:left}thead th{position:sticky;top:0;background:#e7eef6;z-index:2;text-align:center}tbody tr:hover{background:#fff8d9}.sticky1{position:sticky;left:0;background:inherit;z-index:1}.sticky2{position:sticky;left:180px;background:inherit;z-index:1}.annual-grid th:first-child,.annual-grid td:first-child{min-width:220px;width:220px}.annual-grid th:nth-child(2),.annual-grid td:nth-child(2){min-width:190px;width:190px}.annual-grid .sticky2{left:220px}.annual-grid thead th:first-child{left:0;z-index:4}.annual-grid thead th:nth-child(2){left:220px;z-index:4}.annual-grid th:not(:first-child),.annual-grid td:not(:first-child){text-align:right}.missing-inline{color:#d71920;font-weight:700;margin-left:3px}.money{font-variant-numeric:tabular-nums}.bad{color:#d22}.good{color:#08772d}.summary{font-weight:700;background:#c8daec}.pager{display:flex;gap:8px;align-items:center;margin-top:10px}.hint{color:#53667a}.upload{border:2px dashed #9bb3ca;background:#fff;padding:40px;text-align:center;border-radius:12px}.upload input{margin:16px}.edit{background:#fff;border:1px solid #8aa1b5;width:100px;padding:5px;text-align:right}.readonly{background:#e8eef4;color:#445}#toast{position:fixed;right:20px;bottom:20px;background:#17263a;color:white;padding:12px 18px;border-radius:8px;display:none}@media(max-width:700px){header{align-items:flex-start;gap:14px;padding:12px 14px;flex-direction:column}.brand{gap:10px}.brand img{width:86px;height:45px}nav{justify-content:flex-start;gap:28px}.panel{padding:10px}.tablebox{max-height:calc(100vh - 315px)}h1{font-size:19px}}
#panel .permission-cell{min-width:130px;text-align:left;white-space:nowrap}#panel .permission-cell label{display:flex;align-items:center;gap:6px;cursor:pointer}#panel .permission-cell input{width:17px;height:17px}
.header-actions{display:flex;align-items:center;gap:12px}.header-actions button{border-color:#fff;color:#fff;background:#ffffff18}.header-actions button:hover{background:#fff;color:#123e68}@media(max-width:700px){.header-actions{width:100%;justify-content:space-between}}
.panel{padding-bottom:64px}.panel.sales-plan-panel{padding-bottom:192px}#app{min-height:100vh;padding-bottom:24px}@media(max-width:700px){.panel{padding-bottom:44px}.panel.sales-plan-panel{padding-bottom:132px}#app{padding-bottom:16px}}
.card .link-button{border:0;background:transparent;color:#1768ad}.card .link-button:hover{background:#edf5fc;color:#0e4f87}
