:root { --wm-green: #0b7a5d; --wm-green-soft: #e7f5ef; --wm-line: rgba(100, 116, 139, .22); }
.wm-header-action { position:relative; min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 11px; border:1px solid var(--border-color); border-radius:12px; color:var(--text-main); background:rgba(255,255,255,.02); cursor:pointer; font:inherit; }
.wm-header-action:hover { background:rgba(16,185,129,.09); border-color:rgba(16,185,129,.35); }
.wm-header-action[hidden],.wm-header-action b[hidden]{display:none!important}
.wm-header-action kbd { padding:2px 5px; border:1px solid var(--wm-line); border-radius:5px; color:var(--text-muted); font-size:10px; }
.wm-header-action b { position:absolute; top:-3px; right:-3px; width:10px; min-width:10px; height:10px; padding:0; display:block; border-radius:50%; background:#ef4444; border:2px solid var(--bg-main); }
.wm-modal-subtitle { margin:4px 0 0; color:var(--text-muted); font-size:13px; }
.wm-request-card { width:min(860px,94vw); max-height:88vh; overflow:hidden; }
.wm-request-tabs { display:flex; gap:6px; padding:0 20px 14px; border-bottom:1px solid var(--wm-line); }
.wm-request-tabs button { border:0; border-radius:9px; padding:9px 13px; color:var(--text-muted); background:transparent; cursor:pointer; font-weight:700; }
.wm-request-tabs button.active { color:#047857; background:var(--wm-green-soft); }
.wm-request-body { overflow:auto; max-height:68vh; }
.wm-request-row { --request-tone:#0f766e; --request-soft:#ecfdf5; display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:start; gap:14px; padding:16px 10px; border:1px solid var(--wm-line); border-left:3px solid var(--request-tone); border-radius:12px; margin-bottom:10px; background:linear-gradient(110deg,var(--request-soft),transparent 42%); }
.wm-request-row.is-attendance{--request-tone:#2563eb;--request-soft:#eff6ff}.wm-request-row.is-purchase{--request-tone:#d97706;--request-soft:#fffbeb}.wm-request-row.is-expense{--request-tone:#7c3aed;--request-soft:#f5f3ff}.wm-request-row.is-vacation{--request-tone:#059669;--request-soft:#ecfdf5}
.wm-request-row-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--request-soft);color:var(--request-tone);font-size:20px;font-weight:900}.wm-request-kind{padding:3px 7px;border-radius:999px;background:var(--request-soft);color:var(--request-tone);font-size:11px;font-weight:800}.wm-request-key-value{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:7px;background:var(--request-soft);color:var(--request-tone);font-size:12px;font-weight:700}
.wm-request-copy { min-width:0; }
.wm-request-row-head { display:flex; align-items:center; gap:8px; }
.wm-request-copy small { display:block; margin-top:6px; color:var(--text-muted); }
.wm-request-copy p { margin:8px 0 0; white-space:pre-wrap; line-height:1.55; }
.wm-status { flex:none; padding:3px 7px; border-radius:999px; font-size:11px; font-weight:800; background:#f1f5f9; color:#475569; }
.wm-status.is-pending { background:#fff7ed; color:#c2410c; }.wm-status.is-approved{background:#ecfdf5;color:#047857}.wm-status.is-rejected{background:#fef2f2;color:#b91c1c}.wm-status.is-cancelled{background:#f1f5f9;color:#64748b}
.wm-decision-note { padding:8px 10px; border-radius:8px; background:rgba(148,163,184,.1); color:var(--text-muted); font-size:13px; }
.wm-row-actions { flex:none; display:flex; gap:7px; align-items:center; }
.wm-row-actions button { border:1px solid var(--wm-line); border-radius:8px; padding:7px 10px; background:transparent; color:var(--text-main); cursor:pointer; }
.wm-row-actions .is-approve { color:#047857; border-color:rgba(5,150,105,.35); }.wm-row-actions .is-reject{color:#b91c1c;border-color:rgba(220,38,38,.3)}
.wm-rejection-editor{margin-top:12px;padding:12px;border:1px solid rgba(220,38,38,.22);border-radius:10px;background:#fff7f7}.wm-rejection-editor[hidden]{display:none}.wm-rejection-editor label{display:grid;gap:7px;color:#991b1b;font-size:12px;font-weight:800}.wm-rejection-editor textarea{box-sizing:border-box;width:100%;min-height:86px;padding:10px;border:1px solid #fecaca;border-radius:8px;color:#334155;background:#fff;resize:vertical;font:inherit}.wm-rejection-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}.wm-rejection-actions button{border:1px solid var(--wm-line);border-radius:8px;padding:7px 10px;color:#475569;background:#fff;cursor:pointer}.wm-rejection-actions .is-reject-confirm{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.wm-rejection-error{margin:8px 0 0;color:#b91c1c;font-size:12px;font-weight:700}
#workmate-request-form,.wm-announcement-form,#workmate-profile-form { display:flex; flex-direction:column; gap:14px; }
#workmate-request-form[hidden],.wm-announcement-form[hidden]{display:none}
.wm-form-grid,.wm-adjust-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.wm-form-grid label[hidden],.wm-request-fields[hidden]{display:none!important}
.wm-form-grid label,.wm-adjust-row label,#workmate-request-form>label,.wm-announcement-form>label { display:flex; flex-direction:column; gap:7px; color:var(--text-muted); font-size:12px; font-weight:700; }
.wm-form-grid input,.wm-form-grid select,.wm-adjust-row input,#workmate-request-form input,#workmate-request-form select,#workmate-request-form textarea,.wm-announcement-form input,.wm-announcement-form select,.wm-announcement-form textarea { width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid var(--wm-line); border-radius:9px; background:var(--bg-card,white); color:var(--text-main); font:inherit; }
#workmate-request-form textarea,.wm-announcement-form textarea { min-height:110px; resize:vertical; }
.wm-request-type-hero{--request-tone:#2563eb;--request-soft:#eff6ff;display:flex;gap:14px;align-items:center;padding:16px;border:1px solid color-mix(in srgb,var(--request-tone) 24%,transparent);border-radius:14px;background:linear-gradient(135deg,var(--request-soft),transparent)}.wm-request-type-hero.is-vacation{--request-tone:#059669;--request-soft:#ecfdf5}.wm-request-type-hero.is-purchase{--request-tone:#d97706;--request-soft:#fffbeb}.wm-request-type-hero.is-expense{--request-tone:#7c3aed;--request-soft:#f5f3ff}.wm-request-type-hero>span{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:white;color:var(--request-tone);box-shadow:0 8px 22px rgba(15,23,42,.08);font-size:23px;font-weight:900}.wm-request-type-hero div{display:flex;flex-direction:column;gap:3px}.wm-request-type-hero small{color:var(--request-tone);font-size:10px;font-weight:900;letter-spacing:.12em}.wm-request-type-hero strong{font-size:17px}.wm-request-type-hero p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.45}
.wm-request-fields{padding:14px;border:1px solid var(--wm-line);border-radius:12px;background:rgba(148,163,184,.05)}.wm-request-fields.is-vacation{border-color:rgba(5,150,105,.24);background:rgba(5,150,105,.045)}.wm-request-fields.is-attendance{border-color:rgba(37,99,235,.2);background:rgba(37,99,235,.04)}.wm-request-fields.is-purchase{border-color:rgba(217,119,6,.2);background:rgba(217,119,6,.04)}.wm-request-fields.is-expense{border-color:rgba(124,58,237,.2);background:rgba(124,58,237,.04)}.wm-request-field-note{margin-top:9px;color:var(--text-muted);font-size:11px;line-height:1.45}
.wm-form-status { margin:0; padding:9px 11px; border-radius:8px; background:#fef2f2; color:#b91c1c; font-size:13px; }
.wm-search-card { width:min(760px,94vw); max-height:min(88vh,780px); align-self:flex-start; margin-top:min(9vh,90px); display:flex; flex-direction:column; overflow-x:hidden; overflow-y:auto; }
.wm-search-header { flex:none; padding-bottom:12px; }
.wm-search-tabs { flex:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:0 18px 12px; padding:4px; border:1px solid var(--wm-line); border-radius:12px; background:rgba(148,163,184,.09); }
.wm-search-tabs button { min-height:40px; border:0; border-radius:9px; color:var(--text-muted); background:transparent; cursor:pointer; font:inherit; font-size:13px; font-weight:800; transition:color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.wm-search-tabs button:hover { color:var(--text-main); background:rgba(255,255,255,.6); }
.wm-search-tabs button.active { color:#fff; background:linear-gradient(135deg,#059669,#0f8f68); box-shadow:0 4px 12px rgba(5,150,105,.23); }
.wm-search-assignee-scope { flex:none; display:grid; grid-template-columns:92px minmax(0,1fr); align-items:start; gap:10px; margin:0 18px 12px; }
.wm-search-assignee-scope[hidden] { display:none!important; }
.wm-search-assignee-scope>span { padding-top:13px; color:var(--text-muted); font-size:12px; font-weight:800; }
.wm-search-assignee-picker { position:relative; min-width:0; }
.wm-search-assignee-button { width:100%; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 12px; border:1px solid var(--wm-line); border-radius:10px; color:var(--text-main); background:var(--bg-card,#fff); cursor:pointer; font:inherit; font-size:13px; font-weight:800; text-align:left; }
.wm-search-assignee-button:hover,.wm-search-assignee-button[aria-expanded="true"] { border-color:rgba(5,150,105,.42); box-shadow:0 0 0 3px rgba(5,150,105,.08); }
.wm-search-assignee-panel { position:relative; z-index:2; margin-top:6px; padding:7px; border:1px solid var(--wm-line); border-radius:12px; background:var(--bg-card,#fff); box-shadow:0 12px 30px rgba(15,23,42,.13); }
.wm-search-assignee-panel[hidden] { display:none!important; }
.wm-search-assignee-filter { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; margin-bottom:5px; padding:9px 10px; border:1px solid var(--wm-line); border-radius:9px; color:#059669; background:#f8fafc; }
.wm-search-assignee-filter input { min-width:0; width:100%; padding:0; border:0; outline:0; color:var(--text-main); background:transparent; font:inherit; font-size:12px; }
.wm-search-assignee-filter input::placeholder { color:#94a3b8; }
.wm-search-assignee-options { max-height:min(42vh,330px); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.wm-search-assignee-options button { width:100%; min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:9px; padding:8px; border:0; border-radius:9px; color:var(--text-main); background:transparent; cursor:pointer; text-align:left; }
.wm-search-assignee-panel button:hover,.wm-search-assignee-panel button.active { background:rgba(5,150,105,.09); }
.wm-search-assignee-panel button.active { color:#047857; box-shadow:inset 0 0 0 1px rgba(5,150,105,.18); }
.wm-search-assignee-panel button i { width:32px; height:32px; display:grid; place-items:center; overflow:hidden; border-radius:10px; color:#047857; background:#dff7ec; font-size:12px; font-style:normal; font-weight:900; }
.wm-search-assignee-panel button span { min-width:0; display:flex; flex-direction:column; gap:2px; }
.wm-search-assignee-panel button b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.wm-search-assignee-panel button small { overflow:hidden; color:var(--text-muted); font-size:10px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.wm-search-assignee-panel .wm-search-assignee-all { margin-bottom:5px; border-bottom:1px solid var(--wm-line); border-radius:9px 9px 4px 4px; }
.wm-search-assignee-panel .wm-search-assignee-all i { color:#fff; background:#0f766e; font-size:9px; }
.wm-search-assignee-group { padding:5px 0 2px; }
.wm-search-assignee-group>strong { display:block; padding:5px 8px; color:#64748b; font-size:10px; font-weight:900; letter-spacing:.04em; }
.wm-search-input-row { flex:none; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin:0 18px; padding:13px 14px; border:1px solid var(--wm-line); border-radius:11px; background:rgba(248,250,252,.72); }
.wm-search-input-row input { width:100%; border:0; outline:0; background:transparent; color:var(--text-main); font-size:17px; }
.wm-search-input-row kbd { color:var(--text-muted); font-size:11px; }
.wm-search-results { min-height:150px; max-height:52vh; overflow:auto; padding:10px 9px 12px; }
.wm-search-result { width:100%; display:grid; grid-template-columns:74px minmax(0,1fr); gap:10px; align-items:start; padding:11px; border:0; border-radius:9px; background:transparent; color:var(--text-main); text-align:left; cursor:pointer; }
.wm-search-result:hover,.wm-search-result:focus { background:rgba(16,185,129,.09); outline:none; }
.wm-search-type { padding-top:2px; color:#047857; font-size:11px; font-weight:800; }.wm-search-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.wm-search-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm-search-copy small{color:var(--text-muted)}.wm-search-description{display:-webkit-box;overflow:hidden;color:#64748b;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.wm-empty { padding:28px 12px; color:var(--text-muted); text-align:center; }
.wm-leave-summary { margin:14px 0; padding:14px; border:1px solid rgba(5,150,105,.23); border-radius:13px; background:linear-gradient(145deg,rgba(5,150,105,.10),rgba(16,185,129,.03)); }
.wm-leave-basis{margin:10px 0 0;padding:9px 11px;border-radius:9px;background:rgba(255,255,255,.52);color:var(--text-muted);font-size:10px;line-height:1.5}.wm-leave-basis.is-warning{color:#9a3412;background:#fff7ed}
.wm-leave-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }.wm-leave-title span{font-size:12px;color:var(--text-muted);font-weight:700}.wm-leave-title button{border:0;background:transparent;color:#059669;font-size:11px;font-weight:800;cursor:pointer}
.wm-leave-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.wm-leave-stats div{display:flex;flex-direction:column;gap:3px}.wm-leave-stats small{color:var(--text-muted);font-size:10px}.wm-leave-stats strong{font-size:16px}
.wm-leave-history { margin-top:11px; padding-top:9px; border-top:1px solid var(--wm-line); max-height:150px; overflow:auto; }.wm-leave-history div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:11px}.wm-leave-history .is-plus{color:#059669}
.wm-role-hidden{display:none!important}.wm-employee-leave-request{margin:16px 0;padding:22px 18px;border:1px solid rgba(5,150,105,.25);border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(16,185,129,.15),transparent 45%),linear-gradient(145deg,#f0fdf8,#fff);text-align:center}.wm-employee-leave-request[hidden]{display:none}.wm-employee-leave-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 10px;border-radius:16px;background:#fff;box-shadow:0 10px 25px rgba(5,150,105,.14);font-size:25px}.wm-employee-leave-request>span{display:block;color:#059669;font-size:10px;font-weight:900;letter-spacing:.12em}.wm-employee-leave-request h3{margin:5px 0 7px;font-size:17px}.wm-employee-leave-request>p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.wm-employee-leave-request ul{display:flex;flex-direction:column;gap:6px;margin:16px 0;padding:12px 14px;border-radius:11px;background:rgba(255,255,255,.75);text-align:left;list-style:none}.wm-employee-leave-request li{position:relative;padding-left:17px;color:#475569;font-size:11px;line-height:1.4}.wm-employee-leave-request li:before{content:'✓';position:absolute;left:0;color:#059669;font-weight:900}.wm-employee-leave-request #vacation-form{display:grid;gap:11px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(5,150,105,.18);text-align:left}.wm-employee-leave-request .vacation-submit-button:hover{transform:translateY(-1px)}
.wm-my-leave-requests{margin-top:18px;padding-top:18px;border-top:1px solid var(--wm-line)}.wm-my-leave-requests[hidden]{display:none}.wm-my-leave-requests-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.wm-my-leave-requests-heading strong{font-size:.82rem}.wm-my-leave-requests-heading small{color:#059669;font-weight:900}.wm-my-leave-request-list{display:grid;gap:8px;margin-top:10px}.wm-my-leave-request-item{padding:11px;border:1px solid var(--wm-line);border-radius:11px;background:#f8fafc}.wm-my-leave-request-item.is-rejected{border-color:#fecaca;background:#fffafa}.wm-my-leave-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.wm-my-leave-request-head>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 7px;min-width:0}.wm-my-leave-request-head strong{overflow:hidden;color:#334155;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.wm-my-leave-request-head small{grid-column:1/-1;color:#64748b;font-size:10px}.wm-my-leave-request-head>button{flex:none;border:0;border-radius:7px;padding:6px 8px;cursor:pointer;font-size:10px;font-weight:900}.wm-my-leave-request-head .is-cancel{color:#9a3412;background:#ffedd5}.wm-my-leave-request-head .is-delete{color:#be123c;background:#ffe4e6}.wm-my-leave-request-description{margin:9px 0 0;color:#475569;font-size:11px;line-height:1.5}.wm-decision-note.is-rejected{color:#991b1b;background:#fef2f2;font-weight:700}
.wm-side-badge{margin-left:auto;min-width:18px;height:18px;display:grid;place-items:center;border-radius:9px;background:#ef4444;color:#fff;font-size:10px}.wm-company-hub{flex-direction:column;gap:18px}.wm-announcement-form{padding:18px;border:1px solid var(--wm-line);border-radius:13px;background:rgba(148,163,184,.06)}.wm-check{display:flex!important;flex-direction:row!important;align-items:center}.wm-check input{width:auto!important}.wm-announcement-list{display:flex;flex-direction:column;gap:9px}.wm-announcement-card{border:1px solid var(--wm-line);border-radius:12px;background:var(--bg-card,white);overflow:hidden}.wm-announcement-card:not(.is-read){border-left:3px solid #10b981}.wm-announcement-head{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px;border:0;background:transparent;color:var(--text-main);text-align:left;cursor:pointer}.wm-announcement-head>span:first-child{display:flex;flex-direction:column;gap:4px}.wm-announcement-head small{color:#059669;font-weight:800}.wm-read-state{flex:none;color:var(--text-muted);font-size:11px}.wm-announcement-body{padding:0 15px 16px}.wm-announcement-body p{white-space:pre-wrap;line-height:1.6}.wm-announcement-body small{color:var(--text-muted)}
.wm-profile-card{width:min(650px,94vw)}.wm-profile-card label{display:flex;flex-direction:column;gap:7px;color:var(--text-muted);font-size:12px;font-weight:700}.wm-profile-card input,.wm-profile-card select{box-sizing:border-box;width:100%;padding:11px;border:1px solid var(--wm-line);border-radius:9px;background:var(--bg-card,white);color:var(--text-main)}
.wm-profile-edit-button{margin-left:auto;border:1px solid rgba(5,150,105,.35);border-radius:8px;padding:7px 10px;background:rgba(5,150,105,.08);color:#047857;cursor:pointer;font-weight:700}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.wm-header-action kbd,.wm-header-action-label,.wm-header-search-label{display:none}.wm-request-row{grid-template-columns:42px minmax(0,1fr)}.wm-request-row .wm-row-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){.wm-form-grid,.wm-adjust-row{grid-template-columns:1fr}.wm-search-card{width:calc(100vw - 16px);max-height:calc(100dvh - 82px);margin-top:70px}.wm-search-header{padding:14px 15px 10px}.wm-search-tabs{margin:0 12px 10px}.wm-search-tabs button{font-size:12px}.wm-search-assignee-scope{grid-template-columns:1fr;margin:0 12px 10px;gap:6px}.wm-search-assignee-scope>span{padding-top:0}.wm-search-assignee-options{max-height:min(38vh,300px)}.wm-search-input-row{margin:0 12px;padding:11px 12px}.wm-search-input-row input{font-size:15px}.wm-search-result{grid-template-columns:58px minmax(0,1fr);padding:10px 8px}.wm-search-type{font-size:10px}.wm-search-results{min-height:120px}.wm-leave-stats{grid-template-columns:repeat(2,1fr)}.wm-header-action{width:38px;padding:0}.wm-request-button{width:38px}.wm-my-leave-request-head{align-items:stretch;flex-direction:column}.wm-my-leave-request-head>button{align-self:flex-end}.wm-employee-leave-request{padding:18px 14px}}
