:root{--bg:#f0efeb;--card:#fff;--line:#e6e9f0;--text:#1f2533;--muted:#8a93a6;--primary:#4f6ef7;--primary-d:#3b56d8;--ok:#1faa6b;--warn:#e6a700;--bad:#e2483d;--radius:12px;--navy:#2f3083}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Pretendard,-apple-system,Segoe UI,Malgun Gothic,sans-serif}h1{margin:0 0 16px;font-size:24px}h3{margin:24px 0 10px}h4{margin:12px 0 8px}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center;padding:40px}.link{color:var(--primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.row{align-items:center;display:flex}.gap{gap:8px}:root{--header-height:calc(64px + env(safe-area-inset-top,0px));--bottom-nav-height:0px}.app{min-height:100vh;padding-top:var(--header-height);padding-bottom:var(--bottom-nav-height);display:flex}.sidebar{background:var(--navy);color:#cdd3e0;width:230px;box-shadow:none;top:var(--header-height);height:calc(100vh - var(--header-height) - var(--bottom-nav-height));height:calc(100dvh - var(--header-height) - var(--bottom-nav-height));padding:20px 14px;padding-bottom:max(20px, env(safe-area-inset-bottom));border:0;flex-direction:column;flex-shrink:0;display:flex;position:sticky;overflow:hidden}.brand{align-items:center;margin-bottom:20px;padding:8px;text-decoration:none;display:flex}.brand.big{color:var(--text);padding:0;font-size:26px}.sidebar nav{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.sidebar .brand,.sidebar-foot{flex-shrink:0}.nav-item{color:#cdd3e0;border-radius:9px;padding:11px 14px;font-size:17px;font-weight:500;line-height:1.45}.nav-item:hover{background:#1f2940}.nav-item.active{background:var(--primary);color:#fff}.sidebar-foot{border:0;padding-top:14px}.user-card{align-items:center;gap:10px;margin-bottom:12px;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.user-name{color:#fff;font-weight:600}.user-card{border-radius:9px;padding:4px;text-decoration:none}.user-card:hover{background:#1f2940}.main-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--header-height);z-index:70;padding:env(safe-area-inset-top,0px) 28px 0 0;box-shadow:none;background:#fff;border:0;align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}.header-brand{box-shadow:none;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0 22px;display:flex}.topbar .header-brand{box-shadow:none!important;border:0!important}.header-actions{align-items:center;gap:12px;padding-left:16px;display:flex}.header-install{display:inline-flex}.content{width:100%;max-width:1500px;margin:0 auto;padding:28px 40px}.pwa-update-notice{right:16px;bottom:calc(var(--bottom-nav-height) + 16px);z-index:100;border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:12px;max-width:min(480px,100vw - 32px);padding:12px 14px;font-size:13px;display:flex;position:fixed;box-shadow:0 8px 28px #00000029}.pwa-update-notice span{flex:1}.pwa-update-notice .btn{flex-shrink:0}.hamburger{cursor:pointer;color:var(--text);background:0 0;border:none;padding:4px 8px;font-size:22px;display:none}.nav-overlay{display:none}.leave-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.leave-form{max-width:720px}.leave-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px;display:grid}.leave-two-columns>section{flex-direction:column;min-width:0;display:flex}.leave-two-columns>section>h3{flex-shrink:0}.leave-two-columns>section>.card,.leave-table-box{flex:1;margin-bottom:0}.leave-table-box{background:var(--card);border-radius:var(--radius);overflow-x:auto}.leave-table-box .table{width:100%;margin:0}.leave-two-columns .leave-form{max-width:none}.leave-pending-item{padding:12px 0}.leave-history-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.leave-history-summary p{margin:0}.leave-history-summary label{white-space:nowrap;align-items:center;gap:10px;margin-left:auto;display:flex}.leave-history-summary input{width:110px}@media (width<=1000px){.leave-two-columns{grid-template-columns:1fr}}.leave-form-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=600px){.leave-form-grid{grid-template-columns:1fr}}.radio{align-items:center;gap:6px;margin-right:18px;font-weight:500;display:inline-flex}.radio input{width:auto}.bell{position:relative}.bell-btn{cursor:pointer;background:0 0;border:none;padding:6px;font-size:20px;line-height:1;position:relative}.bell-badge{background:var(--bad);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:-2px;right:-2px}.bell-dropdown{background:var(--card);border:1px solid var(--line);z-index:50;border-radius:12px;width:340px;max-height:440px;position:absolute;top:44px;right:0;overflow-y:auto;box-shadow:0 12px 40px #00000026}.bell-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.bell-list{margin:0;padding:0;list-style:none}.bell-list li{border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.bell-list li:hover{background:#fafbfe}.bell-list li.read{opacity:.55}.bell-icon{font-size:18px}.bell-text{flex:1;min-width:0}.bell-title{font-size:14px;font-weight:600}.bell-dot{background:var(--primary);border-radius:50%;width:8px;height:8px;margin-top:6px}.tiny{font-size:11px}.stat{text-align:center}.stat-num{margin-top:4px;font-size:28px;font-weight:700}.stat.highlight{background:var(--primary);color:#fff;border-color:var(--primary)}.stat.highlight .muted{color:#dbe2ff}.report-list{flex-direction:column;gap:10px;display:flex}.report-item{flex-direction:column;gap:8px;display:flex}.report-date{border-bottom:1px solid var(--line);padding-bottom:6px;font-weight:700}.fd-edit-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px;overflow-x:auto}.form-doc{color:#1f2533}.fd-head{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.fd-approval{border-collapse:collapse}.fd-approval th,.fd-approval td{text-align:center;border:1px solid #444;padding:4px 12px;font-size:12px;font-weight:600}.fd-approval td{height:40px}.fd-title{text-align:center;letter-spacing:4px;margin:8px 0 18px;font-size:26px;font-weight:800}.fd-intro{margin:0 0 16px;line-height:1.7}.fd-fields{border-collapse:collapse;width:100%;margin-bottom:14px}.fd-fields th,.fd-fields td{text-align:left;vertical-align:middle;border:1px solid #c9ccd6;padding:8px 10px;font-size:14px}.fd-fields th{white-space:nowrap;background:#f3e7dd;width:120px;font-weight:600}.fd-fields tr.full td{width:auto}.fd-fields input,.fd-fields textarea{background:0 0;border:none;width:100%;padding:2px 4px}.fd-fields input:focus,.fd-fields textarea:focus{outline:1px solid var(--primary)}.fd-val{min-height:18px;display:inline-block}.fd-table{border-collapse:collapse;width:100%;margin-bottom:6px}.fd-table th,.fd-table td{text-align:center;border:1px solid #c9ccd6;padding:6px 8px;font-size:13px}.fd-table thead th{background:#f3e7dd;font-weight:600}.fd-table .wide{width:36%}.fd-table .fd-no{width:38px;color:var(--muted)}.fd-table .fd-del{border:none;width:32px}.fd-table td.right{text-align:right}.fd-table input.cell{width:100%;text-align:inherit;background:0 0;border:none;padding:2px 4px}.fd-table input.cell:focus{outline:1px solid var(--primary)}.fd-table .fd-del button{color:var(--bad);cursor:pointer;background:0 0;border:none;font-size:16px}.fd-total td{background:#faf4ee;font-weight:700}.fd-total-label{text-align:center!important}.fd-footer{color:var(--muted);margin-top:6px;font-size:13px}@media print{.sidebar,.topbar,.app-menu-shell,.no-print,.approve-box{display:none!important}.app{padding:0!important}.main-wrap,.content{max-width:none!important;padding:0!important;display:block!important}.card.print-area{box-shadow:none;border:none;padding:0}.fd-fields input,.fd-table input.cell{outline:none}body{background:#fff}@page{margin:14mm}}.cell{padding:6px 8px;font-size:13px}.tiny-input{width:64px}.btn.small{padding:5px 10px;font-size:12px}.admin-newgrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.admin-newgrid>input,.admin-newgrid>select{width:100%;min-width:0;height:42px}@media (width<=720px){.admin-newgrid{grid-template-columns:1fr}}.guide{padding-left:20px;line-height:1.9}.guide code{background:#f0f2f8;border-radius:5px;padding:2px 6px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-head h3{margin:0}.page-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.narrow{max-width:760px}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.list li:last-child{border-bottom:none}.list li span:nth-child(2){flex:1}.btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600}.btn:hover{background:#f4f6fb}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-d)}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.bad{background:var(--bad);border-color:var(--bad);color:#fff}.btn.ghost{background:0 0}.btn.block{width:100%;display:block}.badge{color:var(--muted);white-space:nowrap;background:#eef0f5;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.badge.ok{color:var(--ok);background:#e3f6ec}.badge.warn{color:var(--warn);background:#fcf2d9}.badge.bad{color:var(--bad);background:#fbe5e3}.table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;font-size:14px}.table th{color:var(--muted);background:#fafbfe;font-weight:600}.table tr:last-child td{border-bottom:none}.tabs{gap:6px;margin-bottom:14px;display:flex}.tab{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.form{flex-direction:column;gap:12px;display:flex}label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-width:0;max-width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.row>*{min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);border-color:#0000}.doc-content{border:1px solid var(--line);white-space:pre-wrap;background:#fafbfe;border-radius:9px;padding:16px;font-family:inherit}.approval-line{margin:0;padding:0;list-style:none}.approval-line li{border:1px solid var(--line);border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px;display:flex}.approve-box{flex-direction:column;gap:10px;margin-top:16px;display:flex}.line-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip{color:var(--primary-d);background:#eef1fb;border-radius:20px;padding:5px 10px;font-size:13px;font-weight:600}.chip button{cursor:pointer;color:var(--muted);background:0 0;border:none;margin-left:4px}.dot{background:var(--muted);border-radius:50%;width:9px;height:9px;display:inline-block}.dot.personal{background:#6c8cff}.dot.team{background:#1faa6b}.dot.company{background:#e6a700}.dot.google{background:#db4437}.cal-layout{grid-template-columns:1fr 320px;gap:16px;display:grid}.calendar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.calendar.full{width:100%}.cal-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);padding-bottom:8px;font-size:13px;font-weight:600;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.cal-cell{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:3px;min-height:116px;padding:7px;display:flex;overflow:hidden}.cal-cell:hover{border-color:var(--primary);background:#f8faff}.cal-cell.dim{color:#c2c8d6;background:#fafbfe}.cal-cell.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.cal-cell.today .cal-date{color:var(--primary)}.cal-date{font-size:13px;font-weight:600}.cal-ev{color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 5px;font-size:11px;overflow:hidden}.cal-ev.personal{background:#6c8cff}.cal-ev.team{background:#1faa6b}.cal-ev.company{background:#e6a700}.cal-ev.google{background:#db4437}.cal-side h3{margin-top:0}.modal-overlay{z-index:80;background:#141a2a80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:14px;width:100%;max-width:420px;max-height:88vh;padding:20px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.modal-head h3{margin:0}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px}.icon-btn:hover{color:var(--text)}.search{max-width:280px}.directory-page-head{align-items:end;margin-bottom:24px}.directory-page-head h1{margin:0 0 5px}.directory-page-head p{margin:0;font-size:13px}.directory-page-head p strong{color:var(--text)}.directory-search{color:#8793a6;background:#fff;border:1px solid #dce2ec;border-radius:8px;align-items:center;gap:8px;width:min(300px,100%);padding:0 12px;display:flex}.directory-search:focus-within{border-color:#28668a;box-shadow:0 0 0 3px #28668a20}.directory-search input{width:100%;min-width:0;height:40px;color:var(--text);background:0 0;border:0;outline:0;padding:0}.directory-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.directory-root{color:#fff;background:#145b78;border-radius:8px;align-items:center;gap:12px;min-height:74px;padding:14px 18px;display:flex}.directory-root-mark{border:1px solid #ffffff70;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;font-size:21px;font-weight:700;display:grid}.directory-root div{flex-direction:column;gap:2px;display:flex}.directory-root strong{font-size:18px}.directory-root div span{color:#c9e2eb;font-size:12px}.directory-branches{border-left:2px solid #9cb9c8;margin:0 0 0 28px;padding:14px 0 0 28px}.directory-node{width:100%;min-height:68px;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe7ec;border-radius:8px;align-items:center;gap:12px;margin:0 0 8px;padding:10px 13px;transition:background .15s,border-color .15s;display:flex;position:relative}.directory-node:before{content:"";border-top:2px solid #9cb9c8;width:29px;position:absolute;top:50%;left:-30px}.directory-node:hover{background:#f5fafb;border-color:#87afbf}.directory-node.selected{background:#e9f4f7;border-color:#24799a;box-shadow:inset 3px 0 #24799a}.directory-node:focus-visible{outline-offset:2px;outline:2px solid #24799a}.directory-node-avatar{color:#145b78;background:#d9ebec;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.directory-node-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.directory-node-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.directory-node-copy small{color:#627386;font-size:12px}.directory-empty{margin:18px 0 0 28px;font-size:13px}.directory-profile{background:#fff;border:1px solid #e0e6eb;border-radius:8px;min-height:390px;padding:30px 34px}.directory-profile-heading{border-bottom:1px solid #e8edf0;align-items:center;gap:18px;padding-bottom:26px;display:flex}.directory-profile-avatar{color:#145b78;background:#dbedf0;border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-size:30px;font-weight:700;display:grid}.directory-profile-overline{color:#24799a;font-size:12px;font-weight:700}.directory-profile-heading h2{margin:4px 0;font-size:22px}.directory-profile-heading p{color:#627386;margin:0;font-size:13px}.directory-profile-section{padding-top:20px}.directory-profile-section h3{margin:0 0 8px;font-size:14px}.directory-profile-list{margin:0}.directory-profile-list>div{border-bottom:1px solid #edf0f3;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:13px 0;font-size:14px;display:grid}.directory-profile-list dt{color:#728092;align-items:center;gap:8px;display:flex}.directory-profile-list dd{overflow-wrap:anywhere;min-width:0;margin:0}.directory-profile-list a{color:#146889}.directory-profile-list a:hover{text-decoration:underline}.directory-profile-placeholder{min-height:320px;color:var(--muted);place-items:center;display:grid}@media (width<=850px){.directory-layout{grid-template-columns:1fr;gap:18px}.directory-branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.directory-node{margin:0}.directory-node:before{display:none}}@media (width<=550px){.directory-page-head{align-items:stretch}.directory-search{width:100%}.directory-branches{display:block}.directory-node{margin-bottom:8px}.directory-profile{padding:22px 18px}.directory-profile-list>div{grid-template-columns:110px minmax(0,1fr)}}.alert{border-radius:9px;padding:10px 14px;font-size:14px}.alert.error{color:var(--bad);background:#fbe5e3}.alert.ok{color:var(--ok);background:#e3f6ec}.login-wrap{background:linear-gradient(135deg,#4f6ef7,#6c8cff);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:380px;padding:36px;display:flex;box-shadow:0 20px 60px #0003}.demo-box{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:8px;padding-top:12px;display:flex}.demo-chip{text-align:left;border:1px solid var(--line);cursor:pointer;background:#f4f6fb;border-radius:8px;padding:8px 10px;font-size:13px}.demo-chip:hover{background:#eef1fb}@media (width<=900px){.grid-3,.cal-layout{grid-template-columns:1fr}.leave-stats{grid-template-columns:repeat(2,1fr)}}.nav-item{position:relative}.nav-badge{background:var(--bad);color:#fff;vertical-align:middle;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:8px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.chat-alert-stack{right:20px;bottom:calc(var(--bottom-nav-height) + 20px);z-index:90;gap:8px;width:min(360px,100vw - 32px);display:grid;position:fixed}.mail-alert-stack{bottom:auto;top:calc(var(--header-height) + 16px)}.chat-alert{border:1px solid var(--line);border-left:4px solid var(--primary);background:#fff;border-radius:8px;align-items:flex-start;display:flex;box-shadow:0 10px 30px #1018282e}.chat-alert-open{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:0;flex:1;align-items:flex-start;gap:10px;padding:12px;display:flex}.chat-alert-open>span{gap:4px;min-width:0;display:grid}.chat-alert-open strong,.chat-alert-open span span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-alert-open span span{color:var(--muted);font-size:13px}.chat-alert-close{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:10px}@media (width<=768px){.chat-alert-stack{right:12px;top:calc(var(--header-height) + 8px);bottom:auto}}.msgr{grid-template-columns:320px 1fr;gap:16px;height:calc(100vh - 190px);min-height:480px;display:grid}.avatar.sm{width:30px;height:30px;font-size:13px}.avatar.group{background:#141a2a}.msgr-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px;display:flex;overflow:hidden}.msgr-picker{border:1px solid var(--line);border-radius:10px;max-height:240px;overflow-y:auto}.msgr-new-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.msgr-new-actions .btn{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.msgr-group-form{flex-direction:column;gap:9px;min-height:0;display:flex}.msgr-group-form>label{font-size:13px;font-weight:600}.msgr-group-form>input{width:100%}.msgr-member-picker{max-height:200px}.msgr-pick-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex:none}.msgr-pick-item{border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;display:flex}.msgr-pick-item:last-child{border-bottom:none}.msgr-pick-item:hover{background:#f4f6fb}.pad{padding:10px}.msgr-convs{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.msgr-conv{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.msgr-conv:hover{background:#f4f6fb}.msgr-conv.active{background:#eef1fb}.msgr-conv-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.msgr-conv-top{justify-content:space-between;gap:6px;display:flex}.msgr-conv-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.msgr-conv-last{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.msgr-badge{background:var(--bad);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid}.msgr-thread{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;position:relative;overflow:hidden}.msgr-drop{z-index:6;pointer-events:none;border:2px dashed var(--primary);border-radius:var(--radius);background:#4f6ef71a;place-items:center;display:grid;position:absolute;inset:0}.msgr-drop-box{background:var(--primary);color:#fff;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700}.msgr-empty{flex:1;place-items:center;padding:40px;display:grid}.msgr-thread-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.msgr-msgs{background:#fafbfe;flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.msgr-row{align-items:flex-end;gap:8px;max-width:78%;display:flex}.msgr-row.mine{flex-direction:row-reverse;align-self:flex-end}.msgr-bubble-wrap{flex-direction:column;gap:2px;min-width:0;display:flex}.msgr-row.mine .msgr-bubble-wrap{align-items:flex-end}.msgr-bubble{color:var(--text);white-space:pre-wrap;word-break:break-word;background:#e9ecf3;border:none;border-radius:14px 14px 14px 4px;padding:9px 13px;font-size:14px}.msgr-row.mine .msgr-bubble{background:var(--primary);color:#fff;border-radius:14px 14px 4px}.msgr-mention{color:#2644bb;font-weight:700}.msgr-row.mine .msgr-mention{color:#fff3a6}.msgr-link{color:#2348c1;text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.msgr-row.mine .msgr-link{color:#fff}.msgr-mentions{border:1px solid var(--line);background:#fff;border-radius:6px;max-height:220px;overflow-y:auto;box-shadow:0 8px 20px #1b26521a}.msgr-mention-option{text-align:left;cursor:pointer;background:#fff;border:0;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.msgr-mention-option.active,.msgr-mention-option:hover{background:#edf1ff}.msgr-time{font-size:10px}.msgr-msg-meta{align-items:center;gap:6px;display:flex}.msgr-read-state{color:#326a58;white-space:nowrap;font-size:10px}.msgr-delete{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.msgr-delete:hover,.msgr-delete:focus-visible{color:var(--bad);background:#e9ecf3}.msgr-delete:disabled{opacity:.5;cursor:default}.msgr-deleted{border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:9px 13px;font-size:13px}.msgr-image-link{cursor:zoom-in;background:0 0;border:0;max-width:min(280px,60vw);padding:0;display:block}.msgr-image-link img{object-fit:contain;border-radius:8px;max-width:100%;max-height:280px;display:block}.msgr-image-overlay{z-index:1000;background:#0c111ee0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.msgr-image-dialog{color:#fff;flex-direction:column;width:min(100%,1200px);height:min(100%,900px);min-height:0;display:flex}.msgr-image-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.msgr-image-toolbar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msgr-image-close{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:6px;flex:none;place-items:center;width:40px;height:40px;display:grid}.msgr-image-close:hover{background:#ffffff3d}.msgr-image-dialog>img{object-fit:contain;max-width:100%;min-height:0;max-height:calc(100% - 48px);margin:auto;display:block}.msgr-image-loading{margin:auto}.msgr-input-wrap{border-top:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:12px;display:flex}.msgr-input{align-items:center;gap:8px;display:flex}.msgr-input textarea{resize:vertical;flex:1;min-width:0;min-height:42px;max-height:140px}.msgr-attach-btn{padding:9px 12px}.msgr-attach-preview{border:1px solid var(--line);background:#f4f6fb;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.msgr-image-preview{object-fit:cover;border-radius:4px;width:48px;height:48px}.msgr-file{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;max-width:240px;padding:8px 10px;display:flex}.msgr-file:hover{background:#f4f6fb}.msgr-row.mine .msgr-file{background:#fff}.msgr-file-ico{font-size:18px}.msgr-file-meta{flex-direction:column;min-width:0;display:flex}.msgr-file-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-weight:600;overflow:hidden}.only-mobile{display:none}@media (width<=768px){.msgr{grid-template-columns:1fr;height:calc(100dvh - 140px)}.msgr-thread,.msgr.show-thread .msgr-list{display:none}.msgr.show-thread .msgr-thread{display:flex}.only-mobile{display:inline-block}.hamburger{display:block}.topbar{padding:env(safe-area-inset-top,0px) 12px 0;gap:8px}.header-brand{border-right:0;width:auto;padding:0 8px}.header-actions{gap:8px;padding-left:0}.content{padding:18px 16px}.sidebar{top:var(--header-height);height:calc(100dvh - var(--header-height) - var(--bottom-nav-height));z-index:60;transition:transform .25s;position:fixed;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000040}.sidebar.open{transform:translate(0)}.nav-overlay{inset:var(--header-height) 0 var(--bottom-nav-height);z-index:55;background:#0006;display:block;position:fixed}.table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.table th,.table td{padding:10px}.page-head{flex-wrap:wrap;gap:8px}.fd-edit-wrap{padding:10px}input,select,textarea{font-size:16px}.login-card{width:100%;max-width:380px;padding:28px 22px}.bell-dropdown{width:min(340px,100vw - 24px);right:-6px}.tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab{white-space:nowrap;flex:none}.calendar{padding:8px}.cal-grid{gap:3px}.cal-cell{min-height:76px;padding:4px}.cal-date{font-size:12px}.cal-ev{padding:1px 4px;font-size:10px}}.project-overview-bar{align-items:center;gap:10px;margin:18px 0 12px;display:flex}.project-overview-bar input{flex:1;min-width:140px;max-width:320px}.project-overview-bar select{min-width:130px}.project-overview-bar>span{white-space:nowrap;margin-left:auto}.project-portfolio-board{gap:12px;max-width:100%;padding-bottom:10px;display:flex;overflow-x:auto}.project-portfolio-col{--accent-rgb:62,91,236;border:1px solid rgba(var(--accent-rgb),.17);background:rgba(var(--accent-rgb),.07);border-radius:7px;flex-direction:column;flex:0 0 clamp(245px,25%,320px);gap:8px;min-width:0;min-height:280px;padding:10px;display:flex}.project-portfolio-col:nth-child(5n+2){--accent-rgb:0,135,151}.project-portfolio-col:nth-child(5n+3){--accent-rgb:220,105,32}.project-portfolio-col:nth-child(5n+4){--accent-rgb:0,145,101}.project-portfolio-col:nth-child(5n){--accent-rgb:134,76,205}.project-portfolio-head{background:rgba(var(--accent-rgb),.12);min-height:40px;color:rgb(var(--accent-rgb));border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.project-portfolio-head strong{overflow-wrap:anywhere;flex:1;min-width:0}.project-portfolio-head span{font-variant-numeric:tabular-nums;flex:none;font-size:12px}.project-portfolio-head:hover strong{text-decoration:underline}.project-portfolio-meta{color:var(--muted);padding:0 2px;font-size:11px}.project-portfolio-tasks{flex-direction:column;flex:1;gap:8px;display:flex}.project-portfolio-task{color:var(--text);display:block}.project-portfolio-task>strong{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.project-portfolio-task:hover{border-color:rgba(var(--accent-rgb),.55)}.project-portfolio-task .chip.tiny{background:rgba(var(--accent-rgb),.12);color:rgb(var(--accent-rgb));border:0}.project-portfolio-empty{margin:12px 2px}.project-portfolio-open{color:rgb(var(--accent-rgb));padding:7px 2px 2px;font-size:12px;font-weight:600;display:block}.project-portfolio-open:hover{text-decoration:underline}.project-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:20px;padding:12px 0;font-size:13px;display:flex}.project-summary span{align-items:baseline;gap:5px;display:inline-flex}.project-summary strong{color:var(--text);font-size:20px}.project-summary .task-overdue strong{color:var(--bad)}.project-viewbar{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.project-viewbar .seg{max-width:100%;overflow-x:auto}.project-viewbar .seg-btn{white-space:nowrap;min-width:65px}.project-scope-nav{margin:0 0 18px}.project-scope-nav .seg-btn{justify-content:center;align-items:center;min-width:95px;display:inline-flex}.project-work-layout{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:210px minmax(0,1fr);min-height:430px;display:grid;overflow:hidden}.project-work-layout:not(:has(.project-work-roster)){grid-template-columns:minmax(0,1fr)}.project-work-roster{border-right:1px solid var(--line);min-width:0}.project-work-roster-head,.project-work-list-head{color:var(--text);justify-content:space-between;align-items:center;font-size:13px;display:flex}.project-work-roster-head{padding:17px 14px 10px}.project-work-roster-head span,.project-work-list-head span{color:var(--muted);font-size:12px;font-weight:400}.project-work-roster-search,.project-work-search{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:7px;display:flex}.project-work-roster-search{margin:0 10px 10px;padding:0 8px}.project-work-roster-search input,.project-work-search input{width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:13px}.project-work-roster-search input{padding:8px 0}.project-work-mobile-person{display:none}.project-work-roster-list button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:5px;padding:11px 12px;font-size:13px;display:flex}.project-work-roster-list button:hover{background:#f7f9fc}.project-work-roster-list button.selected{border-left-color:var(--primary);color:#2849c9;background:#eef2ff;font-weight:700}.project-work-roster-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.project-work-roster-name small{color:var(--muted);margin-left:5px;font-weight:400}.project-work-roster-late{color:#b93830;white-space:nowrap;font-size:11px}.project-work-roster-count{text-align:right;font-variant-numeric:tabular-nums;min-width:20px}.project-work-main{min-width:0;padding:22px 26px}.project-work-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.project-work-heading h2{margin:0 0 4px;font-size:19px}.project-work-heading p{color:var(--muted);margin:0;font-size:12px}.project-work-completion{color:var(--ok);white-space:nowrap;font-size:12px;font-weight:700}.project-work-progress{background:#e9edf1;border-radius:3px;height:5px;margin:17px 0 15px;overflow:hidden}.project-work-progress span{background:var(--ok);height:100%;display:block}.project-work-metrics{border-bottom:1px solid var(--line);color:var(--muted);gap:24px;padding-bottom:20px;font-size:12px;display:flex}.project-work-metrics strong{color:var(--text);margin-left:5px;font-size:15px}.project-work-metrics .late strong{color:var(--bad)}.project-work-toolbar{align-items:center;gap:8px;padding:18px 0;display:flex}.project-work-search{flex:1;min-width:0;max-width:350px;padding:0 10px}.project-work-search input{padding:9px 0}.project-work-toolbar select{width:132px;padding:9px 10px;font-size:13px}.project-work-list-head{border-bottom:1px solid var(--line);padding:10px 0}.project-work-list{margin:0;padding:0;list-style:none}.project-work-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 82px 112px;align-items:center;gap:14px;padding:13px 2px;font-size:13px;display:grid}.project-work-task{min-width:0}.project-work-task-title{overflow-wrap:anywhere;font-weight:600}.project-work-task-title a:hover{color:var(--primary);text-decoration:underline}.project-work-task-meta{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px}.project-work-status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;display:flex}.project-work-status i{background:#a5aebb;border-radius:50%;width:7px;height:7px}.project-work-status.doing i{background:var(--warn)}.project-work-status.done i{background:var(--ok)}.project-work-due{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.project-work-due.late{color:var(--bad);font-weight:600}.project-work-empty{margin:0;padding:24px 2px;font-size:13px}.project-create-button,.project-add-task,.project-import-button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg-btn{cursor:pointer;color:var(--muted);background:#fff;border:none;padding:6px 14px;font-size:13px}.seg-btn.on{background:var(--primary);color:#fff}.project-tools{align-items:center;gap:8px;margin:16px 0 6px;display:flex}.project-tools input{flex:1;min-width:140px;max-width:320px}.project-tools select{min-width:150px}.project-tools .btn{white-space:nowrap}.project-tools .project-import-button{margin-left:auto}.project-import-modal{max-width:900px}.project-import-modal .modal-head h2{margin:0;font-size:18px}.project-import-controls,.project-import-summary,.project-import-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-import-controls{margin:15px 0}.project-import-file{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;font-size:13px;display:inline-flex}.project-import-summary{border-top:1px solid var(--line);padding:9px 0;font-size:13px}.project-import-scroll{border:1px solid var(--line);max-height:42vh;overflow:auto}.project-import-scroll table{border-collapse:collapse;width:100%;font-size:12px}.project-import-scroll th,.project-import-scroll td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:65px;padding:8px}.project-import-scroll th{background:var(--card);white-space:nowrap;position:sticky;top:0}.project-import-scroll td:nth-child(2){overflow-wrap:anywhere;min-width:170px}.project-import-scroll td:last-child{min-width:130px}.project-import-scroll tr.invalid{background:#fff0ee}.project-import-actions{justify-content:flex-end;margin-top:14px}.project-result{margin-bottom:12px}.kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;max-width:100%;display:grid;overflow-x:auto}.assignee-kanban{grid-template-columns:none;grid-auto-columns:minmax(230px,1fr);grid-auto-flow:column}.kanban-col{--accent-rgb:62,91,236;border:1px solid rgba(var(--accent-rgb),.16);background:rgba(var(--accent-rgb),.07);border-radius:7px;flex-direction:column;gap:8px;min-width:0;min-height:120px;padding:10px;display:flex}.status-kanban .kanban-col:nth-child(2){--accent-rgb:220,105,32}.status-kanban .kanban-col:nth-child(3){--accent-rgb:0,145,101}.assignee-kanban .kanban-col:nth-child(5n+2){--accent-rgb:134,76,205}.assignee-kanban .kanban-col:nth-child(5n+3){--accent-rgb:0,135,151}.assignee-kanban .kanban-col:nth-child(5n+4){--accent-rgb:196,86,92}.assignee-kanban .kanban-col:nth-child(5n),.assignee-kanban .kanban-col.unassigned{--accent-rgb:92,103,119}.kanban-col-head{background:rgba(var(--accent-rgb),.11);min-height:38px;color:rgb(var(--accent-rgb));border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.kanban-col-head:before{content:"";background:rgb(var(--accent-rgb));border-radius:50%;flex:none;width:7px;height:7px}.kanban-col-head span{font-variant-numeric:tabular-nums;margin-left:auto}.kanban-col.drop-target{border-color:rgba(var(--accent-rgb),.65)}.kanban-list{flex-direction:column;gap:8px;display:flex}.task-card{border:1px solid rgba(var(--accent-rgb),.14);border-left:2px solid rgba(var(--accent-rgb),.7);background:#ffffffe6;border-radius:6px;padding:12px;box-shadow:0 2px 8px #1f253309}.status-kanban .task-card{cursor:grab}.status-kanban .task-card:active{cursor:grabbing}.status-kanban .task-card.dragging{opacity:.28}.task-card.drag-overlay{cursor:grabbing;pointer-events:none;box-shadow:0 12px 28px #1f253329}.task-card.done .task-title{color:var(--muted)}.task-title{cursor:pointer;word-break:break-word;font-weight:600}.task-title:hover{color:var(--primary)}.task-open,.sch-open{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.task-open:focus-visible,.sch-open:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.task-overdue{color:var(--bad);font-weight:700}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.kanban .chip.tiny{background:rgba(var(--accent-rgb),.12);color:rgb(var(--accent-rgb));border:0;font-weight:700}.mini{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:3px;display:inline-flex}.mini:hover{border-color:var(--primary);color:var(--primary)}.kanban-add input{background:#fff}.kanban-add .link{margin-top:5px}.kanban-add-button{border:1px dashed rgba(var(--accent-rgb),.28);width:100%;color:rgb(var(--accent-rgb));text-align:left;font:inherit;cursor:pointer;background:#ffffff61;border-radius:6px;align-items:center;gap:5px;padding:10px;font-size:12px;display:flex}.kanban-add-button:hover{background:#ffffffb3}.project-task-list-scroll{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:100%;overflow-x:auto}.project-task-list{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}.project-task-list th,.project-task-list td{border-bottom:1px solid var(--line);text-align:left;padding:12px}.project-task-list th{color:var(--muted);font-size:12px;font-weight:600}.project-task-list td:first-child{overflow-wrap:anywhere;min-width:180px;font-weight:600}.project-task-list td:last-child,.project-task-list td:nth-last-child(2){white-space:nowrap;font-variant-numeric:tabular-nums}.project-task-list tr:last-child td{border-bottom:0}.project-task-form{max-width:620px}.project-task-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-task-fields label{min-width:0}.project-task-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.project-section-title{margin:20px 0 10px;font-size:17px}.project-main-views{border-bottom:1px solid var(--line);gap:20px;margin-top:14px;display:flex;overflow-x:auto}.project-main-view{color:var(--muted);border-bottom:2px solid #0000;flex:none;padding:10px 2px;font-size:13px;font-weight:600}.project-main-view:hover{color:var(--primary)}.project-main-view.selected{color:var(--primary);border-bottom-color:var(--primary)}.project-dashboard{margin-top:24px}.project-dashboard h2{margin:0;font-size:17px}.project-dashboard-progress{border-bottom:1px solid var(--line);padding:0 0 24px}.project-dashboard-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.project-dashboard-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.project-dashboard-heading>strong{color:var(--ok);font-variant-numeric:tabular-nums;font-size:26px}.project-dashboard-progress progress{width:100%;height:9px;accent-color:var(--ok);margin:17px 0;display:block}.project-dashboard-counts{flex-wrap:wrap;gap:28px;display:flex}.project-dashboard-counts span{color:var(--muted);align-items:baseline;gap:6px;font-size:13px;display:flex}.project-dashboard-counts strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:19px}.project-dashboard-grid{grid-template-columns:minmax(0,3fr) minmax(220px,2fr);gap:32px;margin-top:24px;display:grid}.project-dashboard-grid>section{min-width:0}.project-dashboard-list,.project-dashboard-people{margin:12px 0 0;padding:0;list-style:none}.project-dashboard-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:12px 0;font-size:13px;display:grid}.project-dashboard-list li>span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.project-dashboard-list li>span.task-overdue{color:var(--bad)}.project-dashboard-list small{color:var(--muted);grid-column:1/-1}.project-dashboard-people li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;font-size:13px;display:flex}.project-dashboard-people strong{font-variant-numeric:tabular-nums}@media (width<=700px){.project-dashboard-grid{grid-template-columns:1fr;gap:24px}}.project-people{border-top:1px solid var(--line);margin-top:28px;padding-top:6px}.project-week-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.project-week-head .project-section-title{margin:20px 0 10px}.project-week-nav{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:13px;display:flex}.project-week-nav .mini{min-width:30px;min-height:28px}.project-week-nav .link{margin-left:6px}.project-gantt-scroll{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:100%;overflow-x:auto}.project-gantt-grid{grid-template-columns:220px minmax(0,1fr);min-width:1120px;display:grid}.project-gantt-label{z-index:2;border-right:1px solid var(--line);background:#fff;min-width:0;padding:10px 12px;position:sticky;left:0}.project-gantt-header{color:var(--muted);grid-row:1/3;align-items:center;font-size:12px;font-weight:700;display:flex}.project-gantt-weeks{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.project-gantt-weeks>span{border-right:1px solid var(--line);color:var(--text);text-align:center;padding:8px;font-size:12px;font-weight:700}.project-gantt-weeks>span:last-child{border-right:0}.project-gantt-days,.project-gantt-track{grid-template-columns:repeat(28,minmax(0,1fr));display:grid}.project-gantt-days>span{border-right:1px solid var(--line);color:var(--muted);text-align:center;padding:8px 1px;font-size:11px;font-weight:600}.project-gantt-days>span:last-child{border-right:0}.project-gantt-days>span:nth-child(7n),.project-gantt-cell:nth-child(7n){border-right:2px solid #cbd2de}.project-gantt-days>span.current{color:var(--primary);background:#edf1ff}.project-gantt-days small{color:inherit;font-size:10px;display:block}.project-gantt-row{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line);min-height:55px;display:grid}.project-gantt-task{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-left:0;flex-direction:column;justify-content:center;gap:3px;font-size:13px;display:flex}.project-gantt-task strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-gantt-task small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-gantt-task:hover strong{color:var(--primary)}.project-gantt-track{align-items:center}.project-gantt-cell{border-right:1px solid var(--line);background:#fff;grid-row:1;height:100%}.project-gantt-cell:last-of-type{border-right:0}.project-gantt-cell.current{background:#f4f6ff}.project-gantt-bar{z-index:1;cursor:pointer;background:#4f6ef7;border:0;border-radius:4px;grid-row:1;height:20px;margin:0 3px}.project-gantt-bar.doing{background:#df843d}.project-gantt-bar.done{background:#28a36c}.project-gantt-bar:hover{filter:brightness(.88)}.project-gantt-empty{margin:12px 0;font-size:13px}.project-person{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.project-person-name{flex-direction:column;gap:3px;font-weight:700;display:flex}.project-person ul{margin:0;padding:0;list-style:none}.project-person li{align-items:center;gap:10px;min-height:30px;font-size:13px;display:flex}.project-person li>span:first-child{font-variant-numeric:tabular-nums;min-width:45px}.project-period-nav{margin:2px 0 12px}.project-period-nav .project-section-title{margin:0}.project-period-scroll{border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;overflow-x:auto}.project-period-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(170px,26%) minmax(490px,1fr);min-height:48px;display:grid}.project-period-row:last-child{border-bottom:0}.project-period-name{min-width:0;font:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px 12px;font-size:13px;display:flex}button.project-period-name{cursor:pointer}button.project-period-name:hover{color:var(--primary)}.project-period-name small{color:var(--muted);font-size:11px}.project-period-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.project-period-header{text-align:center;color:var(--muted);background:#f6f7f9;align-items:center;font-size:12px;font-weight:600}.project-period-header small{font-size:11px;display:block}.project-period-header .current{color:var(--primary)}.project-period-track{grid-template-rows:1fr;position:relative}.project-period-track>span{border-left:1px solid var(--line);background:#fafbfc;grid-row:1}.project-period-track>span.current{background:#eef2ff}.project-period-bar{z-index:1;cursor:pointer;background:#7b8b9c;border:0;border-radius:4px;grid-row:1;align-self:center;height:19px;margin:0 4px}.project-period-bar.doing{background:#4f6ef7}.project-period-bar.done{background:#28a36c}.project-period-bar:hover{filter:brightness(.88)}.project-period-empty{margin:0;padding:18px 12px}.project-unscheduled{margin-top:20px}.project-unscheduled h3{margin:0 0 10px;font-size:15px}.project-unscheduled>div{flex-wrap:wrap;gap:8px;display:flex}.project-unscheduled-item{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:12px;padding:7px 9px;display:flex}.project-unscheduled-item small{color:var(--muted)}.project-workload>p{margin:0 0 10px}.project-person-block{border-bottom:1px solid var(--line)}.project-person-block .project-period-row{border-bottom:0}.project-workload-cells{text-align:center;align-items:stretch}.project-workload-cells span{border-left:1px solid var(--line);color:#a6adb9;place-items:center;font-size:13px;display:grid}.project-workload-cells .active{color:#284e9c;background:#e9f1ff;font-weight:700}.project-workload-cells .busy{color:#a43424;background:#ffe7e1;font-weight:700}.project-person-task-list{flex-wrap:wrap;gap:6px;padding:0 10px 10px;display:flex}.project-person-task-list button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:8px;max-width:100%;padding:5px 8px;display:inline-flex}.project-person-task-list button span{overflow-wrap:anywhere}.project-person-task-list button small{color:var(--muted);white-space:nowrap}.project-person .sch-open{overflow-wrap:anywhere;flex:1;min-width:0}.chip.tiny{padding:1px 7px;font-size:11px}.task-title-edit{border:none;border-bottom:1px solid var(--line);border-radius:0;flex:1;margin-right:8px;padding:4px 2px;font-size:17px;font-weight:700}.checklist{margin:0 0 8px;padding:0;list-style:none}.checklist li{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.checklist .radio{flex:1}.done-text{color:var(--muted);text-decoration:line-through}.project-task-detail{max-width:720px}.project-collaboration{margin-top:20px}.project-collab-section{border-top:1px solid var(--line);padding:14px 0 4px}.project-collab-section h3{align-items:center;gap:7px;margin:0 0 10px;font-size:14px;display:flex}.project-collab-section h3 .badge{font-size:11px}.project-collab-section>select{max-width:100%}.project-collab-list{margin:0 0 9px;padding:0;list-style:none}.project-collab-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:7px 0;display:flex}.project-collab-list li:last-child{border-bottom:0}.project-collab-main{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.project-collab-main small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.project-collab-list .icon-btn{flex:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;display:inline-flex}.project-file-picker{border:1px solid var(--line);cursor:pointer;border-radius:5px;align-items:center;gap:5px;width:auto;margin-right:10px;padding:6px 9px;font-size:12px;display:inline-flex}.project-file-picker:hover{border-color:var(--primary);color:var(--primary)}.project-file-picker:has(input:disabled){opacity:.5;pointer-events:none}.project-file-picker input{opacity:0;width:1px;height:1px;position:absolute}.project-comments .project-collab-main strong{font-size:12px}.project-comments time{color:var(--muted);margin-left:8px;font-size:11px}.project-comments p{white-space:pre-wrap;margin:4px 0 0}.project-comment-form{align-items:flex-end;gap:8px;display:flex}.project-comment-form textarea{resize:vertical;flex:1;min-width:0}.project-comment-form button{flex:none}.schedule{flex-direction:column;gap:12px;display:flex}.sch-group{padding:0;overflow:hidden}.sch-head{border-bottom:1px solid var(--line);padding:10px 14px;font-weight:700}.sch-head.overdue{color:var(--bad)}.sch-head.today{color:var(--primary)}.sch-list{margin:0;padding:0;list-style:none}.sch-list li{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:9px 14px;display:flex}.sch-list li:last-child{border-bottom:none}.sch-list li:hover{background:#fafbfe}.sch-date{font-variant-numeric:tabular-nums;color:var(--muted);min-width:44px;font-weight:600}.sch-title{word-break:break-word;flex:1}.sch-open:hover{color:var(--primary)}@media (width<=1100px){.status-kanban{grid-template-columns:repeat(3,230px)}}@media (width<=600px){.project-overview-bar{flex-wrap:wrap}.project-overview-bar input{flex-basis:100%;max-width:none}.project-overview-bar select{flex:1}.project-overview-bar>span{margin-left:0}.project-portfolio-col{flex-basis:245px}.project-summary{gap:12px}.project-summary strong{font-size:17px}.project-period-row{grid-template-columns:150px minmax(490px,1fr)}.project-tools{flex-wrap:wrap}.project-tools input{flex-basis:100%;width:100%;max-width:none}.project-tools select{flex:1;min-width:0}.project-tools .project-import-button{margin-left:0}.project-task-fields{grid-template-columns:1fr}.sch-list li{flex-wrap:wrap}.sch-open{flex:1;min-width:55%}.project-person{grid-template-columns:1fr;gap:7px}.project-person-name{flex-direction:row;align-items:baseline;gap:8px}}.leave-history-modal{max-width:900px}.leave-record-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.leave-history-table{overflow-x:auto}.leave-history-table td{overflow-wrap:anywhere;min-width:90px}.leave-history{margin:20px 0}@media (width<=640px){.leave-record-fields{grid-template-columns:1fr}}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.dashboard-work{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;margin-top:20px;display:grid}.dashboard-work>.card{min-width:0}.schedule-layout{grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr);margin-top:14px;display:grid}.schedule-mini{border-right:1px solid var(--line);padding-right:18px}.schedule-month-nav{justify-content:space-between;align-items:center;gap:4px;padding-bottom:18px;display:flex}.schedule-month-nav b{text-align:center;flex:1;font-size:18px}.schedule-month-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:24px}.schedule-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 2px;display:grid}.schedule-weekday{text-align:center;color:var(--muted);padding:6px 0;font-size:12px}.schedule-date{cursor:pointer;height:34px;color:var(--text);background:0 0;border:0;border-radius:5px;font-size:14px;position:relative}.schedule-date.weekday-0{color:var(--bad)}.schedule-date.weekday-6{color:var(--primary)}.schedule-date.outside{opacity:.4}.schedule-date.today{box-shadow:inset 0 0 0 1px var(--primary)}.schedule-date.selected{background:var(--primary);color:#fff;opacity:1}.schedule-marker{border-top:6px solid #10adb2;border-left:6px solid #0000;width:0;height:0;position:absolute;top:2px;right:3px}.schedule-mini-footer{justify-content:space-between;margin-top:16px;display:flex}.schedule-agenda{min-width:0;padding-left:20px}.schedule-agenda-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-agenda-head h4{margin:0;font-size:15px}.schedule-add{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:28px}.schedule-agenda-list{margin:10px 0 0;padding:0;list-style:none}.schedule-agenda-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 0;font-size:14px;display:flex}.schedule-agenda-list a{overflow-wrap:anywhere;min-width:0}.schedule-time{white-space:nowrap;color:var(--primary);padding:3px 0;font-size:12px}.schedule-time.all-day{border:1px solid var(--bad);color:var(--bad);border-radius:20px;padding:3px 7px}.dashboard-project-list{flex-direction:column;gap:10px;display:flex}.dashboard-project-row{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:5px;padding:12px;display:flex}.dashboard-project-row:hover{border-color:var(--primary)}.dashboard-task-list{margin:0 0 14px;padding:0;list-style:none}.dashboard-task-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.dashboard-task-list a{overflow-wrap:anywhere;min-width:0}@media (width>=601px) and (width<=1400px){.dashboard-work .schedule-layout{grid-template-columns:1fr}.dashboard-work .schedule-mini{border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px}.dashboard-work .schedule-agenda{padding:18px 0 0}}@media (width<=600px){.dashboard-summary,.dashboard-work,.schedule-layout{grid-template-columns:1fr}.schedule-mini{border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px}.schedule-agenda{padding:18px 0 0}}.account-menu{flex-shrink:0;margin-left:auto;position:relative}.account-trigger{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:6px 8px;display:flex}.account-trigger:hover,.account-trigger:focus-visible{background:var(--bg)}.account-identity{text-align:left;flex-direction:column;align-items:flex-start;min-width:0;max-width:160px;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:700;overflow:hidden}.account-position{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.account-chevron{color:var(--muted);font-size:16px}.account-popup-wrap{z-index:90;width:220px;max-width:calc(100vw - 32px);padding-top:6px;position:absolute;top:100%;right:0}.account-popup{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 8px 24px #0000001f}.account-popup a,.account-popup button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;font-size:14px;display:block}.account-popup a:hover,.account-popup button:hover,.account-popup a:focus-visible,.account-popup button:focus-visible{background:var(--bg)}.account-popup-heading{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:4px;margin-bottom:4px;padding:10px 12px 14px;display:flex}.account-popup-heading strong{font-size:14px}.account-popup-heading span{color:var(--muted);font-size:12px}.account-popup button{border-top:1px solid var(--line);color:var(--bad);border-radius:0 0 6px 6px;margin-top:4px}@media (width<=600px){.account-trigger{gap:6px;padding:6px 0 6px 6px}.account-identity{max-width:90px}.account-trigger .avatar{display:none}.drive-file-cell{flex-direction:column;align-items:flex-start}}.drive-sort-button{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px 0;font-weight:600}.drive-sort-button:hover,.drive-sort-button:focus-visible{color:var(--primary)}.drive-sort-button span{margin-left:5px}.drive-file-name{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:4px 0}.drive-file-name:hover{color:var(--primary)}.drive-file-name:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:3px}.drive-file-name:disabled{cursor:default}.drive-file-cell{justify-content:space-between;align-items:center;gap:12px;min-width:220px;display:flex}.drive-file-cell .drive-file-name{overflow-wrap:anywhere;white-space:normal;min-width:0}@media (width<=480px){.header-install{display:none}.header-brand img{max-width:80px}}@media print{.app{padding-top:0}}.personal-upload-zone{border:1px dashed var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:18px;display:flex}.personal-upload-zone.dragging{border-color:var(--primary);background:#edf0ff}.resources-roots{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.resources-team-admin{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.resources-team-admin h3{margin:0 0 10px}.resources-team-admin select{min-width:180px}.upload-picker{flex-direction:row;align-items:center;margin:0;display:inline-flex;position:relative;overflow:hidden}.upload-picker input{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.upload-picker.disabled{opacity:.6}.upload-picker:focus-within{outline:2px solid var(--primary);outline-offset:3px}.mail-refresh{min-width:36px;font-size:20px;line-height:1}.topbar{background:var(--navy);gap:8px;padding-right:16px}.topbar .hamburger,.topbar .account-trigger{color:#fff}.topbar .account-position{color:#d4d5ed}.topbar .account-trigger:hover,.topbar .account-trigger:focus-visible{background:#ffffff1f}.topbar .header-brand{padding:0 18px}.app-menu-shell{flex:1;min-width:0;height:100%;position:relative}.app-menu{scrollbar-width:none;cursor:grab;align-items:center;gap:4px;width:100%;min-width:0;height:100%;padding:0 12px;display:flex;overflow-x:auto}.app-menu:active{cursor:grabbing}.app-menu::-webkit-scrollbar{display:none}.app-menu-item{color:#e0e1f5;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:58px;height:54px;font-size:11px;font-weight:600;display:flex;position:relative}.app-menu-item svg{width:23px;height:23px}.app-menu-item:hover{color:#fff;background:#ffffff1f}.app-menu-item.active{color:var(--primary);background:#eaf0ff}.app-menu-badge{background:var(--bad);color:#fff;border-radius:8px;padding:1px 4px;font-size:10px;position:absolute;top:1px;right:4px}.topbar .account-menu{flex-shrink:0;margin-left:auto}.header-actions{padding-left:0}.sidebar{background:var(--bg);color:var(--text);border-right:1px solid #d7d6d1;padding:22px 14px 20px}.main-wrap{background:var(--bg)}.context-body{flex:1;min-height:0;overflow:hidden auto}.context-body h2{margin:0 12px 24px;font-size:21px}.context-link{border-radius:8px;margin:3px 0;padding:12px;font-size:14px;display:block}.context-link:hover,.context-link.selected{color:var(--primary);background:#eef2ff}.context-project{margin-top:3px}.context-project-row{border-radius:8px;align-items:stretch;display:flex}.context-project-row:hover{background:#e7e9ed}.context-project-row.active{background:#eef2ff}.context-project-name{min-width:0;min-height:43px;color:var(--text);overflow-wrap:anywhere;flex:1;align-items:center;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.context-project-row.active .context-project-name{color:#3557df}.context-project-expand{color:#657086;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:36px;display:grid}.context-project-expand:hover,.context-project-expand:focus-visible{color:var(--primary);background:#dce4ff}.context-project-expand svg{transition:transform .15s}.context-project-expand[aria-expanded=true] svg{transform:rotate(90deg)}.context-project-toggle{width:100%;min-height:43px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.context-project-toggle:hover{background:#e7e9ed}.context-project-toggle>span:first-child{overflow-wrap:anywhere;min-width:0}.context-folder-heading{align-items:center;gap:9px;display:flex}.context-project-chevron{color:#657086;flex:none;font-size:12px;transition:transform .15s}.context-project-toggle[aria-expanded=true] .context-project-chevron{transform:rotate(90deg)}.context-project-views{border-left:1px solid #d5dae4;margin:2px 0 4px 12px;padding-left:9px}.context-project-views[hidden]{display:none}.context-project-view{border-radius:6px;min-height:37px;padding:9px 10px;font-size:13px;display:block}.context-project-view:hover{background:#e7e9ed}.context-project-view.selected{color:#3557df;background:#e8edff;font-weight:700}.context-compose{color:#20563a;background:#e9f4ee;border:1px solid #9bbca9;border-radius:8px;margin:14px 0 20px;padding:15px 16px;font-weight:700;box-shadow:3px 3px 8px #2a52391f,inset 1px 1px #ffffffd9}.context-compose:hover,.context-compose:focus-visible{color:#17482f;background:#dceee3;border-color:#6d9f80;box-shadow:2px 3px 9px #2a52392e,inset 1px 1px #ffffffe6}.context-note,.context-address{color:#7c8595;overflow-wrap:anywhere;padding:0 12px;font-size:12px;line-height:1.7}.context-bottom-note{color:var(--muted);padding:24px 12px;font-size:12px}@media (width<=900px){.project-work-layout{grid-template-columns:170px minmax(0,1fr)}.project-work-main{padding:20px}}@media (width<=650px){.project-work-layout{min-height:0;display:block}.project-work-roster{border-right:0;border-bottom:1px solid var(--line);padding:12px 16px}.project-work-roster-head,.project-work-roster-search,.project-work-roster-list{display:none}.project-work-mobile-person{width:100%;display:block}.project-work-main{padding:18px 16px}.project-work-list li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.project-work-due{grid-column:2}.project-work-status{align-self:end}.project-work-toolbar{flex-wrap:wrap}.project-work-search{flex-basis:100%;max-width:none}.project-work-toolbar select{flex:1}}.mini-month{justify-content:space-between;align-items:center;padding:0 8px 14px;font-size:14px;display:flex}.mini-month button{padding:0 8px;font-size:24px}.mini-calendar{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:16px;font-size:12px;display:grid}.mini-calendar span,.mini-calendar a{border-radius:6px;place-items:center;height:27px;display:grid}.mini-calendar a:hover{background:#eef2ff}.mini-calendar .outside{color:#bbc2cd}.mini-calendar .today{background:var(--primary);color:#fff}[id^=leave-]{scroll-margin-top:calc(var(--header-height) + 20px)}@media (width<=1100px){.app-menu-item{min-width:51px;font-size:10px}.topbar .header-brand{padding:0 10px}.topbar .account-position{display:none}}@media (width<=760px){.app-menu-item{min-width:59px}}.sidebar-install{flex-shrink:0;padding:14px 14px 0}.sidebar-install .btn{text-align:left;align-items:center;gap:8px;width:100%;display:flex}@media (width>=769px){.topbar .header-brand{flex:0 0 calc(262px + max(0px,50vw - 865px))}}@media (width<=768px){:root{--header-height:calc(48px + env(safe-area-inset-top,0px));--bottom-nav-height:calc(64px + env(safe-area-inset-bottom,0px))}.topbar .hamburger,.topbar .header-brand{height:48px}.app-menu-shell{z-index:70;width:100%;height:var(--bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--navy);flex:none;position:fixed;inset:auto 0 0}}.header-actions{flex-shrink:0;padding-left:0}.mail-connection,.mail-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.mail-list{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;min-height:120px;overflow:hidden}.mail-list>.center{padding:32px 16px}.mail-entry+.mail-entry{border-top:1px solid var(--line)}.mail-item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:#fff;border:0;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;align-items:start;gap:14px;padding:11px 18px;display:grid}.mail-item:hover,.mail-item.selected{background:#f5f8fc}.mail-item.unread{background:#f0f5fd}.mail-item.unread:hover,.mail-item.unread.selected{background:#e9f0fc}.mail-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.mail-item-sender{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;line-height:21px;overflow:hidden}.mail-item.unread .mail-item-sender,.mail-item.unread .mail-item-summary strong{font-weight:700}.mail-item-content{flex-direction:column;gap:5px;min-width:0;display:flex}.mail-item-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;line-height:21px;display:block;overflow:hidden}.mail-item-summary strong{font-weight:600}.mail-item-snippet{color:#7a8494;font-weight:400}.mail-item-trailing{color:#6e7a8b;white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;font-size:12px;line-height:21px;display:flex}.mail-item-trailing svg{flex:none;margin-top:2px;transition:transform .15s}.mail-item.selected .mail-item-trailing svg{transform:rotate(180deg)}.mail-item-files{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.mail-file-chip{color:#51647d;background:#fff;border:1px solid #d6dfeb;border-radius:13px;align-items:center;gap:5px;min-width:0;max-width:180px;height:25px;padding:0 8px;font-size:11px;display:inline-flex}.mail-file-chip svg{color:#5075a7;flex:none}.mail-file-type{color:#45658e;background:#e7edf5;border-radius:3px;flex:none;padding:2px 3px;font-size:9px;font-weight:800;line-height:1}.mail-file-type.pdf{color:#c83b3b;background:#fce6e6}.mail-file-type.doc,.mail-file-type.docx{color:#2468be;background:#e2edff}.mail-file-type.xls,.mail-file-type.xlsx{color:#198657;background:#ddf3e8}.mail-file-type.ppt,.mail-file-type.pptx{color:#bb582e;background:#fce8df}.mail-file-chip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mail-file-more{flex:none}.mail-detail{border-top:1px solid var(--line);background:#fff;min-width:0;padding:18px 20px 22px}.mail-detail>p:first-child{margin-top:0}.mail-actions{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.mail-more{margin:12px 18px}.mail-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.mail-html{overflow-wrap:anywhere;padding-top:20px;overflow-x:auto}.mail-html pre{white-space:pre-wrap}.mail-attachments{flex-direction:column;align-items:start;gap:12px;margin-top:20px;display:flex}.mail-attachment-row{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:100%;display:flex}.mail-attachment-row>span:first-child{overflow-wrap:anywhere;min-width:0}.mail-compose,.mail-admin{margin-bottom:18px}.mail-compose textarea{resize:vertical;min-height:440px}.mail-contacts{margin-bottom:18px}.mail-contacts summary{cursor:pointer;font-weight:600}.mail-contacts>input{width:100%;max-width:320px;margin:14px 0 8px}.mail-contact-list{max-height:260px;overflow-y:auto}.mail-contact{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.mail-contact>span{overflow-wrap:anywhere;min-width:0}.mail-contact .row{flex-shrink:0}@media (width<=600px){.mail-contact{flex-direction:column;align-items:flex-start}}.mail-admin{margin-top:18px}.mail-admin summary{cursor:pointer;font-weight:600}.mail-switch{margin-top:10px}.mail-members{flex-wrap:wrap;gap:10px 18px;margin:12px 0;display:flex}.mail-members label{align-items:center;gap:6px;display:inline-flex}.mail-admin .table-wrap{margin-top:18px}@media (width<=900px){.mail-toolbar form{width:100%}.mail-toolbar input{flex:1;min-width:0}.mail-attachment-row{flex-direction:column;align-items:flex-start}}@media (width<=700px){.mail-item{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:11px 12px}.mail-item-sender{grid-area:1/1}.mail-item-trailing{grid-area:1/2}.mail-item-content{grid-area:2/1/auto/-1}.mail-detail{padding:14px 12px 18px}}
