@font-face{font-family:Spoqa Han Sans;src:url(/assets/SpoqaHanSans-Light-HodYGE71.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Spoqa Han Sans;src:url(/assets/SpoqaHanSans-Regular-BZ1T8BcG.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Spoqa Han Sans;src:url(/assets/SpoqaHanSans-Bold-aZA96Oz1.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}@font-face{font-family:Futura;src:url(/assets/Futura-Medium-CeLzMToP.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Futura;src:url(/assets/Futura-Bold-FGzM2tLl.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}:root{--gamja-blue: #0064ac;--gamja-yellow: #fdc300;--gamja-orange: #ea5b0a;--bg: #f6f7f8;--surface: #ffffff;--surface-soft: #f0f3f6;--text: #18202a;--muted: #687386;--line: #d9e0e7;--line-strong: #b8c3cf;--success: #25855a;--warning: #9a6a00;--danger: #bd3a22;--shadow: 0 8px 20px rgba(20, 32, 46, .07)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Spoqa Han Sans;letter-spacing:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{white-space:nowrap}.login-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.site-login-header{min-height:95px;padding:0 30px;background:var(--gamja-yellow);border-bottom:1px solid rgba(0,100,172,.18);display:flex;align-items:center;justify-content:space-between;gap:28px}.site-login-logo{display:flex;align-items:center}.site-login-logo img{display:block;width:244px;max-width:100%;height:auto}.site-login-header nav{display:flex;align-items:center;gap:24px;color:var(--gamja-blue);font-family:Futura,Spoqa Han Sans;font-size:14px;font-weight:700}.site-login-header nav span{color:#0064acb8}.site-login-content{flex:1;min-height:calc(100vh - 95px);padding:72px 20px 88px;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-form-card{width:min(100%,360px);background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}.login-form-head{display:grid;justify-items:center;padding-top:56px;margin-bottom:52px;text-align:center}.login-illustration-logo{display:block;width:208px;max-width:100%;height:auto;margin-bottom:20px}.login-wordmark{display:block;width:192px;max-width:100%;height:auto}.login-form-head h2{margin:18px 0 0;color:var(--muted);font-size:14px;font-weight:400}.login-form-card form{display:grid;gap:14px}.login-form-card label{display:grid;gap:8px}.login-form-card label span{color:var(--text);font-size:14px;font-weight:700}.login-form-card input{width:100%;min-height:48px;border:1px solid #dadada;border-radius:3px;padding:0 13px;color:var(--text);background:#fff}.login-form-card input:focus{outline:2px solid rgba(0,100,172,.18);border-color:var(--gamja-blue)}.password-input-wrap{position:relative;width:100%}.password-input-wrap input{padding-right:48px}.password-toggle{position:absolute;top:50%;right:9px;width:34px;height:34px;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.remember-row{display:inline-flex!important;width:fit-content;grid-template-columns:none;align-items:center;gap:8px!important;margin:2px 0 4px;cursor:pointer}.remember-row input{width:16px;min-height:16px;accent-color:var(--gamja-blue)}.remember-row span{color:var(--text);font-size:14px;font-weight:400}.login-error{margin:0;color:var(--danger);font-size:13px;font-weight:700}.login-submit{width:100%;min-height:48px;border:1px solid var(--gamja-blue);border-radius:3px;background:var(--gamja-blue);color:#fff;cursor:pointer;font-size:14px;font-weight:700}.login-note{margin:18px 0 0;color:var(--text);text-align:center;font-size:13px}.app-shell{display:flex;min-height:100vh}.sidebar{width:256px;height:100vh;background:#111820;color:#fff;display:flex;flex-direction:column;padding:20px 14px;box-sizing:border-box;align-self:flex-start;flex-shrink:0;overflow:hidden;position:sticky;top:0}.brand-row{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.brand-row strong{display:block}.brand-mark{width:46px;height:46px;border-radius:8px;display:grid;place-items:center;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.sidebar nav{display:grid;gap:4px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.nav-item{width:100%;border:0;border-radius:8px;color:#ffffffc2;background:transparent;display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;text-align:left}.nav-item.active{color:#fff;background:#ffffff1f;box-shadow:inset 3px 0 0 var(--gamja-yellow)}.nav-item.subtle{color:#fff9}.sidebar-footer{margin-top:auto;display:grid;gap:4px;padding-top:20px;flex-shrink:0}.icon-button.sidebar-close,.icon-button.mobile-menu{display:none}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{min-height:74px;background:#f6f7f8f0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar h1,.hero-panel h2,.toolbar-panel h2,.panel h2,.detail-card h2{margin:0}.topbar h1{font-size:22px}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;margin:0 0 4px}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);display:inline-grid;place-items:center;position:relative;cursor:pointer}.notification-dot{width:8px;height:8px;background:var(--gamja-orange);border-radius:50%;position:absolute;top:8px;right:8px}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.user-chip>span,.avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-soft);color:var(--gamja-blue);display:grid;place-items:center;font-weight:800}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:11px}.content{padding:14px 20px}.screen-grid{display:grid;gap:8px}.hero-panel,.toolbar-panel,.attendance-strip,.panel,.check-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.hero-panel{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:4px solid var(--gamja-blue)}.hero-panel h2{font-size:26px}.hero-panel p{color:var(--muted);margin:8px 0 0}.primary-button,.secondary-button,.orange-button{border:1px solid transparent;border-radius:8px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;cursor:pointer;font-weight:700}.primary-button{background:var(--gamja-blue);color:#fff}.orange-button{background:var(--gamja-orange);color:#fff}.secondary-button{background:var(--surface);color:var(--text);border-color:var(--line-strong)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.team-attendance-metrics{grid-template-columns:repeat(7,minmax(0,1fr))}.metric-card{min-height:124px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px;display:grid;align-content:space-between;box-shadow:var(--shadow)}.metric-card>span{color:var(--muted);font-size:12px;font-weight:700}.metric-card div{display:flex;align-items:baseline;gap:5px}.metric-card strong{font-size:34px;font-variant-numeric:tabular-nums}.metric-card small,.metric-card p{color:var(--muted)}.metric-card p{margin:0;font-size:12px}.team-attendance-metrics .metric-card{min-height:124px;padding:18px 14px;align-content:center;justify-items:center;text-align:center;gap:8px}.team-attendance-metrics .metric-card>span{line-height:1.4}.team-attendance-metrics .metric-card div{align-items:flex-end;justify-content:center;min-height:38px}.team-attendance-metrics .metric-card strong{font-size:30px;line-height:1}.team-attendance-metrics .metric-card small{font-size:12px;line-height:1}.team-attendance-metrics .metric-card p{font-size:12px;line-height:1.35;text-align:center}.tone-blue{border-top:4px solid var(--gamja-blue)}.tone-yellow{border-top:4px solid var(--gamja-yellow)}.tone-orange{border-top:4px solid var(--gamja-orange)}.tone-purple{border-top:4px solid #7c5bbf}.tone-neutral{border-top:4px solid var(--line-strong)}.attendance-strip{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:18px}.status-line,.location-ok{display:inline-flex;align-items:center;gap:8px;color:var(--success);font-weight:800}.status-line.neutral{color:var(--muted)}.status-line.warning{color:var(--danger)}.status-line.purple{color:#7c5bbf}.status-line.success{color:var(--success)}.status-line.muted-line{color:var(--muted);font-weight:600}.status-line.checked-out-line{color:var(--muted)}.break-inline{font-size:.72rem;font-weight:700;color:var(--gamja-orange);background:#ea5b0a17;border-radius:4px;padding:1px 6px;margin-left:6px}.strip-data{display:grid;gap:3px;color:var(--muted);font-size:13px}.strip-data strong{color:var(--text)}.two-column,.approval-layout,.request-layout,.attendance-layout{display:grid;gap:18px}.two-column{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr)}.hr-overview-grid{display:grid;gap:18px;grid-template-columns:minmax(0,2.2fr) minmax(220px,.6fr);align-items:start}.approval-layout{grid-template-columns:360px minmax(0,1fr)}.request-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.attendance-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start}.panel{min-width:0;padding:11px 14px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.panel-head h2{font-size:18px}.panel-head button{border:0;background:transparent;color:var(--gamja-blue);display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-weight:700}.table-wrap{width:100%;overflow-x:auto}.table-action-button{min-height:30px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--gamja-blue);padding:0 10px;cursor:pointer;font-size:12px;font-weight:700}.muted-inline{color:var(--muted);font-size:12px}.leave-adjust-controls{display:inline-flex;align-items:center;gap:8px}.leave-adjust-controls input{width:88px;min-height:32px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;background:var(--surface);color:var(--text)}.log-subline{display:block;margin-top:4px;color:var(--muted);font-size:12px}.log-detail{display:block;color:var(--text);line-height:1.45;white-space:normal;word-break:keep-all}table{width:100%;border-collapse:collapse;min-width:520px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:12px}.status-badge,.attendance-badge,.employment-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:800}.employment-재직{color:var(--success);background:#25855a1c}.employment-휴직{color:#7c5bbf;background:#7c5bbf21}.employment-퇴직{color:var(--muted);background:#68738624}.status-승인,.attendance-정상{color:var(--success);background:#25855a1c}.status-대기,.attendance-재택,.attendance-외근{color:var(--warning);background:#fdc30038}.status-반려,.attendance-지각{color:var(--danger);background:#ea5b0a21}.status-취소,.status-회수{color:var(--muted);background:#68738624}.status-팀장승인,.attendance-출근대기{color:#7c5bbf;background:#7c5bbf21}.attendance-휴가,.attendance-미체크{color:var(--muted);background:var(--surface-soft)}.empty-state{display:grid;gap:12px;justify-items:start}.empty-state p{margin:0;color:var(--muted)}.stack-list{display:grid;gap:10px}.person-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.person-row:last-child{border-bottom:0}.person-row strong,.person-row span,.person-top strong,.person-top span{display:block}.person-row span,.person-top span{color:var(--muted);font-size:12px;margin-top:2px}.person-top .attendance-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:26px;margin-top:0;padding:0 10px;line-height:1;text-align:center;white-space:nowrap;flex-shrink:0}.person-row b{color:var(--gamja-blue)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.select-inline select{width:100%;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);padding:11px 12px;min-height:42px}.form-grid textarea{resize:vertical}.select-with-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.field-meta-chip{min-height:42px;border:1px solid rgba(0,100,172,.18);border-radius:8px;background:#0064ac0f;color:var(--gamja-blue);display:inline-flex;align-items:center;justify-content:center;padding:0 12px;font-size:12px;font-weight:700;white-space:nowrap}.field-hint{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}.full-span{grid-column:1 / -1}.summary-note,.alert-box,.policy-row{display:flex;gap:12px;align-items:flex-start}.summary-note,.alert-box{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface-soft)}.summary-note strong,.summary-note span{display:block}.summary-note span,.alert-box p,.policy-row span{color:var(--muted);margin:2px 0 0;font-size:13px}.side-stack{display:grid;gap:18px}.support-copy{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.support-banner{display:grid;gap:3px;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(0,100,172,.14);border-radius:8px;background:#0064ac0d}.support-banner strong{color:var(--gamja-blue)}.support-banner span{color:var(--muted);font-size:13px}.google-calendar-banner{gap:10px}.google-calendar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.google-calendar-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:13px;font-weight:600}.google-calendar-toggle input{margin:0}.integration-message{margin:0;color:var(--text);font-size:13px}.calendar-sync-card{display:grid;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.calendar-sync-card strong,.calendar-sync-card span{display:block}.calendar-sync-card span{margin-top:3px;color:var(--muted);font-size:13px}.calendar-link-button{text-decoration:none}.spin-icon{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.request-manage-list{display:grid;gap:10px}.request-manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.request-manage-row:last-child{padding-bottom:0;border-bottom:0}.request-manage-row strong,.request-manage-row span{display:block}.request-manage-row span{color:var(--muted);font-size:12px;margin-top:3px}.request-manage-actions{display:flex;align-items:center;gap:8px}.approval-route{display:grid;gap:10px}.approval-route-progress{margin-top:12px}.approval-section-list{display:grid;gap:16px}.approval-section{display:grid;gap:10px}.approval-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.approval-section-head strong{font-size:14px}.approval-section-head span{color:var(--muted);font-size:12px;font-weight:700}.route-step{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px}.route-step-copy{display:grid;gap:2px}.route-step-copy strong,.route-step-copy small{display:block}.route-step-copy small{color:var(--muted);font-size:12px}.route-step-done{border-color:#25855a3d;background:#25855a0d}.route-step-done span{background:var(--success)}.route-step-current{border-color:#0064ac3d;background:#0064ac0d}.route-step-pending{background:#fafbfd}.route-step-pending span{background:var(--line-strong)}.route-step span{width:26px;height:26px;border-radius:50%;background:var(--gamja-blue);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.approval-progress-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.approval-progress-card>strong{display:block;font-size:14px}.toolbar-panel{min-height:92px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar-actions{display:flex;gap:8px}.calendar-summary-board{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.calendar-summary-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.calendar-summary-head h3,.calendar-summary-head span,.calendar-week-alert p{margin:0}.calendar-summary-head h3{font-size:20px}.calendar-summary-head span,.calendar-summary-note,.calendar-week-card-head span,.calendar-week-count span,.calendar-week-item span,.calendar-week-alert li,.calendar-week-empty,.calendar-week-alert p{color:var(--muted);font-size:12px}.calendar-summary-meta{display:grid;justify-items:end;gap:8px}.calendar-summary-meta .field-meta-chip{color:var(--gamja-blue)}.calendar-summary-note{font-weight:700}.calendar-week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.calendar-week-card{display:grid;align-content:start;gap:12px;min-height:264px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.calendar-week-card.alert{border-color:#ea5b0a59;box-shadow:inset 0 0 0 1px #ea5b0a29}.calendar-week-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.calendar-week-card-head strong{display:block;font-size:16px}.calendar-week-count{text-align:right}.calendar-week-count b{display:block;font-size:24px;line-height:1}.calendar-week-bar{height:4px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.calendar-week-bar span{display:block;height:100%;border-radius:inherit;background:var(--gamja-blue)}.calendar-week-card.alert .calendar-week-bar span{background:var(--danger)}.calendar-week-list{display:grid;gap:8px}.calendar-week-item{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.calendar-week-item.pending{border-color:#fdc30073}.calendar-week-item.executive{border-color:#7c5bbf59}.calendar-week-item.approved{border-color:#25855a33}.calendar-week-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.calendar-week-item-head strong{font-size:13px}.calendar-week-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;border-radius:999px;padding:0 8px;font-size:11px;font-weight:800;white-space:nowrap}.calendar-week-item-detail{line-height:1.45}.calendar-week-empty{min-height:128px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px}.calendar-week-alert{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.calendar-week-alert.alert{border-color:#ea5b0a59;background:#ea5b0a0d}.calendar-week-alert strong{font-size:13px}.calendar-week-alert ul{display:grid;gap:4px;margin:0;padding-left:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.calendar-head,.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.calendar-head{background:var(--surface-soft);padding:10px;color:var(--muted);font-weight:800;text-align:center;font-size:12px}.calendar-cell{min-height:108px;padding:10px;display:grid;align-content:start;gap:6px}.calendar-cell.muted{background:#fafafa}.calendar-cell strong{font-size:13px}.calendar-event{display:block;padding:4px 6px;border-left:3px solid var(--gamja-blue);background:#0064ac14;font-size:12px;overflow:hidden;text-overflow:ellipsis}.approval-item{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;cursor:pointer}.approval-item.selected{border-color:var(--gamja-blue);box-shadow:inset 3px 0 0 var(--gamja-blue)}.approval-item strong,.approval-item span,.approval-meta span,.approval-meta b{display:block}.approval-item span,.approval-meta span{color:var(--muted);font-size:12px;margin-top:2px}.approval-meta{text-align:right}.detail-card{display:grid;gap:18px}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}.detail-header span{color:var(--muted);font-size:13px}.detail-list{display:grid;gap:10px;margin:0}.detail-list div{display:grid;grid-template-columns:120px 1fr;gap:12px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}.detail-stepper-row{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#0064ac08;border:1px solid var(--line);border-radius:10px}.detail-stepper-row dt{font-size:.75rem;font-weight:700;color:var(--muted)}.detail-stepper-row dd{margin:0}.approval-progress-section{margin-top:10px;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.approval-progress-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.approval-stepper{display:flex;align-items:flex-start;width:100%}.ast-row{display:flex;align-items:flex-start;flex:1;min-width:0}.ast-row:last-child{flex:0 0 auto}.ast-step{display:flex;flex-direction:column;align-items:center;gap:5px;padding:4px 6px 6px;border-radius:8px;min-width:60px;flex-shrink:0}.ast-node{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;border:2.5px solid currentColor}.ast-info{display:flex;flex-direction:column;align-items:center;gap:1px}.ast-label{font-size:.8rem;font-weight:700;line-height:1.2;white-space:nowrap}.ast-sub{font-size:.68rem;font-weight:500;line-height:1.2;opacity:.8;white-space:nowrap}.ast-connector{flex:1;height:2px;margin-top:18px;background:var(--line);min-width:8px}.ast-connector-done{background:var(--success)}.ast-done{color:var(--success)}.ast-done .ast-node{background:var(--success);border-color:var(--success);color:#fff}.ast-active{color:var(--gamja-blue)}.ast-active .ast-node{border-color:var(--gamja-blue);color:var(--gamja-blue);background:#0064ac12}.ast-waiting{color:var(--muted)}.ast-waiting .ast-node{border-color:var(--line-strong);color:transparent;background:var(--surface)}.ast-rejected{color:var(--danger)}.ast-rejected .ast-node{background:var(--danger);border-color:var(--danger);color:#fff}.ast-arrow{display:none}.button-row{display:flex;justify-content:flex-end;gap:10px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1118206b;display:grid;place-items:center;padding:20px}.dialog-card{width:min(100%,360px);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}.dialog-card h2,.dialog-card p{margin:0}.dialog-card p{color:var(--muted);margin-top:8px;line-height:1.5}.dialog-card .button-row{margin-top:18px}.settings-dialog{width:min(100%,420px)}.settings-sub{font-size:.8rem;color:var(--muted);margin-top:4px!important}.settings-fieldset{border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:grid;gap:12px}.settings-fieldset legend{font-size:.78rem;font-weight:700;color:var(--muted);padding:0 4px}.settings-label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:600;color:var(--text)}.pw-input-wrap{position:relative;display:flex;align-items:center}.pw-input-wrap input{width:100%;padding:8px 36px 8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:.88rem}.pw-input-wrap input:focus{outline:none;border-color:var(--gamja-blue);box-shadow:0 0 0 2px #0064ac1f}.pw-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;padding:0}.settings-msg{font-size:.82rem;padding:7px 10px;border-radius:6px;margin:0}.settings-msg-ok{background:#25855a14;color:var(--success)}.settings-msg-err{background:#bd3a2212;color:var(--danger)}.settings-note{display:grid;gap:4px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.settings-note strong{font-size:13px}.settings-note span{color:var(--muted);font-size:13px;line-height:1.5}.settings-form{display:grid;gap:12px;margin-top:16px}.settings-form label{display:grid;gap:6px}.settings-form label>span{font-size:13px;font-weight:700;color:var(--muted)}.settings-form input[type=password],.settings-form input[type=text]{width:100%;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.settings-toggle{display:flex!important;align-items:center;gap:8px}.settings-toggle input{width:16px;height:16px}.settings-toggle span{color:var(--text)!important;font-weight:500!important}.settings-error{margin:0;color:var(--danger);font-size:13px}.check-panel{padding:22px;display:grid;gap:16px}.check-panel time{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums}.check-panel>span{color:var(--muted)}.attendance-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.attendance-mode-button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.attendance-mode-button.is-active{border-color:var(--gamja-blue);color:var(--gamja-blue);box-shadow:inset 0 0 0 1px var(--gamja-blue)}.mode-select-wrap{display:flex;flex-direction:column;gap:12px}.mode-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mode-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 8px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;text-align:center}.mode-card:hover:not(.disabled){border-color:var(--gamja-blue);background:#0064ac0a}.mode-card.selected{border-color:var(--gamja-blue);color:var(--gamja-blue);background:#0064ac12;box-shadow:inset 0 0 0 1px var(--gamja-blue)}.mode-card.disabled{opacity:.38;cursor:not-allowed}.mode-card-icon{display:flex;align-items:center;justify-content:center;color:inherit}.mode-card-label{font-size:.82rem;font-weight:700}.mode-card-desc{font-size:.7rem;color:var(--muted);line-height:1.3}.mode-card.selected .mode-card-desc{color:var(--gamja-blue);opacity:.8}.mode-confirm-btn{margin-top:4px}.gps-idle-icon{display:flex;justify-content:center;color:var(--muted);opacity:.45}.gps-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0;color:var(--muted);font-size:.88rem}.gps-error{font-size:.82rem;color:var(--danger);margin:0;padding:8px 12px;background:#dc35450f;border-radius:8px}.location-out{display:inline-flex;align-items:center;gap:8px;color:var(--gamja-orange);font-size:.82rem;font-weight:700}.mode-prompt{font-size:.88rem;font-weight:700;color:var(--text);margin:0}.checkin-status-box{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#0064ac0a;border:1.5px solid rgba(0,100,172,.18);border-radius:12px}.checkin-status-box p{margin:0;font-size:.88rem}.approval-pending{color:var(--gamja-orange);font-weight:600}.approval-ok{color:var(--success);font-weight:600}.approval-reject{color:var(--danger);font-weight:600}.office-info,.reason-info{color:var(--muted);font-size:.8rem!important}.checkout-done{color:var(--success);font-weight:600}.reason-box{display:flex;flex-direction:column;gap:12px}.reason-box textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:110px;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:.88rem;color:var(--text);background:var(--surface);line-height:1.6;outline:none;transition:border-color .15s}.reason-box textarea:focus{border-color:var(--gamja-blue)}.reason-box .button-row{display:flex;gap:8px}.reason-box .button-row .secondary-button,.reason-box .button-row .primary-button{flex:1}.reason-note{font-size:.75rem;color:var(--muted);margin:0;line-height:1.5}.checkin-action-row{display:flex;gap:8px}.checkin-action-row .secondary-button,.checkin-action-row .orange-button{flex:1}.checkin-action-row .orange-button:disabled{opacity:.4;cursor:not-allowed}.break-status-row{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:var(--muted);padding:5px 10px;background:#00000008;border-radius:8px}.break-status-row.on-break{color:var(--gamja-orange);background:#ea5b0a12}.break-dot{width:8px;height:8px;border-radius:50%;background:var(--gamja-orange);animation:blink-dot 1.2s ease-in-out infinite;flex-shrink:0}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.25}}.break-history{display:flex;flex-direction:column;gap:3px}.break-history-item{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.checkin-done-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-alt, var(--surface));border:1px solid var(--line);border-radius:8px;font-size:.82rem;color:var(--muted)}.map-box{height:240px;border:1px solid var(--line);border-radius:8px;background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(24,32,42,.07) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,rgba(24,32,42,.07) 23px 24px),#edf1f4;position:relative;overflow:hidden}.map-box:before,.map-box:after{content:"";position:absolute;background:#fff;border:1px solid var(--line)}.map-box:before{left:0;right:0;top:44%;height:16px}.map-box:after{top:0;bottom:0;left:58%;width:16px}.map-radius{width:136px;height:136px;border:2px dashed var(--gamja-blue);background:#0064ac14;border-radius:50%;position:absolute;left:58%;top:45%;transform:translate(-50%,-50%);z-index:1}.map-pin{position:absolute;z-index:2;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.map-pin.office{left:58%;top:34%;transform:translate(-50%,-50%);background:var(--text);color:#fff}.map-pin.user{left:53%;top:49%;transform:translate(-50%,-50%);background:var(--success);color:#fff;box-shadow:0 0 0 8px #25855a33}.map-pin.user.is-offsite{background:var(--gamja-orange);box-shadow:0 0 0 8px #ea5b0a2e}.timeline{display:grid;gap:12px}.timeline-bar{height:32px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden}.timeline-range{position:absolute;top:0;bottom:0;background:var(--gamja-blue);border-radius:8px}.timeline-bar span{position:absolute;top:0;bottom:0;width:2px;background:var(--gamja-orange)}.timeline-labels{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.week-list{display:grid;gap:8px;margin-top:18px}.week-list span{border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--muted)}.attendance-week-list strong{display:inline-block;min-width:84px;color:var(--text)}.field-reason{display:grid;gap:8px}.field-reason span{color:var(--muted);font-size:12px;font-weight:800}.field-reason textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:12px 14px;background:var(--surface);color:var(--text);resize:vertical;min-height:92px}.attendance-support-copy{margin:0;color:var(--muted);line-height:1.5}.attendance-state-card{display:grid;gap:16px}.attendance-meta-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-meta-grid div{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface-soft)}.attendance-meta-grid dt{color:var(--muted);font-size:12px;margin-bottom:6px}.attendance-meta-grid dd{margin:0;color:var(--text);font-weight:700}.attendance-pending-list{display:grid;gap:10px}.attendance-pending-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface)}.attendance-pending-item strong,.attendance-pending-item span{display:block}.attendance-pending-item span{margin-top:4px;color:var(--muted);line-height:1.45}.location-success{color:var(--success)}.location-warning{color:var(--danger)}.location-neutral{color:var(--muted)}.select-inline{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.select-inline select{width:160px}.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.org-chart-board{display:grid;gap:24px;padding:24px;border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 1px 1px,rgba(0,100,172,.08) 1px,transparent 0) 0 0 / 18px 18px,linear-gradient(180deg,#fff,#fbfdff)}.org-chart-node{display:grid;gap:20px;justify-items:center}.org-chart-card{width:min(100%,320px);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:16px;display:grid;gap:14px}.org-chart-card.root{width:min(100%,420px);border-color:#0064ac47;box-shadow:0 16px 30px #0064ac14}.org-chart-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.org-chart-card-head h3,.org-chart-summary,.org-chart-empty{margin:0}.org-chart-card-head h3{font-size:20px}.org-chart-summary{margin-top:4px;color:var(--muted);font-size:12px}.org-chart-count{min-height:28px;padding:0 11px;border-radius:999px;background:#0064ac14;color:var(--gamja-blue);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.org-chart-member-list{display:grid}.org-chart-member{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}.org-chart-member:last-child{padding-bottom:0;border-bottom:0}.org-chart-member-copy{display:grid;gap:3px}.org-chart-member-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.org-chart-member-head strong,.org-chart-member-copy span,.org-chart-member-copy small{display:block}.org-chart-member-copy span,.org-chart-member-copy small{color:var(--muted);font-size:12px;line-height:1.4}.org-chart-empty{min-height:56px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}.org-chart-children{width:100%;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.person-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;box-shadow:var(--shadow)}.person-card.checked-out{opacity:.55}.checkout-badge{font-size:.68rem;font-weight:700;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.person-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.person-card dl{display:grid;gap:7px;margin:12px 0 0}.person-card dl div{display:flex;justify-content:space-between;gap:10px}.person-card dt{color:var(--muted)}.person-card dd{margin:0;font-weight:700}.policy-list{display:grid;gap:14px}.policy-list.compact{gap:8px}.policy-list.compact .policy-row{padding:8px 0;gap:10px}.policy-list.compact .policy-row span{font-size:12px}.policy-row{padding:12px 0;border-bottom:1px solid var(--line)}.policy-row:last-child{border-bottom:0}.policy-row svg{color:var(--gamja-blue);flex:0 0 auto}.attendance-master-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:18px}.master-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px;display:grid;gap:14px}.master-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.master-card-head strong,.office-policy-copy strong{display:block}.master-card-head span,.office-policy-copy span,.office-policy-copy small,.policy-save-note{color:var(--muted);font-size:12px}.master-badge{min-height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(0,100,172,.18);background:#0064ac0f;color:var(--gamja-blue);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;white-space:nowrap}.office-policy-list{display:grid;gap:10px}.office-policy-item{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.office-policy-item.active{border-color:var(--gamja-blue);box-shadow:inset 3px 0 0 var(--gamja-blue)}.office-policy-copy{display:grid;gap:3px}.office-policy-actions{display:flex;gap:6px}.office-add-button{justify-self:start}.policy-map-box{height:210px}.office-policy-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.office-policy-editor label,.attendance-rule-grid label{display:grid;gap:6px}.office-policy-editor span,.attendance-rule-grid span,.radius-control span{color:var(--muted);font-size:12px;font-weight:700}.radius-control{display:grid;gap:8px}.radius-control>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.attendance-rule-card{margin-top:16px}.attendance-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attendance-rule-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.attendance-rule-checks label{display:flex;align-items:center;gap:8px;min-width:0}.attendance-rule-checks input{margin:0}.policy-save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:4px}.scrim{display:none}@media(max-width:1180px){.site-login-content{padding-top:56px}.metric-grid,.metric-grid.six,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.request-layout,.approval-layout,.attendance-layout{grid-template-columns:1fr}}.notif-wrap{position:relative}.notif-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;border:0;background:transparent;cursor:default}.notif-popover{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);z-index:20;padding:14px}.notif-popover-title{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--muted)}.notif-list{display:grid;gap:2px}.notif-item{padding:8px 0;border-bottom:1px solid var(--line)}.notif-item:last-child{border-bottom:0;padding-bottom:0}.notif-item strong,.notif-item span{display:block}.notif-item span{color:var(--muted);font-size:12px;margin-top:2px}.notif-empty{margin:0;color:var(--muted);font-size:13px}.tab-bar{display:flex;gap:8px}.employee-status-tabs{margin-bottom:12px}.hr-tab-bar{margin-top:-2px}.tab-btn{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--muted);min-height:38px;padding:0 18px;cursor:pointer;font-weight:700;font-size:14px}.tab-btn.active{background:var(--gamja-blue);color:#fff;border-color:var(--gamja-blue)}.tab-count{color:inherit;font-size:12px;font-weight:800;margin-left:6px}.employee-table-note{margin:0 0 12px}.filter-select{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);padding:0 12px;height:40px;min-width:130px;font:inherit}.search-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);padding:0 12px;height:40px;color:var(--muted)}.search-input-wrap input{border:0;background:transparent;color:var(--text);min-width:160px}.search-input-wrap input:focus{outline:none}.add-emp-dialog,.employee-edit-dialog{width:min(100%,560px);max-height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden}.add-emp-form{display:grid;gap:12px;margin-top:16px;flex:1;min-height:0;overflow-y:auto;padding-right:6px}.add-emp-form label{display:grid;gap:6px}.add-emp-form label span{font-size:13px;font-weight:700;color:var(--muted)}.add-emp-form input,.add-emp-form select{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);padding:0 12px;height:40px;width:100%;font:inherit}.add-emp-form .button-row{margin-top:6px;position:sticky;bottom:0;padding-top:12px;padding-bottom:2px;border-top:1px solid var(--line);background:var(--surface)}.submit-success-panel{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid rgba(37,133,90,.3);border-radius:8px;background:#25855a0f;color:var(--success)}.submit-success-panel strong,.submit-success-panel span{display:block}.submit-success-panel span{color:var(--muted);font-size:13px;margin-top:3px}.submit-success-panel .secondary-button{margin-left:auto;flex-shrink:0}@media(max-width:760px){.site-login-header{min-height:70px;padding:0 16px}.site-login-logo{max-width:168px}.site-login-header nav span{display:none}.site-login-header nav{font-size:13px}.site-login-content{min-height:calc(100vh - 70px);padding:44px 18px 64px}.login-form-head{padding-top:40px;margin-bottom:40px}.login-illustration-logo{width:176px;margin-bottom:16px}.login-wordmark{width:172px}.login-form-card{width:100%}.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;transform:translate(-100%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.icon-button.sidebar-close,.icon-button.mobile-menu{display:inline-grid}.brand-row{padding-right:0}.brand-row .sidebar-close{margin-left:auto;background:#ffffff1a;color:#fff;border-color:#ffffff29}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;border:0;background:#00000047}.topbar{padding:12px 16px}.topbar h1{font-size:18px}.topbar-actions .user-chip{display:none}.content{padding:16px}.hero-panel,.toolbar-panel,.attendance-strip{display:grid;grid-template-columns:1fr}.hero-panel h2{font-size:22px}.metric-grid,.metric-grid.six,.people-grid,.attendance-master-layout,.org-chart-children,.hr-overview-grid,.form-grid,.attendance-rule-grid,.attendance-rule-checks,.office-policy-editor,.select-with-meta{grid-template-columns:1fr}.toolbar-actions,.button-row{flex-wrap:wrap;justify-content:flex-start}.policy-save-row{flex-wrap:wrap}.office-policy-item{grid-template-columns:1fr}.calendar-summary-head{display:grid;align-items:start}.calendar-summary-meta{justify-items:start}.calendar-week-grid{grid-template-columns:1fr}.calendar-week-card{min-height:0}.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(112px,1fr))}.calendar-cell{min-height:96px}.detail-list div{grid-template-columns:1fr;gap:4px}.timeline-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.leave-type-row{display:flex;align-items:center;gap:10px;margin-top:6px}.leave-type-row select{flex:1}.remaining-badge{white-space:nowrap;font-size:.78rem;font-weight:600;color:var(--primary);background:rgba(var(--primary-rgb, 59, 130, 246),.1);border:1px solid rgba(var(--primary-rgb, 59, 130, 246),.25);border-radius:20px;padding:3px 10px}.screen-wrap{display:flex;flex-direction:column;gap:8px}.screen-head{margin-bottom:2px}.screen-head h2{font-size:1.15rem;font-weight:700;margin:0 0 2px}.screen-sub{font-size:.8rem;color:var(--muted);margin:0}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.policy-sub{font-size:.8rem;color:var(--muted);margin:0 0 12px}.office-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.office-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}.office-card:hover{border-color:var(--primary)}.office-card.selected{border-color:var(--primary);background:rgba(var(--primary-rgb, 59, 130, 246),.04)}.office-card.editing{flex-direction:column;cursor:default;gap:8px}.office-card-info{display:flex;flex-direction:column;gap:2px}.office-card-info strong{font-size:.9rem}.office-card-info span{font-size:.78rem;color:var(--muted)}.office-card-info small{font-size:.73rem;color:var(--muted);margin-top:2px}.office-card-actions{display:flex;gap:6px;flex-shrink:0}.secondary-button.small,.primary-button.small{font-size:.75rem;padding:4px 10px;height:auto}.add-office-btn{display:flex;align-items:center;gap:6px;width:100%;padding:9px;border:1.5px dashed var(--border);border-radius:8px;background:none;color:var(--muted);font-size:.83rem;cursor:pointer;justify-content:center;transition:color .15s,border-color .15s}.add-office-btn:hover{color:var(--primary);border-color:var(--primary)}.policy-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:.85rem;background:var(--surface);color:var(--text)}.radius-label{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);width:100%}.radius-label input[type=range]{flex:1;accent-color:var(--primary)}.map-preview{display:flex;flex-direction:column;gap:12px}.map-grid{position:relative;width:100%;aspect-ratio:4/3;background:#f0f4f8;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px);background-size:24px 24px}.map-dot{position:absolute;width:12px;height:12px;background:var(--primary);border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #0000004d;z-index:2}.map-circle{position:absolute;border-radius:50%;border:2px dashed var(--primary);background:rgba(var(--primary-rgb, 59, 130, 246),.08);z-index:1;transform:none}.map-coords{font-size:.76rem;color:var(--muted);text-align:right;margin:0}.time-policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.time-policy-grid label{display:flex;flex-direction:column;gap:6px}.time-policy-grid label span{font-size:.78rem;color:var(--muted);font-weight:600}.time-policy-grid input,.time-policy-grid select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;background:var(--surface);color:var(--text)}.policy-checks{display:flex;flex-direction:column;gap:10px}.policy-checks label{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer}.policy-checks input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;flex-shrink:0}.time-policy-footer{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.time-policy-saved{font-size:.82rem;font-weight:600;color:var(--success)}@media(max-width:768px){.policy-grid{grid-template-columns:1fr}.time-policy-grid{grid-template-columns:repeat(2,1fr)}}.danger-button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--danger);border-radius:6px;background:transparent;color:var(--danger);font-weight:600;cursor:pointer}.danger-button:hover{background:#bd3a2214}.danger-button.small{font-size:.75rem;padding:4px 10px;height:auto}.row-actions{display:flex;gap:6px;align-items:center}.add-emp-dialog.wide{width:min(94vw,640px)}.add-emp-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.add-emp-form label{display:flex;flex-direction:column;gap:6px}.add-emp-form label span{font-size:.78rem;font-weight:600;color:var(--muted)}.add-emp-form .full-span{grid-column:1 / -1}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;background:#00000014;font-size:.72rem;font-weight:700;padding:0 5px;margin-left:4px}.tab-btn.active .tab-count{background:#ffffff40}.emp-status-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-emp-재직{color:#1a7f5a;background:#1a7f5a1f}.status-emp-퇴직{color:var(--muted);background:#64748b1f}.status-emp-휴직{color:#9a6a00;background:#9a6a001f}.action-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:28px;border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid;white-space:nowrap}.action-button.edit-btn{color:var(--primary, #0064ac);border-color:var(--primary, #0064ac);background:transparent}.action-button.edit-btn:hover{background:#0064ac12}.action-button.delete-btn{color:var(--danger);border-color:var(--danger);background:transparent}.action-button.delete-btn:hover{background:#bd3a2212}.filter-select.always-visible{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:.875rem}.week-nav{display:flex;align-items:center;gap:12px;padding:4px 0 2px}.week-title{font-size:1.05rem;font-weight:700}.week-range{font-size:.82rem;color:var(--muted)}.week-nav-btns{margin-left:auto;display:flex;gap:6px}.secondary-button.small-nav{padding:5px 12px;font-size:.8rem;height:auto}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.week-col{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:260px}.week-col.alert-col{border-color:#e8a09a}.week-col.today-col{border-color:var(--gamja-blue)}.week-col-head{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px 6px}.week-day-label{font-size:.95rem;font-weight:700}.absent-count{font-size:.75rem;color:var(--muted)}.absent-count.alert{color:var(--danger);font-weight:700}.absent-bar-wrap{height:4px;background:var(--line);margin:0 12px 8px;border-radius:2px;overflow:hidden}.absent-bar{height:100%;border-radius:2px;transition:width .3s;background:transparent}.absent-bar.active{background:var(--gamja-blue)}.absent-bar.alert{background:var(--danger)}.week-col-body{display:flex;flex-direction:column;gap:6px;padding:0 10px 12px;flex:1}.week-event{border-radius:5px;background:var(--surface-soft);border:1px solid var(--line);padding:5px 8px;display:flex;flex-direction:column;gap:1px}.week-event strong{font-size:.82rem}.week-event span{font-size:.73rem;color:var(--muted)}.week-event.pending{border-color:var(--gamja-orange);background:#ea5b0a0a}.week-event.pending span{color:var(--gamja-orange)}.staffing-alert{background:#fff8f6;border:1.5px solid #f5c6be;border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;gap:4px}.staffing-alert-title{font-weight:700;font-size:.9rem;color:var(--danger);margin:0}.staffing-alert-sub{font-size:.8rem;color:var(--muted);margin:0 0 4px}.staffing-alert-row{font-size:.83rem;color:var(--text);margin:0}@media(max-width:768px){.week-grid{grid-template-columns:repeat(2,1fr)}}.month-grid-wrap{padding:0;overflow:hidden}.month-dow-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1.5px solid var(--line)}.month-dow{padding:7px 0;text-align:center;font-size:.75rem;font-weight:700;color:var(--muted)}.month-dow.sunday{color:#e03b3b}.month-dow.saturday{color:var(--gamja-blue)}.month-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-cell{min-height:90px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 6px;display:flex;flex-direction:column;gap:3px}.month-cell:nth-child(7n){border-right:none}.month-cell.empty{background:#00000004}.month-cell-num{font-size:.8rem;font-weight:700;color:var(--text);line-height:1;margin-bottom:2px;display:block}.mc-today .month-cell-num{width:22px;height:22px;background:var(--gamja-blue);color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.mc-sun .month-cell-num{color:#e03b3b}.mc-sat .month-cell-num{color:var(--gamja-blue)}.mc-today{background:#0064ac0a}.month-cell-events{display:flex;flex-direction:column;gap:2px}.month-event{font-size:.7rem;padding:1px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.me-approved{background:#0064ac1a;color:var(--gamja-blue)}.me-pending{background:#ea5b0a1a;color:var(--gamja-orange)}.me-more{background:var(--surface-alt, #f2f3f5);color:var(--muted)}.me-type{font-weight:400;opacity:.75}@media(max-width:640px){.month-cell{min-height:60px;padding:3px 4px}.month-event{font-size:.62rem}}.org-chart-container{overflow-x:auto;overflow-y:visible;padding:8px 0 32px}.org-tree-node{display:flex;flex-direction:column;align-items:center}.org-card{width:210px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px 12px;box-shadow:0 2px 8px #14202e0f;flex-shrink:0}.org-tree-node:first-of-type>.org-card{border-color:var(--gamja-blue);border-width:2px;background:#0064ac08}.org-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.org-dept-name{font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap}.org-member-badge{font-size:.72rem;font-weight:700;color:var(--gamja-blue);background:#0064ac1a;border-radius:20px;padding:1px 7px;white-space:nowrap;flex-shrink:0}.org-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.org-member-row{display:flex;align-items:center;gap:8px}.org-avatar{width:26px;height:26px;border-radius:50%;background:var(--surface-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--gamja-blue);flex-shrink:0}.org-member-info{display:flex;flex-direction:column;gap:0;min-width:0}.org-member-name{font-size:.83rem;font-weight:600;color:var(--text);white-space:nowrap}.org-member-meta{font-size:.72rem;color:var(--muted);white-space:nowrap}.org-empty{font-size:.78rem;color:var(--muted);text-align:center;padding:4px 0}.org-vline{width:2px;height:28px;background:var(--line-strong);flex-shrink:0}.org-level{display:flex;gap:0;position:relative}.org-slot{display:flex;flex-direction:column;align-items:center;position:relative;padding:28px 12px 0}.org-slot:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:2px;height:28px;background:var(--line-strong)}.org-slot:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--line-strong)}.org-slot:first-child:after{left:50%}.org-slot:last-child:after{right:50%}.org-slot:only-child:after{display:none}@media(max-width:640px){.org-chart-container{overflow-x:hidden;padding:4px 0 20px}}.org-mob-node{display:flex;flex-direction:column;gap:0}.org-mob-depth-1{margin-left:12px;padding-left:12px;border-left:2px solid var(--gamja-blue);margin-top:6px}.org-mob-depth-2{margin-left:12px;padding-left:12px;border-left:2px solid var(--line-strong);margin-top:6px}.org-mob-header{display:flex;align-items:center;width:100%;padding:12px 14px;background:var(--surface);border:1.5px solid var(--line);border-radius:10px;cursor:pointer;gap:8px;text-align:left;transition:background .13s}.org-mob-header:hover,.org-mob-header:active{background:var(--surface-soft)}.org-mob-depth-0>.org-mob-header{border-color:var(--gamja-blue);border-width:2px;background:#0064ac08}.org-mob-dept-name{flex:1;font-size:.92rem;font-weight:700;color:var(--text)}.org-mob-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s ease}.org-mob-chevron.collapsed{transform:rotate(-90deg)}.org-mob-members{display:flex;flex-direction:column;gap:0;padding:4px 0 2px}.org-mob-member-row{display:flex;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line)}.org-mob-member-row:last-child{border-bottom:none}.org-mob-member-info{display:flex;flex-direction:column;min-width:0}.org-mob-member-name{font-size:.85rem;font-weight:600;color:var(--text)}.org-mob-member-meta{font-size:.74rem;color:var(--muted)}.org-mob-children{margin-top:4px;padding-bottom:4px}.tab-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gamja-orange);color:#fff;font-size:.68rem;font-weight:700;margin-left:4px}.checkin-approval-wrap{display:flex;flex-direction:column;gap:14px}.checkin-approval-list{display:flex;flex-direction:column;gap:10px}.checkin-approval-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.checkin-approval-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0;flex-wrap:wrap}.checkin-mode-tag{flex-shrink:0;font-size:.75rem;font-weight:700;border-radius:6px;padding:3px 8px}.mode-외근{background:#ea5b0a1a;color:var(--gamja-orange)}.mode-재택{background:#0064ac1a;color:var(--gamja-blue)}.mode-정상{background:#25855a1a;color:var(--success)}.checkin-approval-name{font-size:.88rem;font-weight:600;color:var(--text);margin-right:6px}.checkin-approval-dept{font-size:.76rem;color:var(--muted)}.checkin-approval-time{display:flex;gap:6px;font-size:.78rem;color:var(--muted)}.checkin-approval-reason{font-size:.78rem;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:2px 8px}.checkin-approval-actions{display:flex;gap:8px;flex-shrink:0}.manual-time-label{display:flex;flex-direction:column;font-size:.72rem;color:var(--muted);gap:3px}.manual-time-input{padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:.85rem;background:var(--surface);color:var(--text);width:110px}.checkin-result-badge{font-size:.76rem;font-weight:700;border-radius:6px;padding:2px 8px}.result-승인{background:#25855a1a;color:var(--success)}.result-반려{background:#bd3a221a;color:var(--danger)}.notif-section-label{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 4px;padding:0 2px}.notif-section-label:first-child{margin-top:0}.log-tab-bar{display:flex;gap:8px;margin-bottom:20px}.log-tab-btn{display:flex;align-items:center;gap:7px;padding:8px 18px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.log-tab-btn.active{border-color:var(--gamja-blue);color:var(--gamja-blue);background:#0064ac0d}.log-tab-count{font-size:.72rem;font-weight:700;background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;padding:1px 7px;color:var(--muted);min-width:20px;text-align:center}.log-tab-btn.active .log-tab-count{background:#0064ac1f;border-color:#0064ac4d;color:var(--gamja-blue)}.log-content{display:flex;flex-direction:column;gap:20px}.log-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.log-filter-chip{display:flex;align-items:center;gap:5px;padding:4px 12px;border:1.5px solid var(--line);border-radius:20px;background:var(--surface);font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .12s,color .12s}.log-filter-chip.active{border-color:var(--gamja-blue);color:var(--gamja-blue);background:#0064ac0f}.log-chip-count{font-size:.7rem;font-weight:700;background:var(--surface-soft);border-radius:10px;padding:0 5px;min-width:16px;text-align:center}.log-empty{text-align:center;color:var(--muted);font-size:.85rem;padding:32px 0}.log-ledger-list{display:flex;flex-direction:column;gap:0}.log-ledger-row{display:grid;grid-template-columns:100px 1fr 72px 1fr 100px;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.83rem;transition:background .1s}.log-ledger-row:last-child{border-bottom:none}.log-ledger-row:hover{background:var(--surface-soft)}.log-ledger-date{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.log-ledger-who{display:flex;align-items:center;gap:6px;min-width:0}.log-ledger-name{font-weight:600;color:var(--text);white-space:nowrap}.log-ledger-dept{font-size:.75rem;color:var(--muted);white-space:nowrap}.log-ledger-delta{font-size:.88rem;font-weight:700;text-align:center;white-space:nowrap}.delta-plus{color:var(--gamja-blue)}.delta-minus{color:var(--danger)}.log-ledger-reason{color:var(--text);font-size:.8rem;line-height:1.4}.log-ledger-by{font-size:.76rem;color:var(--muted);text-align:right;white-space:nowrap}.log-audit-list{display:flex;flex-direction:column;gap:0}.log-audit-row{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line);transition:background .1s}.log-audit-row:last-child{border-bottom:none}.log-audit-row:hover{background:var(--surface-soft)}.log-audit-cat{flex-shrink:0;font-size:.72rem;font-weight:700;border-radius:6px;padding:3px 8px;align-self:center}.cat-연차{background:#0064ac1a;color:var(--gamja-blue)}.cat-결재{background:#25855a1a;color:var(--success)}.cat-직원{background:#9a6a001a;color:var(--warning)}.log-audit-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.log-audit-action{font-size:.85rem;font-weight:600;color:var(--text)}.log-audit-target{font-size:.78rem;color:var(--muted);display:flex;gap:6px;align-items:center}.log-audit-dept{font-size:.72rem;background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:0 5px}.log-audit-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.log-audit-actor{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap}.log-audit-ts{font-size:.72rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.topbar-left{display:flex;align-items:center;gap:10px}.attmgmt-control-panel{padding:14px 16px}.attmgmt-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.seg-group{display:flex;border:1.5px solid var(--line);border-radius:8px;overflow:hidden}.seg-btn{padding:6px 16px;background:var(--surface);color:var(--muted);font-size:.82rem;font-weight:700;border:none;cursor:pointer;transition:background .13s,color .13s}.seg-btn+.seg-btn{border-left:1.5px solid var(--line)}.seg-btn.seg-active{background:var(--gamja-blue);color:#fff}.period-nav{display:flex;align-items:center;gap:8px}.period-arrow{width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer;display:inline-grid;place-items:center;transition:background .12s}.period-arrow:hover:not(:disabled){background:var(--surface-hover, rgba(0,0,0,.05))}.period-arrow:disabled{opacity:.35;cursor:not-allowed}.period-label-txt{font-size:.9rem;font-weight:700;min-width:110px;text-align:center;color:var(--text)}.attmgmt-search-box{display:flex;align-items:center;gap:7px;border:1.5px solid var(--line);border-radius:8px;padding:5px 10px;background:var(--surface);margin-left:auto}.attmgmt-search-box svg{color:var(--muted);flex-shrink:0}.attmgmt-search-box input{border:none;background:transparent;outline:none;font-size:.82rem;color:var(--text);width:140px}.attmgmt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attmgmt-card{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.attmgmt-card span{font-size:.75rem;color:var(--muted);font-weight:600}.attmgmt-card strong{font-size:1.3rem;font-weight:800;color:var(--text)}.table-scroll{overflow-x:auto}.attmgmt-table{width:100%;border-collapse:collapse;font-size:.85rem}.attmgmt-table th{text-align:left;padding:7px 12px;font-size:.75rem;font-weight:700;color:var(--muted);border-bottom:1.5px solid var(--line);white-space:nowrap}.attmgmt-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.attmgmt-table tbody tr:last-child td{border-bottom:none}.attmgmt-table tbody tr:hover td{background:#0064ac08}.attmgmt-row-zero td{color:var(--muted)}.attmgmt-name{font-weight:600;color:var(--text);white-space:nowrap}.attmgmt-num,.attmgmt-table th.attmgmt-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.muted-dash{color:var(--muted)}.attmgmt-empty{text-align:center;padding:32px;color:var(--muted);font-size:.85rem}.attmgmt-footnote{margin-top:10px;font-size:.75rem;color:var(--muted)}.attmgmt-custom-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attmgmt-date-input{border:1.5px solid var(--line);border-radius:8px;padding:5px 10px;font-size:.82rem;color:var(--text);background:var(--surface);outline:none;font-family:inherit;cursor:pointer}.attmgmt-date-input:focus{border-color:var(--gamja-blue)}.attmgmt-range-sep{color:var(--muted);font-weight:700;font-size:.85rem}.attmgmt-apply-btn{padding:6px 16px;font-size:.82rem;white-space:nowrap}.attmgmt-applied-label{margin-top:10px;font-size:.78rem;color:var(--muted)}.attmgmt-applied-label strong{color:var(--gamja-blue);font-weight:700}@media(max-width:640px){.attmgmt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attmgmt-controls{gap:10px}.attmgmt-search-box{margin-left:0;flex:1}.attmgmt-search-box input,.attmgmt-custom-range{width:100%}}.shift-period-label{font-size:.88rem;font-weight:700;color:var(--text);min-width:120px;text-align:center}.icon-button{width:30px;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text);flex-shrink:0}.icon-button:hover{background:var(--surface-soft)}.shift-add-input{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:.88rem}.shift-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--line);background:var(--surface)}.shift-table{border-collapse:collapse;width:100%;font-size:.78rem;table-layout:auto}.shift-table th,.shift-table td{border:1px solid var(--line);padding:0;white-space:nowrap}.shift-name-col{background:var(--surface-soft);font-weight:700;font-size:.76rem;color:var(--muted);padding:6px 10px;text-align:center;min-width:72px;position:sticky;left:0;z-index:2}.shift-name-cell{background:var(--surface-soft);font-weight:700;font-size:.8rem;padding:5px 8px;position:sticky;left:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:72px}.shift-day-hd{background:#f0f3f6;font-weight:700;font-size:.76rem;text-align:center;padding:5px 4px;color:var(--text)}.shift-day-hd.wknd{background:#fdf0ec;color:var(--gamja-orange)}.shift-day-hd.tdy{background:#0064ac14;color:var(--gamja-blue)}.shift-sub-hd{background:#f8f9fa;font-weight:600;font-size:.7rem;text-align:center;padding:3px 4px;color:var(--muted)}.shift-sub-hd.wknd{background:#fdf7f4}.shift-sub-hd.tdy{background:#0064ac0d}.shift-hrs-hd{background:#f0f4f8}.shift-sub-col{background:#e8edf3;font-weight:700;font-size:.76rem;text-align:center;padding:5px 8px;min-width:48px}.shift-cell{text-align:center;padding:2px 3px;min-width:44px;vertical-align:middle}.shift-cell.wknd{background:#ea5b0a08}.shift-cell.tdy{background:#0064ac0a}.shift-hrs-cell{background:#f6f8fa;font-weight:700;font-size:.76rem;color:var(--text)}.shift-total-hrs{background:#e8edf3}.shift-subtotal-cell{background:#e8edf3;font-weight:700;font-size:.82rem;text-align:center;padding:5px 8px}.shift-time-inp{width:52px;border:none;background:transparent;text-align:center;font-size:.78rem;font-family:inherit;padding:4px 2px;color:var(--text);outline:none}.shift-time-inp:focus{background:#0064ac12;border-radius:3px}.shift-time-inp::placeholder{color:var(--line-strong)}.shift-del-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;line-height:1;padding:0 2px;border-radius:3px;flex-shrink:0}.shift-del-btn:hover{color:var(--danger);background:#bd3a2212}.shift-empty{text-align:center;padding:24px;color:var(--muted);font-size:.85rem}.shift-month-tbl .shift-month-date-hd{background:#f0f3f6;font-weight:700;font-size:.72rem;text-align:center;padding:3px 2px;min-width:28px}.shift-month-date-hd.wknd{background:#fdf0ec;color:var(--gamja-orange)}.shift-month-date-hd.tdy{background:#0064ac1a;color:var(--gamja-blue)}.shift-dow-label{font-size:.62rem;font-weight:500;color:var(--muted);margin-top:1px}.shift-month-cell{text-align:center;padding:3px 1px;font-size:.76rem;vertical-align:middle;min-width:26px}.shift-month-hrs{font-weight:700;color:var(--gamja-blue)}
