/* KAHWA Corporate Theme — functional login and dashboard, not image overlays. */
:root{--kahwa-brown:#4a2515;--kahwa-copper:#b58159;--kahwa-ink:#1d2943;--kahwa-blue:#4e4bfa}
/* Login: split hero, dedicated brand mark, Hanja-only company title on left. */
.company-login{display:grid;grid-template-columns:51.8% 48.2%;min-height:100vh;height:auto;background:#fcf8f5}
.company-login .login-splash{min-height:750px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 48% 40% at 54% 43%,rgba(155,100,71,.56),transparent 82%),radial-gradient(ellipse 62% 52% at 83% 88%,rgba(110,57,35,.56),transparent 85%),linear-gradient(118deg,#26130e 5%,#42271e 55%,#29140f 100%);color:#fff7f0}
.company-login .login-splash:before{content:"";position:absolute;z-index:0;width:780px;height:790px;top:-414px;left:-412px;border:1.25px solid rgba(236,174,123,.68);border-radius:50%;background:none;box-shadow:0 0 5px rgba(237,175,126,.20)}
.company-login .login-splash:after{content:"";position:absolute;z-index:0;width:820px;height:800px;top:auto;left:auto;right:-485px;bottom:-441px;border:1.15px solid rgba(231,171,122,.72);border-radius:50%;background:none;box-shadow:0 0 4px rgba(255,184,124,.3)}
.hero-orbit{pointer-events:none;position:absolute;z-index:0;border-radius:50%;transform:rotate(-22deg)}
.hero-orbit-first{height:260px;width:850px;border-bottom:1.5px solid rgba(252,180,127,.47);bottom:40px;left:-280px;box-shadow:0 7px 24px -18px rgba(255,190,130,.8)}
.hero-orbit-second{height:470px;width:1020px;border-top:1px solid rgba(233,172,128,.12);top:22px;left:25px;transform:rotate(31deg)}
.hero-floorlight{pointer-events:none;position:absolute;z-index:0;bottom:6%;left:3%;width:70%;height:21%;background:radial-gradient(ellipse at center,rgba(250,177,121,.15),transparent 70%);transform:rotate(18deg);filter:blur(19px)}
.company-login .login-visual{position:relative;z-index:2;width:min(86%,580px);max-width:580px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 0 10px}
.company-login .hero-logo{display:block;width:180px;height:auto;object-fit:contain;margin:0 0 32px;filter:drop-shadow(0 6px 14px rgba(7,4,2,.18))}
.hero-flare{height:2px;width:220px;background:linear-gradient(90deg,transparent,#a56d4e 16%,#fff5df 50%,#b97750 84%,transparent);box-shadow:0 0 14px 5px rgba(243,165,103,.25);margin:0 0 30px}
.hero-slogan{color:#fbeae0;font-family:"Batang","Noto Serif CJK KR",serif;font-weight:700;font-size:clamp(17px,2vw,27px)!important;letter-spacing:.07em;line-height:1.7!important;white-space:nowrap;margin:0 0 24px!important}
.company-login h1.hero-hanja{font-family:"Batang","Noto Serif CJK KR",serif;color:#fbe8dc;font-size:clamp(28px,3.25vw,50px);letter-spacing:.12em;line-height:1.35;font-weight:700;margin:0 0 35px;white-space:nowrap;text-shadow:0 2px 14px rgba(255,220,193,.14)}
.hero-flare-small{width:195px;margin-bottom:35px}
.hero-service-name{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center;color:#ffe5d0;margin-bottom:45px}
.hero-service-name>span{position:relative;font-size:17px;letter-spacing:.32em;white-space:nowrap;padding:0 25px}
.hero-service-name>span:before,.hero-service-name>span:after{content:"";position:absolute;top:50%;width:60px;height:1px;background:linear-gradient(to right,transparent,#d3a07a)}
.hero-service-name>span:before{right:100%}.hero-service-name>span:after{left:100%;transform:rotate(180deg)}
.hero-service-name>small{letter-spacing:.16em;color:#d7b29b;font-size:8px;white-space:nowrap}
.company-login .splash-card{width:min(100%,560px);margin:0;border:1px solid rgba(230,164,111,.63);border-radius:10px;color:#fcefe7;background:rgba(93,51,31,.29);box-shadow:inset 0 1px 0 rgba(255,214,184,.08);padding:17px 14px;display:flex;align-items:center;justify-content:center;gap:15px;white-space:nowrap;font-size:clamp(12px,1.3vw,19px)}
.company-login .splash-card .hero-check{color:white;font-size:25px;margin-right:0}
.company-login .splash-card .divider-dot{color:#f2d6c1;margin:0}
.company-login .login-panel{padding:35px clamp(32px,5.5vw,108px);display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 85% 0,#fff9f7,#fffaf7 34%,#faf3ee 100%)}
.company-login .login-card{width:100%;max-width:530px;color:#492c1e}
.company-login .login-card h2{font-size:clamp(27px,2.4vw,37px);font-weight:800;color:#492815;letter-spacing:-1.3px;margin:0 0 8px}
.company-login .login-help{font-size:20px;color:#725b4c;margin:0 0 35px}
.company-login .login-card .form-stack{gap:8px}
.company-login .login-card .form-stack label{color:#3e2a20;font-weight:800;font-size:14px;margin:0 0 5px}
.company-login .login-input-wrap{position:relative;display:flex;align-items:center;margin-bottom:15px}
.company-login .login-input-wrap svg{pointer-events:none;position:absolute;left:19px;width:21px;height:21px;fill:none;stroke:#63442c;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.company-login .login-input-wrap input{border:1px solid #d5c2b8;box-shadow:inset 0 1px 4px rgba(83,46,26,.04);background:linear-gradient(135deg,#fbf4ef,#f0e8e3);border-radius:10px;min-height:56px;padding:14px 16px 14px 54px;width:100%;font-size:16px;color:#2e211c;outline-offset:2px}
.company-login .login-input-wrap input:focus{border-color:#b98961;box-shadow:0 0 0 3px #c89b7638}
.company-login .form-stack .btn-primary{min-height:60px;font-size:18px;color:#fff7f1;background:linear-gradient(120deg,#704027,#45200e);border:1px solid #875333;border-radius:10px;box-shadow:0 7px 16px rgba(59,28,13,.11);margin-top:1px;padding:12px 25px}
.company-login .form-stack .btn-primary:hover{background:linear-gradient(120deg,#814b2c,#5a2b13)}
.company-login .form-stack .btn-primary span{font-size:27px;font-weight:400}
.company-login .demo-accounts{margin-top:31px;border:1px solid #dfcec4;border-radius:11px;background:rgba(255,251,248,.52);padding:21px 21px 15px;color:#583925}
.company-login .demo-head{font-size:15px;display:flex;align-items:center;gap:15px;justify-content:space-between;color:#523220;border-bottom:1px solid #e8dbd1;padding-bottom:13px}
.company-login .demo-head .test-label{font-size:16px;font-weight:800;white-space:nowrap}
.company-login .demo-head>span:last-child{font-size:12px;color:#604a3d;white-space:nowrap}
.company-login .demo-head b{font-weight:800;color:#412719}
.company-login .account-grid{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;row-gap:20px;column-gap:16px}
.company-login .account-grid>div{display:flex;align-items:center;gap:10px;min-width:0}
.company-login .account-icon{background:#f4e7dd;width:36px;height:36px;display:grid;place-items:center;border-radius:8px;flex-shrink:0;font-size:18px;color:#6c432a}
.company-login .account-grid b{color:#4e2a1b;font-size:13px;font-weight:800;line-height:1.3}
.company-login .account-grid small{color:#80695d;font-size:11px}
.company-login .demo-accounts p{border-top:1px solid #e8dbd1;padding-top:13px;color:#d13925;font-size:11px;font-weight:750;margin:19px 0 0}
.company-login .login-mobile-mark{display:none}
/* Logged-in UI — faithful sidebar/company brand, light dashboard and lavender actions. */
.sidebar{width:274px;padding:16px 14px 17px;border-right:1px solid #e6eaf3}
.page-area{margin-left:274px;background:radial-gradient(circle at 40% 13%,#f7f8ff,#f5f7ff 68%,#f8faff 100%)}
.sidebar .brand{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:0 4px 16px;margin:0 0 20px;border-bottom:1px solid #e7ebf2;min-height:83px}
.sidebar-slogan{text-align:center;display:block;font-size:11px;color:#292526;font-weight:800;white-space:nowrap;letter-spacing:-.35px}
.brand-identity{display:flex;gap:10px;align-items:center;justify-content:space-between}
.brand-identity img{width:92px;height:auto;object-fit:contain;flex-shrink:0}
.brand-identity strong{font-size:17px;font-weight:900;letter-spacing:-1.15px;color:#161719;white-space:nowrap}
.nav-label{font-size:12px;font-weight:600;color:#929cab;padding-left:11px;letter-spacing:0;margin-bottom:6px}
.admin-label{border-top:1px solid #edf0f6;padding-top:15px;margin-top:14px}
.navlink{font-size:13px;padding:10px 12px;color:#35445e;gap:12px;border-radius:11px}
.navlink.selected{background:#e9eafd;color:#454be4}
.navico{font-size:18px;width:20px}
.security-note{background:#f7f9fe;color:#293851;margin-bottom:12px}
.security-note small{color:#8c99ab}
.topbar{height:61px;padding:0 38px}
.breadcrumb{color:#2e3a54;font-size:13px}
.breadcrumb-divider{color:#8a94a9}
.main-content{padding:36px 39px 44px}
.page-heading{margin-bottom:25px}
.page-heading h1{font-size:27px;color:#202b45}
.metrics{gap:18px;margin-bottom:20px}
.metric{border:1px solid #e4e9f6;border-radius:13px;padding:22px 23px;box-shadow:0 8px 22px #2e426506}
.metric-top{font-size:13px;color:#33405a;font-weight:800}
.metric-number{font-size:32px}
.metric-foot{font-size:11px}
.panel{border:1px solid #e4e9f5;border-radius:14px;box-shadow:0 8px 22px #2e426507}
.dashboard-grid{grid-template-columns:1.48fr 1fr;gap:18px;margin-bottom:20px}
.dashboard-grid .panel{min-height:274px}
.panel-heading{padding:22px 24px 14px}
.empty-state{min-height:194px;display:flex;flex-direction:column;justify-content:center;padding:18px 12px 24px}
.empty-icon{border-radius:50%;background:#edf0ff;color:#5364e8;width:51px;height:51px}
.quick-link{padding:10px;margin-bottom:3px}
.footer{padding:19px 38px}
/* Mobile layout retains full login and document functionality. */
@media(max-width:1150px){.sidebar{width:240px}.page-area{margin-left:240px}.main-content{padding:30px 27px 40px}.topbar{padding:0 27px}.brand-identity img{width:76px}.brand-identity strong{font-size:15px}.sidebar-slogan{font-size:9px}.company-login .login-panel{padding:32px 35px}.company-login .demo-head{align-items:flex-start;flex-direction:column;gap:2px}.hero-service-name>span:before,.hero-service-name>span:after{width:33px}.company-login .splash-card{gap:8px}}
@media(max-width:760px){.sidebar{width:264px}.page-area{margin-left:0}.topbar{padding:0 18px}.main-content{padding:25px 16px 40px}.sidebar-slogan{font-size:11px}.brand-identity img{width:92px}.brand-identity strong{font-size:17px}.company-login{display:block;min-height:100vh}.company-login .login-splash{display:none}.company-login .login-panel{min-height:100vh;padding:30px 23px}.company-login .login-mobile-mark{display:flex;align-items:center;gap:12px;margin:0 0 33px;height:auto;width:100%;background:transparent;white-space:normal;justify-content:flex-start}.company-login .login-mobile-mark img{width:86px}.company-login .login-mobile-mark b{color:#492815;margin:0;font-size:17px}.company-login .login-card h2{font-size:27px}.company-login .login-help{font-size:16px;margin-bottom:24px}.company-login .demo-head{flex-direction:row;align-items:center}.company-login .demo-head .test-label{font-size:14px}.company-login .demo-head>span:last-child{font-size:11px}.company-login .login-input-wrap input{min-height:54px}}
@media(max-width:410px){.company-login .login-panel{padding:25px 15px}.company-login .demo-accounts{padding:15px}.company-login .demo-head{flex-direction:column;align-items:flex-start;gap:3px}.company-login .account-grid{column-gap:7px}.company-login .account-icon{width:26px;height:26px;font-size:15px}.company-login .account-grid b{font-size:11px}.company-login .account-grid small{font-size:9px}}
@media print{.page-area{background:#fff}.sidebar{display:none!important}}

/* v1.2: staff management and initial-password UX */
.admin-info-banner{display:flex;gap:10px;align-items:flex-start;padding:15px 18px;border-radius:12px;background:#f2f5ff;border:1px solid #dfe4ff;color:#55617b;margin-bottom:22px;font-size:12px;line-height:1.8}
.admin-info-banner b{color:#2f4261}
.admin-users-table{min-width:720px}
.admin-users-table td:last-child{min-width:138px}
.admin-user-actions{display:flex;gap:7px;align-items:center}
.admin-user-actions form{margin:0}
.small-danger{background:#fff4f3!important;border:1px solid #f5d2cf!important;color:#c34442!important}
.small-danger:hover{background:#ffe9e7!important}
.admin-self-label{font-size:11px;color:#9aa5b5}
.admin-password-help{border-radius:9px;background:#faf7f3;border:1px solid #efe3da;padding:12px 13px;color:#725b50;font-size:11px;line-height:1.8;margin:0 0 12px}
.deleted-users-panel{margin-top:20px;overflow:hidden}
.deleted-users-panel summary{cursor:pointer;padding:20px 25px;font-weight:800;font-size:15px;color:#31415b;list-style-position:inside}
.deleted-users-panel summary::marker{color:#8f9aaf}
.deleted-help{margin-left:12px;font-size:11px;font-weight:500;color:#9ca7b8}
.deleted-empty{padding:0 25px 24px;margin:0;color:#9ca7b8;font-size:12px}
.password-change-container{max-width:540px;margin:16px auto 60px}
.password-change-container h1{font-size:28px;letter-spacing:-1px;margin:4px 0 10px}
.password-lead{font-size:13px;color:#8190a5;line-height:1.7;margin:0 0 24px}
.password-change-container .panel{margin-top:20px}
.password-change-container .form-stack{gap:9px}
.password-change-container .form-stack label{margin-top:8px}
@media(max-width:760px){.admin-info-banner{padding:13px}.admin-users-panel .panel-heading{padding:18px 16px}.password-change-container{margin:4px auto 32px}.password-change-container h1{font-size:24px}}

/* v1.2.1: employee edit panel */
.admin-user-actions{flex-wrap:wrap}
.user-edit-details{position:relative}
.user-edit-details>summary{list-style:none;cursor:pointer;white-space:nowrap}
.user-edit-details>summary::-webkit-details-marker{display:none}
.user-edit-details[open] .user-edit-form{position:static;display:grid;gap:9px;width:260px;max-width:85vw;background:#fff;border:1px solid #d9deec;box-shadow:0 12px 30px #1a315526;border-radius:12px;padding:15px;color:#233048}
.user-edit-form label{display:grid;gap:4px;font-weight:650;font-size:12px}
.user-edit-form input,.user-edit-form select{width:100%;min-height:34px;border:1px solid #d6dae3;border-radius:7px;padding:6px 8px;color:#1b2439;background:#fff}
.user-edit-form small{font-size:11px;color:#68748e;line-height:1.5}
.user-edit-form button{justify-self:start}

/* v1.3.0: Full source CI logo in the sidebar, never clipped. */
.sidebar .brand-identity{justify-content:flex-start;gap:8px;min-width:0;align-items:center}
.sidebar .brand-identity img{display:block;width:108px;max-width:45%;height:auto;max-height:48px;object-fit:contain;object-position:center center;flex:0 0 auto;overflow:visible}
.sidebar .brand-identity strong{flex:1;min-width:0;white-space:nowrap;font-size:17px;letter-spacing:-.6px;font-family:inherit;font-weight:800;color:#1d2943}
/* v1.3.0: arbitrary sequential approver selection. */
#approval-chain{display:flex;flex-direction:column;gap:0}
#approval-chain .approver-row{align-items:flex-start;position:relative;gap:10px;min-width:0;padding:5px 0 14px}
#approval-chain .approver-row + .approver-row{border-top:1px dashed #e4e9f5;padding-top:19px}
#approval-chain .approver-row .step-bubble{margin-top:27px;flex-shrink:0}
#approval-chain .approver-row .field{flex:1;min-width:0}
#approval-chain .remove-approver{border:1px solid #e4e9f5;background:#fff;color:#6d7891;border-radius:9px;width:30px;height:34px;min-width:30px;margin-top:25px;cursor:pointer;font-size:21px;line-height:1}
#approval-chain .remove-approver:hover{background:#fff2f2;color:#ba283a;border-color:#f0cbd2}
#approval-chain .remove-approver[hidden]{visibility:hidden;display:block}
.add-approver-button{width:100%;border-style:dashed!important;margin:2px 0 17px;font-weight:700}
.add-approver-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1150px){.sidebar .brand-identity img{width:95px;max-width:43%}.sidebar .brand-identity strong{font-size:14px}}
@media(max-width:760px){.sidebar .brand-identity img{width:108px;max-width:45%}.sidebar .brand-identity strong{font-size:16px}}

/* v1.3.1: Full-size employee edit modal, not clipped by the staff table */
.staff-edit-dialog {
  width: min(480px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: min(88dvh, 820px);
  margin: auto;
  padding: 0;
  color: #223149;
  background: #fff;
  border: 1px solid #e2e7f1;
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(24, 33, 57, .27);
  overflow: auto;
  overscroll-behavior: contain;
}
.staff-edit-dialog::backdrop { background: rgba(16, 27, 49, .58); backdrop-filter: blur(2px); }
.staff-edit-form { display: flex; flex-direction: column; min-width: 0; }
.staff-edit-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px; padding: 24px 26px 18px; border-bottom: 1px solid #eaf0f6;
}
.staff-edit-eyebrow { color: #5a64dd; font-size: 10px; font-weight: 800; letter-spacing: .12em; margin: 0 0 5px; }
.staff-edit-header h2 { margin: 0 0 5px; font-size: 21px; letter-spacing: -.6px; }
.staff-edit-header p:last-child { margin: 0; font-size: 12px; color: #6c7b90; overflow-wrap: anywhere; }
.staff-edit-username { margin-left: 5px; color: #8490a1; }
.staff-edit-close { border: 0; background: #f3f5fa; color: #59667b; flex: none;
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px;
  font-size: 24px; line-height: 1; }
.staff-edit-close:hover { background: #e9ecf5; }
.staff-edit-fields { display: grid; gap: 15px; padding: 20px 26px; }
.staff-edit-fields label { display: grid; gap: 7px; font-weight: 750; font-size: 12px; color: #485773; min-width: 0; }
.staff-edit-fields input, .staff-edit-fields select { min-width: 0; width: 100%;
  min-height: 43px; padding: 9px 12px; border: 1px solid #d9e0ed; border-radius: 9px;
  background: #fff; color: #23314b; }
.staff-edit-fields input:focus, .staff-edit-fields select:focus { outline: 2px solid #8b91f4; outline-offset: 1px; }
.staff-edit-help { padding: 11px 13px; border-radius: 9px; border: 1px solid #e3e9ff;
  background: #f6f8ff; font-size: 11px; color: #64728e; line-height: 1.7; }
.staff-edit-footer { display: flex; justify-content: flex-end; gap: 9px;
  padding: 15px 26px 22px; border-top: 1px solid #eaf0f6; background: #fff; }
@media(max-width: 520px) {
  .staff-edit-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: 90dvh; border-radius: 14px; }
  .staff-edit-header { padding: 18px 18px 14px; }
  .staff-edit-fields { padding: 18px; gap: 12px; }
  .staff-edit-footer { padding: 14px 18px 18px; }
}
/* Keep removed demo account panel out of the login flow even on older cached pages. */
.company-login .login-card { align-self: center; }

/* v1.3.3: persistent staff ordering (all style changes scoped to admin). */
.staff-sort-banner{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px 17px;border:1px solid #d9ddff;border-radius:12px;background:#f4f5ff;color:#4656a6;font-size:12px;line-height:1.7}
.staff-sort-banner>span{font-size:21px;line-height:1.2}
.staff-sort-banner p{margin:3px 0 0;color:#65728d}
.staff-order-save-form{display:flex;gap:13px;align-items:center;justify-content:flex-end;padding:10px 23px 16px;flex-wrap:wrap}
.staff-order-save-form #staff-order-status{font-size:11px;color:#75819a}
.staff-order-save-form .btn{padding:9px 15px;min-width:100px}
.staff-order-save-form .btn:disabled{opacity:.53;cursor:not-allowed}
.admin-users-table{min-width:850px}
.admin-users-table th:first-child,.admin-users-table td:first-child{width:150px;min-width:150px}
.staff-sort-controls{display:flex;align-items:center;gap:7px;white-space:nowrap}
.staff-drag-handle{user-select:none;cursor:grab;color:#8493ac;font-size:21px;line-height:1;padding:2px 3px;touch-action:none}
.staff-drag-handle:active{cursor:grabbing}
.staff-order-number{font-size:12px;border-radius:7px;background:#eef0ff;color:#545bd4;font-weight:800;min-width:25px;padding:4px 5px;text-align:center;font-variant-numeric:tabular-nums}
.staff-sort-arrows{display:flex;gap:3px}
.staff-sort-arrows form{margin:0}
.staff-move-button{width:26px;min-width:26px;height:28px;padding:3px 0;font-size:14px;line-height:1}
.staff-move-button:disabled{opacity:.3;cursor:not-allowed}
#staff-order-table tr.staff-dragging{opacity:.48;background:#eef0ff}
#staff-order-table tr.staff-drag-over{outline:2px dashed #5967e9;outline-offset:-2px}
@media(max-width:760px){.staff-sort-banner{padding:13px}.staff-order-save-form{padding:11px 14px}.admin-users-table{min-width:850px}}

/* Keep staff ordering and the entire action column visible at common desktop widths. */
.admin-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:1850px){.admin-grid{grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr)}}

/* v1.3.6 leave request + calendar */
.leave-dates-group[hidden], #amount-field[hidden] { display:none !important; }
.leave-dates-group { grid-column: 1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.leave-dates-help { grid-column:1/-1; }
.leave-calendar-panel { overflow:hidden; }
.leave-calendar-toolbar { display:flex;justify-content:space-between;align-items:center;gap:14px;padding:23px 25px 14px;flex-wrap:wrap; }
.leave-calendar-navigation,.leave-view-toggle { display:flex;align-items:center;gap:12px; }
.leave-calendar-navigation h2 {font-size:22px;color:#192744;min-width:152px;text-align:center;margin:0;}
.leave-calendar-navigation .leave-nav {min-width:37px;min-height:37px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;padding:0 9px;}
.leave-view-toggle .btn {font-size:12px;padding:9px 13px;}
.leave-calendar-legend {display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding:0 25px 19px;font-size:12px;color:#566784;}
.leave-calendar-legend>span {display:inline-flex;align-items:center;gap:6px;}
.leave-legend-dot {height:10px;width:10px;border-radius:3px;background:#57b98f;display:inline-block;}
.leave-legend-dot.pending {background:#f2b45c;}
.leave-calendar-note {margin-left:auto;color:#7f8ca4;}
.leave-calendar-scroll {overflow-x:auto;border-top:1px solid #e5eaf4;}
.leave-calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px;}
.leave-weekday {background:#f6f8fd;padding:13px 6px;text-align:center;color:#506482;font-weight:750;font-size:12px;border-right:1px solid #e9edf5;}
.leave-weekday.sunday {color:#cf6363;}
.leave-weekday.saturday {color:#5a79bd;}
.leave-day {min-height:116px;border-top:1px solid #e7ecf5;border-right:1px solid #e7ecf5;padding:9px 6px 10px;min-width:0;background:#fff;}
.leave-day.outside {background:#fafbfe;color:#aab5c6;}
.leave-day.today {box-shadow:inset 0 0 0 2px #686ef5;}
.leave-day-number {font-size:12px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;height:24px;width:24px;}
.leave-day.today .leave-day-number {color:#fff;background:#565bf5;border-radius:50%;}
.leave-event {display:flex;align-items:flex-start;flex-direction:column;gap:2px;font-size:11px;padding:5px 6px;margin-top:5px;border-radius:6px;color:#176a4b;background:#e6f7ef;text-decoration:none;overflow-wrap:anywhere;}
.leave-event.pending {background:#fff4de;color:#995b08;}
.leave-event small {font-size:10px;opacity:.84;}
.leave-event-name {font-weight:750;}
.leave-calendar-footnote {padding:15px 25px 22px;margin:0;color:#6e7d99;font-size:12px;line-height:1.65;}
@media(max-width:760px){.leave-dates-group{grid-template-columns:1fr}.leave-calendar-toolbar{padding:18px 14px}.leave-calendar-legend{padding:0 14px 15px}.leave-calendar-footnote{padding:14px}.leave-calendar-note{margin-left:0}}

.leave-category-field{grid-column:1/-1;}

/* v1.3.7: shared company schedule + leave calendar. */
.schedule-page-heading { align-items:center; }
.schedule-scope-label { font-size:12px; color:#71809b; white-space:nowrap; }
.leave-legend-dot.schedule-company { background:#6863df; }
.leave-event.schedule-shared { background:#edebff; color:#4939ac; }
.leave-event.schedule-shared:hover { background:#e2dcff; }
.schedule-list-panel, .schedule-form-panel { margin-top:18px; padding:23px 25px; }
.schedule-list-header h2, .schedule-form-heading h2 { font-size:18px; margin:0 0 6px; color:#172541; }
.schedule-list-header p, .schedule-form-heading p { font-size:13px; color:#7b89a5; margin:0 0 16px; }
.schedule-count {display:inline-block;vertical-align:middle;background:#eef0ff;color:#5659de;padding:2px 8px;border-radius:8px;font-size:12px;}
.schedule-event-list {display:flex;flex-direction:column;gap:0;}
.schedule-event-row {display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #edf0f6;scroll-margin-top:32px;}
.schedule-event-main {min-width:0;}
.schedule-event-title {display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;color:#172541;}
.schedule-kind {display:inline-flex;border-radius:6px;background:#edebff;color:#554aba;font-size:11px;font-weight:700;padding:5px 8px;}
.schedule-date {font-size:12px;color:#6e7b95;margin-top:6px;}
.schedule-description {white-space:pre-wrap;font-size:13px;color:#485872;margin:8px 0 0;overflow-wrap:anywhere;}
.schedule-row-actions {display:flex;gap:7px;align-self:flex-start;}
.schedule-row-actions .btn {padding:8px 12px;font-size:12px;white-space:nowrap;}
.schedule-delete-button {color:#b44848;border-color:#f0b7b7;}
.schedule-empty {padding:36px 5px;text-align:center;border-top:1px solid #edf0f6;}
.schedule-empty strong {font-size:14px;color:#35445e;}
.schedule-empty p {font-size:12px;color:#8190a8;}
.schedule-form-heading {display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.schedule-event-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;}
.schedule-full-width,.schedule-form-actions {grid-column:1/-1;}
.schedule-form-actions {display:flex;justify-content:flex-end;}
.schedule-event-form input,.schedule-event-form select,.schedule-event-form textarea {width:100%;}
@media(max-width:760px){.schedule-list-panel,.schedule-form-panel{padding:17px 14px}.schedule-event-form{grid-template-columns:1fr}.schedule-event-row{flex-direction:column}.schedule-row-actions{align-self:flex-end}.schedule-form-actions{justify-content:stretch}.schedule-form-actions .btn{width:100%}.schedule-form-heading{flex-direction:column}}

/* v1.3.8: recipient-scoped shared schedules */
.schedule-scope-label { font-size:12px;color:#586a8b;line-height:1.5; }
.schedule-recipient-field { min-width:0;border:1px solid #dce3f3;border-radius:12px;padding:16px;background:#fafbff; }
.schedule-recipient-field legend { padding:0 6px;font-size:13px;font-weight:750;color:#233454; }
.schedule-recipient-help { margin:0 0 13px;font-size:12px;color:#677997;line-height:1.6; }
.schedule-recipient-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:258px;overflow-y:auto; }
.schedule-recipient-option { display:flex;align-items:center;gap:9px;padding:10px 12px;min-width:0;background:#fff;border:1px solid #e2e6f1;border-radius:9px;cursor:pointer; }
.schedule-recipient-option:has(input:checked) { border-color:#7677e9;background:#f0f1ff; }
.schedule-recipient-option input { width:17px;height:17px;flex:0 0 17px;accent-color:#5558e5; }
.schedule-recipient-option span { display:flex;flex-direction:column;gap:2px;min-width:0; }
.schedule-recipient-option strong { font-size:13px;color:#223354; }
.schedule-recipient-option small { font-size:11px;color:#687a97; }
.schedule-recipient-empty { font-size:13px;color:#7b88a0; }
@media (max-width:1000px) { .schedule-recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px) { .schedule-recipient-grid{grid-template-columns:1fr} }

/* v1.3.9: Korean company name in Gungsuh, optically matched to oval CI height. */
.sidebar .brand-identity{gap:7px;justify-content:flex-start}
.sidebar .brand-identity img{width:99px;max-width:42%;max-height:37px;object-fit:contain}
.sidebar .brand-identity strong{font-family:'Gungsuh','궁서','Batang',serif;font-weight:400;font-size:25px;line-height:1.1;letter-spacing:-1.9px;white-space:nowrap;flex:0 1 auto}
@media(max-width:1150px){.sidebar .brand-identity strong{font-size:21px}.sidebar .brand-identity img{width:90px}}
@media(max-width:760px){.sidebar .brand-identity strong{font-size:23px}.sidebar .brand-identity img{width:99px}}

/* v1.4.2 company name typography matches page heading title */
.sidebar .brand-identity{gap:4px;align-items:center}
.sidebar .brand-identity img{width:78px;max-width:35%;height:auto;max-height:38px}
.sidebar .brand-identity strong{font-family:inherit;font-size:27px;font-weight:800;line-height:1;letter-spacing:-1.45px;color:#202b45;white-space:nowrap;flex:0 1 auto}
@media (max-width:1150px){.sidebar .brand-identity img{width:65px}.sidebar .brand-identity strong{font-size:23px;letter-spacing:-1.5px}}
@media (max-width:760px){.sidebar .brand-identity img{width:73px}.sidebar .brand-identity strong{font-size:25px}}

/* v1.4.14: consolidated document box status filters */
.document-filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:0 23px 19px;border-bottom:1px solid #edf0f7}
.document-filter{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;background:#f8faff;border:1px solid #e3e8f4;border-radius:9px;color:#52617a;font-size:12px;font-weight:700;min-height:34px;white-space:nowrap}
.document-filter:hover{background:#ecefff;border-color:#b6befa;color:#4e55c9}
.document-filter.is-active{background:#e9eafd;color:#434ddd;border-color:#b9c0fc}
@media(max-width:760px){.document-filter-row{padding:0 17px 15px;gap:6px}.document-filter{padding:7px 10px;font-size:11px}}
