:root{--blue:#285aa3;--ink:#102b50;--line:#dce5f0;--bg:#f4f7fb;--green:#00a878;--red:#f50045;--orange:#e87500}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select{cursor:pointer;font:inherit}header{height:94px;background:white;border-bottom:1px solid #d9e1eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:fixed;top:0;left:0;right:0;z-index:5}.brand{display:flex;align-items:center;gap:15px;color:#2460b8;letter-spacing:2px}.brand b{font-size:20px}.brand small{display:block;margin-top:7px;color:#8ca0bc;font-size:11px}.logo{width:50px;height:50px;border:1px solid #d8e3f3;border-radius:14px;display:grid;place-items:center;font-size:26px;color:#08aa77}.account{display:flex;align-items:center;gap:14px;text-align:center}.account small{display:block;font-size:10px;margin-top:8px}.logout{color:#f33}.guide{height:78px;border:1px solid #8fd0fa;background:#eefaff;color:#0876b9;font-weight:bold;border-radius:8px}.bell{width:38px;height:38px;background:white;border:1px solid var(--line);border-radius:8px}.online{border:8px solid #e5fbf4;color:#00a878;border-radius:50%;padding:4px}aside{position:fixed;top:94px;bottom:0;width:278px;background:#fff;border-right:1px solid #e7edf4;padding:18px 16px;z-index:4}.aside-label{font-size:11px;color:#96a7bf;font-weight:700;margin:0 12px 10px}.admin{margin-top:28px}nav{display:grid;gap:4px}nav button{border:0;background:transparent;text-align:left;padding:13px;border-radius:8px;color:#536d91;font-weight:700;font-size:14px;cursor:pointer}nav button:first-letter{font-size:20px}nav button.active,nav button:hover{background:#2b5ba0;color:white;box-shadow:0 3px 8px #b9c8db}.system{border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:28px;color:#526986}.system span{float:right;color:#00a878;background:#e7fff5;padding:5px 9px;font-size:10px}.system strong{float:right;font-size:11px;background:white;border:1px solid var(--line);padding:5px}.taonhiemvu{color: #000;}.system hr{border:0;border-top:1px solid var(--line);margin:12px 0}main{margin-left:278px;padding:114px 16px 0px;min-height:100vh}.slogan{height:64px;background:linear-gradient(100deg,#e6f6fd,#fff,#effcf9);border:1px solid #d7e4ef;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 3px #d9e1eb;position:relative}.slogan h1{font-size:20px;color:#0754ab}.slogan h1 span{color:#00a86b}.slogan i{position:absolute;left:22px;font-size:28px;color:#0bb47e}.slogan em{position:absolute;right:22px;color:#48b9cc}.tabs{display:flex;gap:4px;margin-top:26px;border-bottom:2px solid #2d62ad}.tabs button{padding:14px 18px;border:0;border-radius:8px 8px 0 0;font-weight:bold;color:#49617e;background:#e4eaf2;cursor:pointer}.tabs button.active{background:#2d5ea5;color:white}.toolbar,.panel{background:#fff;border:1px solid #d8e2ee;border-radius:9px;box-shadow:0 1px 2px #d7e0ea;margin-top:16px}.toolbar{padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar select,.toolbar input{padding:10px 14px;border:1px solid #d3deeb;border-radius:7px;background:white}.toolbar .grow{flex:1}.primary,.success,.purple{border:0;color:white;padding:11px 17px;border-radius:7px;font-weight:bold;cursor:pointer}.primary{background:#2666e8}.success{background:#00a26d}.purple{background:#6040e8}.updated{margin-left:auto;color:#667b98}.cards{text-align:center;display:grid;grid-template-columns:repeat(7,1fr);gap:15px;margin-top:18px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 2px 4px #dce3ec;min-height:140px}.card label{font-weight:700;font-size:12px}.card b{display:block;font-size:30px;margin-top:20px}.card small{display:block;margin-top:12px}.card.blue{background:#edf5ff;color:#1761df}.card.green{background:#eafbf5;color:#009967}.card.yellow{background:#fff9e7;color:#d66e00}.card.red{background:#fff0f3;color:#ed0044}.card.violet{background:#f0f1ff;color:#4935df}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panel{padding:16px}.panel h3{margin:0 0 14px}.progress{height:13px;border-radius:10px;background:#e9eef5;overflow:hidden}.progress span{display:block;height:100%;width:75%;background:linear-gradient(90deg,#00b77b,#1684ff);border-radius:10px}.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.mini div{padding:14px;background:#f6f8fb;border-radius:8px}.mini b{font-size:24px;display:block;margin-top:6px}.urgent{list-style:none;padding:0;margin:0}.urgent li{background:#fff0f3;margin:8px 0;padding:12px;border-radius:8px;font-weight:600}.tablewrap{overflow:auto}.table-title{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f50045;color:white;border-radius:9px 9px 0 0}table{border-collapse:collapse;width:100%;min-width:900px}th{background:#edf2f8;text-align:left;font-size:12px;padding:12px}td{border-bottom:1px solid #e4eaf1;padding:12px;vertical-align:top}.status{padding:5px 9px;border-radius:12px;font-size:11px;font-weight:bold;white-space:nowrap}.status.done{background:#e5fbf2;color:#079865}.status.late{background:#ffe9ef;color:#ef0044}.status.doing{background:#e9f2ff;color:#1763e8}.status.new{background:#fff4dd;color:#c87500}.taskname{font-weight:600;max-width:340px}.summary-sections{display:grid;gap:14px}.summary{padding:0}.summary h3{background:#edf1f6;padding:12px;margin:0}.metrics{display:grid;grid-template-columns:repeat(6,1fr)}.metric{text-align:center;padding:20px;border-right:1px solid #e4eaf1}.metric small{font-weight:bold;color:#647792}.metric b{font-size:27px;display:block;margin-top:12px}.unit-table td:first-child{font-weight:700}.mine-head{padding:18px}.chips{display:flex;gap:9px;flex-wrap:wrap}.chip{border:1px solid #d9e2ec;background:white;padding:10px 15px;border-radius:22px;cursor:pointer}.chip.active{background:#2367e8;color:white}.empty{height:220px;display:grid;place-items:center;color:#6d819e}.modal{position:fixed;inset:0;background:#102b5077;display:none;place-items:center;z-index:10}.modal.open{display:grid}.modal form{width:min(560px,92vw);background:white;border-radius:14px;padding:24px;position:relative}.modal label{display:grid;gap:7px;margin:13px 0;font-weight:600}.modal input,.modal select{padding:11px;border:1px solid var(--line);border-radius:7px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:26px}.donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(#00ad78 0 70%,#2875eb 70% 82%,#f1a500 82% 94%,#f50045 94%);margin:20px auto;position:relative}.donut:after{content:'85%';position:absolute;inset:28px;border-radius:50%;background:white;display:grid;place-items:center;font-size:28px;font-weight:bold}@media(max-width:900px){header{height:72px;padding:0 12px}.brand b{font-size:13px}.brand small,.guide,.account div{display:none}aside{top:72px;width:72px;padding:10px}aside span,.aside-label,.system{display:none}nav button{font-size:20px;padding:12px}main{margin-left:72px;padding-top:88px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.tabs{overflow:auto}.tabs button{white-space:nowrap}.toolbar{flex-wrap:wrap}.updated{width:100%}.slogan h1{font-size:14px}.metrics{grid-template-columns:repeat(3,1fr)}}
:root{--ok:#00a878}.right{float:right}.green-text{color:#009967}.red-text{color:#ef0044}.taskname small,.urgent small,.record small,.kpi-row small{display:block;color:#789;margin-top:5px}.bar{width:80px;height:7px;background:#e7edf5;border-radius:6px;display:inline-block;margin-right:6px;overflow:hidden}.bar i{display:block;height:100%;background:#00a878}.actions{white-space:nowrap}.actions button,.record button,.kpi-row button{border:1px solid #cdd9e7;background:white;color:#255ca5;border-radius:6px;padding:6px 8px;margin:2px;cursor:pointer}.danger{color:#e4003b!important;border-color:#ffc4d1!important;background:#fff5f7!important}.pager{display:flex;justify-content:center;gap:18px;align-items:center;margin:16px}.pager button{padding:8px 14px}.modal textarea{padding:11px;border:1px solid var(--line);border-radius:7px;resize:vertical}.modal form>.primary{display:block;margin:18px 0 0 auto}.toast{position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 36px));min-height:86px;background:#087a55;color:#fff;padding:20px 54px 20px 22px;border-radius:12px;z-index:9999;box-shadow:0 22px 70px #32000f55,0 0 0 1px #ffffff33;white-space:pre-line;font-weight:800;line-height:1.5}.toast.bad{background:#c70b31}.toast-close{position:absolute;right:12px;top:10px;width:32px;height:32px;border:1px solid #ffffff66;border-radius:50%;background:#ffffff18;color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;padding:0}.toast-close:hover{background:#fff;color:#8f001b!important}.toast-body{max-height:min(50vh,360px);overflow:auto}.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin-top:16px}.record{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:0 2px 5px #dde5ee}.record>div{margin-top:18px}.record .big{display:block;font-size:35px;margin:12px 0}.kpi-row{display:grid;grid-template-columns:2fr 1fr 140px auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.kpi-row .bar{width:100%}.notice{position:relative;margin-top:12px}.notice>button{position:absolute;right:16px;bottom:16px}.emptyrow{text-align:center;color:#789;padding:45px}.toolbar h2{margin:0}@media(max-width:700px){.kpi-row{grid-template-columns:1fr}.actions button{display:block}.record-grid{grid-template-columns:1fr}}
:root{--admin-blue:#1764e8}.admin-title{margin:22px 0}.admin-title h2{margin-bottom:5px}.admin-box,.integrity,.import-role,.zalo-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0 24px;box-shadow:0 1px 3px #dce4ed}.box-head,.setting-row,.backup,.version{display:flex;justify-content:space-between;align-items:center;gap:15px}.box-head h3,.box-head p,.backup h3,.backup p{margin:3px 0}.box-head button,.backup button,.setting-row button,.import-role button{padding:9px 12px;border:1px solid #b9d4cf;background:#fff;border-radius:6px;cursor:pointer}.add-line,.admin-filter{display:flex;gap:8px;margin:14px 0}.add-line input,.admin-filter input{flex:1}.add-line input,.admin-filter input,.admin-filter select,.zalo-box>input{padding:10px;border:1px solid var(--line);border-radius:6px}.ok-note,.info-note,.warn-note{padding:11px;border-radius:6px;margin:12px 0}.ok-note{background:#eafff5;color:#087b58}.info-note{background:#eef6ff;color:#285585}.warn-note{background:#fff8dd;border:1px solid #ffe28c;color:#8b6010}.stat-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0;text-align:center}.stat-strip>div{border:1px solid #e4eaf1;border-radius:7px;padding:12px;background:#fff}.stat-strip small{display:block;color:#789}.stat-strip b{font-size:22px;display:block;margin-top:8px}.admin-tabs{display:flex;gap:4px}.admin-tabs button{padding:9px 13px;border:0;border-radius:5px}.admin-tabs .active{background:#5938dd;color:#fff}.admin-split{display:grid;grid-template-columns:2fr 1fr;gap:15px}.people-mini{max-height:360px;overflow:auto}.user-card{padding:10px;border-bottom:1px solid var(--line)}.user-card small,.user-card span,td small{display:block;color:#789;margin-top:3px}.user-card span{font-size:11px;color:#6945db}.version{background:#f5f7fa;border-radius:7px;padding:14px}.backup,.import-role{background:#eafff5;border:1px solid #bcebd9;border-radius:8px;padding:15px;margin-top:14px}.setting-row{background:#eef6ff;border-radius:8px;padding:15px;margin-top:12px}.switch input{display:none}.switch span{cursor:pointer; display:block;width:42px;height:22px;border-radius:20px;background:#cdd7e4;position:relative}.switch span:after{content:'';position:absolute;width:18px;height:18px;top:2px;left:2px;border-radius:50%;background:white;transition:.2s}.switch input:checked+span{background:#00a878}.switch input:checked+span:after{left:22px}.danger-zone{background:#fff0f2;border:1px solid #ffcbd5;color:#c80032;padding:14px;border-radius:8px;margin:12px 0 25px}.danger-zone summary{font-weight:bold;cursor:pointer}.integrity{background:#fff9e9;border-color:#f1d88e}.import-role{display:block}.zalo-box{background:#edf5ff;border-color:#c9ddff}.zalo-box label{margin-right:16px}.zalo-box h4{margin-bottom:8px}.zalo-box>input{display:block;width:100%;margin-bottom:12px}.file-btn{border:1px solid #bdd0e7;background:white;padding:9px;border-radius:6px;cursor:pointer}@media(max-width:900px){.stat-strip{grid-template-columns:repeat(2,1fr)}.admin-split{grid-template-columns:1fr}.box-head,.setting-row,.backup,.version{align-items:flex-start;flex-direction:column}.admin-filter{flex-wrap:wrap}}
:root{--muted:#7b8da5}.muted{color:var(--muted);font-style:italic}.list-footer{padding:12px;color:#70839c;border-top:1px solid var(--line)}.password-result{background:#fff8dc;border:1px solid #f1d27a;border-radius:8px;padding:16px}.password-result code{display:block;font-size:22px;font-weight:bold;letter-spacing:2px;background:#fff;padding:13px;border:1px dashed #bd8e16;text-align:center;user-select:all}.admin-box table select{padding:7px;border:1px solid var(--line);border-radius:6px}
:root{--sidebar-w:278px}.sidebar-toggle{width:40px;height:40px;border:1px solid #cdd9e7;background:#fff;border-radius:8px;font-size:21px;cursor:pointer;flex:0 0 auto}.sidebar-collapsed aside{width:72px}.sidebar-collapsed aside nav span,.sidebar-collapsed aside .aside-label,.sidebar-collapsed aside .system{display:none}.sidebar-collapsed aside nav button{font-size:20px;text-align:center}.sidebar-collapsed main{margin-left:72px}.admin-tabs button{cursor:pointer}.personnel-scroll{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:8px}.personnel-scroll thead{position:sticky;top:0;z-index:1}.role-pill{display:inline-block;padding:3px 7px;margin:2px;background:#eef1ff;color:#4935df;border-radius:10px;font-size:11px}.role-matrix th,.role-matrix td{text-align:center}.role-matrix th:first-child,.role-matrix td:first-child,.role-matrix th:nth-child(2),.role-matrix td:nth-child(2){text-align:left}.role-dot{width:25px;height:25px;border:0;border-radius:50%;background:#edf2f8;color:#8091a7;cursor:pointer}.role-dot.yes{background:#c9f8e5;color:#008b60;font-weight:bold}.role-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-check-grid label,.check-role{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;background:#f5f8fc;padding:12px;border-radius:7px}fieldset{border:1px solid var(--line);border-radius:8px;margin:12px 0}fieldset legend{font-weight:bold}@media(max-width:767px){body:not(.sidebar-collapsed) aside{width:260px;box-shadow:4px 0 16px #102b5044}body:not(.sidebar-collapsed) main{margin-left:72px}.sidebar-collapsed aside{transform:translateX(-100%)}.sidebar-collapsed main{margin-left:0}.sidebar-collapsed .sidebar-toggle{position:relative;z-index:6}.personnel-scroll{max-height:65vh}.role-check-grid{grid-template-columns:1fr}}
button.buttonsidebar:hover {
    color: #ff0 !important;
}
/* Khung bao ngoài để căn giữa form (nếu cần) */
.login-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;    
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Định dạng thẻ Form thành một Card hiện đại */
.password-login {
    background-color: #ffffff;
    width: 100%;
    max-width: 400px;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(149, 157, 165, 0.2); /* Đổ bóng mềm */
    box-sizing: border-box;
}

/* Tiêu đề Form */
.form-title {
    text-align: center;
    color: #333333;
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 24px;
    font-weight: 600;
}

/* Khoảng cách giữa các nhóm nhập liệu */
.form-group {
    margin-bottom: 20px;
}

/* Định dạng nhãn (Label) */
.form-group label {
    display: block;
    margin-bottom: 8px;
    color: #4a5568;
    font-size: 14px;
    font-weight: 500;
}

/* Định dạng ô nhập liệu (Input) */
.form-group input {
    width: 100%;
    padding: 12px 15px;
    font-size: 15px;
    color: #333;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

/* Tùy chỉnh Placeholder (Chữ gợi ý) */
.form-group input::placeholder {
    color: #a0aec0;
}

/* Hiệu ứng khi người dùng click vào ô nhập liệu (Focus) */
.form-group input:focus {
    outline: none;
    border-color: #3182ce;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.15); /* Viền sáng xanh */
}

/* Định dạng Nút đăng nhập */
.btn-primary {
    width: 100%;
    padding: 14px;
    margin-top: 10px;
    font-size: 16px;
    font-weight: bold;
    color: #ffffff;
    background-color: #007bff; /* Màu xanh nước biển tiêu chuẩn */
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
}

/* Hiệu ứng khi rê chuột vào nút */
.btn-primary:hover {
    background-color: #0056b3;
}

/* Hiệu ứng khi click nút */
.btn-primary:active {
    transform: translateY(2px);
}

@media(max-width:767px){body:not(.sidebar-collapsed) aside nav span{display:inline}body:not(.sidebar-collapsed) aside .aside-label,body:not(.sidebar-collapsed) aside .system{display:block}body:not(.sidebar-collapsed) aside nav button{font-size:14px;text-align:left}}
.sidebar-backdrop{display:none}@media(max-width:767px){body:not(.sidebar-collapsed) .sidebar-backdrop{display:block;position:fixed;inset:94px 0 0 0;z-index:4;border:0;background:#2d142a66;backdrop-filter:blur(1px)}body:not(.sidebar-collapsed) aside{z-index:5}.sidebar-toggle{position:relative;z-index:7}}
b {color: #000;}
/* Popup luôn nằm trọn trong viewport, kể cả màn hình thấp hoặc mobile. */
.modal{padding:clamp(8px,3vh,28px);overflow-y:auto;overscroll-behavior:contain;align-items:flex-start}
.modal.open{display:flex;justify-content:center}
.modal form{width:min(768px,100%);max-height:calc(100dvh - clamp(16px,6vh,56px));margin:auto;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:24px 24px 20px;border-radius:14px;box-shadow:0 18px 60px #071a3566}
.modal form h2{margin:-60px 42px 18px 0}
.modal .close{position:sticky;float:right;top:0;z-index:3;width:38px;height:38px;margin:-10px 20px 0 8px;border-radius:50%;background:#fff;box-shadow:0 1px 5px #501012;display:grid;place-items:center}
.modal form>.primary{position:sticky;bottom:0;z-index:2;margin:18px 0 0 auto;box-shadow:0 -10px 18px #fff,0 5px 12px #2666e844}
.modal input,.modal select,.modal textarea{min-width:0}
@media(max-width:600px){.modal{padding:6px}.modal form{max-height:calc(100dvh - 12px);padding:18px 16px 14px;border-radius:10px}.modal .formrow{grid-template-columns:1fr}.modal form h2{font-size:20px;margin-top:8px}}
.task-page-head{display:flex;justify-content:space-between;align-items:center;padding:24px 8px 8px;margin-top:16px}.task-page-head h2{font-size:27px;margin:5px 0}.task-page-head h2 span{color:#2563eb;margin-left:22px}.task-page-head p,.mine-title p{color:#71839c;margin:3px 0}.task-head-actions{display:flex;gap:10px}.task-head-actions button{padding:11px 16px;border:1px solid #c9d7e8;border-radius:9px;background:white;font-weight:700}.task-filter-bar{display:flex;gap:10px;background:white;border:1px solid #bcd5fa;border-radius:12px;padding:12px;margin:12px 0;overflow:auto}.task-filter-bar input,.task-filter-bar select{min-width:170px;padding:11px;border:1px solid #dbe5f1;border-radius:9px;background:#f8fafc}.task-filter-bar input{min-width:320px}.task-filter-bar button{padding:10px 18px;border:0;border-radius:8px;background:#285aa3;color:white;font-weight:bold}.modern-task-table{padding:0;}.modern-task-table table{min-width:1500px}.modern-task-table thead{position:sticky;top:0;z-index:2}.modern-task-table td{height:82px;vertical-align:middle}.priority{padding:5px 9px;border-radius:12px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:bold}.priority.cao{background:#fff0f3;color:#e50040}.evidence-ok{color:#009b6b;font-weight:bold}.evidence-missing{color:#e87500;font-weight:bold}.mine-title{display:flex;justify-content:space-between;gap:20px}.mine-title label{display:grid;gap:7px;min-width:220px}.mine-title select{padding:9px;border:1px solid var(--line);border-radius:7px}.mine-metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.mine-metrics button{background:#f5f9ff;border:1px solid #a9cafd;border-radius:9px;padding:12px;text-align:left;color:#0754ab;cursor:pointer}.mine-metrics button:nth-child(3){background:#fff0f3;border-color:#ffc3d2;color:#c90038}.mine-metrics button:nth-child(4),.mine-metrics button:nth-child(5){background:#fff9e7;border-color:#ffd46c;color:#a75a00}.mine-metrics button.active{box-shadow:0 0 0 2px #2563eb inset}.mine-metrics small{display:block;font-weight:700}.mine-metrics b{display:block;font-size:24px;margin-top:9px}.mine-roles{margin:14px 0}.mine-roles b{margin-left:6px}.immediate{padding:0}.immediate>h3{padding:17px;margin:0;border-bottom:1px solid var(--line)}.immediate>.modern-task-table{margin:0;border:0;box-shadow:none}@media(max-width:900px){.task-page-head,.mine-title{align-items:flex-start;flex-direction:column}.mine-metrics{grid-template-columns:repeat(2,1fr)}.task-filter-bar input{min-width:240px}.task-head-actions{flex-wrap:wrap}}

/* ===== Chủ đề đỏ - vàng trang trọng, hiện đại ===== */
:root{--party-red:#c8102e;--party-dark:#7f0018;--party-gold:#ffd34e;--ink:#402522;--blue:#b40725;--line:#ead9d4;--bg:#fff8f3;--green:#087a55;--red:#d20a2e;--orange:#bd6500;--muted:#806b67}
body{background:radial-gradient(circle at 88% 4%,#ffe5aa 0,transparent 24rem),linear-gradient(#fff8f2,#fff 48%,#fff5ec);color:var(--ink)}
header{background:linear-gradient(105deg,#690012,var(--party-red) 65%,#e32c35);border:0;border-bottom:4px solid var(--party-gold);box-shadow:0 5px 20px #65001235;color:#fff}.brand{color:#fff}.brand b{color:#fff;text-shadow:0 1px #4e000e}.brand small{color:#ffe49a;font-weight:700}.logo{border:2px solid var(--party-gold);background:#a80020;color:var(--party-gold);box-shadow:inset 0 0 0 3px #ffffff1f,0 4px 14px #53000d66;font-size:29px}.guide,.bell{background:#ffffff14;border-color:#ffd97080;color:#fff}.guide:hover,.bell:hover{background:#fff;color:var(--party-red)}.account .online{background:#fff;border-color:#ffe8b4;color:#087a55}.logout{color:#ffe08a}
aside{background:linear-gradient(#fffdfb,#fff4ec);border-color:#ead3cb;box-shadow:4px 0 18px #7e1a1820}.aside-label{color:#a55a50;letter-spacing:1px}nav button{color:#71423d;transition:.2s}nav button.active,nav button:hover{background:linear-gradient(100deg,var(--party-dark),var(--party-red));color:#fff4c8;box-shadow:0 5px 13px #8f001b42}nav button.active{border-left:4px solid var(--party-gold)}.system{background:#fff;border-color:#ead5ce}
.slogan{background:linear-gradient(100deg,#fff0cc,#fff,#ffe2ce);border-color:#eac6aa}.slogan h1{color:var(--party-dark)}.slogan h1 span{color:#a87300}.slogan i,.slogan em{color:var(--party-red)}
.tabs{border-color:var(--party-red)}.tabs button{background:#f4e8e3;color:#71423d}.tabs button.active,.admin-tabs .active{background:linear-gradient(100deg,var(--party-dark),var(--party-red));color:#fff6cf}.toolbar,.panel,.record,.admin-box,.integrity,.import-role,.zalo-box{border-color:#ead9d4;box-shadow:0 3px 12px #7c191814}.primary{background:linear-gradient(100deg,var(--party-dark),var(--party-red)) !important}.success{background:linear-gradient(100deg,#087a55,#0a9b69)}.purple{background:linear-gradient(100deg,#8f001b,#b54422)}button{transition:.15s}button:not(:disabled):hover{color:#f00; font-weight:bold}
.card{border-color:#ecd8d0;box-shadow:0 4px 14px #7a1a1815}.card.blue{background:#fff3e3;color:#9f1826; text-align:center}.card.green{background:#eaf9f1;color:#087a55}.card.yellow{background:#fff8d9;color:#9b6900}.card.red{background:#fff0f1;color:#c8102e}.card.violet{background:#f8eee9;color:#8f2440}
th{background:linear-gradient(#f8ece6,#f2e1da);color:#643b37;border-bottom:2px solid #dcbeb4}td{border-color:#f0e2dc}tbody tr:hover{background:#fff9ed}.table-title{background:linear-gradient(100deg,#690012,var(--party-red));color:#fff3bd}.bar i,.progress span{background:linear-gradient(90deg,var(--party-red),var(--party-gold))}.task-page-head h2 span{color:var(--party-red)}.task-filter-bar{border-color:#e6c8be;background:#fffdfb}.task-filter-bar button,.chip.active{background:var(--party-red);border-color:var(--party-red)}.mine-metrics button{background:#fff8e8;border-color:#e9ca85;color:#8f4c00;text-align:center}.mine-metrics button.active{box-shadow:inset 0 0 0 2px var(--party-red)}
.info-note{background:#fff3df;color:#774122}.warn-note{background:#fff8d8;border-color:#e6c450;color:#775400}.danger-zone{background:#fff0f1;border-color:#efb8c1;color:#a80022}.modal{background:#3d000d99;backdrop-filter:blur(3px)}.modal form{border:1px solid #edcfc5;background:#fffdfb}.modal form h2,.modal .close{color:var(--party-dark)}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:2px solid #d3193655;border-color:var(--party-red)}.sidebar-toggle{border-color:#ffd36c;background:#fff8e8;color:var(--party-dark)}
@media(max-width:1200px){.cards,.stat-strip{grid-template-columns:repeat(3,1fr)}.brand b{font-size:16px}.account{gap:8px}}
@media(max-width:900px){header{height:72px;border-bottom-width:3px}.logo{width:44px;height:44px;font-size:24px}aside{top:72px}.slogan{height:58px}.task-page-head h2{font-size:23px}}
@media(max-width:767px){header{padding:0 8px}.brand{gap:8px;min-width:0}.brand b{font-size:12px;letter-spacing:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brand small{display:none}.account{margin-left:auto}.account .bell{display:none}.slogan h1{text-align:center;padding:0 38px}.cards,.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:stretch}.toolbar input,.toolbar select,.toolbar button{width:100%}.grid2,.admin-split{grid-template-columns:1fr}.metrics,.mine-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.task-head-actions{width:100%}.task-head-actions button{flex:1}.admin-tabs{overflow-x:auto}.admin-tabs button{white-space:nowrap}.panel{padding:12px}}
@media(max-width:420px){.brand .logo{display:none}.cards,.stat-strip,.mine-metrics,.metrics{grid-template-columns:1fr}.account .online{display:none}.sidebar-toggle{width:38px;height:38px;flex:0 0 38px}.slogan h1{font-size:12px}.modal form{padding:16px 12px}.card{min-height:96px}}

.dashboard-charts{display:grid;grid-template-columns:1.05fr 1.5fr 1fr;gap:16px;margin-top:16px}.chart-panel h3{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom: 1px #d3b0b0 solid}.chart-panel h3 span{font-size:12px;color:#6f819a;font-weight:600}.status-donut{width:190px;height:190px;margin:8px auto 18px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#00a878 0 var(--done),#2875eb var(--done) var(--doing),#f1a500 var(--doing) var(--new),#ef0044 var(--new) 100%);position:relative}.status-donut:after{content:'';position:absolute;inset:32px;border-radius:50%;background:#fff}.status-donut b,.status-donut small{position:relative;z-index:1}.status-donut b{font-size:34px}.status-donut small{margin-top:46px;color:#6f819a}.chart-legend{display:grid;gap:8px}.chart-legend div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;position:relative;background:#f5f8fc;border-radius:8px;padding:9px 10px;overflow:hidden}.chart-legend i{position:absolute;inset:0 auto 0 0;background:#dfeeff;z-index:0}.chart-legend b,.chart-legend span{position:relative;z-index:1}.unit-bars{display:grid;gap:12px}.unit-bars article header{display:flex;justify-content:space-between;gap:10px}.unit-bars .stack{height:12px;background:#edf2f8;border-radius:999px;overflow:hidden;margin:8px 0;display:flex}.unit-bars .stack i{background:#00a878}.unit-bars .stack em{background:#2875eb}.unit-bars .stack strong{background:#ef0044}.unit-bars small{color:#6f819a}.leadership-radar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leadership-radar div{border:1px solid var(--line);border-radius:10px;background:#fff8f4;padding:16px;text-align:center}.leadership-radar b{display:block;font-size:28px;color:#8d0b27}.leadership-radar span{color:#6f819a;font-weight:700}.account-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-tools .button{display:inline-flex;align-items:center;text-decoration:none;border:1px solid #cdd9e7;background:#fff;color:#255ca5;border-radius:7px;padding:9px 12px;font-weight:700}.ai-report-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-report-title button{border:1px solid #cdd9e7;background:#fff;border-radius:8px;padding:8px 12px}.ai-report-editor{min-height:55vh;border:1px solid #d8e2ee;border-radius:8px;background:#fff;padding:28px 34px;line-height:1.55;color:#102b50;box-shadow:inset 0 0 0 1px #f1f4f8;white-space:pre-wrap}.ai-report-expanded{width:100%!important}.ai-report-expanded .ai-report-editor{min-height:72vh}.mail-recipient-picker.compact{border:1px solid var(--line);border-radius:9px;padding:10px;background:#f8fbff}.mail-recipient-picker.compact>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.mail-recipient-picker.compact button{border:1px solid #d5e0ec;background:#fff;border-radius:8px;padding:8px 10px;text-align:left}.mail-recipient-picker.compact button.selected{background:#e8f4ff;border-color:#2875eb}.mail-recipient-picker.compact small{display:block;color:#6f819a}
@media(max-width:1000px){.dashboard-charts{grid-template-columns:1fr}.ai-report-expanded{width:100%!important}}
.session-timeout-control{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}.session-timeout-control input{width:110px;padding:10px;border:1px solid var(--line);border-radius:8px}.session-timeout-control button{border:1px solid #cdd9e7;background:#fff;color:#255ca5;border-radius:8px;padding:10px 14px;font-weight:700}
.duplicate-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;padding:10px;border:1px solid #ead7ce;border-radius:8px;background:#fff}.duplicate-confirm input{width:auto!important;margin-top:3px}.duplicate-confirm span{display:grid;gap:4px}.duplicate-confirm small{color:#6f819a;font-weight:500}

/* Tên chức năng khi sidebar chỉ còn biểu tượng. */
.sidebar-collapsed aside nav button{position:relative;overflow:visible}
.sidebar-collapsed aside nav button::after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;translate:0 -50%;z-index:30;min-width:max-content;max-width:260px;padding:9px 12px;border:1px solid #e5b84d;border-radius:7px;background:#7f0018;color:#fff4c8;font-size:12px;font-weight:700;letter-spacing:.2px;text-align:left;box-shadow:0 7px 20px #3d000d4d;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,translate .15s ease;translate:-5px -50%}
.sidebar-collapsed aside nav button:hover::after,.sidebar-collapsed aside nav button:focus-visible::after{opacity:1;visibility:visible;translate:0 -50%}
@media(max-width:767px){.sidebar-collapsed aside nav button::after{display:none}}
.account .icon-only{width:42px;height:42px;min-width:42px;padding:0;display:inline-grid;place-items:center;border-radius:9px;font-size:17px;line-height:1}
.account .guide.icon-only{height:42px}
.account .bell.icon-only{position:relative}
.account .icon-only i{pointer-events:none}
.bell.has-alert::after{right:-7px;top:-9px}
.dashboard-analytics,.dashboard-analytics>.panel{min-width:0}
.dashboard-analytics .panel{overflow:hidden}
.trend-columns{width:100%;max-width:100%;min-width:0;overflow:hidden;display:flex;gap:clamp(2px,.35vw,6px)}
.trend-columns>div{min-width:0;flex:1 1 0}
.trend-columns .dash-analytics-link{min-width:0;width:100%;padding:0;border:0;overflow:hidden}
.trend-columns small{left:50%;max-width:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateX(-50%) rotate(-35deg);transform-origin:center}
@media(min-width:1051px) and (max-width:1600px){.dashboard-analytics{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.trend-columns{gap:3px}.trend-columns small{font-size:8px}}
.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.integration-grid>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fffaf5}.integration-grid label{display:grid;gap:7px;margin:12px 0;font-weight:600}.integration-grid input{width:100%;padding:11px;border:1px solid var(--line);border-radius:7px}.ai-report-modal{width:min(900px,100%);max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:24px;background:#fffdfb;border:1px solid #edcfc5;border-radius:14px;box-shadow:0 18px 60px #3d000d66}.ai-report-modal .close{float:right;border:0;background:#fff;font-size:25px}.ai-report-modal pre{white-space:pre-wrap;font-family:Segoe UI,Arial,sans-serif;line-height:1.65;background:#fff8ec;border:1px solid #ead5b7;border-radius:9px;padding:18px}.ai-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding-top:12px;background:#fffdfb}.ai-actions button{padding:10px 15px;border-radius:7px;border:1px solid var(--line)}#loginScreen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 50% 15%,#df3042,#8b0019 55%,#51000e);overflow:auto;padding:clamp(16px,4vh,40px);min-height:100dvh}.login-card{width:min(440px,100%);max-height:calc(100dvh - clamp(32px,8vh,80px));overflow:auto;margin:auto;padding:36px;text-align:center;background:#fffdf8;border:2px solid #ffd34e;border-radius:18px;box-shadow:0 30px 80px #28000688}.login-emblem{width:78px;height:78px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#b40725;color:#ffd34e;border:3px solid #ffd34e;font-size:43px}.login-card h1{color:#8f001b;letter-spacing:2px}.login-card p{color:#74534c}.google-login{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0px;padding:13px;background:#fff;color:#333;border:1px solid #d9d9d9;border-radius:8px;text-decoration:none;font-weight:700;box-shadow:0 3px 10px #0002}.google-login b{font-size:22px;color:#4285f4}.login-card small{display:block;color:#806b67}.logout a{color:#ffe08a;text-decoration:none}@media(max-width:700px){.integration-grid{grid-template-columns:1fr}.ai-report-modal{max-height:calc(100dvh - 12px);padding:16px}.login-card{padding:26px 18px}}

.help-head{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 0 12px;padding:8px}.help-head h2{margin:5px 0;color:var(--party-dark);font-size:27px}.help-head p{margin:0;color:var(--muted)}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.help-card{margin-top:0}.help-card h3{color:var(--party-dark)}.help-card ul{margin:0;padding-left:20px;line-height:1.65}.permission-note{padding:12px;margin-bottom:12px;border:1px solid #e7c48c;border-radius:8px;background:#fff8dc;color:#744d00}.permission-loading{padding:24px;color:var(--muted)}.permission-table table{min-width:1180px}.permission-table th,.permission-table td{text-align:center}.permission-table th:first-child,.permission-table td:first-child{text-align:left;position:sticky;left:0;z-index:1;background:#fffdfb}.permission-switch{display:inline-flex!important;margin:0!important;padding:0!important;background:transparent!important}.permission-switch span{margin:auto}.permission-table button{padding:8px 12px;border:1px solid #d6b5a9;border-radius:7px;background:#fff;color:var(--party-dark);font-weight:700}
.trash-grid{display:grid;grid-template-columns:1fr;gap:18px}.trash-grid h3{margin:0 0 10px;color:var(--party-dark)}.trash-grid table{min-width:760px}.trash-grid .actions,.trash-grid td:last-child{white-space:nowrap}
.brand small.org-header-name{display:block;max-width:min(52vw,720px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff0a8;font-size:12px;letter-spacing:.5px}
.header-clock{display:block;margin-top:4px;color:#fff0a8;font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.2px}
.doc-eye{width:34px;height:34px;padding:0;border:1px solid #e2c4bc;border-radius:8px;background:#fff8ec;color:#841329;font-weight:800;cursor:pointer}.document-viewer-modal{width:min(1100px,96vw);height:min(820px,92dvh);margin:auto;padding:18px;background:#fffdfb;border:1px solid #edcfc5;border-radius:14px;box-shadow:0 18px 60px #3d000d66;grid-template-rows:auto 1fr auto;gap:12px}.document-viewer-modal h2{margin:0 44px 0 0;color:#841329;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-viewer-modal iframe{width:100%;height:100%;border:1px solid #ead8d2;border-radius:10px;background:#fff}.viewer-actions{display:flex;justify-content:flex-end}.viewer-actions a{padding:9px 13px;border-radius:7px;background:#a50021;color:#fff;text-decoration:none;font-weight:800}
.document-workbench{gap:14px;align-items:start}.document-drop{border:1px solid #ead9d4;background:#fff;border-radius:8px;padding:14px;display:grid;gap:9px;color:#5b4440}.document-drop b{color:#7f0018}.document-drop span{font-size:13px;line-height:1.45}.document-list{display:grid;gap:10px}.document-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.document-row small,.proposal-card small{display:block;color:#7c6b66;margin-top:5px}.doc-proposals{display:grid;gap:12px}.proposal-card{display:grid;gap:9px}.proposal-card textarea{min-height:74px}.empty{color:#7c6b66}@media(max-width:900px){.document-workbench{grid-template-columns:1fr}.document-row{align-items:flex-start;flex-direction:column}}
.process-overlay{position:fixed;inset:0;z-index:100000;display:none;place-items:center;padding:20px;background:rgba(40,20,22,.58);backdrop-filter:blur(5px)}.process-overlay.open{display:grid}.process-card{width:min(460px,100%);padding:28px;border:1px solid #efd7bd;border-radius:20px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(44,13,18,.3)}.process-card h2{margin:14px 0 7px;color:#841329}.process-card p{margin:0 0 18px;color:#6f5b57;line-height:1.5}.process-card small{display:block;margin-top:12px;color:#8a7771}.process-spinner{width:52px;height:52px;margin:auto;border:5px solid #f4d9c8;border-top-color:#b3002d;border-radius:50%;animation:processSpin .8s linear infinite}.process-bar{height:7px;overflow:hidden;border-radius:99px;background:#f1e6e2}.process-bar i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a80029,#edb62f);animation:processSlide 1.25s ease-in-out infinite}@keyframes processSpin{to{transform:rotate(360deg)}}@keyframes processSlide{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
.new-task-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 7px;border-radius:999px;background:#e30035;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;animation:newTaskPulse .85s ease-in-out infinite alternate}@keyframes newTaskPulse{to{transform:scale(1.08);box-shadow:0 0 0 6px rgba(227,0,53,.12)}}
.bar.status-new i{background:linear-gradient(90deg,#94a3b8,#f59e0b)!important}
.bar.status-doing i{background:linear-gradient(90deg,#2563eb,#38bdf8)!important}
.bar.status-done i{background:linear-gradient(90deg,#059669,#34d399)!important}
.bar.status-late i{background:linear-gradient(90deg,#dc2626,#fb7185)!important}
.bar.status-overdone i{background:linear-gradient(90deg,#7f1d1d,#a855f7)!important}
.bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px 14px;border:1px solid #ead0c6;border-radius:10px;background:linear-gradient(90deg,#fff8e8,#fff)}
.bulk-toolbar label{display:flex;align-items:center;gap:8px;font-weight:700;color:#6f332f}.bulk-toolbar input{width:16px;height:16px}.bulk-toolbar button{padding:9px 13px;border-radius:8px}.bulk-toolbar button:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:700px){.bulk-toolbar{align-items:stretch;flex-direction:column}.bulk-toolbar button{width:100%}}
.org-compact{padding:16px!important}.org-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.org-compact-head h3{margin:0;color:#7f0018}.org-compact-head p{margin:4px 0 0;color:#806b67}.org-count{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#fff1cd;color:#8a5700;font-weight:800;font-size:12px}.org-tools-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}.org-tools-compact section{padding:13px;border:1px solid #ecd3ca;border-radius:12px;background:linear-gradient(135deg,#fffaf2,#fff)}.org-tools-compact b{display:block;margin-bottom:9px;color:#8b0019}.org-tools-compact section>div{display:grid;grid-template-columns:1fr 120px auto;gap:8px}.org-tools-compact section:last-child>div{grid-template-columns:220px 1fr auto}.org-tools-compact input,.org-tools-compact select{min-width:0;padding:10px;border:1px solid #dfc8c0;border-radius:8px;background:#fff}.org-list-compact{display:grid;gap:10px}.org-item-compact{border:1px solid #ead1c8;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 4px 14px #7f00180f}.org-item-compact summary{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;list-style:none;background:linear-gradient(90deg,#fff7e7,#fff)}.org-item-compact summary::-webkit-details-marker{display:none}.org-item-compact summary:after{content:'⌄';font-weight:900;color:#8b0019;transition:.15s}.org-item-compact[open] summary:after{transform:rotate(180deg)}.org-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#9b001f;color:#ffe69a}.org-item-compact summary b{display:block;color:#381b18}.org-item-compact summary small{display:block;margin-top:3px;color:#8b7771}.org-item-compact summary em{font-style:normal}.org-inline-actions{display:flex;gap:7px;justify-content:flex-end;padding:10px 15px;border-top:1px solid #f0dfd8;background:#fffdfb}.org-inline-actions button,.department-compact-row button{padding:7px 10px;border:1px solid #dec5bc;border-radius:7px;background:#fff;color:#7f0018}.department-compact-list{display:grid;gap:8px;padding:12px 15px 15px}.department-compact-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #f0ddd5;border-radius:10px;background:#fff}.department-compact-row.is-locked{opacity:.65;background:#fff6f6}.department-compact-row b{display:block}.department-compact-row small{display:block;margin-top:3px;color:#806b67}.department-compact-row>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){.org-tools-compact{grid-template-columns:1fr}.org-tools-compact section>div,.org-tools-compact section:last-child>div{grid-template-columns:1fr}.org-tools-compact button{width:100%}}@media(max-width:620px){.org-compact-head{flex-direction:column}.org-count{white-space:normal}.org-item-compact summary{grid-template-columns:36px 1fr}.org-item-compact summary em{grid-column:2}.org-inline-actions,.department-compact-row,.department-compact-row>div:last-child{align-items:stretch;flex-direction:column;display:flex}.department-compact-row button,.org-inline-actions button{width:100%}}
.backup-console{margin-top:14px;border:1px solid #bfe8d8;background:#f2fff8;border-radius:12px;padding:16px;box-shadow:0 8px 24px #0c7a4f12}.backup-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid #d8f2e8;background:#fff;border-radius:10px}.backup-eyebrow{display:inline-flex;margin-bottom:8px;color:#087b58;font-weight:800;font-size:12px;text-transform:uppercase}.backup-hero h3{margin:0 0 6px;color:#0f3d2c;font-size:22px}.backup-hero p{margin:0;color:#61756e;line-height:1.45}.backup-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.backup-quick-actions button,.backup-item-actions button,.backup-item-actions .button,.schedule-form button{min-height:38px;border:1px solid #cfe0dc;background:#fff;border-radius:8px;padding:9px 12px;text-decoration:none;color:#243b35;font-weight:700}.backup-quick-actions .primary,.schedule-form .primary{background:#a60025;border-color:#a60025;color:#fff}.backup-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.backup-stats>div{background:#fff;border:1px solid #d8f2e8;border-radius:10px;padding:14px}.backup-stats small{display:block;color:#6f817c;font-weight:700}.backup-stats b{display:block;margin-top:7px;color:#102f25;font-size:20px;word-break:break-word}.backup-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:14px}.backup-panel{background:#fff;border:1px solid #dceee8;border-radius:10px;padding:14px;min-width:0}.backup-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.backup-panel h4{margin:0 0 4px;color:#153c31}.backup-panel p{margin:0;color:#71847f}.schedule-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-form label{display:grid;gap:6px;color:#445d55;font-weight:700}.schedule-form input,.schedule-form select{width:100%;min-height:38px;border:1px solid #d6e3df;border-radius:8px;padding:8px;background:#fff}.schedule-form button{grid-column:1/-1}.backup-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.backup-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(150px,.7fr) auto;gap:12px;align-items:center;border:1px solid #e3eee9;border-radius:10px;background:#fbfffd;padding:12px}.backup-file{min-width:0}.backup-file b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17352c}.backup-file span,.backup-meta span{display:block;color:#6f817c;margin-top:4px}.backup-meta{font-size:13px}.backup-item-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.backup-item-actions .danger{border-color:#ffc4ce;color:#b00028;background:#fff4f6}@media(max-width:1100px){.backup-hero,.backup-grid{grid-template-columns:1fr}.backup-quick-actions{justify-content:flex-start}.backup-item{grid-template-columns:1fr}.backup-item-actions{justify-content:flex-start}}@media(max-width:640px){.backup-console{padding:10px}.backup-stats,.schedule-form{grid-template-columns:1fr}.backup-hero{padding:12px}.backup-quick-actions button,.backup-item-actions button,.backup-item-actions .button{width:100%;justify-content:center;text-align:center}.backup-list{max-height:none}}
.status.draft{background:#f6edf8;color:#7b287d;border-color:#e8c9ec}
.bar.status-draft i,.status-draft i{background:#9b59b6}
.unit-bars .unit-bar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0;background:transparent;color:inherit;position:static;box-shadow:none}
.unit-bars .unit-bar-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unit-bars .unit-bar-head span{flex:0 0 auto;font-weight:800;color:#8a001a}
.dashboard-row-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;padding:8px 10px;border:1px solid #ead9d4;border-radius:9px;background:#fffaf6;color:#6b4d47;font-size:12px;font-weight:700}
.dashboard-row-pager label,.dashboard-row-pager div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dashboard-row-pager select{min-height:32px;padding:5px 8px;border:1px solid #dec7bf;border-radius:7px;background:#fff}
.dashboard-row-pager button{min-height:32px;padding:5px 10px;border:1px solid #d7bcb4;border-radius:7px;background:#fff;color:#7f0018;font-weight:800}
.dashboard-row-pager button:disabled{opacity:.45;cursor:not-allowed}

/* Responsive sidebar: menu scrolls independently on small or low-height screens. */
aside{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  display:flex;
  flex-direction:column;
  gap:0;
}
aside nav{flex:0 0 auto}
aside .system{flex:0 0 auto;margin-bottom:12px}
aside::-webkit-scrollbar{width:8px}
aside::-webkit-scrollbar-track{background:#fff3eb}
aside::-webkit-scrollbar-thumb{background:#d9b7aa;border-radius:999px}
aside::-webkit-scrollbar-thumb:hover{background:#b98678}
@media(max-height:760px){
  aside{padding:12px 12px}
  .aside-label{margin:0 8px 7px;font-size:10px}
  .aside-label.admin{margin-top:14px}
  nav{gap:2px}
  nav button{padding:10px 11px;font-size:13px;line-height:1.25}
  nav button:first-letter{font-size:16px}
  .system{margin-top:14px;padding:10px}
}
@media(max-height:620px){
  aside{padding:9px 10px}
  nav button{padding:8px 10px;font-size:12px}
  .system{font-size:11px}
}
@media(max-width:900px){
  aside{top:72px;max-height:calc(100dvh - 72px)}
  .sidebar-backdrop{inset:72px 0 0 0!important}
}
@media(max-width:767px){
  body:not(.sidebar-collapsed) aside{
    width:min(280px,88vw);
    max-height:calc(100dvh - 72px);
    padding:12px;
  }
  body:not(.sidebar-collapsed) main{margin-left:0}
  body:not(.sidebar-collapsed) nav button{min-height:38px}
  .sidebar-collapsed aside{overflow:hidden}
}
@media(max-width:420px){
  body:not(.sidebar-collapsed) aside{width:min(270px,92vw)}
}
.guide-admin-grid{align-items:stretch}
.help-section{margin-top:16px}.help-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 10px}.help-section-title h3{margin:0;color:var(--party-dark);font-size:20px}.help-section-title p{margin:0;color:var(--muted)}.help-article-card{border-left:4px solid var(--party-red)}.guide-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.guide-card-actions .button,.guide-card-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;text-decoration:none}.check-row{display:flex!important;align-items:center;gap:8px;margin-top:24px!important}.check-row input{width:auto!important}.guide-empty{opacity:.86}@media(max-width:760px){.help-head,.help-section-title{align-items:flex-start;flex-direction:column}.help-head .primary{width:100%}.guide-card-actions button,.guide-card-actions .button{flex:1 1 120px}}
.guide-card{display:flex;flex-direction:column;gap:10px}
.guide-card p{white-space:pre-wrap;line-height:1.55;color:#526174}
.guide-card small{color:#718096}
.guide-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.guide-empty{border-style:dashed;opacity:.86}
.module-guide-content{max-height:68vh;overflow:auto;line-height:1.65;color:#253247;white-space:normal}
.menu-guide-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:1px solid #ead0c7;background:#fff8e7;color:#9c001f;font-weight:900;font-size:13px;display:grid;place-items:center;padding:0}
aside nav button{position:relative}
aside nav button .menu-guide-btn{opacity:0;pointer-events:none}
aside nav button:hover .menu-guide-btn,aside nav button:focus-within .menu-guide-btn{opacity:1;pointer-events:auto}
.sidebar-collapsed .menu-guide-btn{display:none}
.help-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.help-view-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #e4c7bd;border-radius:8px;background:#fffdf9}.help-view-switch button{min-height:34px;padding:7px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#6e3c36;font-weight:800}.help-view-switch button:hover{background:#fff1e4;border-color:#e6c4b6}.help-view-switch button.active{background:var(--party-red);border-color:var(--party-red);color:#fff6d4}.help-grid.help-view-list{display:grid;grid-template-columns:1fr}.help-grid.help-view-list .help-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.5fr) auto;align-items:start;gap:12px}.help-grid.help-view-list .help-card h3,.help-grid.help-view-list .help-card p,.help-grid.help-view-list .help-card small{margin:0}.help-grid.help-view-list .guide-card-actions{margin-top:0;justify-content:flex-end}.help-grid.help-view-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.help-grid.help-view-compact .help-card{min-height:0;padding:12px;gap:6px}.help-grid.help-view-compact .help-card h3{font-size:15px;margin-bottom:4px}.help-grid.help-view-compact .help-card p{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;margin:0}.help-grid.help-view-compact .help-card small{display:none}.help-grid.help-view-compact .guide-card-actions{margin-top:6px}.help-grid.help-view-compact .guide-card-actions button,.help-grid.help-view-compact .guide-card-actions .button{min-height:30px;font-size:12px}@media(max-width:900px){.help-grid.help-view-list .help-card{grid-template-columns:1fr}.help-grid.help-view-list .guide-card-actions{justify-content:flex-start}.help-head-actions{width:100%;justify-content:flex-start}.help-view-switch{width:100%;overflow:auto}.help-view-switch button{flex:1}}
.sidebar-context-menu{position:fixed;z-index:9999;background:#fff;border:1px solid #d8e0ea;border-radius:8px;box-shadow:0 14px 38px rgba(15,23,42,.18);padding:6px;min-width:190px}
.sidebar-context-menu button{display:block;width:100%;text-align:left;background:#fff;border:0;border-radius:6px;padding:9px 10px;color:#172033;font-weight:700}
.sidebar-context-menu button:hover{background:#f4f7fb}
.modal-tools{position:absolute;right:14px;top:12px;display:flex;gap:8px;z-index:3;}
.modal-tools button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;padding:0}
#form{position:relative}
#form.modal-fullscreen{width:calc(100vw - 32px)!important;max-width:none!important;height:calc(100vh - 32px)!important;max-height:none!important;overflow:auto}
#form.modal-fullscreen .word-processor-canvas,#form.modal-fullscreen .rich-editor{max-height:none}
.rich-editor-shell{border:1px solid #d7e0eb;border-radius:8px;overflow:hidden;background:#f8fafc;margin-top:8px}
.editor-field-label{display:grid;gap:7px;margin:13px 0;font-weight:600}
.editor-field-label>b{color:#172033}
.rich-editor-toolbar{border-bottom:1px solid #d7e0eb;flex-wrap:wrap}
.rich-editor{min-height:320px;max-height:58vh;overflow:auto;background:#fff;padding:18px;outline:none;line-height:1.65;color:#172033}
.rich-editor-source{width:100%;min-height:320px;border:0;border-top:1px solid #d7e0eb;padding:14px;font-family:Consolas,monospace;font-size:13px;line-height:1.5}
.rich-editor:focus{box-shadow:inset 0 0 0 2px #2b7fff33}
.ribbon-panel{display:flex;gap:10px;align-items:center;background:#f3f6fb;padding:8px 10px}
.ribbon-group-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ribbon-select{border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:0 6px}
.ribbon-btn{min-width:32px;height:32px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font-weight:800;display:inline-grid;place-items:center;padding:0 8px}
.ribbon-btn:hover{background:#edf4ff;border-color:#9fc3ff}
.rich-editor-canvas{background:#e5e7eb;padding:18px;max-height:70vh;overflow:auto}
.rich-editor-page{background:#fff;min-height:720px;margin:auto;padding:20px;box-shadow:0 8px 28px rgba(15,23,42,.16)}
.rich-editor-page .rich-editor{min-height:650px;max-height:none;padding:0;border:0;box-shadow:none;font-family:"Times New Roman",serif;font-size:14pt;line-height:1.6;color:#111;text-align:left}
.rich-editor p{margin:0 0 10px}
.rich-editor h1,.rich-editor h2,.rich-editor h3{margin:14px 0 8px;line-height:1.25}
.rich-editor blockquote{margin:10px 0;padding:8px 14px;border-left:4px solid #94a3b8;background:#f8fafc;color:#334155}
.editor-table{border-collapse:collapse;width:100%;margin:10px 0}
.editor-table td,.editor-table th{border:1px solid #94a3b8;padding:6px;min-width:60px}
.rich-color-btn{position:relative;overflow:hidden}
.rich-color-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
#form.modal-fullscreen .rich-editor-canvas{max-height:calc(100vh - 250px)}
#form.modal-fullscreen .rich-editor-page{min-height:calc(100vh - 290px)}

#form.modal-minimized{
  position:fixed!important;
  right:18px;
  bottom:18px;
  left:auto!important;
  top:auto!important;
  width:min(380px,calc(100vw - 32px))!important;
  max-width:none!important;
  height:64px!important;
  max-height:64px!important;
  min-height:0!important;
  overflow:hidden!important;
  /*padding:14px 112px 14px 16px!important;*/
  border-radius:12px!important;
  cursor:pointer;
  z-index:10001;
  box-shadow:0 16px 42px rgba(61,0,13,.35);
}
#form.modal-minimized .modal-max button {
   display: none;
}
#form.modal-minimized>*:not(.modal-tools):not(h2){display:none!important}
#form.modal-minimized h2{margin:0!important;font-size:14px;line-height:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#form.modal-minimized .modal-tools{top:14px;right:12px}
#form.modal-minimized .modal-tools button{width:30px;height:30px}

.document-viewer-modal{position:relative;display:grid}
.document-viewer-tools{top:12px;right:12px}
.document-viewer-modal.modal-fullscreen{
  width:calc(100vw - 24px)!important;
  max-width:none!important;
  height:calc(100dvh - 24px)!important;
  max-height:none!important;
  margin:12px!important;
}
.document-viewer-modal.modal-minimized{
  position:fixed!important;
  right:18px;
  bottom:18px;
  left:auto!important;
  top:auto!important;
  width:min(380px,calc(100vw - 32px))!important;
  height:64px!important;
  min-height:0!important;
  max-height:64px!important;
  margin:0!important;
  padding:14px 112px 14px 16px!important;
  overflow:hidden!important;
  cursor:pointer;
  z-index:10001;
  box-shadow:0 16px 42px rgba(61,0,13,.35);
}
.document-viewer-modal.modal-minimized>*:not(.modal-tools):not(h2){display:none!important}
.document-viewer-modal.modal-minimized h2{margin:0!important;font-size:14px;line-height:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-viewer-modal.modal-minimized .modal-tools{top:14px;right:12px}
.document-viewer-modal.modal-minimized .modal-tools button{width:30px;height:30px}

.ai-kpi-install-modal{
  position:relative;
  width:min(620px,calc(100vw - 24px));
  margin:auto;
  padding:26px;
  border-radius:18px;
  background:linear-gradient(180deg,#fffdf8,#fff7ed);
  border:1px solid #efcf9f;
  box-shadow:0 24px 80px rgba(61,0,13,.38);
  display:grid;
  gap:16px;
}
.ai-kpi-install-modal .close{position:absolute;right:14px;top:12px}
.ai-kpi-install-icon{
  width:54px;height:54px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#7f0018,#c8102e);
  color:#ffd34e;font-weight:950;letter-spacing:.08em;
  box-shadow:inset 0 0 0 2px #ffd34e80,0 10px 25px #7f001833;
}
.ai-kpi-install-modal small{color:#9a001f;font-weight:900;letter-spacing:.08em}
.ai-kpi-install-modal h2{margin:4px 40px 4px 0;color:#7f0018;font-size:24px}
.ai-kpi-install-modal p{margin:0;line-height:1.6;color:#4c3530}
.ai-kpi-install-steps{display:grid;gap:8px;padding:14px;border:1px solid #efd9c6;border-radius:12px;background:#fff}
.ai-kpi-install-steps span{padding:8px 10px;border-radius:8px;background:#fff7ed;color:#573a34}
.ai-kpi-install-note{padding:12px;border-radius:10px;background:#fff8dc;border:1px solid #f1d27a;color:#7a5500;line-height:1.55}
.ai-kpi-install-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ai-kpi-install-actions button{padding:11px 14px;border:1px solid #d8c1b8;border-radius:9px;background:#fff;color:#7f0018;font-weight:800}
.ai-kpi-install-actions .primary{border:0;color:#fff;background:linear-gradient(100deg,#087a55,#2f8c6a)}
.ai-kpi-header-btn{
  height:38px;
  padding:0 13px;
  border:1px solid #ffd97080;
  border-radius:9px;
  background:#ffffff18;
  color:#fff;
  font-weight:950;
  letter-spacing:.04em;
}
.ai-kpi-header-btn:hover{background:#fff;color:#9b001f}
.slogan-toggle{margin:0 0 8px auto;display:block;border:1px solid #d7bf86;background:#fff8e8;color:#7b0017;border-radius:8px;padding:8px 12px;font-weight:800}
.slogan-collapsed .slogan{display:none}
.task-period-control,.task-period-custom{display:flex;align-items:center;gap:6px;font-weight:800}
.task-period-custom[hidden]{display:none!important}
.task-v2-actions .report-docx,.task-v2-actions .report-pdf{background:#fff;border:1px solid #d9c1a1;color:#7b0017;border-radius:7px;padding:9px 12px;font-weight:800}
.dash-analytics-link{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;}
.trend-columns .dash-analytics-link{display:block;width:100%;min-height:2px;background:#1f8f5f;color:#fff;font-size:10px;border-radius:4px 4px 0 0}
.trend-columns .dash-analytics-link.overdue{background:#d21d3c;margin-top:2px}
.analytic-bars .dash-analytics-link{display:grid;grid-template-columns:minmax(100px,1fr) minmax(80px,2fr) auto;gap:8px;align-items:center;width:100%;padding:5px;border-radius:7px}
.analytic-bars .dash-analytics-link:hover{background:#fff4e8}

.dash-drill,.dash-mini,.chart-legend-row,.dash-inline-link{
  border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;
}
.dash-drill:hover,.chart-legend-row:hover,.dash-inline-link:hover{text-decoration:underline;transform:none}
.task-pie-link,.dashboard-pie-link{cursor:pointer;transition:.15s}
.task-pie-link:hover,.dashboard-pie-link:hover{box-shadow:0 0 0 3px #9c001f22,0 10px 26px rgba(124,25,24,.16);transform:translateY(-1px)}
.task-popup-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 12px;padding:10px;border:1px solid #ead9d4;border-radius:9px;background:#fffaf6}
.task-popup-tools input{flex:1 1 260px;min-height:36px;border:1px solid #d7c1b8;border-radius:8px;padding:8px 10px}
.task-popup-tools label{display:flex!important;align-items:center;gap:6px;margin:0!important;color:#6b4d46;font-weight:800}
.task-popup-tools select{min-height:36px;border:1px solid #d7c1b8;border-radius:8px;background:#fff;padding:7px 9px}
.task-popup-tools button{border:1px solid #d7c1b8;border-radius:8px;background:#fff;color:#7f0018;font-weight:800;padding:8px 11px}
.task-popup-tools button:disabled{opacity:.45;cursor:not-allowed}
.task-popup-info{margin-left:auto;color:#6b4d46;font-weight:800}
@media(max-width:680px){.task-popup-tools>*{width:100%;justify-content:space-between}.task-popup-info{margin-left:0;text-align:center}}
.task-popup-filter-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;margin:0 0 12px;padding:12px;border:1px solid #ead5ce;border-radius:12px;background:linear-gradient(180deg,#fffdfb,#fff8f4)}
.task-popup-filter-controls label{display:grid;gap:6px;margin:0!important;color:#6b4d46;font-size:12px;font-weight:900}
.task-popup-filter-controls select{width:100%;min-height:38px;border:1px solid #d9c1b8;border-radius:9px;background:#fff;padding:8px 10px}
.task-popup-filter-controls button{min-height:38px;border:1px solid #d9c1b8;border-radius:9px;background:#fff;color:#7f0018;font-weight:900;padding:8px 12px}
@media(max-width:760px){.task-popup-filter-controls{grid-template-columns:1fr}.task-popup-filter-controls button{width:100%}}
.chart-legend-row{display:grid!important;grid-template-columns:1fr auto;gap:8px;align-items:center;position:relative;background:#f5f8fc;border-radius:8px;padding:9px 10px;overflow:hidden;width:100%}
.chart-legend-row i{position:absolute;inset:0 auto 0 0;background:#dfeeff;z-index:0}
.chart-legend-row b,.chart-legend-row span{position:relative;z-index:1}
.leadership-radar button,.dash-mini{border:1px solid var(--line);border-radius:10px;background:#fff8f4;padding:16px;text-align:center}
.leadership-radar button b,.dash-mini b{display:block;font-size:28px;color:#8d0b27}
.urgent button{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}
.urgent button:hover{text-decoration:underline}

.task-stat-charts{display:grid;grid-template-columns:1.05fr 1.25fr 1.25fr;gap:14px;margin:14px 0}
.task-stat-card{border:1px solid #ead9d4;border-radius:12px;background:#fffdfb;box-shadow:0 4px 14px rgba(124,25,24,.1);padding:16px;min-width:0}
.task-stat-card h3{margin:0 0 12px;color:#7f0018;font-size:16px}
.task-stat-ring{width:150px;height:150px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#059669 0 var(--done),#2563eb var(--done) var(--doing),#f59e0b var(--doing) var(--new),#dc2626 var(--new) 100%);position:relative}
.task-stat-ring:after{content:'';position:absolute;inset:28px;border-radius:50%;background:#fff}
.task-stat-ring b,.task-stat-ring span{position:relative;z-index:1}
.task-stat-ring b{font-size:30px}
.task-stat-ring span{display:block;color:#6b7280;font-weight:700}
.task-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.task-status-grid button{border:1px solid #ecd6ce;border-radius:9px;background:#fff7ed;padding:9px 6px;text-align:center;color:#7f0018;cursor:pointer}
.task-status-grid b{display:block;font-size:20px}
.task-status-grid span{display:block;font-size:11px;color:#725b55;font-weight:700}
.task-stat-bars,.task-unit-bars{display:grid;gap:9px}
.task-stat-bars button,.task-unit-bars button{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.8fr) auto;gap:9px;align-items:center;border:1px solid #f0ddd5;border-radius:9px;background:#fff;padding:9px 10px;color:#273244;text-align:left}
.task-stat-bars span,.task-unit-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-stat-bars i{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden}
.task-stat-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a80029,#edb62f)}
.task-unit-bars i{height:10px;border-radius:999px;background:linear-gradient(90deg,#059669,#38bdf8)}
.task-priority-mini{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.task-priority-mini span{padding:6px 9px;border-radius:999px;background:#fff3df;border:1px solid #ead0ba;color:#744122;font-size:12px;font-weight:700}
.staff-kpi-clickable{cursor:pointer}
.staff-kpi-clickable:hover{box-shadow:0 0 0 2px #b4072530,0 8px 24px rgba(124,25,24,.15);transform:translateY(-1px)}
@media(max-width:1100px){.task-stat-charts{grid-template-columns:1fr}.task-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.task-stat-bars button,.task-unit-bars button{grid-template-columns:1fr}.task-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.bell{position:relative}
.bell.has-alert::after{content:attr(data-count);position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ffd34e;color:#7f0018;border:1px solid #fff;font-size:11px;font-weight:900;display:grid;place-items:center}
.notification-panel{display:grid;gap:12px}
.notification-filters{display:grid;grid-template-columns:minmax(180px,1fr) 140px 140px 120px;gap:10px;align-items:end;padding:10px 12px;border:1px solid #ead9d4;border-radius:10px;background:#fff}
.notification-filters label{display:grid;gap:5px;margin:0!important;color:#6b4d46;font-weight:800}
.notification-filters input,.notification-filters select{min-height:36px;border:1px solid #d7c1b8;border-radius:8px;background:#fff;padding:7px 9px}
.notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #ead0c6;border-radius:10px;background:#fff8e8}
.notification-head button,.activity-actions button{border:1px solid #d7c1b8;border-radius:8px;background:#fff;color:#7f0018;font-weight:800;padding:8px 12px}
.notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.notification-actions label{display:flex;align-items:center;gap:6px;color:#6b4d46;font-weight:800}
.notification-actions input,.notice-check input{width:16px;height:16px;accent-color:#8f001b}
.notification-panel h3{margin:8px 0 0;color:#7f0018}
.notice-alert,.notice-item,.activity-timeline article{display:grid;gap:5px;padding:12px;border:1px solid #ead9d4;border-radius:10px;background:#fff}
.notice-alert.late{border-color:#f3b5bf;background:#fff4f5}
.notice-alert small,.notice-item small,.activity-timeline small{color:#806b67}
.notice-alert button,.notice-item button{justify-self:start;border:1px solid #d7c1b8;border-radius:7px;background:#fff;color:#7f0018;padding:7px 10px;font-weight:700}
.notice-item.read{opacity:.72}
.notice-check{display:grid!important;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;margin:0!important}
.notice-check span{display:grid;gap:3px}
.notice-check input{margin-top:2px}
.notification-pager{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:6px}
.notification-pager button{border:1px solid #d7c1b8;border-radius:8px;background:#fff;color:#7f0018;font-weight:800;padding:8px 12px}
.notification-pager button:disabled{opacity:.45;cursor:not-allowed}
.notification-pager span{color:#6b4d46;font-weight:800}
@media(max-width:760px){.notification-filters{grid-template-columns:1fr 1fr}.notification-head{align-items:flex-start;flex-direction:column}.notification-actions{justify-content:flex-start}.notification-pager{justify-content:space-between}}
@media(max-width:520px){.notification-filters{grid-template-columns:1fr}.notification-pager{display:grid;grid-template-columns:1fr;justify-items:stretch}.notification-pager span{text-align:center}}
.activity-actions{margin:-8px 0 12px}
.activity-timeline{display:grid;gap:10px;max-height:65vh;overflow:auto}
.activity-timeline article{border-left:4px solid #b40725}
.activity-timeline p{margin:0;color:#3f2d2a}
.staff-kpi-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.staff-kpi-row-actions .success{background:#087a55!important;color:#fff}
.role-dashboard-strip{display:grid;grid-template-columns:1.5fr repeat(3,minmax(130px,.6fr));gap:10px;margin:12px 0;padding:12px;border:1px solid #ead9d4;border-radius:12px;background:linear-gradient(90deg,#fff8e8,#fff);box-shadow:0 4px 14px rgba(124,25,24,.1)}
.role-dashboard-strip>div{padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #f0ddd5}
.role-dashboard-strip b{display:block;color:#7f0018;font-size:20px}
.role-dashboard-strip span{display:block;margin-top:3px;color:#806b67;font-weight:700}
@media(max-width:900px){.role-dashboard-strip{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.role-dashboard-strip{grid-template-columns:1fr}}
.backup-item{grid-template-columns:34px minmax(0,1.1fr) minmax(150px,.7fr) auto}.backup-check{display:grid!important;place-items:center;margin:0!important}.backup-check input{width:18px;height:18px}.backup-bulk-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.backup-bulk-actions label{display:flex;gap:6px;align-items:center;color:#445d55;font-weight:800}.backup-bulk-actions button{min-height:36px;border:1px solid #ffc4ce;border-radius:8px;background:#fff4f6;color:#b00028;font-weight:800;padding:8px 11px}.backup-bulk-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1100px){.backup-item{grid-template-columns:34px 1fr}.backup-item-actions,.backup-meta{grid-column:2}.backup-bulk-actions{justify-content:flex-start}}@media(max-width:640px){.backup-bulk-actions,.backup-bulk-actions button{width:100%}}
.backup-bulk-actions select{min-height:34px;border:1px solid #d6e3df;border-radius:8px;background:#fff;padding:6px 8px}.backup-range{color:#607a72;font-weight:800}.backup-pager{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e3eee9}.backup-pager button{min-height:34px;border:1px solid #cfe0dc;border-radius:8px;background:#fff;color:#243b35;font-weight:800;padding:7px 12px}.backup-pager button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:640px){.backup-bulk-actions label,.backup-bulk-actions select,.backup-range{width:100%}.backup-pager{justify-content:space-between}}
.mine-head-tools{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.mine-head-tools>div{display:flex;gap:8px}.mine-head-tools button{min-height:38px;border:1px solid #e3c3b7;background:#fff8f4;border-radius:8px;color:#8f001b;font-weight:800;padding:8px 12px}.mine-chart-grid{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:12px;margin-top:14px}.mine-chart-card h3{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px}.mine-chart-card h3 span{font-size:12px;color:#718096}.mine-donut{width:150px;height:150px;margin:2px auto 12px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#087a55 0 var(--score),#f1e2da var(--score) 100%)}.mine-donut:after{content:'';position:absolute;inset:25px;border-radius:50%;background:#fff}.mine-donut b,.mine-donut small{position:relative;z-index:1}.mine-donut b{font-size:28px;color:#087a55}.mine-donut small{margin-top:38px;color:#718096}.mine-chart-card p{margin:0;color:#5f6b7a}.mine-bars{display:grid;gap:9px}.mine-bars article{border:1px solid #ead9d4;border-radius:8px;background:#fffaf6;padding:8px}.mine-bars article div{display:flex;justify-content:space-between;gap:10px}.mine-bars p{height:9px;margin:7px 0 0;background:#f1e2da;border-radius:99px;overflow:hidden}.mine-bars i{display:block;height:100%;background:linear-gradient(90deg,#8f001b,#087a55)}@media(max-width:1100px){.mine-chart-grid{grid-template-columns:1fr}}@media(max-width:700px){.mine-head-tools{width:100%;align-items:stretch}.mine-head-tools label,.mine-head-tools>div,.mine-head-tools button{width:100%}}
.mine-chart-grid{grid-template-columns:1fr 1.3fr 1.25fr 1.2fr}.mine-chart-card h3 button{border:1px solid #ead9d4;border-radius:8px;background:#fff;color:#8f001b;font-weight:800;padding:5px 9px}.mine-drill-button{border:0;color:inherit;cursor:pointer}.mine-progress-link{width:100%;border:1px solid #ead9d4;border-radius:8px;background:#fffaf6;color:#5f6b7a;padding:9px;text-align:center}.mine-bars button{width:100%;border:1px solid #ead9d4;border-radius:8px;background:#fffaf6;color:inherit;font:inherit;padding:8px;text-align:left;cursor:pointer}.mine-bars button div{display:flex;justify-content:space-between;gap:10px}.mine-bars button:hover,.mine-progress-link:hover,.mine-drill-button:hover,.mine-chart-card h3 button:hover,.mine-metrics button:hover,.mine-roles .chip:hover{box-shadow:0 0 0 2px #9c001f24,0 8px 22px rgba(124,25,24,.13);transform:translateY(-1px)}@media(max-width:1300px){.mine-chart-grid{grid-template-columns:1fr 1fr}}@media(max-width:1100px){.mine-chart-grid{grid-template-columns:1fr}}
.password-eye-wrap{position:relative;display:block;width:100%}.password-eye-wrap>input{width:100%;padding-right:44px!important}.password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:1px solid #e3c3b7;border-radius:8px;background:#fffaf4;color:#8f001b;display:grid;place-items:center;padding:0;font-size:15px}.password-eye.showing{background:#8f001b;color:#fff}.modal label .password-eye-wrap{margin-top:0}
.modal form .modal-tools{position:sticky;top:0;right:auto;z-index:40;display:flex;justify-content:flex-end;gap:8px;margin:-14px -10px 6px auto;padding:8px 0}
.modal form .modal-tools button{width:38px;height:38px;border-radius:50%;box-shadow:0 2px 8px #5d1a1830}
.modal form .modal-tools .close{position:static;float:none;margin:0}
.modal form .task-popup-tools{position:sticky;top:52px;z-index:35;box-shadow:0 8px 18px #5d1a1814}
#form.modal-fullscreen .task-popup-tools{top:54px}
.modal-context-title{margin-right:auto;align-self:center;color:#7f0018;font-size:18px;font-weight:900;line-height:1.2;padding:0 8px}
.modal-title-hidden{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.task-unit-col-hidden{display:none!important}
.progress-evidence-upload{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid #d7e1ed;border-radius:9px;background:#f6f9fd}
.progress-evidence-upload>div{min-width:0;flex:1}
.progress-evidence-upload b,.progress-evidence-upload small{display:block}
.progress-evidence-upload small{color:#806b67;font-weight:600;margin-top:3px}
.progress-evidence-upload .existing-files{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.progress-evidence-upload .existing-files a{padding:5px 8px;border:1px solid #d7c1b8;border-radius:7px;background:#fff;color:#174f8b;text-decoration:none}
.progress-evidence-upload .file-btn{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:36px;margin:0!important;padding:8px 12px;border:1px solid #b40725;border-radius:8px;background:#fff;color:#8f001b;font-weight:900;cursor:pointer}
.existing-file-row{display:flex!important;align-items:center;justify-content:space-between;gap:9px;min-width:0;margin:0!important;padding:7px;border:1px solid #e5d6d1;border-radius:8px;background:#fff;font-weight:700;text-transform:none!important}
.existing-file-row label{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;white-space:nowrap}
.existing-file-row input{width:16px;height:16px;accent-color:#8f001b}
.existing-file-row span{color:#8f001b;font-size:12px}
.existing-file-row a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.existing-file-row.is-replacing{border-color:#d8c58d;background:#fff9e8}
.replacement-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#174f8b!important;font-size:13px!important;font-weight:900}
.existing-file-row.is-replacing small{color:#7a5200;font-weight:800;white-space:nowrap}
.file-row-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.file-row-actions button{padding:5px 9px;border:1px solid #cbd8e8;border-radius:7px;background:#fff;color:#174f8b;font-weight:800;cursor:pointer}
.file-row-actions button.danger{border-color:#ffc6cf;background:#fff5f7;color:#b40725}
.no-existing-files{margin:9px 0 0;color:#697887;font-weight:700}
.selected-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.selected-file-row{display:inline-flex;align-items:center;gap:6px;max-width:320px;padding:5px 7px;border:1px solid #b7d3c7;border-radius:7px;background:#f3fbf7;color:#185a43;font-size:12px;font-weight:800}
.selected-file-row.replace{border-color:#d8c58d;background:#fff9e8;color:#7a5200}
.selected-file-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-file-row small{color:#667;font-weight:700;white-space:nowrap}
.selected-file-row button{padding:3px 7px;border:1px solid #d9b7b7;border-radius:6px;background:#fff;color:#9b1025;font-weight:800;cursor:pointer}
.task-evidence-files{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:170px}
.task-evidence-files a{display:inline-block;max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;border:1px solid #cfe0dc;border-radius:7px;background:#f4fbf8;color:#087a55;font-weight:800;text-decoration:none}
.feature-permission-box{
  display:grid;
  gap:16px;
  padding:16px!important;
  background:linear-gradient(180deg,#fffdfb,#fff8f2);
}
.feature-group{
  display:grid;
  gap:13px;
  padding:16px;
  border:1px solid #ead5ce;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(127,0,24,.08);
}
.feature-group-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #f0ddd5;
}
.feature-group-head h3{
  margin:3px 0 5px;
  color:#7f0018;
  font-size:18px;
}
.feature-group-head p{
  max-width:980px;
  margin:0;
  color:#806b67;
  line-height:1.45;
}
.feature-kicker{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  background:#fff2d6;
  color:#8a5700;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.feature-permission-box .feature-permission-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin:0;
}
.feature-permission-box .feature-permission-grid-single{
  grid-template-columns:minmax(280px,560px);
}
.feature-permission-box .feature-permission-grid-visibility{
  grid-template-columns:repeat(3,minmax(240px,1fr));
}
.feature-permission-box .setting-row{
  display:grid!important;
  grid-template-rows:1fr auto;
  align-items:start;
  gap:16px;
  min-height:148px;
  margin:0!important;
  padding:15px!important;
  border:1px solid #e7d7d1;
  border-radius:14px;
  background:linear-gradient(180deg,#f7fbff,#eef6ff);
  box-shadow:inset 0 1px 0 #fff,0 5px 14px rgba(63,37,34,.06);
}
.feature-permission-box .setting-row:hover{
  border-color:#d7b8ae;
  box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(127,0,24,.11);
  transform:translateY(-1px);
}
.feature-permission-box .setting-row h3{
  margin:0 0 6px;
  color:#8f001b;
  font-size:15px;
  line-height:1.35;
}
.feature-permission-box .setting-row p{
  margin:0;
  color:#806b67;
  line-height:1.45;
}
.feature-permission-box .setting-row .switch{
  align-self:end;
}
.feature-permission-box .info-note{
  margin:0;
  border:1px solid #ead4a8;
}
.feature-permission-box #saveFunctionPermissions{
  justify-self:start;
  min-height:42px;
  padding:11px 18px;
  box-shadow:0 10px 22px rgba(127,0,24,.18);
}
.task-visibility-matrix{
  border:1px solid #ead9d4;
  border-radius:14px;
  overflow:auto;
  background:#fffdfb;
}
.task-visibility-matrix table{
  min-width:840px;
  margin:0;
}
.task-visibility-matrix th{
  vertical-align:top;
  background:linear-gradient(180deg,#fff7e8,#f8ece6);
  border-bottom:1px solid #dfc5bd;
  color:#6f332f;
}
.task-visibility-matrix th:first-child,
.task-visibility-matrix td:first-child{
  width:210px;
  position:sticky;
  left:0;
  z-index:1;
  background:#fffdfb;
}
.task-visibility-matrix th:first-child{
  background:linear-gradient(180deg,#fff7e8,#f8ece6);
}
.task-visibility-matrix th b,
.task-visibility-matrix th small{
  display:block;
}
.task-visibility-matrix th small{
  max-width:290px;
  margin-top:5px;
  color:#806b67;
  font-weight:600;
  line-height:1.35;
}
.task-visibility-matrix td{
  text-align:center;
  vertical-align:middle;
  background:#fff;
}
.task-visibility-matrix td:first-child{
  text-align:left;
  color:#7f0018;
  font-weight:900;
}
.task-visibility-matrix .permission-switch span{
  margin:auto;
}
@media(max-width:1180px){
  .feature-permission-box .feature-permission-grid-visibility{grid-template-columns:repeat(2,minmax(240px,1fr))}
}
@media(max-width:760px){
  .feature-permission-box{padding:12px!important}
  .feature-group{padding:13px}
  .feature-permission-box .feature-permission-grid,
  .feature-permission-box .feature-permission-grid-single,
  .feature-permission-box .feature-permission-grid-visibility{grid-template-columns:1fr}
  .feature-permission-box .setting-row{min-height:0}
  .feature-permission-box #saveFunctionPermissions{width:100%}
}
@media(max-width:680px){.progress-evidence-upload{align-items:stretch;flex-direction:column}.modal-context-title{font-size:15px}}

/* Compact modal header and minimized window controls. */
.modal form{
  padding-top:14px!important;
}
.modal form .modal-tools{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  display:grid!important;
  grid-template-columns:1fr auto auto auto;
  align-items:center;
  gap:8px;
  min-height:44px;
  margin:-6px -6px 10px!important;
  padding:4px 0 8px!important;
  background:linear-gradient(#fffdfb 72%,rgba(255,253,251,0));
}
.modal form .modal-tools:before{
  content:attr(data-title);
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--party-dark);
  font-size:20px;
  font-weight:900;
  letter-spacing:0;
  padding-left:2px;
}
.modal form .modal-tools button{
  width:36px!important;
  height:36px!important;
  border:1px solid #dfc5bd!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#7f0018!important;
  box-shadow:0 3px 10px rgba(61,0,13,.16)!important;
  font-size:18px;
  line-height:1;
}
.modal form .modal-tools button:hover{
  background:#fff7ed!important;
  border-color:#b21d35!important;
}
.modal form>h2{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  overflow:hidden!important;
}
.modal form .activity-actions{
  margin:-2px 0 12px;
}
#form.modal-minimized{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
  width:min(440px,calc(100vw - 32px))!important;
  height:58px!important;
  max-height:58px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
}
#form.modal-minimized .modal-tools{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto auto!important;
  width:100%;
  min-height:38px;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
#form.modal-minimized .modal-tools:before{
  font-size:14px;
  line-height:1.2;
  padding:0 8px 0 0;
}
#form.modal-minimized .modal-tools button{
  width:32px!important;
  height:32px!important;
  font-size:15px;
}
#form.modal-minimized>*:not(.modal-tools){
  display:none!important;
}
.task-portfolio-controls{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(150px,1fr));
  gap:10px;
  margin:0 0 12px;
  padding:12px;
  border:1px solid #ead9d4;
  border-radius:10px;
  background:#fffaf6;
}
.task-portfolio-controls label{
  display:grid;
  gap:6px;
  margin:0!important;
  color:#6f514d;
  font-size:12px;
  font-weight:800;
}
.task-portfolio-controls input,.task-portfolio-controls select{
  width:100%;
  min-height:38px;
  padding:8px 10px;
}
.task-portfolio-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px;
}
.task-portfolio-pager button{
  min-height:34px;
  border:1px solid #dfc5bd;
  border-radius:8px;
  background:#fff;
  color:#7f0018;
  font-weight:800;
  padding:7px 12px;
}
@media(max-width:900px){
  .task-portfolio-controls{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .task-portfolio-controls{grid-template-columns:1fr}
  .modal form .modal-tools:before{font-size:16px}
}
.rich-field-label{display:grid;gap:8px;font-weight:700}
.job-functions-rich-field{display:grid;gap:8px;min-width:0}
.job-functions-rich-field .rich-editor-shell{max-width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.job-functions-rich-field .word-title-bar{min-height:30px;padding:6px 10px}
.job-functions-rich-field .ribbon-tabs{min-height:30px}
.job-functions-rich-field .ribbon-panel{padding:8px}
.job-functions-rich-field .rich-editor-canvas{padding:12px;background:#f7f8fb}
.job-functions-rich-field .rich-editor-page{min-height:220px;max-height:420px;overflow:auto;padding:18px}
.job-functions-rich-field .rich-editor{min-height:170px;outline:none}
.dashboard-analytics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.dashboard-analytics h3 span{float:right;font-size:11px;font-weight:400;color:#64748b}.trend-columns{display:flex;align-items:flex-end;height:190px;gap:6px;padding-top:18px}.trend-columns>div{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2px;flex:1;height:145px;border-bottom:1px solid #cbd5e1}.trend-columns i,.trend-columns em{display:block;width:38%;min-height:2px;border-radius:3px 3px 0 0}.trend-columns i{background:#17834b}.trend-columns em{background:#c91f3d}.trend-columns small{position:absolute;bottom:-24px;font-size:9px;transform:rotate(-35deg)}.analytic-bars>div{display:grid;grid-template-columns:minmax(90px,1.4fr) 2fr 32px;align-items:center;gap:8px;margin:10px 0;font-size:12px}.analytic-bars i{height:10px;background:linear-gradient(90deg,#174f8b,#25a8c7);border-radius:8px}.analytic-bars b{text-align:right}@media(max-width:1050px){.dashboard-analytics{grid-template-columns:1fr}}
.task-related-row{display:grid!important;grid-template-columns:1fr auto 32px;align-items:center;gap:8px;margin:6px 0}.task-related-row button:first-child{background:none;border:0;color:#1761df;text-align:left;font-weight:700}.task-check-row{display:grid!important;grid-template-columns:24px 1fr 32px;align-items:center;gap:8px;padding:6px 0;text-transform:none!important;font-size:13px!important}.task-check-row:has(input:checked) span{text-decoration:line-through;color:#64748b}
.task-kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow:auto}.task-kanban section{background:#f4f7fb;border-radius:10px;padding:10px;min-height:350px}.task-kanban h3{display:flex;justify-content:space-between}.task-kanban section>button{display:block;width:100%;text-align:left;background:#fff;border:1px solid #dbe3ec;border-radius:8px;padding:10px;margin:8px 0;position:relative;overflow:hidden}.task-kanban small{display:block;margin-top:6px;color:#64748b}.task-kanban i{position:absolute;bottom:0;left:0;height:3px;background:#17834b}.task-calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.task-calendar section{border:1px solid #dbe3ec;border-radius:10px;padding:10px}.task-calendar section>button{display:block;width:100%;text-align:left;border:0;border-top:1px solid #eef2f7;background:#fff;padding:8px}.task-calendar small{display:block;color:#64748b}.capacity-view button{display:grid;width:100%;grid-template-columns:minmax(150px,1fr) 3fr 40px;align-items:center;gap:10px;background:none;border:0;padding:8px;text-align:left}.capacity-view i{height:14px;background:linear-gradient(90deg,#174f8b,#25a8c7);border-radius:10px}.task-gantt{min-width:900px}.task-gantt>div{display:grid;grid-template-columns:260px 1fr;gap:10px;align-items:center;min-height:34px;border-bottom:1px solid #eef2f7}.task-gantt button{border:0;background:none;text-align:left;color:#174f8b}.task-gantt span{height:18px;background:repeating-linear-gradient(90deg,#f8fafc 0,#f8fafc 9%,#e2e8f0 10%);position:relative}.task-gantt i{position:absolute;height:12px;top:3px;background:#17834b;border-radius:8px}
.org-master-tree ul{list-style:none;margin:0;padding-left:28px}.org-master-tree li{position:relative}.org-master-tree li:before{content:"";position:absolute;left:-16px;top:0;height:24px;border-left:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;width:14px}.org-master-tree article{display:flex;justify-content:space-between;align-items:center;border:1px solid #dbe3ec;border-radius:8px;padding:10px;margin:8px 0;background:#fff}.org-master-tree code{margin-left:10px;color:#174f8b}.org-master-tree small{display:block;color:#64748b;margin-top:3px}
.strategy-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin:16px 0}.strategy-tree ul{list-style:none;padding-left:24px}.strategy-tree article{display:flex;justify-content:space-between;border:1px solid #dbe3ec;border-radius:8px;padding:10px;margin:8px 0}.strategy-tree small{display:block;color:#64748b}.risk-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.risk-matrix>div{min-height:50px;display:flex;justify-content:space-around;align-items:center;border-radius:5px}.risk-low{background:#dcfce7}.risk-medium{background:#fef3c7}.risk-high{background:#fecdd3}.risk-list p{border-bottom:1px solid #eef2f7;padding:8px}.risk-list span,.risk-list small{display:block;color:#64748b}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.workflow-grid article{border:1px solid #dbe3ec;border-radius:8px;padding:10px}.workflow-grid small{display:block;color:#64748b;margin:5px 0}@media(max-width:1000px){.strategy-layout{grid-template-columns:1fr}}
main{position:relative}
.slogan-toggle{position:fixed;top:102px;right:24px;z-index:6;margin:0;box-shadow:0 2px 8px #5b001522}
.slogan-collapsed main{padding-top:102px}
.slogan-collapsed #app>.tabs:first-child,.slogan-collapsed #app>.task-page-head:first-child,.slogan-collapsed #app>.panel:first-child,.slogan-collapsed #app>.toolbar:first-child{margin-top:0}
.slogan-collapsed #app>.role-dashboard-strip:first-child{margin-top:0}
body:not(.slogan-collapsed) .slogan{margin-top:0}
@media(max-width:900px){.slogan-toggle{top:80px;right:12px}.slogan-collapsed main{padding-top:80px}}
.dashboard-analytics,.dashboard-analytics>.panel{min-width:0!important}
.dashboard-analytics .panel{overflow:hidden!important}
.trend-columns{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;gap:clamp(2px,.35vw,6px)!important}
.trend-columns>div{min-width:0!important;flex:1 1 0!important;gap:1px!important;overflow:visible!important}
.trend-columns .dash-analytics-link{min-width:0!important;width:100%!important;padding:0!important;border:0!important;overflow:hidden!important}
.trend-columns small{left:50%!important;max-width:34px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transform:translateX(-50%) rotate(-35deg)!important;transform-origin:center!important}
@media(min-width:1051px) and (max-width:1600px){.dashboard-analytics{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important}.trend-columns{gap:3px!important}.trend-columns small{font-size:8px!important}}

.task-filter-bar{
  display:grid!important;
  grid-template-columns:minmax(280px,1.7fr) repeat(7,minmax(132px,1fr));
  gap:10px!important;
  align-items:center;
  overflow:visible!important;
  padding:12px!important;
  margin:12px 0 14px!important;
  border:1px solid #ead5ce!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fffdfb,#fff8f4)!important;
  box-shadow:0 10px 28px #7f00180f;
}
.task-filter-bar input,.task-filter-bar select{
  width:100%!important;
  min-width:0!important;
  height:42px;
  border:1px solid #e4d2cc!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#3f2a27;
  font-size:13px;
  box-shadow:inset 0 1px 0 #ffffff,0 1px 2px #5b00150a;
}
.task-filter-bar input:focus,.task-filter-bar select:focus{
  border-color:#c8102e!important;
  outline:3px solid #c8102e1f!important;
}
.task-filter-bar #f-search{order:1}
.task-filter-bar #f-status{order:2}
.task-filter-bar #f-org{order:3}
.task-filter-bar #f-unit{order:4}
.task-filter-bar #f-priority{order:5}
.task-filter-bar #f-assignee{order:6}
.task-filter-bar #f-related{order:7}
.task-filter-bar #f-owner{order:8}
.task-filter-bar .task-period-inline{
  order:9;
  grid-column:1 / span 4;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-width:0;
}
.task-filter-bar .task-period-control,.task-filter-bar .task-period-custom{
  height:38px;
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0 8px;
  border:1px solid #ead5ce;
  border-radius:10px;
  background:#fff;
  color:#6a4741;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.task-filter-bar .task-period-control select,.task-filter-bar .task-period-custom input{
  width:auto!important;
  min-width:118px!important;
  height:30px!important;
  padding:4px 8px!important;
  border:0!important;
  box-shadow:none!important;
}
.task-filter-bar button{
  min-height:38px;
  border:0!important;
  border-radius:10px!important;
  padding:9px 14px!important;
  background:linear-gradient(100deg,#8f001b,#c8102e)!important;
  color:#fff9e8!important;
  font-weight:800;
  box-shadow:0 8px 18px #97001d24;
}
.task-filter-bar #taskResetFilters{
  order:10;
  justify-self:start;
  background:#fff!important;
  color:#8f001b!important;
  border:1px solid #e5c4bd!important;
  box-shadow:none;
}
@media(max-width:1500px){
  .task-filter-bar{grid-template-columns:minmax(250px,1.4fr) repeat(3,minmax(160px,1fr))}
  .task-filter-bar .task-period-inline{grid-column:1 / -1}
}
@media(max-width:760px){
  .task-filter-bar{grid-template-columns:1fr}
  .task-filter-bar .task-period-inline{grid-column:auto;display:grid}
}
.mail-switch-source{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.mail-switch-field{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:52px;
  margin:8px 0!important;
  padding:12px 14px!important;
  border:1px solid #ead5ce;
  border-radius:12px;
  background:#fffdf9;
}
.mail-switch{
  display:inline-flex!important;
  align-items:center;
  gap:9px;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#6f433d!important;
  cursor:pointer;
  user-select:none;
  font:inherit;
}
.mail-switch span{
  width:50px;
  height:28px;
  display:block;
  flex:0 0 50px;
  border-radius:999px;
  background:#d9c8c2;
  border:1px solid #cdb8b1;
  position:relative;
  transition:.18s ease;
  box-shadow:inset 0 1px 3px #5b001526;
}
.mail-switch span:after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px #5b001533;
  transition:.18s ease;
}
.mail-switch.is-on span{
  background:linear-gradient(100deg,#087a55,#0aa66f);
  border-color:#087a55;
}
.mail-switch.is-on span:after{
  left:25px;
}
.mail-switch.is-mixed span{
  background:linear-gradient(100deg,#bd6500,#f2b23f);
  border-color:#bd6500;
}
.mail-switch:focus-visible span{
  outline:3px solid #c8102e33;
  outline-offset:2px;
}
.mail-switch b{
  color:#6f433d;
  font-size:12px;
  white-space:nowrap;
}
.mail-setting-heading {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ff000080;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
}
.mail-bulk-switch{
  margin-left:auto;
}
.mail-bulk-switch .mail-switch{
  min-height:36px;
  padding:5px 10px!important;
  border:1px solid #ead5ce!important;
  border-radius:999px;
  background:#fff!important;
}
.word-import-btn{
  border:1px solid #e3c3b7!important;
  background:#fff8e8!important;
  color:#8f001b!important;
  font-weight:900;
}
.word-import-btn:hover{
  background:#fff1d2!important;
  border-color:#b40725!important;
}
.import-context{
  display:grid;
  gap:4px;
  margin:4px 0 12px;
  padding:12px 14px;
  border:1px solid #ead5ce;
  border-radius:10px;
  background:#fff8e8;
}
.import-context b{
  color:#7f0018;
  font-size:16px;
}
.import-context span{
  color:#806b67;
  font-weight:700;
}
.task-created-cell{
  min-width:150px;
}
.task-repeat-meta{
  display:grid;
  gap:2px;
  margin-top:6px;
  font-size:11px;
  line-height:1.25;
  font-style:normal;
}
.task-repeat-meta.active{
  padding:6px 8px;
  border:1px solid #cfe9dc;
  border-radius:8px;
  background:#f0fff7;
  color:#0f6a4c;
  font-weight:800;
}
.task-repeat-meta.active span{
  color:#087a55;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.02em;
}
.task-repeat-meta.active b{
  color:#064e3b;
  font-size:12px;
}
.task-repeat-meta.active em{
  color:#5a6e66;
  font-style:normal;
  font-weight:700;
}
.task-repeat-meta.muted{
  color:#8b7771;
  font-weight:700;
}
@media(max-width:760px){
  .mail-setting-heading{align-items:flex-start;flex-direction:column}
  .mail-switch-field{align-items:flex-start!important;flex-direction:column!important}
}
/* Public dashboard administration */
.public-admin-hero{background:linear-gradient(135deg,#fff7ed,#eef6ff);border-color:#ead4c2}
.public-config-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
.public-config-main>h3{margin:20px 0 10px;color:#8b0018}
.public-config-main>h3:first-child{margin-top:0}
.public-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.public-config-card{display:grid;grid-template-columns:42px 1fr 46px;gap:12px;align-items:center;min-height:96px;padding:14px;border:1px solid #ead7cf;border-radius:8px;background:#fff;cursor:pointer;transition:.18s ease}
.public-config-card:hover{border-color:#c53a46;box-shadow:0 10px 24px #90002012}
.public-config-card input{display:none}
.public-config-card b,.public-config-card small{display:block}
.public-config-card small{margin-top:5px;color:#765a54;line-height:1.45}
.public-card-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#f7ebe7;color:#8b0018;font-weight:900}
.public-config-card em{width:42px;height:24px;border-radius:99px;background:#cfd8e3;position:relative}
.public-config-card em:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s ease}
.public-config-card.is-on{background:#eef7ff;border-color:#b7d7f3}
.public-config-card.is-on .public-card-icon{background:#dceeff;color:#0f5d8a}
.public-config-card.is-on em{background:#28a878}
.public-config-card.is-on em:before{left:21px}
.public-save{position:sticky;bottom:18px;float:right;margin-top:18px}
@media(max-width:980px){.public-card-grid{grid-template-columns:1fr}}
.feature-permission-tools{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(150px,1fr)) auto;gap:10px;align-items:end;margin:14px 0;padding:13px;border:1px solid #ead4cb;border-radius:12px;background:linear-gradient(135deg,#fffaf4,#fff)}
.feature-permission-tools label{display:grid;gap:6px;color:#6f332f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.feature-permission-tools input,.feature-permission-tools select{width:100%;min-height:38px;border:1px solid #dec8bf;border-radius:8px;background:#fff;padding:8px 10px;color:#2f1c1a;font:700 13px "Segoe UI",Arial,sans-serif;text-transform:none;letter-spacing:0}
.feature-permission-tools button{min-height:38px;border:1px solid #d6b5a9;border-radius:8px;background:#fff;color:#7f0018;font-weight:800;padding:8px 12px}
.feature-permission-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.feature-permission-overview article{border:1px solid #ead4cb;border-radius:10px;background:#fff;padding:14px;box-shadow:0 4px 13px #7f00180d}
.feature-permission-overview span,.feature-permission-overview small{display:block;color:#806b67;font-weight:700}
.feature-permission-overview b{display:block;margin:6px 0 3px;color:#7f0018;font-size:27px;line-height:1}
.feature-permission-charts{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);gap:12px;margin:12px 0 16px}
.feature-permission-charts section{border:1px solid #ead4cb;border-radius:10px;background:#fff;padding:14px;min-width:0}
.feature-permission-charts h3{margin:0 0 12px;color:#4b211e;font-size:16px}
.feature-donut{width:154px;aspect-ratio:1;margin:2px auto 12px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--segments))}
.feature-donut:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff}
.feature-donut b,.feature-donut small{position:relative;z-index:1}
.feature-donut b{font-size:28px;color:#0f7b58}
.feature-donut small{margin-top:36px;color:#806b67;font-weight:800}
.feature-chart-legend{display:flex;justify-content:center;gap:14px;color:#6f332f;font-weight:800}
.feature-chart-legend i,.feature-chart-legend em{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.feature-chart-legend i{background:#0f9f6e}.feature-chart-legend em{background:#c6283f}
.feature-bars{display:grid;gap:9px}
.feature-bars div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,2fr) 42px;gap:10px;align-items:center}
.feature-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b211e;font-weight:800}
.feature-bars p{height:10px;margin:0;border-radius:999px;background:#f1e2da;overflow:hidden}
.feature-bars i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c6283f,#f2b84b)}
.feature-bars b{text-align:right;color:#7f0018}
.feature-row-score{display:inline-flex;min-width:58px;justify-content:center;padding:5px 8px;border-radius:999px;background:#fff1cd;color:#8a5700;font-weight:900}
.feature-permission-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 2px;padding:10px 12px;border:1px solid #ead4cb;border-radius:10px;background:#fffaf4;color:#6f332f;font-weight:800}
.feature-permission-pager div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.feature-permission-pager button{min-height:34px;border:1px solid #d6b5a9;border-radius:8px;background:#fff;color:#7f0018;font-weight:800;padding:7px 11px}
.feature-permission-pager button:disabled{opacity:.45;cursor:not-allowed}
.permission-table th:nth-child(2),.permission-table td:nth-child(2){text-align:center;min-width:120px}
@media(max-width:1300px){.feature-permission-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-permission-charts{grid-template-columns:1fr}}
@media(max-width:760px){.feature-permission-tools,.feature-permission-overview{grid-template-columns:1fr}.feature-permission-pager{align-items:stretch;flex-direction:column}.feature-permission-pager div{justify-content:space-between}.feature-bars div{grid-template-columns:1fr 54px}.feature-bars p{grid-column:1/-1;grid-row:2}.feature-bars b{grid-column:2;grid-row:1}}
