:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--text:#15243a;--muted:#637184;--accent:#174b83;--border:#e0e5ec;--white:#fff}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Malgun Gothic,Apple SD Gothic Neo,sans-serif;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:.15rem 0;font-size:1.75rem}h2{margin:0;font-size:1.15rem}h3{margin:0;font-size:1rem}.container{max-width:1120px;margin:0 auto;padding:36px 22px 80px}.narrow{max-width:840px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.topbar nav,.buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar nav form{margin:0}.panel{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:18px;padding:28px;box-shadow:0 4px 18px #11182706}.stack{flex-direction:column;gap:18px;display:flex}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:100%;max-width:460px;padding:40px}.eyebrow{letter-spacing:2px;color:var(--accent);font-size:.72rem;font-weight:750}.muted{color:var(--muted)}.small{font-size:.85rem}label{flex-direction:column;gap:7px;font-size:.9rem;font-weight:650;display:flex}input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid #bbc6d2;border-radius:8px;width:100%;padding:11px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline-offset:0;outline:2px solid #8cb1dd}.btn{color:#283f5a;font:inherit;cursor:pointer;background:#fff;border:1px solid #cdd7e2;border-radius:8px;justify-content:center;align-items:center;padding:9px 14px;font-weight:650;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{color:#a62c2c;background:#fff1f1;border-color:#f2b0b0}.btn:hover{filter:brightness(.96);text-decoration:none}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.stat{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:22px;display:flex}.stat span{color:var(--muted);font-size:.84rem}.stat strong{font-size:1.7rem}.scroll{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid #ebeff3;padding:14px 10px}th{color:#6a7684;font-size:.82rem;font-weight:700}.pill{background:#edf0f4;border-radius:20px;padding:2px 10px;font-size:.79rem;font-weight:650;display:inline-block}.pill.pending{color:#835d00;background:#fff0cb}.pill.approved{color:#27643b;background:#e0f2e4}.pill.rejected{color:#a43d3d;background:#fae7e7}.notice{background:#f0f7ff;border:1px solid #c5def7;border-radius:8px;padding:12px 14px}.error{color:#a12e2e;overflow-wrap:anywhere;background:#fff0f0;border:1px solid #efbbbb;border-radius:8px;padding:12px 14px}.approval-setting{border:1px dashed #b8c6d6;border-radius:10px;padding:17px}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.document-body{white-space:pre-wrap;overflow-wrap:anywhere;min-height:120px;line-height:1.85}.step{border-bottom:1px solid #edf0f4;align-items:flex-start;gap:12px;padding:12px;display:flex}.step-badge{text-align:center;background:#e6eff8;border-radius:50%;flex:0 0 28px;height:28px;font-weight:700}hr{border:0;border-top:1px solid var(--border);width:100%;margin:0}@media (max-width:680px){.container{padding:22px 12px 50px}.panel{padding:18px}.stats{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.auth-card{padding:28px}}.stats-four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-link{color:inherit;transition:border-color .15s,box-shadow .15s}.stat-link:hover{border-color:#a7c6e5;text-decoration:none;box-shadow:0 6px 20px #103e6e14}.stat-link small{font-size:.75rem}.wrap-line{flex-wrap:wrap}.tab-list{flex-wrap:wrap;gap:8px;margin:22px 0 18px;display:flex}.tab-pill{color:#31455c;background:#f7f9fc;border:1px solid #d5dee8;border-radius:7px;align-items:center;padding:8px 12px;font-size:.88rem;font-weight:650;display:inline-flex}.tab-pill:hover{border-color:#84aed6;text-decoration:none}.tab-pill.active{color:#fff;background:#174b83;border-color:#174b83}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:9px;margin-bottom:18px;display:flex}.filter-bar label{flex:1;min-width:170px;font-size:.82rem}.filter-bar label:nth-child(3){flex:2;min-width:220px}.filter-bar .btn{min-height:44px}.todo-tag{color:#185588;white-space:nowrap;background:#e6f2ff;border-radius:5px;margin-left:9px;padding:1px 7px;font-size:.75rem;display:inline-block}.empty-list{text-align:center;padding:26px 8px}.list-note{margin-bottom:0;padding-top:12px}@media (max-width:880px){.stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:500px){.filter-bar label,.filter-bar label:nth-child(3){flex:100%}}.worksheet{border:1px solid var(--border);background:#f9fbfd;border-radius:10px;padding:16px}.worksheet p{margin:0}.worksheet-scroll{max-width:100%;overflow-x:auto}.worksheet-grid{table-layout:fixed;min-width:580px}.worksheet-grid th{text-align:center;background:#edf2f8;padding:5px}.worksheet-grid th:first-child{width:34px}.worksheet-grid td{vertical-align:middle;background:#fff;border:1px solid #d5dce5;padding:0}.worksheet-grid td.selected{outline:2px solid var(--accent);outline-offset:-2px}.worksheet-grid input{background:0 0;border:0;border-radius:0;min-width:0;padding:9px 7px;font-size:.85rem}.document-grid{table-layout:fixed;white-space:normal;margin-top:16px}.document-grid td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top;border:1px solid #b8c4d1;padding:8px}.document-grid tr:first-child{background:#f0f4f9;font-weight:650}.content-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;line-height:1.85}.structured-body h3{margin-bottom:8px}.schedule-summary{background:#f3f7fc;border-left:3px solid #174b83;margin-top:12px;padding:8px 12px}.calendar-container{max-width:1360px}.calendar-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:18px;font-size:.82rem;display:flex}.legend-leave{color:#267448}.legend-deadline{color:#235897}.calendar-overflow{overflow:auto}.calendar-grid{border-left:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));min-width:700px;display:grid}.calendar-weekday{text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#f5f7fa;padding:10px;font-weight:700}.sunday{color:#b63c3c}.saturday{color:#245ca0}.calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;min-height:140px;padding:6px;overflow:hidden}.calendar-day.outside{background:#f6f7f9}.calendar-day.outside .day-number{color:#929dac}.calendar-day.chosen{box-shadow:inset 0 0 0 2px #174b83}.calendar-day.today .day-number{color:#174b83;font-weight:800}.day-number{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:4px 3px;font-size:.85rem;display:block}.day-number:focus-visible,.calendar-more:focus-visible{outline:2px solid #174b83}.calendar-event{overflow-wrap:anywhere;color:#1d4f87;background:#e9f1fc;border-left:3px solid #467bb7;border-radius:4px;margin:4px 0;padding:4px 6px;font-size:.76rem;line-height:1.5;display:block}.calendar-event.leave{color:#24603d;background:#e8f5ed;border-left-color:#439166}.calendar-more{color:#174b83;cursor:pointer;font:inherit;background:0 0;border:0;padding:4px;font-size:.75rem}.calendar-agenda{border:1px solid var(--border);border-radius:8px;padding:14px}.calendar-agenda p{margin:6px 0}@media (max-width:680px){.calendar-filters{grid-template-columns:1fr}.calendar-day{min-height:115px}.worksheet{padding:10px}}@media print{.worksheet-scroll{overflow:visible!important}.document-grid{font-size:9pt;width:100%!important;min-width:0!important}.document-grid td{padding:5px!important}.document-grid tr{break-inside:avoid}.document-grid tr:first-child{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f0f4f9!important}.structured-body{gap:14px}.content-text{line-height:1.65}}
