/* Goku CRM V4.0 · Thông báo, Việc cần làm dạng nhắc việc, Phân quyền chi tiết, Cấu hình theo thẻ */
/* ---------- Chuông & bảng xem nhanh ---------- */
.v40-bellbtn{position:relative}
.v40-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e5383b;color:#fff;font:700 11px/18px 'Open Sans',Arial,sans-serif;font-style:normal;text-align:center;box-shadow:0 0 0 2px #fff}
.v40-drop{position:fixed;z-index:9000;width:min(400px,calc(100vw - 16px));background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(15,27,45,.22);border:1px solid #e6ebf2;overflow:hidden}
.v40-drop-h{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #eef2f6}.v40-drop-h b{font-size:15px}.v40-drop-h .ghost{padding:4px 10px;font-size:12px}
.v40-drop-urgent{display:block;width:100%;text-align:left;border:0;background:#fff4f4;color:#b42318;font-weight:600;font-size:12.5px;padding:9px 14px;cursor:pointer}
.v40-drop-list{max-height:min(420px,60vh);overflow:auto}
.v40-drop-all{display:block;width:100%;border:0;border-top:1px solid #eef2f6;background:#f8fafc;color:#1f6fe5;font-weight:700;padding:11px;cursor:pointer}
.v40-empty-s{padding:18px 14px;margin:0}
/* ---------- Mục thông báo ---------- */
.v40-ni{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;border:0;background:#fff;border-bottom:1px solid #f0f3f7;padding:12px 14px;cursor:pointer;position:relative;font:inherit;color:inherit}
.v40-ni:hover{background:#f6f9fd}
.v40-ni.unread{background:#f3f8ff}.v40-ni.unread b{color:#0f2a4d}
.v40-ni-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef2f7;font-size:16px}
.ev-lead .v40-ni-ic{background:#e8f1ff;color:#1f6fe5}.ev-task .v40-ni-ic{background:#fff6e0;color:#a86b00}.ev-appr .v40-ni-ic{background:#f1ebff;color:#6b3fd1}.ev-deal .v40-ni-ic{background:#e7f8ee;color:#16803c}.ev-rcpt .v40-ni-ic{background:#e9f7f7;color:#0e7c7b}
.v40-ni-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.v40-ni-tx b{font-size:14px;font-weight:700}.v40-ni-tx span{color:#3f4b5b;font-size:13px;overflow:hidden;text-overflow:ellipsis}.v40-ni-tx small{color:#8592a3;font-size:12px}
.v40-ni.compact .v40-ni-tx span{white-space:nowrap}
.v40-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#1f6fe5;margin-top:6px}
/* ---------- Trang Thông báo ---------- */
.v40-sec-h{font-size:11px;font-weight:800;letter-spacing:.08em;color:#6b7686;margin:20px 0 10px}
.v40-todos{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:18px}
.v40-todo{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid #e3e9f1;border-left-width:4px;border-radius:12px;background:#fff;padding:12px 14px;cursor:pointer;font:inherit}
.v40-todo b{font-size:24px;line-height:1.1}.v40-todo span{font-weight:700;font-size:13.5px}.v40-todo small{color:#7a8696;font-size:12px}
.v40-todo.red{border-left-color:#e5383b}.v40-todo.red b{color:#d92d20}.v40-todo.gold{border-left-color:#f0a400}.v40-todo.gold b{color:#b26b00}.v40-todo.blue{border-left-color:#1f6fe5}.v40-todo.blue b{color:#1f6fe5}.v40-todo.purple{border-left-color:#7a4ee0}.v40-todo.purple b{color:#6b3fd1}.v40-todo.green{border-left-color:#16a34a}.v40-todo.green b{color:#15803d}
.v40-todo.zero{opacity:.55;border-left-color:#d5dce6}.v40-todo.zero b{color:#8a96a6}
.v40-feed{padding:0!important;overflow:hidden}
.v40-chips{display:flex;gap:6px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid #eef2f6}
.v40-chips button{border:1px solid #dde3ea;background:#f7f9fb;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer}.v40-chips button.on{background:#0f1b2d;color:#fff;border-color:#0f1b2d}.v40-chips i{font-style:normal;background:#e5383b;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;margin-left:2px}
.v40-day{padding:10px 14px 6px;font-size:12px;font-weight:700;color:#6b7686;background:#fafbfd;border-bottom:1px solid #f0f3f7}
.v40-empty{padding:40px 20px;text-align:center}.v40-empty span{font-size:34px;display:block}.v40-empty b{display:block;margin:8px 0 4px;font-size:16px}.v40-empty p{max-width:460px;margin:0 auto}
.v40-more{display:block;margin:12px auto}
/* ---------- Việc cần làm dạng nhắc việc ---------- */
.v40-tchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.v40-tchip{background:#fff;border:1px solid #e3e9f1;border-radius:12px;padding:12px 14px;display:flex;align-items:baseline;gap:10px}.v40-tchip b{font-size:26px}.v40-tchip span{font-weight:600;color:#4a5566}
.v40-tchip.red b{color:#d92d20}.v40-tchip.gold b{color:#b26b00}.v40-tchip.blue b{color:#1f6fe5}.v40-tchip.green b{color:#15803d}.v40-tchip.zero b{color:#a3adba}
.v40-tcard{padding:6px 0!important}
.v40-tsec{padding:4px 0 8px}.v40-tsec+.v40-tsec{border-top:1px solid #eef2f6}
.v40-tsec-h{display:block;width:100%;text-align:left;border:0;background:none;font:700 13px 'Open Sans',Arial,sans-serif;color:#3a4657;padding:12px 18px 6px}.v40-tsec-h small{color:#8a96a6;font-weight:600;margin-left:4px}.v40-toggle{cursor:pointer}
.v40-trow{display:flex;gap:12px;align-items:flex-start;padding:10px 18px;border-radius:10px;margin:0 6px}
.v40-trow:hover{background:#f6f9fd}
.v40-trow.over{background:#fff7f6}.v40-trow.over:hover{background:#fff0ee}
.v40-trow.done b{text-decoration:line-through;color:#8a96a6}
.v40-tcheck{flex:none;margin-top:1px;cursor:pointer;position:relative}.v40-tcheck input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.v40-tcheck span{display:block;width:22px;height:22px;border-radius:50%;border:2px solid #b6c1cf;background:#fff;transition:.15s}
.v40-tcheck input:hover+span{border-color:#16a34a}.v40-tcheck input:checked+span{background:#16a34a;border-color:#16a34a;box-shadow:inset 0 0 0 4px #fff}
.v40-tmain{flex:1;min-width:0;cursor:pointer}.v40-tmain b{font-size:14.5px;display:block}
.v40-tmeta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:3px;font-size:12.5px;align-items:center}
.v40-due{color:#4a5566;font-weight:600}.over .v40-due{color:#d92d20}.today .v40-due{color:#b26b00}.v40-due.none{color:#9aa5b3;font-weight:400}
.v40-prio{background:#fde8e8;color:#c02626;border-radius:6px;padding:0 6px;font-weight:700;font-size:11.5px}
.v40-ref{border:0;background:#eef4ff;color:#1f5fc9;border-radius:6px;padding:1px 8px;font-size:12px;cursor:pointer;font-weight:600}
.v40-tnote{margin-top:8px;background:#f7f9fb;border-radius:8px;padding:8px 10px;font-size:13px;color:#3f4b5b;white-space:pre-wrap}.v40-tnote ul{margin:6px 0 0;padding-left:4px;list-style:none}.v40-tnote li.ok{color:#15803d}
.v40-lead-ic{flex:none;width:22px;text-align:center;color:#1f6fe5;font-size:16px}
.v40-tempty{padding:0 18px}
.v40-tdone-all{text-align:center;padding:30px 20px}.v40-tdone-all span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e7f8ee;color:#16a34a;font-size:22px;font-weight:800}.v40-tdone-all b{display:block;margin:8px 0 2px;font-size:16px}
.v40-tfoot{margin-top:10px}
@media (max-width:720px){.v40-tchips{grid-template-columns:repeat(2,minmax(0,1fr))}.v40-trow{padding:10px 12px;margin:0}}
/* ---------- Phân quyền ---------- */
.v40-seg{display:inline-flex;background:#eef2f7;border-radius:10px;padding:3px;margin:12px 0}
.v40-seg button{border:0;background:none;padding:7px 16px;border-radius:8px;font-weight:600;cursor:pointer;color:#4a5566}.v40-seg button.on{background:#fff;color:#0f1b2d;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.v40-permwrap{max-width:100%;overflow:auto}
.v40-perm th{white-space:nowrap;font-size:12px}.v40-perm td{vertical-align:middle}
.v40-perm .sticky{position:sticky;left:0;background:#fff;z-index:1;min-width:170px;box-shadow:1px 0 0 #edf1f5}
.v40-perm thead .sticky{background:#f7f9fc}
.v40-perm td.c{text-align:center}
.v40-lv{min-width:132px;font-size:12.5px!important;padding:5px 8px!important;height:auto!important}
.v40-lv.lv-all{background:#eef4ff;border-color:#c9dafc}.v40-lv.lv-team{background:#eaf8ef;border-color:#bfe5cc}.v40-lv.lv-own{background:#fff7e6;border-color:#f3dba7}.v40-lv.lv-none{background:#f3f4f6;color:#8a94a3}.v40-lv.lv-inherit{background:#fff;color:#7a8696;border-style:dashed}
.v40-lv.ro{background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(0,0,0,.035) 6px 12px)}
.v40-ep{font-size:12.5px!important;min-width:150px}
.v40-uperm tr.custom td{background:#fffbeb}.v40-uperm tr.custom .sticky{background:#fffbeb}.v40-uperm tr.off{opacity:.6}
.v40-ufilter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.v40-ufilter .field{max-width:260px}
.v40-dirty{color:#b26b00;font-weight:700;font-size:13px}
.v40-robadge{display:inline-block;margin-left:10px;vertical-align:middle;font-size:12px;font-weight:700;color:#6b3fd1;background:#f1ebff;border-radius:999px;padding:3px 10px}
/* ---------- Thẻ trong Cấu hình ---------- */
.v40-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 18px;padding:4px;background:#eef2f7;border-radius:12px;position:sticky;top:0;z-index:5}
.v40-tabs button{border:0;background:none;padding:9px 14px;border-radius:9px;font-weight:600;font-size:13.5px;color:#4a5566;cursor:pointer}
.v40-tabs button.on{background:#fff;color:#0f1b2d;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.v40-hide{display:none!important}
.v40-demo-note{background:#fff6e5;border:1px solid #f3d38b;color:#7a5200;border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:12px}
