:root{--primary:#086b9b;--primary-dark:#064c73;--primary-soft:#dff2f6;--success:#12a96b;--danger:#df252b;--warning:#f2b824;--workspace:#293f5e;--paper:#f3f4f3;--panel:#fff;--line:#a8afb5;--line-soft:#d7dce0;--field:#bce9eb;--field-focus:#d8f5f2;--text:#16222d;--muted:#647382;--font-family:Tahoma, Arial, sans-serif;--ui-scale:1;font-family:var(--font-family);color:var(--text);background:var(--workspace);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--workspace);min-width:320px}body{min-width:320px;min-height:100vh;font-size:calc(14px * var(--ui-scale));margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.app-shell{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:60;position:sticky;top:0;box-shadow:0 2px 8px #001b3024}.brand-strip{background:#f7fbfa;border-bottom:1px solid #b6c7cc;align-items:center;gap:12px;min-height:48px;padding:5px 14px;display:flex}.brand-mark,.login-logo{color:#056491;background:#fff;border:1px solid #bfd0da;border-radius:9px;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-weight:900;display:grid;box-shadow:0 2px 7px #122d4430}.brand-copy{flex-direction:column;line-height:1.15;display:flex}.brand-copy strong{font-size:calc(15px * var(--font-scale,1))}.brand-copy span{color:var(--muted);margin-top:4px;font-size:calc(10px * var(--font-scale,1))}.header-spacer{flex:1}.user-chip{border-right:1px solid var(--line-soft);align-items:center;gap:8px;padding:5px 10px;display:flex}.user-chip>span{flex-direction:column;display:flex}.user-chip small{color:var(--muted);font-size:calc(10px * var(--font-scale,1))}.notification-button,.mobile-menu{width:38px;height:38px;color:var(--primary-dark);background:0 0;border:0;place-items:center;display:grid;position:relative}.notification-button b{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:calc(10px * var(--font-scale,1));display:grid;position:absolute;top:0;right:0}.mobile-menu{display:none}.ribbon-nav{scrollbar-width:thin;background:#dbe3f0;border-bottom:1px solid #9ba8b7;align-items:stretch;min-height:70px;display:flex;overflow-x:auto}.ribbon-nav a,.logout-ribbon{color:#172330;white-space:nowrap;background:0 0;border:0;border-left:1px solid #bbc5d4;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:94px;padding:8px 10px 6px;font-size:calc(11px * var(--font-scale,1));font-weight:700;display:flex}.ribbon-nav a:hover{background:#ecf2fa}.ribbon-nav a.active{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary);background:#edf4ff}.ribbon-menu{min-width:94px;display:flex;position:relative}.ribbon-menu-trigger{color:#172330;white-space:nowrap;background:0 0;border:0;border-left:1px solid #bbc5d4;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;padding:8px 10px 6px;font-size:calc(11px * var(--font-scale,1));font-weight:700;display:flex}.ribbon-menu-trigger:hover,.ribbon-menu.open .ribbon-menu-trigger{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary);background:#edf4ff}.ribbon-submenu{z-index:150;background:#f8fbff;border:1px solid #8da0b8;width:285px;padding:5px;display:none;position:fixed;top:118px;right:45%;box-shadow:0 10px 28px #0004}.ribbon-menu.open .ribbon-submenu{display:grid}.ribbon-submenu a{border:0;border-bottom:1px solid #d6dfeb;flex-direction:row;justify-content:flex-start;gap:10px;width:100%;min-height:42px;padding:7px 12px;font-size:calc(12px * var(--font-scale,1))}.ribbon-submenu a:last-child{border-bottom:0}.logout-ribbon{color:#7f1419;background:#e7a1a6;margin-inline-start:auto}.app-workspace{background:linear-gradient(90deg, var(--workspace) 0 max(0px, calc((100vw - 1220px)/2)), #f4f4f3 max(0px, calc((100vw - 1220px)/2)) calc(100% - max(0px, calc((100vw - 1220px)/2))), var(--workspace) calc(100% - max(0px, calc((100vw - 1220px)/2))) 100%);flex:1;min-height:0;padding:10px max(14px,2vw) 44px}.status-bar{z-index:65;bottom:0;color:#fff;background:#078dcc;border-top:1px solid #cde6ef;align-items:center;gap:0;height:27px;font-size:calc(11px * var(--font-scale,1));font-weight:700;display:flex;position:fixed;inset-inline:0}.status-bar span{border-left:1px solid #fff;padding:2px 12px}.page-container{width:min(1180px,100%);min-height:320px;margin:0 auto;padding-bottom:20px}.page-title{background:#fff;border:1px solid #7f8990;justify-content:center;align-items:center;min-height:43px;margin:0 auto 10px;padding:5px 54px;display:flex;position:relative}.page-title-icon{color:#fff;background:#23b5c9;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:absolute;right:6px}.page-title h1{margin:0;font-size:calc(21px * var(--font-scale,1))}.page-title p{color:var(--muted);text-align:center;margin:2px 0 0;font-size:calc(11px * var(--font-scale,1))}.toolbar{border:1px solid var(--line-soft);background:#f6f6f5;justify-content:center;align-items:center;gap:9px;min-height:49px;margin-bottom:7px;padding:5px 8px;display:flex}.toolbar-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;display:flex}.toolbar-extra{align-items:center;gap:8px;display:flex}.tool-button,.context-actions button,.report-actions button,.notification-toolbar button,.audit-filters button,.row-actions button,.reference-tabs button,.handover-list button,.table-footer button,.subsection-heading button,.archived-page button{color:#111c23;background:#eff6fb;border:1px solid #87939b;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:5px 14px;font-size:calc(12px * var(--font-scale,1));font-weight:700;display:inline-flex}.tool-button svg{color:#14b9aa}.tool-button.danger svg,.danger-ghost,.danger-inline{color:var(--danger)!important}.tool-button.success svg,.success-inline{color:var(--success)!important}.context-actions{gap:5px;display:flex}.compact-form-panel{background:#f4f6f8;border:1px solid #c9d2dc;margin:7px 0;padding:12px 16px}.compact-form-panel .form-grid{margin:0}.task-report-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.task-detail-toolbar{border:1px solid var(--line-soft);background:#f7f8f8;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-bottom:8px;padding:7px;display:flex}.task-detail-toolbar button,.task-section header button,.comment-compose button{background:#eef6fb;border:1px solid #87939b;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px 12px;font-weight:700;display:inline-flex}.task-detail-toolbar button.success{color:#087c50;background:#e7f7ef;border-color:#5eb390}.task-detail-toolbar button.warning{color:#815c00;background:#fff4cf}.task-detail-toolbar button.danger{color:#a9161c;background:#fde7e8}.task-overdue-alert{color:#8c161a;background:#ffe5e6;border:1px solid #db777b;justify-content:center;align-items:center;gap:12px;min-height:42px;margin-bottom:8px;padding:7px 12px;display:flex}.task-summary-grid{grid-template-columns:repeat(4,1fr) 2fr;gap:7px;margin-bottom:8px;display:grid}.task-summary-grid article{background:#fff;border:1px solid #a7afb5;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:69px;padding:8px;display:flex}.task-summary-grid article>span{color:var(--muted);font-size:calc(11px * var(--font-scale,1))}.task-summary-grid article>strong{font-size:calc(15px * var(--font-scale,1))}.task-status{background:#eaf1f6;border-radius:3px;padding:4px 12px}.task-status.status-in_progress{color:#075f8a;background:#dff3fb}.task-status.status-paused{color:#8a5a00;background:#fff0bf}.task-status.status-completed{color:#087a4e;background:#dcf7e9}.task-status.status-rejected,.task-status.status-cancelled{color:#a9161c;background:#fde7e8}.progress-card div{background:#eef1f2;border:1px solid #a0abb2;width:100%;height:17px;position:relative;overflow:hidden}.progress-card div i{inset-block:0;position:absolute;right:0}.progress-card div b{z-index:1;text-align:center;font-size:calc(10px * var(--font-scale,1));display:block;position:relative}.progress-card input{width:100%;height:14px}.task-detail-grid{grid-template-columns:1.4fr 1fr;gap:8px;margin-bottom:8px;display:grid}.task-detail-grid>article,.task-section,.task-collaboration>article{background:#fff;border:1px solid #a7afb5;padding:10px}.task-detail-grid h3,.task-collaboration h3,.task-section header h3{color:var(--primary-dark);align-items:center;gap:7px;margin:0 0 9px;font-size:calc(15px * var(--font-scale,1));display:flex}.task-detail-grid>article{grid-template-columns:1fr 1fr;gap:6px;display:grid}.task-detail-grid h3{grid-column:1/-1}.task-detail-grid article>div{border:1px solid #c5ccd1;grid-template-columns:100px 1fr;align-items:center;min-height:34px;display:grid}.task-detail-grid article>div.wide{grid-column:1/-1}.task-detail-grid article>div span{background:#edf1f3;align-items:center;height:100%;padding:5px 7px;font-weight:700;display:flex}.task-detail-grid article>div strong{padding:5px 8px;font-weight:500}.task-section{margin-bottom:8px;padding:7px}.task-section header{justify-content:space-between;align-items:center;gap:8px;min-height:37px;padding:2px 5px 7px;display:flex}.task-section header h3{margin:0}.task-collaboration{grid-template-columns:2fr 1fr;gap:8px;margin-bottom:8px;display:grid}.comment-compose{grid-template-columns:1fr auto;gap:6px;display:grid}.comment-compose textarea{border:1px solid #8e9aa2;grid-column:1/-1;min-height:75px;padding:8px}.comment-compose label{align-items:center;gap:6px;display:flex}.comment-list{max-height:330px;margin-top:8px;overflow-y:auto}.comment-list>article{background:#fafbfb;border:1px solid #d0d6da;margin-bottom:5px;padding:8px}.comment-list b,.comment-list small{display:block}.comment-list small{color:var(--muted);font-size:calc(10px * var(--font-scale,1))}.comment-list p{white-space:pre-wrap;margin:5px 0 0}.task-rating>div{direction:ltr;justify-content:center;display:flex}.task-rating button{color:#a8afb5;background:0 0;border:0;padding:3px}.task-rating button.active{color:#f1b413}.task-rating button svg{fill:currentColor}.task-rating p{text-align:center}.task-timeline>article{border-right:2px solid #a9c6d4;min-height:50px;padding:6px 30px 6px 8px;position:relative}.task-timeline>article i{background:var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;top:13px;right:-6px}.task-timeline>article div{grid-template-columns:130px 1fr 160px;gap:8px;display:grid}.task-timeline small{color:var(--muted)}.table-panel{background:#fff;border:1px solid #91999e}.table-controls{background:#f9faf9;border-bottom:1px solid #aeb4b8;align-items:center;gap:16px;min-height:45px;padding:5px 9px;display:flex}.table-search{flex:1;align-items:center;gap:6px;max-width:540px;display:flex}.table-search input,.audit-filters input{background:#eaf6ea;border:1px solid #87969c;width:100%;height:30px;padding:4px 10px}.results-count{margin-inline-start:auto;font-size:calc(12px * var(--font-scale,1))}.results-count strong{color:var(--primary);font-size:calc(16px * var(--font-scale,1))}.page-size{align-items:center;gap:7px;font-size:calc(12px * var(--font-scale,1));display:flex}.page-size select{background:#fff;border:1px solid #87969c;height:29px}.table-scroll{width:100%;overflow:auto}.data-table{border-collapse:collapse;table-layout:auto;background:#fff;width:100%;min-width:760px}.data-table th,.data-table td{text-align:right;vertical-align:middle;overflow-wrap:anywhere;border:1px solid #aab0b4;height:30px;padding:4px 7px}.data-table th{z-index:2;color:#111;text-align:center;white-space:nowrap;background:#eef4f9;font-size:calc(12px * var(--font-scale,1));position:sticky;top:0}.data-table td{font-size:calc(12px * var(--font-scale,1))}.data-table tbody tr{cursor:pointer}.data-table tbody tr:nth-child(2n){background:#fafafa}.data-table tbody tr:hover{background:#e6f4f5}.data-table tbody tr.selected-row{background:#d7eef9;outline:1px solid #55a7ce}.loading-row,.empty-row{min-height:80px;color:var(--muted);place-items:center;display:grid}.table-footer{background:#f5f6f6;border-top:1px solid #aeb4b8;justify-content:space-between;align-items:center;min-height:42px;padding:5px 10px;font-size:calc(12px * var(--font-scale,1));display:flex}.pagination{align-items:center;gap:5px;display:flex}.pagination button{width:31px;height:29px;padding:0}.pagination strong{text-align:center;min-width:28px}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#071829b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #66747d;flex-direction:column;width:min(620px,100%);max-height:calc(100vh - 36px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.modal-card.modal-wide{width:min(1040px,100%)}.modal-header{border-bottom:1px solid var(--line);background:#f7fbfc;align-items:center;min-height:49px;padding:7px 12px;display:flex}.modal-header h2{text-align:center;flex:1;margin:0;font-size:calc(19px * var(--font-scale,1))}.icon-button{background:0 0;border:1px solid #0000;place-items:center;width:34px;height:34px;display:grid}.modal-body{padding:14px;overflow:auto}.entity-form{flex-direction:column;gap:12px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;display:grid}.form-grid.single-column{grid-template-columns:1fr}.form-grid label,.settings-form label,.notification-toolbar label,.report-filters label,.filter-strip label,.style-fields label{grid-template-columns:130px 1fr;align-items:center;gap:8px;font-size:calc(12px * var(--font-scale,1));font-weight:700;display:grid}.form-grid label>span,.settings-form label>span{text-align:left}.form-grid label b{color:var(--danger);margin-inline-start:4px}.form-grid .full-field{grid-column:1/-1}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea,.settings-form input,.notification-toolbar input,.notification-toolbar select,.report-filters input,.report-filters select,.filter-strip select,.style-fields select{color:#17222a;background:var(--field);border:1px solid #7f9097;width:100%;min-width:0;min-height:31px;padding:5px 9px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.settings-form input:focus{background:var(--field-focus);outline:2px solid #43b0bf}.form-grid textarea{resize:vertical;min-height:70px}.form-grid input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);justify-self:start}.modal-actions{justify-content:center;align-items:center;gap:9px;padding-top:9px;display:flex}.primary-button,.secondary-button{border:1px solid #497488;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:7px 20px;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:var(--primary)}.primary-button:hover{background:var(--primary-dark)}.secondary-button{color:#12212a;background:#eef6fa}.form-alert{border:1px solid;margin:7px 0;padding:9px 13px;font-size:calc(12px * var(--font-scale,1));font-weight:700}.form-alert.success{color:#09663e;background:#e5f8ee;border-color:#7ccda5}.form-alert.error{color:#8c161a;background:#ffe9e9;border-color:#e89a9d}.stat-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;display:grid}.stat-card{color:#fff;border:1px solid #ffffff40;justify-content:space-between;align-items:center;min-height:92px;padding:14px 16px;display:flex;box-shadow:0 3px 8px #0d294329}.stat-card div{flex-direction:column;gap:8px;display:flex}.stat-card span{font-size:calc(12px * var(--font-scale,1))}.stat-card strong{font-size:calc(27px * var(--font-scale,1))}.stat-card.blue{background:#2078b6}.stat-card.green{background:#208e62}.stat-card.red{background:#bb4246}.stat-card.amber{background:#bb8122}.stat-card.violet{background:#7161a8}.stat-card.teal{background:#158d91}.stat-card.orange{background:#bf6927}.stat-card.navy{background:#314c70}.dashboard-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dashboard-panel{background:#fff;border:1px solid #9da5aa}.dashboard-panel>header,.execution-board>header,.handover-section>header{background:#e8f3fa;border-bottom:1px solid #9da5aa;justify-content:space-between;align-items:center;min-height:42px;padding:7px 12px;display:flex}.dashboard-panel h2,.execution-board h2,.handover-section h2{margin:0;font-size:calc(15px * var(--font-scale,1))}.dashboard-panel header span{color:var(--muted);font-size:calc(11px * var(--font-scale,1))}.compact-list>div{border-bottom:1px solid #e1e4e6;align-items:center;gap:9px;min-height:60px;padding:7px 10px;display:flex}.compact-list>div>div{flex-direction:column;flex:1;gap:4px;display:flex}.compact-list small{color:var(--muted)}.list-icon{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.panel-empty{text-align:center;color:var(--muted);padding:25px}.status-badge{color:#25313a;white-space:nowrap;background:#e8ecef;border-radius:12px;justify-content:center;align-items:center;min-height:24px;padding:3px 8px;font-size:calc(10px * var(--font-scale,1));display:inline-flex}.status-active,.status-completed,.status-approved{color:#05633a;background:#d9f5e6}.status-in_progress,.status-pending_approval,.status-running{color:#075d8c;background:#dceffc}.status-paused{color:#805c00;background:#fff2c8}.status-overdue,.status-delayed,.status-rejected,.status-failed,.status-cancelled{color:#911b20;background:#ffe2e3}.status-new,.status-not_started,.status-draft{color:#805c00;background:#fff2c8}.progress-cell{background:#eef1f2;border:1px solid #a9b2b7;min-width:70px;height:21px;display:block;position:relative;overflow:hidden}.progress-cell i{inset-block:0;background:#54c38b;position:absolute;right:0}.progress-cell b{z-index:1;text-align:center;font-size:calc(10px * var(--font-scale,1));line-height:19px;display:block;position:relative}.login-page{background:#f4f8f7;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 30% 20%,#1785ac 0,#08648f 35%,#063f64 100%);flex-direction:column;justify-content:center;align-items:flex-start;padding:8vw;display:flex}.energy-orb{border:3px solid #79e1c0;border-radius:50%;place-items:center;width:160px;height:160px;display:grid;box-shadow:0 0 0 15px #ffffff0d,0 0 70px #21d39e40}.energy-orb span{font:900 46px Georgia,serif}.login-brand h1{margin:30px 0 12px;font-size:calc(42px * var(--font-scale,1))}.login-brand p{opacity:.88;max-width:560px;line-height:2}.brand-lines{gap:7px;margin-top:30px;display:flex}.brand-lines i{background:#66d6ad;width:50px;height:4px}.brand-lines i:nth-child(2){background:#fff;width:80px}.brand-lines i:nth-child(3){background:#45aee0}.login-card{background:#fff;border:1px solid #c8d7dc;width:min(420px,100% - 40px);margin:auto;padding:38px;box-shadow:0 22px 70px #123d5830}.login-card .login-logo{width:62px;height:62px;margin:0 auto 20px;font-size:calc(18px * var(--font-scale,1))}.login-card h2{text-align:center;margin-bottom:8px;font-size:calc(25px * var(--font-scale,1))}.login-card>p{color:var(--muted);text-align:center;margin-bottom:24px}.login-card form{flex-direction:column;gap:18px;display:flex}.login-card form>label{flex-direction:column;gap:7px;font-weight:700;display:flex}.input-with-icon{background:#f8fbfb;border:1px solid #9aabb2;align-items:center;gap:8px;height:44px;padding:0 11px;display:flex}.input-with-icon input{background:0 0;border:0;outline:0;flex:1;min-width:0}.input-with-icon button{color:var(--muted);background:0 0;border:0}.login-submit{width:100%}.login-card>small{text-align:center;color:var(--muted);margin-top:18px;display:block}.administration-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.admin-card{background:#fff;border:1px solid #9ca5aa;align-items:center;gap:15px;min-height:105px;padding:15px;display:flex;box-shadow:0 2px 5px #213c5120}.admin-card:hover{border-color:var(--primary);transform:translateY(-1px)}.admin-card>span{color:#fff;background:var(--primary);border-radius:5px;place-items:center;width:53px;height:53px;display:grid}.admin-card h2{margin:0 0 7px;font-size:calc(15px * var(--font-scale,1))}.admin-card p{color:var(--muted);margin:0;font-size:calc(11px * var(--font-scale,1))}.settings-form,.style-editor{background:#fff;border:1px solid #969fa4;padding:18px}.settings-form .primary-button{margin:15px auto 0}.form-section-title{color:var(--primary-dark);background:#e5f2f6;border:1px solid #a6c5d0;margin-top:16px;padding:8px;font-weight:800}.notice-box{color:#6c5500;background:#fff8d9;border:1px solid #dec970;padding:12px}.backup-toolbar{background:#fff;border:1px solid #99a2a7;align-items:center;gap:12px;padding:12px;display:flex}.backup-toolbar p{color:var(--muted);margin:0}.restore-backup{color:#fff;cursor:pointer;background:#1b6a91;border:1px solid #0f4f70;align-items:center;gap:7px;min-height:35px;padding:6px 13px;font-weight:800;display:inline-flex}.restore-backup input{display:none}.checksum{direction:ltr;font-family:Consolas,monospace}.row-actions{justify-content:center;gap:5px;display:flex}.detail-drawer{background:#fff;border:1px solid #89959b;margin-top:8px}.detail-drawer>header{background:#e5f2f6;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.detail-drawer h2{margin:0;font-size:calc(15px * var(--font-scale,1))}.detail-grid{background:#c7cdd0;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.detail-grid>div{background:#fff;flex-direction:column;gap:6px;padding:10px;display:flex}.detail-grid span{color:var(--muted);font-size:calc(11px * var(--font-scale,1))}.subsection-heading{min-height:41px;color:var(--primary-dark);background:#e6f3ea;border:1px solid #a2baa9;justify-content:space-between;align-items:center;padding:5px 9px;display:flex}.subsection-heading h3{margin:0;font-size:calc(14px * var(--font-scale,1))}.subsection-heading button{min-height:30px}.load-editor{flex-direction:column;gap:4px;display:flex}.load-row{grid-template-columns:minmax(200px,2fr) repeat(3,minmax(90px,.7fr)) 38px;gap:5px;display:grid}.load-row input{background:var(--field);border:1px solid #839298;min-width:0;height:33px;padding:4px 7px}.calculation-strip{border:1px solid #86a0a8;grid-template-columns:repeat(3,1fr);display:grid}.calculation-strip span{background:#eef8f5;border-left:1px solid #9fb3b9;justify-content:space-between;padding:10px;display:flex}.calculation-strip b{color:var(--primary)}.engineering-summary{background:#fff;border:1px solid #8e999f;margin-top:9px}.engineering-summary>header{background:#e4f2f5;border-bottom:1px solid #9ca9ae;justify-content:space-between;align-items:center;min-height:43px;padding:7px 12px;display:flex}.engineering-summary h2{margin:0;font-size:calc(15px * var(--font-scale,1))}.metric-cards{background:#b8c5ca;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.metric-cards.four{grid-template-columns:repeat(4,1fr)}.metric-cards>div{background:#f8fcfb;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:74px;display:flex}.metric-cards span{color:var(--muted);font-size:calc(11px * var(--font-scale,1))}.metric-cards strong{color:var(--primary-dark);font-size:calc(17px * var(--font-scale,1))}.metric-cards.compact>div{min-height:60px}.load-table-editor{border:1px solid #8b979c;overflow-x:auto}.load-table-head,.load-table-row{grid-template-columns:minmax(220px,2.3fr) repeat(3,minmax(90px,.8fr)) repeat(2,minmax(110px,1fr)) 55px;min-width:820px;display:grid}.load-table-head{color:#fff;background:#68777e;font-size:calc(11px * var(--font-scale,1));font-weight:800}.load-table-head span,.load-table-row>*{border-bottom:1px solid #a8b0b4;border-left:1px solid #a8b0b4;justify-content:center;align-items:center;min-width:0;min-height:36px;padding:5px 7px;display:flex}.load-table-row input{color:#152129;background:var(--field);text-align:center;border:0;width:100%}.load-table-row input:first-child{text-align:right}.load-table-row strong{background:#f7faf9;font-size:calc(11px * var(--font-scale,1))}.add-engineering-row,.auto-design-button{color:#fff;background:var(--primary);border:1px solid var(--primary-dark);justify-content:center;align-items:center;gap:7px;min-height:37px;padding:6px 17px;font-weight:800;display:inline-flex}.source-load-banner{color:#074e69;background:#e4f5ef;border:1px solid #91bcae;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:7px 12px;display:flex}.source-load-banner span{font-weight:900}.source-load-banner b{background:#fff;border:1px solid #b8ccc6;padding:5px 12px}.technical-groups{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.technical-groups fieldset{background:#f8faf9;border:1px solid #829399;min-width:0;margin:0;padding:10px}.technical-groups legend{color:#fff;background:var(--primary);padding:4px 10px;font-weight:900}.technical-groups label{grid-template-columns:105px 1fr;align-items:center;gap:6px;margin-bottom:7px;font-size:calc(11px * var(--font-scale,1));font-weight:700;display:grid}.technical-groups input,.technical-groups select,.technical-groups textarea{background:var(--field);border:1px solid #829399;width:100%;min-width:0;min-height:31px;padding:4px 7px}.technical-groups textarea{resize:vertical;min-height:52px}.auto-design-button{background:#087e71;align-self:center}.status-needs_review{color:#805c00;background:#fff2c8}.document-lines{border:1px solid #8e999e}.line-header,.document-line{grid-template-columns:minmax(340px,5fr) minmax(75px,.8fr) minmax(75px,.8fr) minmax(90px,1fr) minmax(95px,1fr) 38px;gap:0;display:grid}.line-header{color:#fff;background:#657078;font-weight:700}.line-header span{text-align:center;border-left:1px solid #90999e;padding:7px}.document-line>*{border-top:0;border-bottom:1px solid #a9afb2;border-left:1px solid #a9afb2;border-right:0;min-width:0;min-height:43px;padding:5px}.document-line textarea,.document-line input{resize:vertical;background:#fbfbfb}.line-description{grid-template-columns:minmax(160px,.8fr) minmax(220px,1.5fr);gap:5px;display:grid}.line-description select,.line-description textarea{background:#fff;border:1px solid #a9afb2;min-width:0}.document-line strong{place-items:center;display:grid}.document-summary{grid-template-columns:1fr;gap:3px;width:min(450px,100%);display:grid}.document-summary label{background:#f8eeee;grid-template-columns:1fr 160px;align-items:center;min-height:35px;display:grid}.document-summary label>*{padding:7px 10px}.document-summary input{background:#fff;border:1px solid #a88f8f;height:31px}.document-summary .grand-total{color:#a20e14;background:#f8dcdc;font-size:calc(16px * var(--font-scale,1));font-weight:800}.items-group-action{background:#e9f4ea;border:1px solid #9eb5a3;align-items:center;gap:12px;width:min(1180px,100%);min-height:42px;margin:0 auto 5px;padding:5px 8px;display:flex}.items-group-action button{color:#fff;background:var(--success);border:1px solid #14733d;align-items:center;gap:6px;min-height:31px;padding:5px 13px;font-weight:800;display:inline-flex}.items-group-action span{color:var(--primary-dark);font-weight:700}.circular-body{line-height:1.9;min-height:260px!important}.circular-print-letter{background:#fff;border:1px solid #8e999e;padding:10px}.official-letter-head{min-height:92px;color:var(--primary);border-top:4px solid var(--primary);text-align:center;border-bottom:1px solid #9da8ad;grid-template-columns:1fr 110px 1fr;align-items:center;gap:12px;margin-bottom:15px;padding:8px 14px;display:grid}.official-letter-head>div{flex-direction:column;gap:3px;display:flex}.official-letter-head b{font-size:calc(20px * var(--font-scale,1))}.official-letter-head small{font-size:calc(9px * var(--font-scale,1))}.official-letter-head>strong{font:900 28px Georgia,serif}.attachment-panel{background:#fff;border:1px solid #93a0a6;margin:9px}.attachment-panel>header{background:#e8f2f6;border-bottom:1px solid #aeb8bc;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:6px 10px;display:flex}.attachment-panel h3{color:var(--primary-dark);align-items:center;gap:6px;margin:0;font-size:calc(13px * var(--font-scale,1));display:flex}.attachment-panel header>div{align-items:center;gap:6px;display:flex}.attachment-panel select{background:var(--field);border:1px solid #7f9097;min-height:31px}.attachment-upload{color:#fff;background:var(--success);cursor:pointer;border:1px solid #14723e;align-items:center;gap:6px;min-height:31px;padding:5px 12px;font-weight:800;display:inline-flex}.attachment-upload input{display:none}.attachment-message{color:var(--primary-dark);background:#eff8e9;margin:0;padding:6px 10px}.attachment-list article{border-bottom:1px solid #d5dadd;grid-template-columns:25px 1fr 34px 34px;align-items:center;gap:6px;min-height:45px;padding:5px 9px;display:grid}.attachment-list article>div{flex-direction:column;gap:3px;display:flex}.attachment-list small{color:var(--muted)}.attachment-list button{background:#f1f6f9;border:1px solid #8c989e;place-items:center;width:31px;height:31px;display:grid}.filter-strip,.report-filters,.notification-toolbar,.audit-filters,.access-toolbar{background:#fff;border:1px solid #9ba4a9;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:59px;padding:8px 12px;display:flex}.filter-strip label{min-width:360px}.filter-strip select{min-width:260px}.execution-board,.handover-section{background:#fff;border:1px solid #939da2;margin-top:9px}.stage-list{gap:6px;padding:8px;display:grid}.stage-card{background:#fbfbfb;border:1px solid #aeb6ba;border-right:5px solid #c6b25e;grid-template-columns:1fr 230px 360px;align-items:center;gap:12px;padding:9px;display:grid}.stage-card.stage-completed{border-right-color:var(--success);background:#eff9f3}.stage-card.stage-delayed{border-right-color:var(--danger);background:#fff0f0}.stage-card.stage-in_progress{border-right-color:#258cc4}.stage-main h3{margin:0 0 5px;font-size:calc(14px * var(--font-scale,1))}.stage-main p{color:var(--muted);margin:4px 0 0;font-size:calc(11px * var(--font-scale,1))}.stage-progress{align-items:center;gap:8px;display:flex}.stage-progress>div{background:#dfe4e5;flex:1;height:13px}.stage-progress i{background:var(--success);height:100%;display:block}.stage-actions{align-items:center;gap:5px;display:flex}.stage-actions select{flex:1}.stage-actions input{width:70px}.stage-actions select,.stage-actions input{background:var(--field);border:1px solid #8e9a9f;min-width:0;height:31px}.handover-list>div{border-bottom:1px solid #e0e3e5;grid-template-columns:30px 1fr 140px 110px 90px;align-items:center;min-height:43px;padding:7px 12px;display:grid}.handover-list>p{text-align:center;color:var(--muted);padding:15px}.large-empty{color:#5e6e78;background:#fff;border:1px solid #a2aaae;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:330px;display:flex}.large-empty h1{color:var(--primary);margin:0;font-size:calc(62px * var(--font-scale,1))}.large-empty h2,.large-empty p{margin:0}.report-filters label{grid-template-columns:auto 180px}.report-actions{gap:5px;display:flex}.report-sheet{background:#fff;border:1px solid #8d969a;margin-top:9px}.report-sheet>header{border-bottom:2px solid var(--primary);align-items:center;gap:14px;padding:12px;display:flex}.print-brand{color:#fff;background:var(--primary);place-items:center;width:55px;height:45px;font-family:Georgia,serif;font-weight:900;display:grid}.report-sheet header h2{margin:0 0 4px;font-size:calc(17px * var(--font-scale,1))}.report-sheet header p{color:var(--muted);margin:0;font-size:calc(10px * var(--font-scale,1))}.report-sheet header>strong{margin-inline-start:auto}.report-sheet footer{padding:8px;font-weight:700}.report-table td{max-width:320px}.notification-toolbar label{grid-template-columns:auto 220px;align-items:center;gap:7px;display:grid}.notification-toolbar input,.notification-toolbar select{background:var(--field);border:1px solid #819096;height:32px}.notice-count{background:#eef8e8;border:1px solid #afc69f;align-items:center;gap:8px;min-width:120px;padding:6px 10px;display:flex}.notice-count b{color:var(--primary);font-size:calc(21px * var(--font-scale,1))}.notice-count span{font-size:calc(11px * var(--font-scale,1))}.notification-list{background:#fff;border:1px solid #959fa4;margin-top:8px}.notification-list article{cursor:pointer;border-bottom:1px solid #d9dddf;grid-template-columns:42px 1fr 25px;align-items:center;gap:10px;min-height:75px;padding:10px 12px;display:grid}.notification-list article.unread{border-right:4px solid var(--warning);background:#fff8d9}.notification-list article.read{opacity:.76}.notice-icon{width:36px;height:36px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.notification-list article header{align-items:center;gap:10px;display:flex}.notification-list h3{margin:0;font-size:calc(14px * var(--font-scale,1))}.notification-list time{color:var(--muted);margin-inline-start:auto;font-size:calc(10px * var(--font-scale,1))}.notification-list p{margin:6px 0}.notification-list small{color:var(--muted)}.access-toolbar label{grid-template-columns:auto 280px;align-items:center;gap:8px;display:grid}.access-toolbar select,.access-toolbar input{background:var(--field);border:1px solid #7f8d93;height:33px}.access-search{position:relative}.access-search svg{position:absolute;right:90px}.access-search input{padding-right:32px}.permission-tree{background:#fff;border:1px solid #919a9f;min-height:350px;margin-top:8px;padding:8px}.permission-tree article{border:1px solid #cad0d3;margin-bottom:7px}.permission-tree article>header{background:#edf5f8;justify-content:space-between;align-items:center;min-height:39px;padding:6px 10px;display:flex}.permission-tree h2{color:var(--primary-dark);margin:0;font-size:calc(14px * var(--font-scale,1))}.permission-tree article>header label{align-items:center;gap:6px;font-size:calc(11px * var(--font-scale,1));display:flex}.permission-tree article>div{background:#e0e3e5;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.permission-tree article>div label{background:#fff;grid-template-columns:22px 1fr;align-items:center;min-height:45px;padding:5px 9px;display:grid}.permission-tree label small{color:var(--muted);text-align:right;direction:ltr;grid-column:2;font:9px Consolas,monospace}.permission-tree input{width:17px;height:17px;accent-color:var(--success)}.reference-tabs{background:#e9edef;border-bottom:1px solid #9ca6aa;justify-content:center;gap:4px;padding:6px;display:flex}.reference-tabs button{min-width:130px}.reference-tabs button.active{color:#fff;background:var(--primary)}.audit-filters input{max-width:420px}.audit-properties{direction:ltr;max-width:360px;font:10px Consolas,monospace}.style-editor{grid-template-columns:320px 1fr;gap:18px;display:grid}.style-fields{flex-direction:column;gap:11px;display:flex}.style-fields label{grid-template-columns:1fr 110px}.style-fields input[type=color]{border:1px solid #809095;width:110px;height:35px}.style-preview{background:#f4f4f4;border:1px solid #849095;padding:12px}.preview-header{color:#fff;background:var(--primary);text-align:center;padding:8px;font-weight:800}.preview-form{align-items:end;gap:10px;padding:15px;display:flex}.preview-form label{flex-direction:column;flex:1;gap:5px;display:flex}.preview-form input{background:var(--field);border:1px solid #7b8b92;height:32px}.preview-form button{color:#fff;background:var(--success);border:0;height:32px}.style-preview table{border-collapse:collapse;width:100%}.style-preview td,.style-preview th{border:1px solid #939da2;padding:6px}.style-editor>.modal-actions{grid-column:1/-1}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.plain-fieldset:disabled{opacity:.94}.plain-fieldset:disabled input,.plain-fieldset:disabled select,.plain-fieldset:disabled textarea{color:#111;opacity:1}.template-field-list{flex-direction:column;gap:5px;display:flex}.template-field-row{background:#f8fafb;border:1px solid #b3bcc0;grid-template-columns:minmax(150px,1.4fr) minmax(120px,1fr) 130px minmax(130px,1fr) 90px 38px;align-items:center;gap:5px;padding:5px;display:grid}.template-field-row input,.template-field-row select{background:var(--field);border:1px solid #839298;min-width:0;height:33px}.inline-check{justify-content:center;align-items:center;gap:5px;display:flex}.checkbox-field input,.inline-check input{width:18px;height:18px;accent-color:var(--success)}.load-study-selector{background:#f8f8f7;border:1px solid #b5bcbe;grid-template-columns:minmax(420px,1.4fr) minmax(280px,.9fr);align-items:center;gap:10px;margin-bottom:7px;padding:9px 12px;display:grid}.load-study-selector label{grid-template-columns:110px 1fr;align-items:center;gap:8px;font-weight:800;display:grid}.load-study-selector select{background:#b9e4e5;border:1px solid #527982;border-radius:18px;min-width:0;height:35px;padding:4px 10px;font-weight:700}.selected-assignment{color:#07517b;background:#fff9dc;border:1px solid #d6c878;justify-content:center;align-items:center;min-height:34px;padding:5px 10px;font-size:calc(12px * var(--font-scale,1));display:flex}.direct-load-panel{background:#fff;border:1px solid #a9b0b3;padding:10px}.direct-load-head,.direct-load-row{grid-template-columns:50px minmax(180px,1.5fr) 90px 110px 120px 130px 145px 155px 72px;min-width:980px;display:grid}.direct-load-panel{overflow-x:auto}.direct-load-head{color:#fff;background:#737373;font-weight:800}.direct-load-head span,.direct-load-row>*{border-bottom:1px solid #adb3b6;border-left:1px solid #adb3b6;justify-content:center;align-items:center;min-width:0;min-height:39px;padding:5px 7px;display:flex}.direct-load-row input{text-align:center;background:#fbfcfd;border:1px solid #b5c3ca;border-radius:14px;width:100%;height:31px;padding:4px 8px}.direct-load-row input:nth-child(2){text-align:right}.direct-load-row b{background:#fff;font-size:calc(11px * var(--font-scale,1))}.direct-load-row button{color:#fff;background:#e51b23;border:4px solid #fff;gap:4px;font-weight:800}.direct-load-total{color:#111;background:#f5dada;grid-template-columns:50px minmax(180px,1.5fr) 90px 110px 120px 130px 145px 155px 72px;min-width:980px;font-weight:900;display:grid}.direct-load-total span{text-align:center;grid-column:1/6;padding:8px}.direct-load-total b{border-right:1px solid #beaaaa;place-items:center;display:grid}.direct-load-panel footer{justify-content:flex-start;min-width:980px;padding-top:8px;display:flex}.direct-load-panel footer button{color:#fff;background:#0ca54c;border:0;align-items:center;gap:7px;min-height:40px;padding:7px 18px;font-weight:900;display:inline-flex;box-shadow:0 2px 5px #0002}.direct-load-empty{min-width:980px;min-height:120px;color:var(--muted);background:#fafafa;place-items:center;display:grid}.account-tree{min-height:450px;padding:10px 14px;overflow:auto}.account-tree ul{margin:0;padding:0 27px 0 0;list-style:none;position:relative}.account-tree ul:before{content:"";border-right:1px dotted #829099;position:absolute;top:0;bottom:14px;right:13px}.account-tree>ul{padding-right:0}.account-tree>ul:before{display:none}.account-tree li{position:relative}.account-tree li:before{content:"";border-top:1px dotted #829099;width:14px;position:absolute;top:20px;right:-14px}.account-tree>ul>li:before{display:none}.tree-node{background:#fff;border:1px solid #bac3c7;align-items:center;gap:7px;min-height:39px;margin:3px 0;padding:4px 8px;display:flex}.tree-node>button{color:#126b91;background:#eef6f9;border:1px solid #a5b8c0;place-items:center;width:27px;height:27px;padding:0;display:grid}.tree-node>button svg{width:16px}.tree-node>svg{color:#d69c00;width:19px}.root-node{color:#fff;background:#155b80;border-color:#0b4767}.root-node>svg{color:#fff}.section-node{color:#073e5c;background:#dcebf3;font-size:calc(13px * var(--font-scale,1))}.group-node{background:#f2f7f8}.group-node>span{font-weight:800}.branch-check{color:#1c2b32;background:#fff;border:1px solid #a5b0b5;align-items:center;gap:6px;margin-inline-start:auto;padding:3px 8px;font-size:calc(10px * var(--font-scale,1));display:flex}.branch-check.partial{color:#7b5600;background:#fff3c5;border-color:#d0b34f}.branch-check input,.permission-node input{width:17px;height:17px;accent-color:var(--success)}.permission-leaves{grid-template-columns:repeat(3,minmax(220px,1fr));gap:3px 7px;display:grid}.permission-leaves:before,.permission-leaves li:before{display:none}.permission-node{min-height:42px;margin:0}.permission-node small{color:var(--muted);direction:ltr;margin-inline-start:auto;font:9px Consolas,monospace}.tree-line{border-top:1px dotted #8c999f;width:11px}@media (width<=1000px){.technical-groups{grid-template-columns:repeat(2,1fr)}.permission-leaves{grid-template-columns:repeat(2,minmax(200px,1fr))}.stat-grid,.administration-grid{grid-template-columns:repeat(2,1fr)}.stage-card{grid-template-columns:1fr}.permission-tree article>div{grid-template-columns:repeat(2,1fr)}.style-editor{grid-template-columns:1fr}}@media (width<=720px){.technical-groups,.metric-cards,.metric-cards.four{grid-template-columns:1fr}.source-load-banner{flex-direction:column;align-items:stretch;gap:5px}.load-study-selector,.load-study-selector label,.permission-leaves{grid-template-columns:1fr}.permission-node small{display:none}body{font-size:calc(13px * var(--font-scale,1))}.brand-copy span,.user-chip small{display:none}.user-chip{padding:4px}.user-chip>span strong{text-overflow:ellipsis;white-space:nowrap;max-width:95px;overflow:hidden}.mobile-menu{display:grid}.ribbon-nav{z-index:80;flex-direction:column;align-items:stretch;width:250px;transition:all .2s;position:fixed;top:48px;bottom:27px;right:0;overflow-y:auto;transform:translate(102%);box-shadow:-10px 0 30px #0004}.ribbon-nav.open{transform:translate(0)}.ribbon-nav a,.logout-ribbon{border-bottom:1px solid #bbc5d4;flex-direction:row;justify-content:flex-start;width:100%;min-height:58px;padding:10px 18px}.ribbon-menu{width:100%;min-height:auto;display:block}.ribbon-menu-trigger{flex-direction:row;justify-content:flex-start;width:100%;min-height:58px;padding:10px 18px}.ribbon-submenu{width:100%;box-shadow:none;border-width:1px 0;position:static}.task-report-filters,.task-summary-grid,.task-detail-grid,.task-collaboration,.task-detail-grid>article{grid-template-columns:1fr}.task-detail-grid h3,.task-detail-grid article>div.wide{grid-column:auto}.task-timeline>article div{grid-template-columns:1fr}.task-detail-toolbar button{flex:140px}.logout-ribbon{margin-top:auto}.app-workspace{background:#f3f4f3;padding:7px 7px 42px}.page-title{justify-content:flex-start;padding-right:45px}.page-title h1{font-size:calc(17px * var(--font-scale,1))}.page-title p{text-align:right}.toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{grid-template-columns:repeat(3,1fr);display:grid}.tool-button{padding:5px 7px}.toolbar-extra,.context-actions{flex-wrap:wrap;justify-content:center}.table-controls{flex-wrap:wrap}.table-search{flex-basis:100%;max-width:none}.results-count{margin-inline-start:0}.form-grid{grid-template-columns:1fr}.form-grid .full-field{grid-column:auto}.form-grid label,.settings-form label{grid-template-columns:1fr;gap:4px}.form-grid label>span,.settings-form label>span{text-align:right}.modal-backdrop{padding:6px}.modal-card{max-height:calc(100vh - 12px)}.modal-body{padding:10px}.stat-grid,.dashboard-grid,.administration-grid{grid-template-columns:1fr}.stat-card{min-height:75px}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:25px}.detail-grid,.calculation-strip{grid-template-columns:1fr}.load-row{grid-template-columns:1fr 1fr}.load-row input:first-child{grid-column:1/-1}.document-lines{overflow-x:auto}.line-header,.document-line{min-width:780px}.filter-strip label{grid-template-columns:1fr;min-width:100%}.filter-strip select{min-width:0}.report-filters,.notification-toolbar,.access-toolbar{flex-direction:column;align-items:stretch}.report-filters label,.notification-toolbar label,.access-toolbar label{grid-template-columns:110px 1fr}.permission-tree article>div{grid-template-columns:1fr}.style-editor{padding:10px}.style-fields label{grid-template-columns:1fr 110px}.status-bar span:nth-child(n+3){display:none}}@media print{:root{--ui-scale:1;background:#fff}.app-header,.status-bar,.toolbar,.table-controls,.table-footer,.report-filters,.notification-toolbar,.filter-strip,.page-title,.context-actions,button{display:none!important}.app-workspace,.page-container{background:#fff;width:100%;max-width:none;margin:0;padding:0}.table-panel,.report-sheet{border:0}.table-scroll{overflow:visible}.data-table{min-width:0;font-size:9pt}.data-table th{color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact;position:static;background:#ddd!important}.data-table th,.data-table td{padding:3px}.circulars-page>:not(.modal-backdrop){display:none!important}.circulars-page .modal-backdrop{background:#fff;padding:0;display:block;position:static}.circulars-page .modal-card{width:100%;max-width:none;max-height:none;box-shadow:none;border:0;overflow:visible}.circulars-page .modal-header,.circulars-page .modal-actions{display:none!important}.circulars-page .modal-body{padding:0;overflow:visible}.circulars-page .circular-print-letter{border:1px solid #555;min-height:260mm;padding:7mm}.circulars-page .form-grid label{grid-template-columns:105px 1fr;display:grid}.circulars-page input,.circulars-page select,.circulars-page textarea{color:#000;opacity:1;border:0;background:#fff!important}.circulars-page .circular-body{min-height:130mm!important}@page{size:A4;margin:12mm}}.approval-review-panel{background:#f7fbfd;border:1px solid #9aa6b1;margin:8px 0;padding:10px}.approval-review-panel>header{border-bottom:1px solid #b8c5cf;justify-content:space-between;align-items:center;margin-bottom:9px;padding-bottom:7px;display:flex}.approval-review-panel h3{color:#075d8c;margin:0}.approval-review-panel header span{background:#b9e4e5;border:1px solid #789;padding:4px 18px;font-weight:700}.approval-review-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px 14px;display:grid}.approval-review-grid label{grid-template-columns:110px 1fr;align-items:start;gap:8px;display:grid}.approval-review-grid label>span{font-weight:700}.approval-review-grid label>strong{background:#fff;border:1px solid #aab7c1;min-height:30px;padding:5px 8px}.approval-review-grid .full-field{grid-column:1/-1}.approval-review-grid textarea{resize:vertical;border:1px solid #aab7c1;min-height:65px;padding:7px}.rejection-field textarea{background:#fff7f7;border-color:#cf9898}.tool-button.danger{color:#9d171d}.tool-button.success{color:#05633a}@media (width<=850px){.approval-review-grid,.approval-review-grid label{grid-template-columns:1fr}.approval-review-grid .full-field{grid-column:auto}}.task-report-commandbar{background:#f4f4f4;border:1px solid #b8bec4;justify-content:center;align-items:center;gap:8px;margin:6px 0;padding:7px;display:flex}.task-report-commandbar>button{background:#fff;border:1px solid #8d979e;justify-content:center;align-items:center;gap:6px;min-width:105px;height:36px;font-weight:700;display:flex}.task-report-commandbar>button:disabled{opacity:.45}.task-report-commandbar .primary-report-button{background:#e6f5ff;border:2px solid #087cc2}.report-mode{border-left:1px solid #bbb;align-items:center;gap:9px;padding-left:12px;display:flex}.report-mode>span{font-weight:700}.report-mode label{align-items:center;gap:4px;display:flex}.task-report-filter-panel{background:#eef2f5;border:1px solid #b9c0c6;grid-template-columns:repeat(3,minmax(240px,1fr));gap:9px;padding:8px;display:grid}.task-filter-column{background:#fafafa;border:1px solid #bdc5cc;flex-direction:column;gap:5px;padding:7px;display:flex}.task-filter-column h3{text-align:center;background:#d9edef;border-bottom:1px solid #8ca5ad;margin:0 0 3px;padding:5px;font-size:calc(14px * var(--font-scale,1))}.task-filter-column>label:not(.report-check){grid-template-columns:105px 1fr;align-items:center;gap:6px;display:grid}.task-filter-column label>span{font-size:calc(13px * var(--font-scale,1));font-weight:700}.task-filter-column select,.task-filter-column input{background:#fff;border:1px solid #8b969f;min-width:0;height:29px;padding:2px 7px}.task-filter-column .report-check{justify-content:center;align-items:center;gap:7px;padding:5px;font-weight:700;display:flex}.report-placeholder{color:#55717f;background:#f8fafb;border:1px dashed #98a5af;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:180px;margin-top:10px;display:flex}.task-report-cards{margin:9px 0}.task-report-results .data-table{min-width:1250px}.task-report-results th,.task-report-results td{white-space:nowrap}.task-report-results td:nth-child(4){white-space:normal;min-width:230px}.table-view-button{color:#075d8c;background:#e4f4fa;border:1px solid #2488ad;align-items:center;gap:4px;padding:3px 8px;font-weight:700;display:inline-flex}@media (width<=1000px){.task-report-filter-panel{grid-template-columns:1fr 1fr}.task-report-commandbar{flex-wrap:wrap}}@media (width<=650px){.task-report-filter-panel{grid-template-columns:1fr}.task-report-commandbar>button{min-width:90px}.task-filter-column>label:not(.report-check){grid-template-columns:1fr}}

/* Administrative requests: only layout additions; colors/controls inherit the official GreenEco UI. */
.ar-items-section{border-top:1px solid var(--line-soft);padding-top:10px}
.ar-items-head,.ar-item-row{grid-template-columns:minmax(230px,2fr) 100px 120px 150px 38px;gap:7px;align-items:center;display:grid}
.ar-items-head{color:#4c5961;padding:0 2px 4px;font-size:calc(11px * var(--font-scale,1));font-weight:700}
.ar-item-row{margin-bottom:7px}
.ar-item-row input{border:1px solid #8b979f;background:#b9e8ea;width:100%;min-height:31px;padding:5px 7px;font:inherit}
.ar-filter-bar{align-items:center;gap:7px;display:flex;flex-wrap:wrap}
.ar-filter-bar select{border:1px solid #8b979f;background:#eef6fb;min-height:33px;padding:4px 8px;font:inherit;font-size:calc(12px * var(--font-scale,1))}
@media(max-width:760px){.ar-items-head{display:none}.ar-item-row{grid-template-columns:1fr 1fr}.ar-item-row input:first-child{grid-column:1/-1}.ar-filter-bar{width:100%}}

/* GreenEco 3.2.9 — load study solar / storage split */
.load-energy-rule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#aebbc1;border:1px solid #8e9da4;margin:8px 0}
.load-energy-rule>div{background:#f7fbfc;display:flex;flex-direction:column;gap:4px;padding:9px 12px}
.load-energy-rule strong{color:var(--primary-dark);font-size:calc(13px * var(--font-scale,1))}
.load-energy-rule span{color:var(--muted);font-size:calc(11px * var(--font-scale,1))}
.load-energy-split .direct-load-head,.load-energy-split .direct-load-row{grid-template-columns:46px minmax(175px,1.6fr) 72px 92px 104px 118px 118px 112px 135px 135px 130px 68px;min-width:1320px}
.load-energy-split .direct-load-empty,.load-energy-split footer{min-width:1320px}
.load-energy-split .direct-load-row b.solar-energy{background:#f3fbf2}
.load-energy-split .direct-load-row b.storage-energy{background:#fff7e8}
.load-energy-summary{min-width:1320px;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:1px;background:#aebbc1;border-top:1px solid #8e9da4}
.load-energy-summary>div{background:#f8fbfc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:68px;padding:8px}
.load-energy-summary span{color:var(--muted);font-size:calc(11px * var(--font-scale,1))}
.load-energy-summary strong{color:var(--primary-dark);font-size:calc(16px * var(--font-scale,1))}
.load-energy-summary .storage-summary{background:#fff7e8}
.load-energy-summary .daily-summary{background:#edf8f2}
.load-monthly-note{min-width:1320px;background:#f6f7f8;border-top:1px solid #d4dadd;padding:7px 12px;text-align:left;font-size:calc(11px * var(--font-scale,1))}
@media(max-width:760px){.load-energy-rule{grid-template-columns:1fr}}

/* GreenEco 3.3.0 — Technical Design aligned with Load Study energy split */
.technical-load-source{border:1px solid #aab8c1;background:#fff;margin:8px 0 10px}
.technical-load-source-head{display:flex;align-items:center;gap:10px;background:#edf4f7;border-bottom:1px solid #c7d1d8;padding:9px 12px}
.technical-load-source-head>div{display:flex;flex-direction:column;gap:2px}
.technical-load-source-head strong{font-size:calc(13px * var(--font-scale,1));color:var(--primary-dark)}
.technical-load-source-head span{font-size:calc(11px * var(--font-scale,1));color:var(--muted)}
.technical-load-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c8d2d8}
.technical-load-cards>div{background:#f9fbfc;min-height:74px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px}
.technical-load-cards span{font-size:calc(11px * var(--font-scale,1));color:var(--muted);text-align:center}
.technical-load-cards strong{font-size:calc(16px * var(--font-scale,1));color:var(--primary-dark)}
.technical-load-cards .storage-card{background:#fff7e8}
.technical-load-cards .daily-card{background:#edf8f2}
.technical-design-logic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}
.logic-panel{border:1px solid #cbd5dc;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.logic-panel strong{font-size:calc(13px * var(--font-scale,1))}
.logic-panel span{font-size:calc(11px * var(--font-scale,1));color:#5f6d75;line-height:1.6}
.logic-panel.panel-solar{background:#f1f8ef}
.logic-panel.panel-battery{background:#fff7e8}
@media(max-width:900px){.technical-load-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-design-logic{grid-template-columns:1fr}}

/* GreenEco 3.3.2 — Technical Design layout refinement */
.technical-design-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
.technical-design-grid fieldset{
  min-width:0 !important;
  margin:0 !important;
  padding:12px 14px 14px !important;
  border:1px solid #8ea0ab !important;
  background:#fff !important;
}
.technical-design-grid fieldset legend{
  padding:4px 10px !important;
  background:var(--primary,#0d7295) !important;
  color:#fff !important;
  font-weight:700 !important;
  font-size:13px !important;
}
.technical-design-grid fieldset > div{
  display:grid !important;
  grid-template-columns:150px minmax(120px,1fr) !important;
  gap:8px 10px !important;
  align-items:center !important;
}
.technical-design-grid label{
  font-size:12px !important;
  font-weight:700 !important;
  color:#1a2730 !important;
  margin:0 !important;
}
.technical-design-grid input,
.technical-design-grid select,
.technical-design-grid textarea{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.technical-design-grid textarea{
  min-height:70px !important;
  resize:vertical !important;
}
.technical-design-grid .calculated-field input,
.technical-design-grid input[readonly],
.technical-design-grid input:disabled{
  background:#edf4f6 !important;
  font-weight:700 !important;
  color:#0c5872 !important;
}
.technical-design-grid fieldset:nth-of-type(1),
.technical-design-grid fieldset:nth-of-type(2){
  min-height:245px;
}
.technical-design-grid fieldset:nth-of-type(3),
.technical-design-grid fieldset:nth-of-type(4){
  min-height:245px;
}
.technical-design-grid fieldset:nth-of-type(2) > div{
  grid-template-columns:175px minmax(120px,1fr) !important;
}
.technical-design-grid + .auto-calc-button,
.technical-design-grid ~ .auto-calc-button{
  margin:14px auto 8px !important;
}
.technical-load-source{
  margin-bottom:12px !important;
}
.technical-load-cards{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media(max-width:980px){
  .technical-design-grid{
    grid-template-columns:1fr !important;
  }
  .technical-design-grid fieldset{
    min-height:auto !important;
  }
}
@media(max-width:640px){
  .technical-design-grid fieldset > div,
  .technical-design-grid fieldset:nth-of-type(2) > div{
    grid-template-columns:1fr !important;
  }
  .technical-load-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* GreenEco 3.3.3 — Technical Design compact/aligned layout */

/* الصف العلوي: بطاقات صغيرة حسب المحتوى */
.technical-load-source{
  margin:8px 0 12px !important;
}
.technical-load-source-head{
  min-height:42px !important;
  padding:7px 11px !important;
}
.technical-load-cards.compact-source-cards{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  background:transparent !important;
  padding:9px !important;
}
.technical-load-cards.compact-source-cards > div{
  min-height:62px !important;
  padding:8px 10px !important;
  border:1px solid #c6d1d8 !important;
  border-radius:3px !important;
  justify-content:center !important;
}
.technical-load-cards.compact-source-cards span{
  font-size:10.5px !important;
}
.technical-load-cards.compact-source-cards strong{
  font-size:14px !important;
  line-height:1.2 !important;
}
.technical-calc-note{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  padding:6px 10px 8px;
  border-top:1px solid #d7dfe4;
  background:#fbfcfd;
  color:#5b6871;
  font-size:calc(10.5px * var(--font-scale,1));
}
.technical-calc-note b{
  color:#075d79;
}

/* الأقسام الرئيسية 2×2 */
.technical-groups{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:start !important;
}
.technical-groups > fieldset{
  min-width:0 !important;
  margin:0 !important;
  padding:12px 12px 13px !important;
  background:#fff !important;
  border:1px solid #8fa1ac !important;
}
.technical-groups > fieldset > legend{
  padding:4px 10px !important;
  background:#0878a0 !important;
  color:#fff !important;
  font-size:12.5px !important;
  font-weight:700 !important;
}

/* الألواح / الانفرتر: صفوف متساوية ومحاذاة */
.technical-solar-section,
.technical-inverter-section,
.technical-protection-section{
  display:grid !important;
  grid-template-columns:1fr !important;
  row-gap:8px !important;
}
.technical-solar-section > label,
.technical-inverter-section > label,
.technical-protection-section > label{
  display:grid !important;
  grid-template-columns:145px minmax(130px,1fr) !important;
  gap:9px !important;
  align-items:center !important;
  margin:0 !important;
}

/* البطاريات: حقلان في كل صف */
.technical-battery-section{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:12px !important;
  row-gap:9px !important;
}
.technical-battery-section > legend{
  grid-column:1/-1;
}
.technical-battery-section > label{
  display:grid !important;
  grid-template-columns:minmax(110px,1fr) minmax(95px,125px) !important;
  gap:7px !important;
  align-items:center !important;
  margin:0 !important;
  min-width:0 !important;
}
.technical-battery-section > label > span{
  line-height:1.25 !important;
  white-space:normal !important;
}
.technical-battery-section input{
  text-align:center !important;
}

/* جميع الحقول بنفس الارتفاع */
.technical-groups input,
.technical-groups select{
  height:34px !important;
  min-height:34px !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
}
.technical-groups textarea{
  width:100% !important;
  box-sizing:border-box !important;
}
.technical-groups label > span{
  font-size:11px !important;
  font-weight:700 !important;
  color:#17242d !important;
}
.technical-groups .calculated-field input{
  background:#edf4f6 !important;
  color:#075d79 !important;
  font-weight:800 !important;
  cursor:default !important;
}

/* الحمايات: النصوص الكبيرة تبقى مرتبة */
.technical-protection-section > label:has(textarea){
  grid-template-columns:145px minmax(180px,1fr) !important;
}

/* الشاشات الأصغر */
@media(max-width:1050px){
  .technical-battery-section{
    grid-template-columns:1fr !important;
  }
  .technical-battery-section > legend{
    grid-column:auto;
  }
}
@media(max-width:820px){
  .technical-groups{
    grid-template-columns:1fr !important;
  }
  .technical-load-cards.compact-source-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* GreenEco 3.3.4 — Classic permission tree inspired by enterprise role screens */
.permissions-workbench{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:10px;
  margin-top:8px;
  min-height:560px;
}
.permissions-role-panel,
.permissions-tree-panel{
  background:#fff;
  border:1px solid #929da3;
  min-width:0;
}
.permissions-role-panel{
  display:flex;
  flex-direction:column;
}
.permissions-role-panel>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px;
  background:#edf3f6;
  border-bottom:1px solid #b8c2c8;
}
.permissions-role-panel>header>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.permissions-role-panel>header strong{font-size:calc(13px * var(--font-scale,1));color:#173743}
.permissions-role-panel>header small{font-size:calc(10px * var(--font-scale,1));color:#6d7b82}
.role-add-button{
  width:34px;height:34px;padding:0;
  display:grid;place-items:center;
  border:1px solid #72909e;background:#fff;color:#08739a;
}
.role-list{
  flex:1;
  overflow:auto;
  padding:5px;
}
.role-list-item{
  width:100%;
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:center;
  gap:7px;
  text-align:right;
  border:1px solid transparent;
  border-bottom-color:#e0e5e8;
  background:#fff;
  padding:7px 8px;
  cursor:pointer;
}
.role-list-item:hover{background:#f2f7f9}
.role-list-item.active{
  background:#d9eef7;
  border-color:#6ca4bd;
  box-shadow:inset -4px 0 0 #0c7ba3;
}
.role-folder{color:#d39b00;display:grid;place-items:center}
.role-list-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.role-list-copy strong{font-size:calc(11.5px * var(--font-scale,1))}
.role-list-copy small{font-size:calc(9.5px * var(--font-scale,1));color:#6f7b81}
.permissions-role-panel>footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:7px;
  border-top:1px solid #d3dade;
  background:#f7f9fa;
}
.permissions-role-panel>footer button{
  min-height:32px;
  font-size:calc(11px * var(--font-scale,1));
}
.permissions-tree-panel{
  display:flex;
  flex-direction:column;
}
.permissions-tree-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:7px 10px;
  padding:7px 8px;
  border-bottom:1px solid #aeb9bf;
  background:#f2f5f7;
}
.permissions-search{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.permissions-search input{
  width:100%;
  height:33px;
  min-width:0;
  border:1px solid #81939c;
  background:#fff;
  padding:4px 8px;
}
.permissions-summary{
  min-width:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#fff;
  border:1px solid #aeb8bd;
  padding:4px 9px;
  font-size:calc(10px * var(--font-scale,1));
}
.permissions-summary b{color:#08759c;font-size:calc(13px * var(--font-scale,1))}
.permissions-tree-actions{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.permissions-tree-actions button{
  min-height:30px;
  border:1px solid #87979e;
  background:#fff;
  padding:4px 9px;
  font-size:calc(10.5px * var(--font-scale,1));
}
.permissions-tree-actions button:hover{background:#eaf3f7}
.permissions-tree-actions .permission-save-button{
  margin-inline-start:auto;
  color:#fff;
  background:var(--primary);
  border-color:var(--primary-dark);
}
.permission-tree-classic{
  flex:1;
  margin:0;
  border:0;
  min-height:470px;
  padding:8px 10px 15px;
  overflow:auto;
}
.permission-tree-classic ul{
  list-style:none;
  margin:0;
  padding:0 25px 0 0;
  position:relative;
}
.permission-tree-classic ul:before{
  content:"";
  position:absolute;
  right:11px;
  top:0;
  bottom:15px;
  border-right:1px dotted #8c999f;
}
.permission-tree-classic>ul{padding-right:0}
.permission-tree-classic>ul:before{display:none}
.permission-tree-classic li{position:relative}
.permission-tree-classic li:before{
  content:"";
  position:absolute;
  right:-14px;
  top:18px;
  width:14px;
  border-top:1px dotted #8c999f;
}
.permission-tree-classic>ul>li:before{display:none}
.permission-tree-classic .tree-node{
  min-height:34px;
  margin:2px 0;
  padding:3px 6px;
  border:0;
  border-bottom:1px solid #e3e7e9;
  gap:5px;
}
.classic-root-node{
  color:#fff!important;
  background:#17648c!important;
  border:1px solid #0e506f!important;
  min-height:38px!important;
}
.classic-section-node{
  background:#e1eef5!important;
  color:#123f56!important;
  border:1px solid #b4cbd7!important;
}
.classic-group-node{
  background:#f6f8f9!important;
  border:1px solid #d3dade!important;
}
.permission-tree-classic .tree-expander{
  width:23px;height:23px;
  border:1px solid #9eb0b9;
  background:#fff;
  color:#0b6d93;
  padding:0;
  display:grid;place-items:center;
  flex:0 0 23px;
}
.permission-tree-classic .node-title,
.permission-tree-classic .group-node>span{font-weight:800}
.permission-tree-classic .node-description{
  color:#738189;
  font-size:calc(9px * var(--font-scale,1));
  margin-inline-start:4px;
}
.classic-root-node .node-description{color:#dbeaf1}
.classic-branch-check{
  margin-inline-start:auto;
  border:0;
  background:transparent;
  padding:2px 4px;
}
.classic-branch-check input{
  width:16px;height:16px;
}
.classic-branch-check span{
  min-width:30px;
  text-align:center;
  color:#5e6c73;
  font-size:calc(9px * var(--font-scale,1));
}
.classic-root-node .classic-branch-check span{color:#fff}
.classic-permission-leaves{
  display:block!important;
}
.classic-permission-leaves:before{display:block!important}
.classic-permission-leaves li:before{display:block!important}
.classic-permission-node{
  display:grid!important;
  grid-template-columns:12px 18px minmax(170px,1fr) minmax(170px,.8fr);
  align-items:center;
  gap:6px!important;
  min-height:32px!important;
  background:#fff!important;
  border-bottom:1px solid #edf0f2!important;
  margin:0!important;
}
.classic-permission-node:hover{background:#f5fafc!important}
.classic-permission-node input{width:15px;height:15px}
.tree-leaf-icon{
  color:#96a3a9;
  font-size:calc(17px * var(--font-scale,1));
  line-height:1;
}
.permission-copy{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
}
.permission-copy strong{font-size:calc(11px * var(--font-scale,1));color:#152a34}
.permission-copy small{font-size:calc(9px * var(--font-scale,1));color:#78858b}
.classic-permission-node code{
  direction:ltr;
  text-align:left;
  color:#62727a;
  font:9px Consolas,monospace;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.permissions-empty-state{
  flex:1;
  min-height:470px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#667780;
}
.permissions-empty-state h2,
.permissions-empty-state p{margin:0}
.permissions-empty-state h2{font-size:calc(16px * var(--font-scale,1));color:#164c64}
.permissions-empty-state p{font-size:calc(11px * var(--font-scale,1))}
@media(max-width:900px){
  .permissions-workbench{grid-template-columns:220px minmax(0,1fr)}
  .classic-permission-node{grid-template-columns:12px 18px minmax(150px,1fr)}
  .classic-permission-node code{display:none}
}
@media(max-width:700px){
  .permissions-workbench{grid-template-columns:1fr}
  .permissions-role-panel{max-height:260px}
  .permissions-tree-toolbar{grid-template-columns:1fr}
  .permissions-summary{justify-self:start}
  .classic-permission-node{grid-template-columns:12px 18px 1fr}
  .permission-copy small{display:none}
}

/* GreenEco 3.3.5 — Group/User permission assignment */
.permissions-workbench-users{grid-template-columns:245px 220px minmax(0,1fr)!important}
.permissions-selector-panel,.permissions-members-panel{background:#fff;border:1px solid #929da3;min-width:0;display:flex;flex-direction:column}
.permissions-selector-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #aeb9bf;background:#eef3f5}
.permissions-selector-tabs button{border:0;border-left:1px solid #c4cdd2;min-height:38px;background:transparent;font-size:calc(11px * var(--font-scale,1));font-weight:700;cursor:pointer}
.permissions-selector-tabs button.active{background:#147da8;color:#fff}
.permissions-selector-panel>header,.permissions-members-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;background:#f4f7f8;border-bottom:1px solid #c1cbd0}
.permissions-selector-panel>header>div{display:flex;flex-direction:column;gap:2px}
.permissions-members-panel>header{flex-direction:column;align-items:flex-start}
.permissions-selector-panel header strong,.permissions-members-panel header strong{font-size:calc(12px * var(--font-scale,1));color:#173743}
.permissions-selector-panel header small,.permissions-members-panel header small{font-size:calc(9.5px * var(--font-scale,1));color:#718087}
.permissions-selector-panel>.role-list{flex:1}
.permissions-selector-panel>footer{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:7px;border-top:1px solid #d3dade;background:#f7f9fa}
.user-person-icon{font-size:calc(16px * var(--font-scale,1));display:grid;place-items:center}
.permissions-members-list{flex:1;overflow:auto;padding:5px}
.permission-member-row{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:6px;min-height:38px;padding:5px 7px;border-bottom:1px solid #e1e6e9;background:#fff}
.permission-member-row:hover{background:#f5f9fb}
.permission-member-row>div{min-width:0;display:flex;flex-direction:column;gap:1px}
.permission-member-row strong{font-size:calc(10.5px * var(--font-scale,1))}
.permission-member-row small{font-size:calc(9px * var(--font-scale,1));color:#748188;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-member-row{grid-template-columns:25px 1fr;color:#294a5a}
.selected-user-card{margin:4px 3px 8px;padding:8px;border:1px solid #82adbf;background:#e7f4f9;display:flex;flex-direction:column;gap:2px}
.selected-user-card strong{font-size:calc(12px * var(--font-scale,1));color:#075d7c}
.selected-user-card small{font-size:calc(9px * var(--font-scale,1));color:#667880}
.members-empty{padding:18px 8px;text-align:center;color:#77868d;font-size:calc(10px * var(--font-scale,1))}
.user-permission-legend{margin-top:10px;border-top:1px solid #d5dde1;padding:8px 5px;display:flex;flex-direction:column;gap:6px;font-size:calc(9px * var(--font-scale,1));color:#66757c}
.user-permission-legend span{display:flex;align-items:center;gap:6px}
.user-permission-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}
.inherited-dot{background:#d8e7ed;border:1px solid #7d9fac}
.direct-dot{background:#dff4df;border:1px solid #62a26b}
.permissions-workbench-users .classic-permission-node{grid-template-columns:12px 18px minmax(170px,1fr) auto minmax(150px,.7fr)!important}
.permission-origin-badge{min-width:68px;text-align:center;font-size:calc(8.5px * var(--font-scale,1));padding:2px 5px;border-radius:2px}
.permission-origin-badge:empty{visibility:hidden}
.permission-origin-badge.inherited{background:#e6eff3;border:1px solid #a7bdc7;color:#4d6b78}
.permission-origin-badge.direct{background:#e7f6e7;border:1px solid #99c69e;color:#397345}
.classic-permission-node.inherited-permission{background:#f3f7f8!important}
.classic-permission-node.direct-permission{background:#f6fcf6!important}
.classic-branch-check.has-inherited{background:#eef5f7}
@media(max-width:1100px){
  .permissions-workbench-users{grid-template-columns:220px 190px minmax(0,1fr)!important}
  .permissions-workbench-users .classic-permission-node{grid-template-columns:12px 18px minmax(150px,1fr) auto!important}
  .permissions-workbench-users .classic-permission-node code{display:none}
}
@media(max-width:850px){
  .permissions-workbench-users{grid-template-columns:220px minmax(0,1fr)!important}
  .permissions-members-panel{grid-column:1}
  .permissions-tree-panel{grid-column:2;grid-row:1/span 2}
}
@media(max-width:680px){
  .permissions-workbench-users{grid-template-columns:1fr!important}
  .permissions-tree-panel{grid-column:auto;grid-row:auto}
}

/* GreenEco 3.3.7 — Unified user directory */
.user-directory-unified{
  display:block;
}
.user-directory-tabs{
  margin:0 0 8px;
  justify-content:center;
}
.user-directory-tabs button{
  min-width:180px;
}

/* GreenEco 3.3.9 — first-login password activation */
.first-login-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(18,35,47,.52)}
.first-login-dialog{width:min(430px,100%);background:#fff;border:1px solid #7f949f;box-shadow:0 14px 42px rgba(0,0,0,.24);padding:20px;direction:rtl}
.first-login-dialog h3{margin:0 0 6px;color:#075f7e;font-size:calc(18px * var(--font-scale,1))}
.first-login-dialog p{margin:0 0 16px;color:#61727b;font-size:calc(11px * var(--font-scale,1));line-height:1.8}
.first-login-dialog form{display:grid;gap:11px}
.first-login-dialog label{display:grid;gap:5px}
.first-login-dialog label span{font-size:calc(11px * var(--font-scale,1));font-weight:700}
.first-login-dialog input{width:100%;box-sizing:border-box;min-height:38px;border:1px solid #879ba5;padding:6px 9px}
.first-login-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:4px}

/* GreenEco 3.3.12.2 — safe Access Control UI */
.blocked-user-item{
  background:#fff4f4 !important;
}
.blocked-user-item.active{
  background:#f7dddd !important;
  border-color:#c78686 !important;
}
.role-list-copy strong{
  display:flex;
  align-items:center;
  gap:5px;
}
.user-blocked-badge{
  font-style:normal;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  color:#962b2b;
  background:#fde5e5;
  border:1px solid #d7a0a0;
  border-radius:2px;
  padding:1px 5px;
}
.selected-user-access-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.selected-user-info{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.user-login-state{
  width:max-content;
  margin-top:3px;
  padding:2px 6px;
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:800;
  border-radius:2px;
}
.user-login-state.allowed{
  color:#286b3b;
  background:#e8f6eb;
  border:1px solid #9fc9aa;
}
.user-login-state.blocked{
  color:#982929;
  background:#fbe8e8;
  border:1px solid #d7a2a2;
}
.block-user-button,
.unblock-user-button{
  min-height:31px;
  padding:4px 9px;
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
  white-space:nowrap;
  border-radius:2px;
}
.block-user-button{
  color:#a32323;
  background:#fff;
  border:1px solid #c76c6c;
}
.block-user-button:hover{background:#fdecec}
.unblock-user-button{
  color:#256b3a;
  background:#fff;
  border:1px solid #6aa77c;
}
.unblock-user-button:hover{background:#edf8ef}
.permission-history-button{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:4px 8px;
  text-decoration:none;
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
  color:#075f7d;
  background:#fff;
  border:1px solid #7aa8ba;
  border-radius:2px;
}
.permission-history-button:hover{background:#eef7fa}
.audit-filter-note{
  margin:0 0 8px;
  padding:7px 10px;
  font-size:calc(10px * var(--font-scale,1));
  font-weight:700;
  color:#3f6574;
  background:#eef7fa;
  border:1px solid #bdd7e1;
}
@media(max-width:760px){
  .selected-user-access-card{
    grid-template-columns:1fr !important;
  }
}

/* GreenEco 3.3.13 — Role permission copy & compare */
.role-copy-compare-panel{
  margin:0 0 8px;
  padding:9px;
  border:1px solid #b8cbd3;
  background:#f7fbfc;
}
.role-copy-compare-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.role-copy-compare-head>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.role-copy-compare-head strong{
  color:#075f7d;
  font-size:calc(11px * var(--font-scale,1));
}
.role-copy-compare-head small{
  color:#687b84;
  font-size:calc(9px * var(--font-scale,1));
}
.role-copy-compare-controls{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(145px,.8fr) auto;
  align-items:end;
  gap:7px;
}
.role-copy-compare-controls label{
  display:grid;
  gap:4px;
}
.role-copy-compare-controls label>span{
  font-size:calc(9px * var(--font-scale,1));
  font-weight:800;
  color:#4f646d;
}
.role-copy-compare-controls select{
  width:100%;
  min-height:32px;
  border:1px solid #9fb3bc;
  background:#fff;
  padding:4px 6px;
  font-size:calc(10px * var(--font-scale,1));
}
.role-copy-button{
  min-height:32px;
  white-space:nowrap;
  padding-inline:12px;
}
.role-compare-warning,
.role-compare-loading{
  margin-top:7px;
  padding:6px 8px;
  font-size:calc(9.5px * var(--font-scale,1));
}
.role-compare-warning{
  color:#8a5615;
  background:#fff8e8;
  border:1px solid #dec18b;
}
.role-compare-loading{
  color:#456672;
  background:#eef7fa;
  border:1px solid #bed7e0;
}
.role-compare-results{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
.role-compare-card{
  min-width:0;
  padding:8px;
  border:1px solid #c6d5db;
  background:#fff;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 7px;
  align-items:center;
}
.role-compare-card b{
  grid-row:1 / span 2;
  font-size:calc(18px * var(--font-scale,1));
  line-height:1;
  min-width:27px;
  text-align:center;
}
.role-compare-card strong{
  font-size:calc(9.5px * var(--font-scale,1));
}
.role-compare-card small{
  grid-column:1/-1;
  margin-top:3px;
  font-size:calc(8px * var(--font-scale,1));
  line-height:1.6;
  color:#68777d;
  direction:ltr;
  text-align:left;
  overflow-wrap:anywhere;
}
.role-compare-card.common b{color:#286b3b}
.role-compare-card.source-only b{color:#075f7d}
.role-compare-card.target-only b{color:#8b4d23}
@media(max-width:980px){
  .role-copy-compare-controls{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .role-copy-compare-controls,
  .role-compare-results{grid-template-columns:1fr}
}

/* GreenEco 3.3.14 — Standalone user sessions screen */
.user-sessions-page{display:block}
.user-session-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 9px;
}
.user-session-summary article{
  min-height:58px;
  padding:9px 12px;
  border:1px solid #b8cbd3;
  background:#f8fbfc;
  display:flex;
  align-items:center;
  gap:10px;
}
.user-session-summary b{
  min-width:38px;
  font-size:calc(22px * var(--font-scale,1));
  color:#075f7d;
  text-align:center;
}
.user-session-summary span{
  color:#586d76;
  font-size:calc(10px * var(--font-scale,1));
  font-weight:700;
}
.user-session-filters{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 220px auto;
  gap:7px;
  align-items:center;
  padding:8px;
  margin-bottom:9px;
  border:1px solid #c3d2d8;
  background:#f7fafb;
}
.user-session-filters label{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 8px;
  min-height:34px;
  background:#fff;
  border:1px solid #9fb4bd;
}
.user-session-filters input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  font-size:calc(10px * var(--font-scale,1));
}
.user-session-filters select,
.user-session-filters button{
  min-height:34px;
  border:1px solid #9fb4bd;
  background:#fff;
  padding:4px 8px;
  font-size:calc(10px * var(--font-scale,1));
}
.user-session-list{
  display:grid;
  gap:9px;
}
.user-session-card{
  border:1px solid #b7c8cf;
  background:#fff;
}
.user-session-card>header{
  min-height:52px;
  padding:7px 9px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  background:#f6fafb;
  border-bottom:1px solid #cbd8dd;
}
.user-session-identity{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.user-session-avatar{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid #aec1c9;
  background:#fff;
}
.user-session-identity>div{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}
.user-session-identity strong{
  display:flex;
  align-items:center;
  gap:5px;
  color:#244653;
  font-size:calc(11px * var(--font-scale,1));
}
.user-session-identity small{
  color:#708087;
  font-size:calc(9px * var(--font-scale,1));
}
.user-session-header-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.session-count-badge{
  min-width:55px;
  text-align:center;
  padding:3px 7px;
  border:1px solid #9dbac6;
  background:#eaf4f7;
  color:#075f7d;
  font-size:calc(9px * var(--font-scale,1));
  font-weight:800;
}
.user-session-table th,
.user-session-table td{
  font-size:calc(9.5px * var(--font-scale,1));
}
.current-session-badge,
.active-session-badge{
  display:inline-block;
  padding:2px 6px;
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:800;
  border-radius:2px;
}
.current-session-badge{
  color:#075f7d;
  background:#e6f3f7;
  border:1px solid #91bbc9;
}
.active-session-badge{
  color:#286b3b;
  background:#e8f6eb;
  border:1px solid #9fc9aa;
}
.no-user-sessions{
  padding:18px 10px;
  text-align:center;
  color:#728188;
  font-size:calc(10px * var(--font-scale,1));
}
@media(max-width:760px){
  .user-session-summary{grid-template-columns:1fr}
  .user-session-filters{grid-template-columns:1fr}
  .user-session-card>header{align-items:flex-start;flex-direction:column}
  .user-session-header-actions{width:100%;justify-content:space-between}
}

/* GreenEco 3.3.15.2 — standard settings-form compatibility only */
.settings-form .form-grid input[type="checkbox"]{
  width:18px;
  height:18px;
  min-height:18px;
  justify-self:start;
}
.settings-form .form-grid label small{
  font-size:calc(8.5px * var(--font-scale,1));
  color:#718087;
}

/* GreenEco 3.3.15.4 — no custom screen; reuse approved settings-form controls */
.settings-form + .settings-form{margin-top:10px}

/* GreenEco 3.3.15.5 — compact approved Password Policy screen */
.user-sessions-page + *{}
.settings-form .form-grid{
  gap:7px 10px;
}
.settings-form .form-grid label{
  gap:3px;
}
.settings-form .form-grid label>span{
  font-size:calc(9.5px * var(--font-scale,1));
}
.settings-form .form-grid input:not([type="checkbox"]),
.settings-form .form-grid select{
  min-height:30px;
  height:30px;
  padding:3px 7px;
  font-size:calc(10px * var(--font-scale,1));
}
.settings-form .form-grid input[type="number"]{
  max-width:180px;
}
.settings-form .form-grid input[type="checkbox"]{
  width:16px;
  height:16px;
  min-height:16px;
}
.settings-form .form-section-title{
  margin-top:8px;
  margin-bottom:6px;
}
.settings-form .notice-box{
  padding:7px 9px;
  margin:7px 0;
  font-size:calc(9.5px * var(--font-scale,1));
  line-height:1.6;
}
.settings-form .primary-button{
  min-height:31px;
  padding:4px 11px;
  font-size:calc(10px * var(--font-scale,1));
}
@media(min-width:980px){
  .settings-form .form-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .settings-form .form-grid .full-field{
    grid-column:1/-1;
  }
}
@media(max-width:979px){
  .settings-form .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .settings-form .form-grid{
    grid-template-columns:1fr;
  }
}

/* GreenEco 3.3.15.6 — compact User Security Center */
.user-security-page{font-size:calc(10px * var(--font-scale,1))}
.user-security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px}
.user-security-summary article{padding:7px 9px;border:1px solid var(--border-color,#d8e0e7);border-radius:8px;background:var(--panel-bg,#fff);display:flex;align-items:center;justify-content:space-between;gap:7px}
.user-security-summary b{font-size:calc(15px * var(--font-scale,1))}
.user-security-summary span{font-size:calc(9px * var(--font-scale,1))}
.user-security-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:7px;align-items:center;margin-bottom:8px}
.user-security-filters label{display:flex;align-items:center;gap:5px}
.user-security-filters input,.user-security-filters select,.user-security-filters button{height:30px;min-height:30px;padding:3px 7px;font-size:calc(10px * var(--font-scale,1))}
.user-security-filters input{width:100%}
.user-security-list{display:grid;gap:7px}
.user-security-card{padding:8px 9px;border:1px solid var(--border-color,#d8e0e7);border-radius:8px;background:var(--panel-bg,#fff)}
.user-security-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.user-security-card>header strong{display:block;font-size:calc(11px * var(--font-scale,1))}
.user-security-card>header small{display:block;margin-top:2px;font-size:calc(8.8px * var(--font-scale,1));opacity:.72}
.security-status{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;font-size:calc(8.8px * var(--font-scale,1));font-weight:700;white-space:nowrap}
.security-normal{background:#eaf7ef;color:#176438}
.security-blocked{background:#fdeaea;color:#9a2525}
.security-temporary_locked{background:#fff3d8;color:#805b00}
.user-security-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 7px}
.user-security-grid>div{padding:5px 6px;border-radius:6px;background:rgba(127,127,127,.06)}
.user-security-grid span{display:block;font-size:calc(8px * var(--font-scale,1));opacity:.68;margin-bottom:2px}
.user-security-grid b{display:block;font-size:calc(9px * var(--font-scale,1));font-weight:600;overflow-wrap:anywhere}
.user-security-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.user-security-actions button{min-height:27px;padding:3px 8px;font-size:calc(8.8px * var(--font-scale,1))}
@media(max-width:900px){
  .user-security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-security-filters{grid-template-columns:1fr 150px}
  .user-security-filters button{grid-column:1/-1}
}
@media(max-width:600px){
  .user-security-summary,.user-security-grid,.user-security-filters{grid-template-columns:1fr}
  .user-security-filters button{grid-column:auto}
  .user-security-card>header{align-items:flex-start;flex-direction:column}
}

/* GreenEco 3.3.15.7 — unified user security actions */
.user-security-last-action{
  margin-top:6px;
  padding:5px 7px;
  border-radius:6px;
  background:rgba(127,127,127,.055);
  display:grid;
  grid-template-columns:95px 1fr;
  gap:6px;
  align-items:center;
}
.user-security-last-action span{font-size:calc(8px * var(--font-scale,1));opacity:.68}
.user-security-last-action b{font-size:calc(8.6px * var(--font-scale,1));font-weight:600;overflow-wrap:anywhere}
.user-security-actions{align-items:center}
.user-security-actions .danger-inline{border-color:#c34b4b;color:#a52d2d}
@media(max-width:600px){
  .user-security-last-action{grid-template-columns:1fr}
}

/* GreenEco 3.3.15.8 — Login Security Log tab */
.user-security-tabs{margin-bottom:8px}
.security-log-filters{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) 135px 135px auto;
  gap:6px;
  align-items:center;
  margin-bottom:8px;
}
.security-log-filters select,
.security-log-filters input,
.security-log-filters button{
  height:30px;
  min-height:30px;
  padding:3px 7px;
  font-size:calc(9.5px * var(--font-scale,1));
}
.security-log-table th,
.security-log-table td{
  padding:6px 7px;
  font-size:calc(8.8px * var(--font-scale,1));
  white-space:nowrap;
}
.security-log-table td:nth-child(4){
  white-space:normal;
  min-width:220px;
}
.security-log-table button{
  min-height:25px;
  padding:2px 7px;
  font-size:calc(8.5px * var(--font-scale,1));
}
.security-event-badge{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(127,127,127,.09);
  font-size:calc(8.3px * var(--font-scale,1));
  font-weight:700;
}
@media(max-width:900px){
  .security-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .security-log-filters{grid-template-columns:1fr}
}

/* GreenEco 3.3.15.9 — compact Session Security Policy */
.user-session-tabs{margin-bottom:8px}
.session-policy-form{max-width:900px}
.session-policy-form .form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px 10px;
}
.session-policy-form .form-grid input{
  height:30px;
  min-height:30px;
  max-width:190px;
  padding:3px 7px;
  font-size:calc(10px * var(--font-scale,1));
}
.session-policy-form .form-grid label>span{font-size:calc(9px * var(--font-scale,1))}
.session-policy-form .form-grid small{font-size:calc(8px * var(--font-scale,1))}
.session-policy-form .notice-box{
  padding:7px 9px;
  margin:7px 0;
  font-size:calc(9px * var(--font-scale,1));
  line-height:1.6;
}
@media(max-width:850px){
  .session-policy-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .session-policy-form .form-grid{grid-template-columns:1fr}
}

/* GreenEco 3.3.15.10 — session hardening / cleanup */
.expired-session-badge{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:2px 6px;
  border-radius:999px;
  background:#fdeaea;
  color:#922d2d;
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:700;
}
.user-session-filters{
  grid-template-columns:minmax(240px,1fr) 170px auto auto;
}
@media(max-width:900px){
  .user-session-filters{grid-template-columns:1fr 160px}
}
@media(max-width:600px){
  .user-session-filters{grid-template-columns:1fr}
}

/* GreenEco 3.3.15.11 — Session Lifecycle */
.session-lifecycle-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 10px;
  margin:7px 0;
}
.session-lifecycle-options label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 7px;
  border-radius:6px;
  background:rgba(127,127,127,.05);
  font-size:calc(9px * var(--font-scale,1));
}
.session-lifecycle-options input[type=checkbox]{
  width:15px;
  height:15px;
  min-height:auto;
}
@media(max-width:650px){
  .session-lifecycle-options{grid-template-columns:1fr}
}

/* GreenEco 3.3.15.12 — Admin safety hints */
.selected-user-access-card .user-login-state{white-space:nowrap}
.permission-save-button{min-width:150px}

/* GreenEco 3.3.16.0 — Technical Design Workspace, phase 1 */
.technical-workspace-summary{
  border:1px solid #8fa1ab;
  box-shadow:0 1px 3px rgba(29,54,66,.08);
}
.technical-workspace-summary>header{
  min-height:48px;
  padding:7px 11px;
  background:linear-gradient(180deg,#eef6f8,#e5f1f4);
}
.technical-summary-title{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.technical-summary-title h2{
  margin:0;
  font-size:calc(14px * var(--font-scale,1));
}
.technical-summary-title small{
  color:#66777f;
  font-size:calc(9.5px * var(--font-scale,1));
}
.technical-summary-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;
  background:#b9c6cc;
}
.technical-summary-metrics article{
  min-height:66px;
  padding:7px 5px;
  background:#fbfdfd;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
}
.technical-summary-metrics article:nth-child(2){background:#f0f8f3}
.technical-summary-metrics article:nth-child(5){background:#fff8ea}
.technical-summary-metrics span{
  color:#66777f;
  font-size:calc(9.5px * var(--font-scale,1));
}
.technical-summary-metrics strong{
  color:#075d79;
  font-size:calc(14px * var(--font-scale,1));
}
.technical-topology-strip{
  display:flex;
  flex-wrap:wrap;
  gap:5px 16px;
  padding:6px 9px;
  border-top:1px solid #d5dee2;
  background:#f7f9fa;
  color:#56666e;
  font-size:calc(9.5px * var(--font-scale,1));
}
.technical-topology-strip b{color:#173e4f}

.technical-workflow-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid #a7b6bd;
  background:#a7b6bd;
  margin:3px 0 8px;
}
.technical-workflow-strip span{
  min-height:31px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5px 7px;
  background:#f6f9fa;
  color:#34525f;
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
}
.technical-workspace-form .technical-load-source{
  border-radius:4px;
  overflow:hidden;
}
.technical-workspace-form .technical-groups>fieldset{
  border-radius:4px;
  box-shadow:0 1px 2px rgba(29,54,66,.06);
  position:relative;
}
.technical-workspace-form .technical-groups>fieldset>legend{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:3px;
}
.technical-workspace-form .technical-groups>fieldset>legend b{
  min-width:20px;
  min-height:20px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:calc(9px * var(--font-scale,1));
}
.technical-workspace-form .technical-solar-section{border-top:3px solid #4e9d58!important}
.technical-workspace-form .technical-battery-section{border-top:3px solid #c9952f!important}
.technical-workspace-form .technical-inverter-section{border-top:3px solid #397da0!important}
.technical-workspace-form .technical-protection-section{border-top:3px solid #7b6c98!important}
.technical-workspace-form .technical-groups input:focus,
.technical-workspace-form .technical-groups select:focus,
.technical-workspace-form .technical-groups textarea:focus{
  outline:2px solid rgba(8,120,160,.18);
  border-color:#0878a0!important;
}
.technical-workspace-form .calculated-field span::after{
  content:" محسوب";
  color:#6d7d84;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:500;
}
.technical-workspace-form .auto-design-button{
  min-width:210px;
  border-radius:3px;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.technical-workspace-form .metric-cards.compact{
  border:1px solid #b4c1c7;
  gap:1px;
}
.technical-workspace-form .modal-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  padding-top:8px;
  padding-bottom:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),#fff 38%);
}

@media(max-width:1100px){
  .technical-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .technical-workflow-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .technical-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .technical-workflow-strip{grid-template-columns:1fr}
}

/* GreenEco 3.3.16.1 — Technical Design compact two-column tuning */
.technical-workspace-form{
  gap:8px !important;
}
.technical-workspace-form .technical-load-source{
  margin:6px 0 8px !important;
}
.technical-workspace-form .technical-load-source-head{
  min-height:36px !important;
  padding:5px 9px !important;
}
.technical-workspace-form .technical-load-cards.compact-source-cards{
  gap:6px !important;
  padding:6px !important;
}
.technical-workspace-form .technical-load-cards.compact-source-cards > div{
  min-height:58px !important;
  padding:7px 6px !important;
}
.technical-workspace-form .technical-load-cards.compact-source-cards span{
  font-size:9px !important;
}
.technical-workspace-form .technical-load-cards.compact-source-cards strong{
  font-size:13px !important;
}
.technical-workspace-form .technical-calc-note{
  padding:4px 8px !important;
  gap:4px 12px !important;
  font-size:9.5px !important;
}
.technical-workspace-form .technical-groups{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
.technical-workspace-form .technical-groups > fieldset{
  padding:8px 9px 9px !important;
  border-radius:4px !important;
}
.technical-workspace-form .technical-groups > fieldset > legend{
  padding:3px 8px !important;
  font-size:11px !important;
  line-height:1.2 !important;
}
.technical-workspace-form .technical-groups > fieldset > legend b{
  min-width:18px !important;
  min-height:18px !important;
  font-size:8px !important;
}
.technical-workspace-form .technical-groups label{
  gap:6px !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.technical-workspace-form .technical-groups input,
.technical-workspace-form .technical-groups select{
  height:33px !important;
  min-height:33px !important;
  padding:4px 8px !important;
  font-size:12px !important;
}
.technical-workspace-form .technical-groups textarea{
  min-height:54px !important;
  max-height:72px !important;
  padding:6px 8px !important;
  font-size:12px !important;
}
.technical-workspace-form .technical-protection-section textarea:last-of-type{
  min-height:46px !important;
}
.technical-workspace-form .technical-groups .calculated-field input,
.technical-workspace-form .technical-groups .calculated-field select{
  background:#eef4f6 !important;
}
.technical-workspace-form .technical-battery-section,
.technical-workspace-form .technical-solar-section,
.technical-workspace-form .technical-inverter-section,
.technical-workspace-form .technical-protection-section{
  align-self:start !important;
}
.technical-workspace-form .technical-battery-section > div,
.technical-workspace-form .technical-solar-section > div,
.technical-workspace-form .technical-inverter-section > div,
.technical-workspace-form .technical-protection-section > div{
  row-gap:6px !important;
}
.technical-workspace-form .auto-design-button{
  min-width:180px !important;
  min-height:36px !important;
  padding:6px 12px !important;
  font-size:13px !important;
}
.technical-workspace-form .metric-cards.compact > div{
  min-height:58px !important;
  padding:6px !important;
}
.technical-workspace-form .metric-cards.compact span{
  font-size:9px !important;
}
.technical-workspace-form .metric-cards.compact strong{
  font-size:13px !important;
}
.technical-workspace-form .modal-actions{
  gap:8px !important;
}
.technical-workspace-form .modal-actions button{
  min-height:38px !important;
  padding:6px 14px !important;
}
@media(max-width:980px){
  .technical-workspace-form .technical-groups{
    grid-template-columns:1fr !important;
  }
}

/* GreenEco 3.3.16.2 — real compact technical design fix */
.technical-workspace-form .technical-groups{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:start !important;
}

.technical-workspace-form .technical-compact-section{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:10px !important;
  row-gap:6px !important;
  align-content:start !important;
  padding:7px 8px 8px !important;
  min-height:0 !important;
  height:auto !important;
}

.technical-workspace-form .technical-compact-section > legend{
  grid-column:1 / -1 !important;
  margin-bottom:1px !important;
}

.technical-workspace-form .technical-compact-section > label{
  display:grid !important;
  grid-template-columns:minmax(92px,118px) minmax(90px,1fr) !important;
  align-items:center !important;
  gap:5px !important;
  margin:0 !important;
  min-width:0 !important;
  min-height:29px !important;
}

.technical-workspace-form .technical-compact-section > label > span{
  font-size:9.3px !important;
  line-height:1.2 !important;
  white-space:normal !important;
  text-align:right !important;
}

.technical-workspace-form .technical-compact-section input,
.technical-workspace-form .technical-compact-section select{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:29px !important;
  min-height:29px !important;
  padding:2px 6px !important;
  font-size:10.5px !important;
  line-height:1.15 !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-compact-section textarea{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  min-height:42px !important;
  max-height:60px !important;
  padding:4px 6px !important;
  font-size:10px !important;
  line-height:1.35 !important;
  resize:vertical !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-protection-section .technical-wide-field{
  grid-column:1 / -1 !important;
  grid-template-columns:118px minmax(0,1fr) !important;
}

.technical-workspace-form .technical-battery-section > label{
  grid-template-columns:minmax(105px,125px) minmax(78px,1fr) !important;
}

.technical-workspace-form .technical-battery-section input{
  text-align:center !important;
}

.technical-workspace-form .technical-groups .calculated-field{
  opacity:.96 !important;
}

.technical-workspace-form .technical-groups .calculated-field input{
  background:#eef3f5 !important;
  font-weight:800 !important;
  color:#0a607b !important;
}

.technical-workspace-form .technical-load-source{
  margin-bottom:7px !important;
}

.technical-workspace-form .technical-workflow-strip{
  margin-bottom:6px !important;
}

.technical-workspace-form .auto-design-button{
  margin:7px auto 5px !important;
}

.technical-workspace-form .metric-cards.compact{
  margin-top:2px !important;
}

@media(max-width:1000px){
  .technical-workspace-form .technical-groups{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:680px){
  .technical-workspace-form .technical-compact-section{
    grid-template-columns:1fr !important;
  }
  .technical-workspace-form .technical-compact-section > legend,
  .technical-workspace-form .technical-protection-section .technical-wide-field{
    grid-column:auto !important;
  }
}

/* GreenEco 3.3.16.3 — Dense technical-design layout */
.technical-workspace-form .technical-groups{
  gap:6px !important;
}

.technical-workspace-form .technical-compact-section{
  padding:6px 7px 7px !important;
  column-gap:8px !important;
  row-gap:4px !important;
}

.technical-workspace-form .technical-compact-section > label{
  grid-template-columns:max-content minmax(82px,1fr) !important;
  justify-content:start !important;
  align-items:center !important;
  column-gap:4px !important;
  row-gap:2px !important;
  min-height:26px !important;
}

.technical-workspace-form .technical-compact-section > label > span{
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  font-size:9px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}

.technical-workspace-form .technical-battery-section > label{
  grid-template-columns:max-content minmax(76px,1fr) !important;
}

.technical-workspace-form .technical-solar-section > label{
  grid-template-columns:max-content minmax(84px,1fr) !important;
}

.technical-workspace-form .technical-inverter-section > label{
  grid-template-columns:max-content minmax(84px,1fr) !important;
}

.technical-workspace-form .technical-protection-section > label{
  grid-template-columns:max-content minmax(94px,1fr) !important;
}

.technical-workspace-form .technical-compact-section input,
.technical-workspace-form .technical-compact-section select{
  height:26px !important;
  min-height:26px !important;
  padding:1px 5px !important;
  font-size:10px !important;
}

.technical-workspace-form .technical-compact-section textarea{
  min-height:38px !important;
  max-height:52px !important;
  padding:4px 5px !important;
  font-size:10px !important;
}

.technical-workspace-form .technical-protection-section .technical-wide-field{
  grid-column:1 / -1 !important;
  grid-template-columns:max-content minmax(0,1fr) !important;
  align-items:start !important;
}

.technical-workspace-form .technical-protection-section .technical-wide-field > span{
  padding-top:5px !important;
}

.technical-workspace-form .technical-groups > fieldset{
  min-height:0 !important;
}

.technical-workspace-form .technical-battery-section,
.technical-workspace-form .technical-solar-section,
.technical-workspace-form .technical-inverter-section,
.technical-workspace-form .technical-protection-section{
  min-height:0 !important;
}

.technical-workspace-form .technical-workflow-strip span{
  min-height:26px !important;
  padding:3px 6px !important;
  font-size:9px !important;
}

.technical-workspace-form .technical-load-cards.compact-source-cards{
  gap:4px !important;
}

.technical-workspace-form .technical-load-cards.compact-source-cards > div{
  min-height:48px !important;
  padding:5px 4px !important;
}

.technical-workspace-form .technical-load-cards.compact-source-cards strong{
  font-size:12px !important;
}

.technical-workspace-form .metric-cards.compact > div{
  min-height:48px !important;
  padding:5px 4px !important;
}

.technical-workspace-form .auto-design-button{
  min-width:160px !important;
  min-height:32px !important;
  padding:4px 10px !important;
  font-size:12px !important;
}

.technical-workspace-form .modal-actions{
  padding-top:5px !important;
  gap:6px !important;
}

.technical-workspace-form .modal-actions button{
  min-height:34px !important;
  padding:5px 12px !important;
}

/* pull the label closer to the field visually */
.technical-workspace-form .technical-compact-section .calculated-field span,
.technical-workspace-form .technical-compact-section label span{
  justify-self:start !important;
}

/* GreenEco 3.3.16.4 — Engineering structure: inputs / calculations / summary */
.technical-workspace-form .technical-engineering-groups{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:start !important;
}

.technical-workspace-form .technical-engineering-section{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  padding:7px 8px 8px !important;
  min-height:0 !important;
  height:auto !important;
}

.technical-workspace-form .technical-engineering-section > legend{
  margin-bottom:0 !important;
}

.technical-stage{
  border:1px solid #d0d9de;
  border-radius:3px;
  background:#fbfcfc;
  overflow:hidden;
}

.technical-stage h4{
  margin:0 !important;
  padding:4px 7px !important;
  border-bottom:1px solid #d6dee2;
  background:#f0f4f6;
  color:#214a5c;
  font-size:9.5px !important;
  line-height:1.25 !important;
}

.technical-stage-inputs h4{
  background:#eef7ef;
  color:#2b6840;
}

.technical-stage-calculated h4{
  background:#eef5f8;
  color:#245f7a;
}

.technical-stage-summary h4{
  background:#fff7e8;
  color:#7c5b1f;
}

.technical-stage-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:4px 8px !important;
  padding:5px 6px !important;
}

.technical-stage-grid.single{
  grid-template-columns:1fr !important;
}

.technical-stage-grid > label{
  display:grid !important;
  grid-template-columns:max-content minmax(78px,1fr) !important;
  align-items:center !important;
  gap:4px !important;
  margin:0 !important;
  min-height:26px !important;
  min-width:0 !important;
}

.technical-stage-grid > label > span{
  font-size:8.8px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  color:#22333b !important;
}

.technical-stage-grid input,
.technical-stage-grid select{
  height:26px !important;
  min-height:26px !important;
  min-width:0 !important;
  padding:1px 5px !important;
  font-size:10px !important;
}

.technical-stage-grid textarea{
  min-height:40px !important;
  max-height:58px !important;
  padding:4px 5px !important;
  font-size:10px !important;
}

.technical-stage-grid .calculated-field input{
  background:#eef3f5 !important;
  color:#075d79 !important;
  font-weight:800 !important;
}

.technical-mini-result{
  min-height:26px;
  display:grid;
  grid-template-columns:max-content 1fr;
  align-items:center;
  gap:4px;
  padding:2px 5px;
  border:1px solid #d7e0e4;
  background:#fff;
}

.technical-mini-result span{
  font-size:calc(8.8px * var(--font-scale,1));
  white-space:nowrap;
  color:#55656d;
}

.technical-mini-result b{
  font-size:calc(10px * var(--font-scale,1));
  color:#075d79;
  text-align:left;
}

.technical-summary-line{
  display:flex;
  flex-wrap:wrap;
  gap:4px 12px;
  padding:5px 7px;
  background:#fff;
}

.technical-summary-line span{
  font-size:calc(9px * var(--font-scale,1));
  color:#56636a;
  white-space:nowrap;
}

.technical-summary-line b{
  color:#123f55;
}

.technical-engineering-section .technical-wide-field{
  grid-template-columns:max-content minmax(0,1fr) !important;
  align-items:start !important;
}

.technical-engineering-section .technical-wide-field > span{
  padding-top:4px !important;
}

@media(max-width:1000px){
  .technical-workspace-form .technical-engineering-groups{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:680px){
  .technical-stage-grid{
    grid-template-columns:1fr !important;
  }
}

/* GreenEco 3.3.16.5 — Technical validation & smart hints */
.technical-validation-panel{
  margin:7px 0 5px;
  border:1px solid #a8b6bd;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
}
.technical-validation-panel>header{
  min-height:40px;
  padding:6px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #d0d9de;
  background:#f2f6f7;
}
.technical-validation-panel>header>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.technical-validation-panel>header strong{
  font-size:calc(11px * var(--font-scale,1));
  color:#183f50;
}
.technical-validation-panel>header span{
  font-size:calc(8.8px * var(--font-scale,1));
  color:#697980;
}
.technical-validation-result{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  font-size:calc(9px * var(--font-scale,1));
  white-space:nowrap;
}
.technical-validation-panel.validation-ok .technical-validation-result{
  background:#e4f5e9;color:#17643a;
}
.technical-validation-panel.validation-warn .technical-validation-result{
  background:#fff2c9;color:#795700;
}
.technical-validation-panel.validation-error .technical-validation-result{
  background:#fde5e6;color:#922127;
}
.technical-validation-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  padding:6px;
}
.validation-card{
  border:1px solid #ccd5da;
  border-top-width:3px;
  border-radius:3px;
  padding:5px 6px;
  background:#fafcfc;
  min-width:0;
}
.validation-card.validation-ok{border-top-color:#3b9a5a;background:#f6fbf7}
.validation-card.validation-warn{border-top-color:#d39c26;background:#fffaf0}
.validation-card.validation-error{border-top-color:#c54b50;background:#fff7f7}
.validation-card.validation-neutral{border-top-color:#87969c}
.validation-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:5px;
  margin-bottom:4px;
}
.validation-card-head strong{
  font-size:calc(9px * var(--font-scale,1));
  color:#263b45;
}
.validation-card-head span{
  min-height:18px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:1px 5px;
  font-size:calc(7.8px * var(--font-scale,1));
  font-weight:800;
  white-space:nowrap;
}
.validation-card.validation-ok .validation-card-head span{background:#dff3e6;color:#17643a}
.validation-card.validation-warn .validation-card-head span{background:#fff0bf;color:#795700}
.validation-card.validation-error .validation-card-head span{background:#fde0e1;color:#922127}
.validation-card p{
  margin:2px 0;
  display:flex;
  justify-content:space-between;
  gap:5px;
  color:#64737a;
  font-size:calc(8.5px * var(--font-scale,1));
}
.validation-card p b{
  color:#173d4d;
  font-size:calc(9px * var(--font-scale,1));
}
.validation-card small{
  display:block;
  margin-top:4px;
  padding-top:4px;
  border-top:1px dashed #d4dcdf;
  color:#66777e;
  font-size:calc(8px * var(--font-scale,1));
}
.technical-validation-note{
  padding:4px 7px 5px;
  border-top:1px solid #e0e5e8;
  background:#f8fafb;
  color:#68777e;
  font-size:calc(8px * var(--font-scale,1));
}
@media(max-width:1000px){
  .technical-validation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .technical-validation-grid{grid-template-columns:1fr}
  .technical-validation-panel>header{align-items:flex-start;flex-direction:column}
}

/* GreenEco 3.3.16.6.1 — recovery: restored technical-design screen to 3.3.16.5 stable frontend */

/* GreenEco 3.3.16.7 — Read-only electrical topology preview */
.topology-preview-panel{
  margin:7px 0 5px;
  border:1px solid #9eacb3;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
}
.topology-preview-panel>header{
  min-height:38px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #d1d9dd;
  background:#eef4f6;
}
.topology-preview-panel>header>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.topology-preview-panel>header strong{font-size:calc(10.5px * var(--font-scale,1));color:#183f50}
.topology-preview-panel>header span{font-size:calc(8.2px * var(--font-scale,1));color:#68777e}
.topology-preview-status{
  min-height:22px;
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  font-size:calc(8px * var(--font-scale,1))!important;
  font-weight:800;
  white-space:nowrap;
}
.topology-preview-status.ok{background:#def3e5;color:#17643a!important}
.topology-preview-status.warn{background:#fff0c6;color:#765600!important}

.topology-preview-flow{
  display:grid;
  grid-template-columns:minmax(115px,1fr) minmax(70px,.55fr) minmax(120px,1fr) minmax(70px,.55fr) minmax(120px,1fr) minmax(48px,.4fr) minmax(105px,.9fr);
  align-items:center;
  gap:4px;
  padding:8px;
  overflow-x:auto;
}
.topology-preview-node{
  min-height:52px;
  padding:5px 6px;
  border:1px solid #aebbc1;
  border-top:3px solid #758b95;
  border-radius:4px;
  background:#fafcfc;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  text-align:center;
}
.topology-preview-node strong{font-size:calc(9px * var(--font-scale,1));color:#203c48}
.topology-preview-node span{font-size:calc(7.8px * var(--font-scale,1));color:#68777e;line-height:1.3}
.topology-preview-node.solar{border-top-color:#4f9d59;background:#f6fbf6}
.topology-preview-node.controller{border-top-color:#2d8ca7;background:#f4fafc}
.topology-preview-node.inverter{border-top-color:#397da0;background:#f4f8fb}
.topology-preview-node.loads{border-top-color:#805d91;background:#faf7fb}
.topology-preview-node.battery{border-top-color:#c89531;background:#fffaf0}

.topology-preview-link{
  min-width:60px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.topology-preview-link i{
  width:100%;
  height:2px;
  background:#607e8b;
  position:relative;
}
.topology-preview-link i::after{
  content:"";
  position:absolute;
  left:-1px;
  top:-3px;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-right:6px solid #607e8b;
}
.topology-preview-link small{
  color:#61737b;
  font-size:calc(7.2px * var(--font-scale,1));
  text-align:center;
  white-space:nowrap;
}

.topology-preview-battery{
  display:grid;
  grid-template-columns:minmax(150px,210px) minmax(240px,1fr) minmax(125px,190px);
  align-items:center;
  gap:7px;
  margin:0 8px 7px;
  padding:6px;
  border:1px dashed #c9b98e;
  border-radius:4px;
  background:#fffdf8;
}
.topology-preview-battery-info{
  display:flex;
  flex-wrap:wrap;
  gap:4px 12px;
}
.topology-preview-battery-info span{font-size:calc(7.8px * var(--font-scale,1));color:#6b6658}
.topology-preview-battery-info b{color:#4b493f}
.topology-preview-branch{
  color:#7c6027;
  text-align:center;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
}

.topology-preview-summary{
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  padding:4px 8px;
  border-top:1px solid #e0e5e7;
  background:#f8fafb;
}
.topology-preview-summary span{font-size:calc(7.8px * var(--font-scale,1));color:#65757c}
.topology-preview-summary b{color:#294c5c}

.topology-preview-warnings{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:5px 8px;
  border-top:1px solid #eed7a4;
  background:#fff7e7;
  color:#765600;
  font-size:calc(7.8px * var(--font-scale,1));
}
.topology-preview-warnings.ok{
  background:#f2faf5;
  border-top-color:#cce4d4;
  color:#24633d;
}
@media(max-width:950px){
  .topology-preview-flow{
    grid-template-columns:minmax(105px,1fr) 65px minmax(110px,1fr) 65px minmax(110px,1fr) 45px minmax(100px,1fr);
    min-width:760px;
  }
  .topology-preview-battery{grid-template-columns:1fr}
}

/* GreenEco 3.3.16.8 — Solar String Configuration */
.technical-stage-string-config{
  border-color:#bfd7c4;
  background:#f9fcf9;
}
.technical-stage-string-config h4{
  background:#e9f5eb!important;
  color:#2b6840!important;
}
.technical-stage-string-config .technical-mini-result{
  background:#f7fbf8;
}
.technical-stage-string-config .technical-mini-result b{
  color:#24633d;
}
.technical-stage-string-config input{
  text-align:center;
}

/* GreenEco 3.3.16.9 — Final technical summary & calculation consistency */
.technical-final-summary{
  margin:6px 0 5px;
  border:1px solid #aab8be;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
}
.technical-final-summary>header{
  min-height:36px;
  padding:5px 8px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  border-bottom:1px solid #d5dde1;
  background:#eef4f6;
}
.technical-final-summary>header>div{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.technical-final-summary>header strong{
  font-size:calc(10.5px * var(--font-scale,1));
  color:#183f50;
}
.technical-final-summary>header span{
  font-size:calc(8px * var(--font-scale,1));
  color:#697980;
}
.technical-final-status{
  min-height:22px;
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  font-size:calc(8px * var(--font-scale,1));
  white-space:nowrap;
}
.technical-final-summary.final-ok .technical-final-status{
  background:#def3e5;
  color:#17643a;
}
.technical-final-summary.final-warn .technical-final-status{
  background:#fff0c6;
  color:#765600;
}
.technical-final-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  padding:6px;
}
.technical-final-grid article{
  border:1px solid #d4dde1;
  border-radius:3px;
  padding:5px 6px;
  background:#fafcfc;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.technical-final-grid h4{
  margin:0 0 3px;
  padding-bottom:3px;
  border-bottom:1px dashed #d8e0e3;
  font-size:calc(8.8px * var(--font-scale,1));
  color:#274a5a;
}
.technical-final-grid article>span{
  display:flex;
  justify-content:space-between;
  gap:5px;
  font-size:calc(7.8px * var(--font-scale,1));
  color:#68777e;
}
.technical-final-grid article>span b{
  color:#223e49;
  font-size:calc(8.2px * var(--font-scale,1));
}
.technical-final-alerts{
  display:flex;
  flex-wrap:wrap;
  gap:3px 10px;
  padding:4px 7px;
  border-top:1px solid #edd6a3;
  background:#fff8e9;
  color:#755700;
  font-size:calc(7.8px * var(--font-scale,1));
}
.technical-final-alerts.ok{
  border-top-color:#cde3d3;
  background:#f3faf5;
  color:#23623c;
}
@media(max-width:1000px){
  .technical-final-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .technical-final-grid{grid-template-columns:1fr}
}

/* GreenEco 3.3.16.10 — Technical Design Print Sheet */
.technical-print-sheet{display:none}
.technical-print-button{font-weight:700}

@media print{
  @page{size:A4 portrait;margin:9mm}
  html,body{background:#fff!important}
  body.technical-design-print-mode *{visibility:hidden!important}
  body.technical-design-print-mode .technical-print-sheet,body.technical-design-print-mode .technical-print-sheet *{visibility:visible!important}
  body.technical-design-print-mode .technical-print-sheet{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:auto!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#17272e!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
    z-index:2147483647!important;
    overflow:visible!important;
  }
  .print-sheet-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    padding:0 0 7px;
    border-bottom:2px solid #244c5d;
  }
  .print-sheet-header h1{margin:0;font-size:calc(16px * var(--font-scale,1));color:#173e50}
  .print-sheet-header h2{margin:2px 0 0;font-size:calc(12px * var(--font-scale,1));font-weight:700}
  .print-sheet-meta{display:grid;grid-template-columns:repeat(3,auto);gap:5px}
  .print-section{
    margin-top:6px;
    border:1px solid #aebbc1;
    border-radius:3px;
    break-inside:avoid;
  }
  .print-section h3{
    margin:0;
    padding:4px 6px;
    border-bottom:1px solid #cbd5da;
    background:#eef3f5!important;
    color:#173e50!important;
    font-size:calc(9px * var(--font-scale,1));
  }
  .print-grid{
    display:grid;
    padding:5px;
    gap:3px 8px;
  }
  .print-grid.four{grid-template-columns:repeat(4,1fr)}
  .print-two-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    break-inside:avoid;
  }
  .print-kv{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:2px 5px;
    border-bottom:1px dotted #dde3e6;
    font-size:calc(7.5px * var(--font-scale,1));
  }
  .print-kv span{color:#65747b}
  .print-kv b{color:#1d3641;text-align:left}
  .print-alert-list{
    margin:4px 5px 5px;
    padding:4px 5px;
    border:1px solid #dcc58f;
    background:#fff8e8!important;
    display:flex;
    flex-direction:column;
    gap:2px;
    color:#725600;
    font-size:calc(7px * var(--font-scale,1));
  }
  .print-alert-list.ok{
    border-color:#bcd7c4;
    background:#f3faf5!important;
    color:#24603b;
  }
  .print-topology{
    display:grid;
    grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr;
    align-items:center;
    gap:3px;
    padding:6px;
  }
  .print-topology>div{
    min-height:38px;
    border:1px solid #aab7bd;
    padding:4px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    background:#fafcfc!important;
  }
  .print-topology>div b{font-size:calc(8px * var(--font-scale,1))}
  .print-topology>div span{font-size:calc(7px * var(--font-scale,1));color:#65747b}
  .print-topology>i{text-align:center;font-style:normal;font-size:calc(13px * var(--font-scale,1));color:#446977}
  .print-battery-branch{
    margin:0 6px 6px;
    padding:4px 6px;
    border:1px dashed #bea968;
    background:#fffdf6!important;
    display:flex;
    justify-content:space-between;
    font-size:calc(7.5px * var(--font-scale,1));
  }
  .print-notes p{
    margin:0;
    min-height:24px;
    padding:5px 6px;
    white-space:pre-wrap;
    font-size:calc(7.5px * var(--font-scale,1));
    line-height:1.5;
  }
  .print-signatures{
    margin-top:9px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    break-inside:avoid;
  }
  .print-signatures>div{
    min-height:56px;
    border-top:1px solid #81939b;
    padding-top:4px;
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:calc(7.5px * var(--font-scale,1));
  }
  .print-signatures span{color:#65747b}
  .print-signatures b{font-size:calc(8px * var(--font-scale,1))}
  .print-signatures i{margin-top:auto;font-style:normal;color:#596970}
}

/* GreenEco 3.3.16.11 — Cable & Protection Engineering Calculator */
.cable-protection-calculator{margin:7px 0 5px;border:1px solid #aeb9be;border-radius:4px;overflow:hidden;background:#fff}
.cable-protection-calculator>header{min-height:38px;padding:5px 8px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #d2dade;background:#f1f5f6}
.cable-protection-calculator>header>div{display:flex;flex-direction:column;gap:2px}
.cable-protection-calculator>header strong{font-size:calc(10.5px * var(--font-scale,1));color:#183f50}
.cable-protection-calculator>header span{font-size:calc(8px * var(--font-scale,1));color:#68777e}
.cable-protection-calculator>header>b{padding:2px 7px;border-radius:999px;background:#e8eef0;color:#355866;font-size:calc(8px * var(--font-scale,1))}
.cable-config-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:6px}
.cable-config-grid label,.cable-route-inputs label{display:flex;flex-direction:column;gap:2px}
.cable-config-grid label span,.cable-route-inputs label span{font-size:calc(7.8px * var(--font-scale,1));color:#607179}
.cable-config-grid input,.cable-config-grid select,.cable-route-inputs input{height:26px;padding:2px 5px;border:1px solid #bdc9ce;border-radius:3px;font-size:calc(8.5px * var(--font-scale,1))}
.cable-routes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 6px 6px}
.cable-routes-grid fieldset{margin:0;padding:5px;border:1px solid #d2dade;border-radius:3px}
.cable-routes-grid legend{padding:0 4px;color:#365d6c;font-size:calc(8px * var(--font-scale,1));font-weight:800}
.cable-route-inputs{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.cable-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 6px 6px}
.cable-calc-card{padding:5px 6px;border:1px solid #d0d9dd;border-top:3px solid #4a8298;border-radius:3px;background:#fafcfc;display:flex;flex-direction:column;gap:2px}
.cable-calc-card h4{margin:0 0 2px;font-size:calc(8.8px * var(--font-scale,1));color:#244958}
.cable-calc-card>span{display:flex;justify-content:space-between;gap:5px;font-size:calc(7.8px * var(--font-scale,1));color:#67777e}
.cable-calc-card>span b{font-size:calc(8px * var(--font-scale,1));color:#263e48}
.cable-engineering-warning{padding:5px 7px;border-top:1px solid #ead5a3;background:#fff8e8;color:#745800;font-size:calc(7.6px * var(--font-scale,1));line-height:1.45}
@media(max-width:1100px){.cable-config-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.cable-routes-grid,.cable-results-grid{grid-template-columns:1fr}.cable-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
.print-cable-table{display:flex;flex-direction:column}
.print-cable-row{display:grid;grid-template-columns:90px repeat(4,1fr);gap:4px;padding:3px 5px;border-bottom:1px dotted #d9e0e3;font-size:calc(7px * var(--font-scale,1))}
.print-cable-row b{color:#234959}.print-cable-row span{color:#5d6e76}
.print-cable-note{margin:0;padding:4px 6px;background:#fff8e8!important;color:#705700!important;font-size:calc(6.7px * var(--font-scale,1))!important;line-height:1.4}
}


/* GreenEco 3.3.16.12 — Solar/Battery inputs styled like engineering cable calculator */
.technical-workspace-form .technical-solar-section,
.technical-workspace-form .technical-battery-section{
  gap:8px !important;
}

.technical-workspace-form .technical-solar-section .technical-stage,
.technical-workspace-form .technical-battery-section .technical-stage{
  padding:0 !important;
}

.technical-workspace-form .technical-solar-section .technical-stage h4,
.technical-workspace-form .technical-battery-section .technical-stage h4{
  font-size:11px !important;
  padding:5px 8px !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-grid,
.technical-workspace-form .technical-battery-section .technical-stage-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px 10px !important;
  align-items:start !important;
  padding:7px !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-grid > label,
.technical-workspace-form .technical-battery-section .technical-stage-grid > label{
  display:grid !important;
  grid-template-columns:minmax(96px,116px) minmax(82px,1fr) !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  min-height:34px !important;
  padding:4px 6px !important;
  background:#fff !important;
  border:1px solid #d5dfe4 !important;
  border-radius:3px !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-grid > label > span,
.technical-workspace-form .technical-battery-section .technical-stage-grid > label > span{
  margin:0 !important;
  font-size:10.3px !important;
  line-height:1.25 !important;
  color:#314851 !important;
  text-align:right !important;
  white-space:normal !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-grid > label input,
.technical-workspace-form .technical-solar-section .technical-stage-grid > label select,
.technical-workspace-form .technical-battery-section .technical-stage-grid > label input,
.technical-workspace-form .technical-battery-section .technical-stage-grid > label select{
  width:100% !important;
  min-width:0 !important;
  min-height:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:4px 6px !important;
  font-size:11px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-grid .calculated-field,
.technical-workspace-form .technical-battery-section .technical-stage-grid .calculated-field{
  background:#f8fbfc !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-grid .calculated-field input,
.technical-workspace-form .technical-battery-section .technical-stage-grid .calculated-field input{
  background:#eef5f7 !important;
  color:#075d79 !important;
  font-weight:800 !important;
}

.technical-workspace-form .technical-solar-section .technical-stage-summary .technical-stage-grid,
.technical-workspace-form .technical-battery-section .technical-stage-summary .technical-stage-grid,
.technical-workspace-form .technical-solar-section .technical-stage-string-config .technical-stage-grid,
.technical-workspace-form .technical-battery-section .technical-stage-string-config .technical-stage-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.technical-workspace-form .technical-solar-section .technical-mini-result,
.technical-workspace-form .technical-battery-section .technical-mini-result{
  min-height:32px !important;
  padding:4px 6px !important;
  display:grid !important;
  grid-template-columns:max-content 1fr !important;
  align-items:center !important;
  gap:5px !important;
}

.technical-workspace-form .technical-solar-section .technical-mini-result span,
.technical-workspace-form .technical-battery-section .technical-mini-result span{
  font-size:9.5px !important;
}

.technical-workspace-form .technical-solar-section .technical-mini-result b,
.technical-workspace-form .technical-battery-section .technical-mini-result b{
  font-size:10.8px !important;
}

.technical-workspace-form .technical-solar-section .technical-stage textarea,
.technical-workspace-form .technical-battery-section .technical-stage textarea{
  min-height:54px !important;
}

@media (max-width: 1100px){
  .technical-workspace-form .technical-solar-section .technical-stage-grid,
  .technical-workspace-form .technical-battery-section .technical-stage-grid{
    grid-template-columns:1fr !important;
  }
}


/* GreenEco 3.3.16.12.1 — PRINT-SAFE confirmation
   This patch changes only the on-screen solar/battery input layout.
   Existing @media print rules and the technical print sheet remain untouched.
*/


/* GreenEco 3.3.16.13 — Inverter/Controller + Protection/Approval input styling
   PRINT-SAFE: no @media print rules are modified. */

/* ===== Inverter & Controller ===== */
.technical-workspace-form .technical-inverter-section{
  gap:8px !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage{
  padding:0 !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage h4{
  font-size:11px !important;
  padding:5px 8px !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px 10px !important;
  align-items:start !important;
  padding:7px !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage-grid > label{
  display:grid !important;
  grid-template-columns:minmax(96px,116px) minmax(82px,1fr) !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  min-height:34px !important;
  padding:4px 6px !important;
  background:#fff !important;
  border:1px solid #d5dfe4 !important;
  border-radius:3px !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage-grid > label > span{
  margin:0 !important;
  font-size:10.3px !important;
  line-height:1.25 !important;
  color:#314851 !important;
  text-align:right !important;
  white-space:normal !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage-grid > label input,
.technical-workspace-form .technical-inverter-section .technical-stage-grid > label select{
  width:100% !important;
  min-width:0 !important;
  min-height:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:4px 6px !important;
  font-size:11px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage-grid .calculated-field{
  background:#f8fbfc !important;
}

.technical-workspace-form .technical-inverter-section .technical-stage-grid .calculated-field input{
  background:#eef5f7 !important;
  color:#075d79 !important;
  font-weight:800 !important;
}

.technical-workspace-form .technical-inverter-section .technical-summary-line{
  gap:6px 16px !important;
  padding:7px !important;
}

/* ===== Protection & Approval ===== */
.technical-workspace-form .technical-protection-section{
  gap:8px !important;
}

.technical-workspace-form .technical-protection-section .technical-stage{
  padding:0 !important;
}

.technical-workspace-form .technical-protection-section .technical-stage h4{
  font-size:11px !important;
  padding:5px 8px !important;
}

.technical-workspace-form .technical-protection-section .technical-stage-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px 10px !important;
  align-items:start !important;
  padding:7px !important;
}

.technical-workspace-form .technical-protection-section .technical-stage-grid.single{
  grid-template-columns:1fr !important;
}

.technical-workspace-form .technical-protection-section .technical-stage-grid > label{
  display:grid !important;
  grid-template-columns:minmax(96px,116px) minmax(82px,1fr) !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  min-height:34px !important;
  padding:4px 6px !important;
  background:#fff !important;
  border:1px solid #d5dfe4 !important;
  border-radius:3px !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-protection-section .technical-stage-grid > label > span{
  margin:0 !important;
  font-size:10.3px !important;
  line-height:1.25 !important;
  color:#314851 !important;
  text-align:right !important;
  white-space:normal !important;
}

.technical-workspace-form .technical-protection-section .technical-stage-grid > label select,
.technical-workspace-form .technical-protection-section .technical-stage-grid > label input{
  width:100% !important;
  min-width:0 !important;
  min-height:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:4px 6px !important;
  font-size:11px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.technical-workspace-form .technical-protection-section .technical-wide-field{
  display:grid !important;
  grid-template-columns:minmax(110px,132px) minmax(0,1fr) !important;
  align-items:start !important;
  gap:7px !important;
  min-height:62px !important;
  padding:6px !important;
}

.technical-workspace-form .technical-protection-section .technical-wide-field > span{
  padding-top:7px !important;
  font-size:10.3px !important;
}

.technical-workspace-form .technical-protection-section .technical-wide-field textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  max-height:86px !important;
  padding:6px 7px !important;
  font-size:10.5px !important;
  line-height:1.4 !important;
  box-sizing:border-box !important;
  resize:vertical !important;
}

@media (max-width:1100px){
  .technical-workspace-form .technical-inverter-section .technical-stage-grid,
  .technical-workspace-form .technical-protection-section .technical-stage-grid{
    grid-template-columns:1fr !important;
  }
}


/* GreenEco 3.3.16.14 — BOM side panel inside Technical Design
   Screen UI only. Existing print sheet is untouched. */
.technical-workflow-strip .technical-bom-tab-button{
  margin-inline-start:auto;
  min-height:27px;
  padding:3px 9px;
  border:1px solid #7997a3;
  border-radius:4px;
  background:#eef5f7;
  color:#174c61;
  font-size:calc(9px * var(--font-scale,1));
  font-weight:900;
  cursor:pointer;
}
.technical-workflow-strip .technical-bom-tab-button:hover{
  background:#e2f0f4;
}

.technical-bom-backdrop{
  position:fixed;
  inset:0;
  z-index:10030;
  background:rgba(20,34,41,.28);
}

.technical-bom-side-panel{
  position:fixed;
  z-index:10031;
  top:54px;
  bottom:18px;
  left:18px;
  width:min(560px,calc(100vw - 36px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #8097a1;
  border-radius:6px;
  background:#fff;
  box-shadow:0 14px 42px rgba(18,38,47,.28);
  direction:rtl;
}

.technical-bom-side-panel>header{
  min-height:48px;
  padding:7px 9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #cad6db;
  background:#edf4f6;
}
.technical-bom-side-panel>header>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.technical-bom-side-panel>header strong{
  color:#173f51;
  font-size:calc(12px * var(--font-scale,1));
}
.technical-bom-side-panel>header span{
  color:#667880;
  font-size:calc(8.5px * var(--font-scale,1));
}
.technical-bom-side-panel>header button{
  width:29px;
  height:29px;
  border:1px solid #a9b9c0;
  border-radius:4px;
  background:#fff;
  color:#365763;
  font-size:calc(19px * var(--font-scale,1));
  line-height:1;
  cursor:pointer;
}

.technical-bom-project{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:5px;
  padding:6px;
  border-bottom:1px solid #dce3e6;
  background:#fafcfc;
}
.technical-bom-project span{
  padding:4px 6px;
  border:1px solid #dde5e8;
  background:#fff;
  color:#68777e;
  font-size:calc(8.2px * var(--font-scale,1));
}
.technical-bom-project b{
  color:#214958;
}

.technical-bom-table{
  flex:1;
  overflow:auto;
  padding:6px;
}
.technical-bom-row{
  display:grid;
  grid-template-columns:minmax(105px,1fr) 58px 65px minmax(190px,2fr);
  align-items:stretch;
  border:1px solid #d6dfe3;
  border-top:0;
  background:#fff;
}
.technical-bom-row:first-child{
  border-top:1px solid #d6dfe3;
}
.technical-bom-row>*{
  min-width:0;
  padding:6px;
  border-left:1px solid #e0e6e9;
  font-size:calc(8.2px * var(--font-scale,1));
}
.technical-bom-row>*:last-child{
  border-left:0;
}
.technical-bom-head{
  position:sticky;
  top:0;
  z-index:1;
  background:#365f70;
  color:#fff;
  font-weight:900;
}
.technical-bom-head>*{
  color:#fff;
  text-align:center;
}
.technical-bom-row>strong{
  color:#214958;
}
.technical-bom-row>b{
  color:#075d79;
  text-align:center;
}
.technical-bom-row>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.technical-bom-row>div>span{
  color:#334d58;
  line-height:1.35;
}
.technical-bom-row>div>small{
  color:#7b898f;
  font-size:calc(7.3px * var(--font-scale,1));
  line-height:1.35;
}
.technical-bom-empty{
  margin-top:8px;
  padding:16px;
  border:1px dashed #b9c6cc;
  background:#f8fafb;
  color:#6c7b82;
  text-align:center;
  font-size:calc(9px * var(--font-scale,1));
}

.technical-bom-side-panel>footer{
  padding:6px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid #d5dfe3;
  background:#f7fafb;
}
.technical-bom-side-panel>footer>div{
  max-width:390px;
  color:#68777e;
  font-size:calc(7.5px * var(--font-scale,1));
  line-height:1.4;
}
.technical-bom-side-panel>footer button{
  min-height:28px;
  padding:4px 10px;
  border:1px solid #6e919f;
  border-radius:4px;
  background:#e8f2f5;
  color:#174c61;
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:900;
  cursor:pointer;
}

@media(max-width:720px){
  .technical-bom-side-panel{
    top:12px;
    bottom:12px;
    left:12px;
    width:calc(100vw - 24px);
  }
  .technical-bom-project{
    grid-template-columns:1fr;
  }
  .technical-bom-row{
    grid-template-columns:minmax(90px,1fr) 48px 56px minmax(150px,2fr);
    min-width:560px;
  }
}


/* GreenEco 3.3.16.14.1 — BOM tab moved to main Technical Designs screen */
.technical-main-toolbar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.technical-main-toolbar > .action-bar,
.technical-main-toolbar > .toolbar,
.technical-main-toolbar > div:first-child{
  flex:0 1 auto;
}
.technical-main-bom-tab{
  min-height:34px;
  padding:5px 13px;
  border:1px solid #7897a4;
  border-radius:2px;
  background:#edf5f7;
  color:#154e64;
  font-size:calc(10px * var(--font-scale,1));
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.technical-main-bom-tab:hover:not(:disabled){
  background:#dfeff3;
  border-color:#4e7c8f;
}
.technical-main-bom-tab:disabled{
  opacity:.48;
  cursor:not-allowed;
}
@media(max-width:760px){
  .technical-main-toolbar{
    flex-wrap:wrap;
  }
}


/* GreenEco 3.3.16.15 — Auto-calculate moved to technical modal header */
.modal-header .modal-header-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-inline:8px;
}
.modal-header .technical-header-auto-design{
  min-height:32px;
  height:32px;
  padding:4px 11px;
  border-radius:3px;
  font-size:calc(10px * var(--font-scale,1));
  line-height:1;
  white-space:nowrap;
  align-self:center;
}
.modal-header .technical-header-auto-design:disabled{
  opacity:.62;
  cursor:wait;
}
@media(max-width:720px){
  .modal-header .technical-header-auto-design{
    min-height:30px;
    height:30px;
    padding:3px 7px;
    font-size:calc(8.5px * var(--font-scale,1));
  }
}


/* GreenEco 3.3.16.16 — Editable BOM */
.technical-bom-editable{width:min(920px,calc(100vw - 36px))}
.technical-bom-controls{display:grid;grid-template-columns:150px minmax(160px,1fr) auto auto;gap:5px;padding:6px;border-bottom:1px solid #dbe3e7;background:#f8fbfc}
.technical-bom-controls input,.technical-bom-controls select{min-height:29px;border:1px solid #b8c8cf;background:#fff;padding:4px 6px;font-size:calc(8.5px * var(--font-scale,1))}
.technical-bom-controls button{min-height:29px;border:1px solid #5f8797;background:#e9f3f6;color:#154f64;padding:4px 8px;font-size:calc(8.5px * var(--font-scale,1));font-weight:900;cursor:pointer}
.technical-bom-controls button.secondary{border-color:#a7b5bb;background:#f4f6f7;color:#455d67}
.technical-bom-category-strip{display:flex;flex-wrap:wrap;gap:4px;padding:5px 6px;border-bottom:1px solid #dbe3e7;background:#fff}
.technical-bom-category-strip button{min-height:24px;border:1px solid #c1ced3;background:#f6f9fa;color:#536a74;padding:2px 7px;border-radius:999px;font-size:calc(7.8px * var(--font-scale,1));cursor:pointer}
.technical-bom-category-strip button.active{border-color:#4f8296;background:#e5f1f5;color:#174c61;font-weight:900}
.technical-bom-edit-table .technical-bom-row{grid-template-columns:62px 105px minmax(125px,1fr) 68px 72px minmax(220px,2fr) 42px;min-width:850px}
.technical-bom-edit-table .technical-bom-row>*{padding:4px}
.technical-bom-edit-table input,.technical-bom-edit-table select,.technical-bom-edit-table textarea{width:100%;min-width:0;border:1px solid #c1cdd2;background:#fff;padding:3px 5px;font-size:calc(8px * var(--font-scale,1));box-sizing:border-box}
.technical-bom-edit-table input,.technical-bom-edit-table select{min-height:28px}
.technical-bom-edit-table textarea{min-height:34px;max-height:72px;resize:vertical}
.bom-spec-edit{display:grid!important;grid-template-columns:1fr;gap:3px!important}
.bom-source{align-self:center;justify-self:center;min-width:44px;padding:2px 5px!important;border-radius:999px;text-align:center;font-size:calc(7.2px * var(--font-scale,1))!important;font-weight:900}
.bom-source.auto{background:#e7f2f6;color:#17566e}.bom-source.manual{background:#fff2cf;color:#725600}
.bom-delete{align-self:center;justify-self:center;width:28px;height:28px;border:1px solid #d1a7a9;background:#fff2f2;color:#9a2e33;font-size:calc(16px * var(--font-scale,1));line-height:1;cursor:pointer}
.technical-bom-footer-actions{display:flex;gap:5px}
.technical-bom-footer-actions button{min-height:29px;padding:4px 10px;border:1px solid #5e8494;background:#e7f2f5;color:#154e63;font-size:calc(8.5px * var(--font-scale,1));font-weight:900}
.technical-bom-footer-actions button.secondary{border-color:#aebbc0;background:#f4f6f7;color:#4a5f68}
@media(max-width:760px){.technical-bom-controls{grid-template-columns:1fr 1fr}}


/* GreenEco 3.3.16.17 — BOM Costing & Technical Quotation */
.technical-bom-costing{width:min(1180px,calc(100vw - 28px))}
.bom-cost-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  padding:6px;
  border-bottom:1px solid #d8e1e5;
  background:#f7fafb;
}
.bom-cost-summary>div{
  min-height:43px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:5px 7px;
  border:1px solid #d5e0e4;
  background:#fff;
}
.bom-cost-summary span{font-size:calc(7.8px * var(--font-scale,1));color:#697a82}
.bom-cost-summary b{font-size:calc(10px * var(--font-scale,1));color:#214b5b}
.bom-cost-summary .grand{border-color:#8db7a4;background:#f1faf5}
.bom-cost-summary .grand b{color:#17643a}
.bom-cost-summary .negative{border-color:#d5a7a9;background:#fff5f5}
.bom-cost-summary .negative b{color:#9a2d33}

.bom-cost-settings{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  padding:6px;
  border-bottom:1px solid #dbe3e7;
  background:#fff;
}
.bom-cost-settings label{
  display:grid;
  grid-template-columns:max-content minmax(70px,1fr);
  align-items:center;
  gap:5px;
  min-height:31px;
  padding:3px 5px;
  border:1px solid #dbe3e6;
  background:#fafcfc;
}
.bom-cost-settings label span{font-size:calc(7.8px * var(--font-scale,1));color:#586c75}
.bom-cost-settings input,.bom-cost-settings select{
  width:100%;
  min-width:0;
  height:27px;
  border:1px solid #bdcbd1;
  background:#fff;
  padding:3px 5px;
  font-size:calc(8.3px * var(--font-scale,1));
  box-sizing:border-box;
}

.technical-bom-cost-table .technical-bom-row{
  grid-template-columns:58px 100px minmax(120px,1fr) 62px 68px 82px 82px 88px minmax(220px,1.8fr) 40px;
  min-width:1080px;
}
.bom-line-total{
  align-self:center;
  text-align:center;
  color:#17643a!important;
  font-size:calc(8.2px * var(--font-scale,1))!important;
}
.technical-bom-footer-actions button.quotation{
  border-color:#4a856a;
  background:#e8f6ee;
  color:#17643a;
}
.technical-bom-footer-actions button.quotation:disabled{
  opacity:.48;
  cursor:not-allowed;
}

@media(max-width:980px){
  .bom-cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bom-cost-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .bom-cost-summary,.bom-cost-settings{grid-template-columns:1fr}
}


/* GreenEco 3.3.16.17.1 — BOM returned beside auto-calculate in technical header */
.modal-header .technical-design-header-tools{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-inline:8px;
}
.modal-header .technical-header-bom-button{
  min-height:32px;
  height:32px;
  padding:4px 11px;
  border:1px solid #7897a4;
  border-radius:3px;
  background:#edf5f7;
  color:#154e64;
  font-size:calc(10px * var(--font-scale,1));
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
.modal-header .technical-header-bom-button:hover{
  background:#dfeff3;
  border-color:#4e7c8f;
}
@media(max-width:760px){
  .modal-header .technical-design-header-tools{
    gap:4px;
    margin-inline:4px;
  }
  .modal-header .technical-header-bom-button{
    min-height:30px;
    height:30px;
    padding:3px 7px;
    font-size:calc(8.5px * var(--font-scale,1));
  }
}


/* GreenEco 3.3.16.18 — BOM ↔ Quotation lifecycle link */
.bom-quotation-link{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(260px,1.4fr) auto;
  align-items:center;
  gap:7px;
  padding:6px;
  border-bottom:1px solid #d8e1e5;
  background:#f8fbfc;
}
.bom-quotation-link.linked{background:#f3faf6;border-color:#b7d4c4}
.bom-quotation-link.needs-update{background:#fff9e9;border-color:#ddc98c}
.bom-quotation-link.unlinked{background:#f7fafb}

.bom-quotation-link-main{
  display:grid;
  grid-template-columns:auto minmax(90px,1fr) auto;
  align-items:center;
  gap:6px;
  min-height:31px;
}
.bom-quotation-link-main>span{font-size:calc(7.8px * var(--font-scale,1));color:#687a82}
.bom-quotation-link-main>strong{font-size:calc(9.5px * var(--font-scale,1));color:#214d5e}

.bom-quotation-status{
  padding:3px 7px;
  border-radius:999px;
  background:#e7edf0;
  color:#53666e;
  font-size:calc(7.4px * var(--font-scale,1));
  white-space:nowrap;
}
.bom-quotation-status.status-approved{background:#e3f4e9;color:#17663b}
.bom-quotation-status.status-pending_approval{background:#fff0c8;color:#765800}
.bom-quotation-status.status-rejected{background:#fde7e7;color:#962f35}
.bom-quotation-status.status-draft{background:#e7f1f5;color:#1b5870}

.bom-quotation-sync{
  min-height:31px;
  display:flex;
  align-items:center;
  padding:4px 7px;
  border:1px solid #d9e2e5;
  background:#fff;
  color:#596d76;
  font-size:calc(7.8px * var(--font-scale,1));
  line-height:1.35;
}
.needs-update .bom-quotation-sync{
  border-color:#dcc98d;
  color:#765900;
  background:#fffdf6;
}

.bom-quotation-link-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.bom-quotation-link-actions button{
  min-height:29px;
  padding:4px 8px;
  border:1px solid #6f909e;
  background:#eef5f7;
  color:#174e63;
  font-size:calc(7.8px * var(--font-scale,1));
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.bom-quotation-link-actions button.create{border-color:#4c8669;background:#e9f6ee;color:#17643a}
.bom-quotation-link-actions button.update{border-color:#b79d52;background:#fff7df;color:#715700}
.bom-quotation-link-actions button:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:900px){
  .bom-quotation-link{grid-template-columns:1fr}
  .bom-quotation-link-actions{justify-content:flex-start}
}


/* GreenEco 3.3.16.18.1 — Organized BOM screens
   Screen only. Existing technical print model is untouched. */

.technical-bom-screen-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  padding:6px;
  border-bottom:1px solid #d3dde1;
  background:#f4f8f9;
}
.technical-bom-screen-tabs button{
  min-height:42px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
  padding:5px 7px;
  border:1px solid #c4d1d6;
  border-radius:4px;
  background:#fff;
  color:#536b75;
  cursor:pointer;
  text-align:right;
}
.technical-bom-screen-tabs button>b{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid #c1cfd4;
  border-radius:3px;
  background:#f2f6f7;
  color:#57717c;
  font-size:calc(8px * var(--font-scale,1));
}
.technical-bom-screen-tabs button>span{
  font-size:calc(9px * var(--font-scale,1));
  font-weight:900;
  color:#334f5b;
}
.technical-bom-screen-tabs button>small{
  padding:2px 5px;
  border-radius:999px;
  background:#eef3f5;
  color:#74838a;
  font-size:calc(7px * var(--font-scale,1));
  white-space:nowrap;
}
.technical-bom-screen-tabs button.active{
  border-color:#4f8093;
  background:#eaf4f7;
  box-shadow:inset 0 -2px 0 #4f8093;
}
.technical-bom-screen-tabs button.active>b{
  border-color:#4f8093;
  background:#fff;
  color:#17546c;
}
.technical-bom-screen-tabs button.active>span{color:#174d62}
.technical-bom-screen-tabs small.linked{
  background:#e4f4e9;
  color:#17633a;
}
.technical-bom-screen-tabs small.needs-update{
  background:#fff0c8;
  color:#775900;
}

/* 01 — Materials & quantities */
.bom-tab-materials .bom-quotation-link,
.bom-tab-materials .bom-cost-summary,
.bom-tab-materials .bom-cost-settings{
  display:none !important;
}
.bom-tab-materials .technical-bom-cost-table .technical-bom-row{
  grid-template-columns:62px 108px minmax(145px,1.25fr) 72px 78px minmax(270px,2.1fr) 42px;
  min-width:820px;
}
.bom-tab-materials .technical-bom-cost-table .technical-bom-row>*:nth-child(6),
.bom-tab-materials .technical-bom-cost-table .technical-bom-row>*:nth-child(7),
.bom-tab-materials .technical-bom-cost-table .technical-bom-row>*:nth-child(8){
  display:none !important;
}
.bom-tab-materials .technical-bom-cost-table .bom-spec-edit>input:last-child{
  display:none !important;
}
.bom-tab-materials .technical-bom-controls{
  border-top:0;
}

/* 02 — Costing */
.bom-tab-costing .bom-quotation-link{
  display:none !important;
}
.bom-tab-costing .technical-bom-category-strip{
  display:none !important;
}
.bom-tab-costing .technical-bom-controls{
  grid-template-columns:155px minmax(180px,1fr) auto;
}
.bom-tab-costing .technical-bom-controls>button:last-child{
  display:none !important;
}
.bom-tab-costing .technical-bom-cost-table .technical-bom-row{
  grid-template-columns:minmax(155px,1.45fr) 70px 76px 88px 88px 92px minmax(210px,1.7fr);
  min-width:820px;
}
.bom-tab-costing .technical-bom-cost-table .technical-bom-row>*:nth-child(1),
.bom-tab-costing .technical-bom-cost-table .technical-bom-row>*:nth-child(2),
.bom-tab-costing .technical-bom-cost-table .technical-bom-row>*:nth-child(10){
  display:none !important;
}
.bom-tab-costing .technical-bom-cost-table .technical-bom-row>*:nth-child(3){grid-column:1}
.bom-tab-costing .technical-bom-cost-table .bom-spec-edit>textarea{
  display:none !important;
}
.bom-tab-costing .technical-bom-cost-table .bom-spec-edit>input:first-child{
  display:none !important;
}

/* 03 — Quotation */
.bom-tab-quotation .bom-cost-settings,
.bom-tab-quotation .technical-bom-controls,
.bom-tab-quotation .technical-bom-category-strip,
.bom-tab-quotation .technical-bom-table{
  display:none !important;
}
.bom-tab-quotation .bom-quotation-link{
  margin:7px;
  border:1px solid #cfdade;
  border-radius:4px;
}
.bom-tab-quotation .bom-cost-summary{
  margin:0 7px 7px;
  border:1px solid #d7e0e4;
  border-radius:4px;
}
.bom-tab-quotation>footer{
  margin-top:auto;
}

/* Clear screen title band for each tab */
.bom-tab-materials .technical-bom-table:before,
.bom-tab-costing .bom-cost-summary:before,
.bom-tab-quotation .bom-quotation-link:before{
  display:block;
  grid-column:1/-1;
  padding:5px 7px;
  border-bottom:1px solid #d5dfe3;
  background:#f6f9fa;
  color:#315260;
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:900;
}
.bom-tab-materials .technical-bom-table:before{
  content:"01 — المواد والكميات والمواصفات الفنية";
}
.bom-tab-costing .bom-cost-summary:before{
  content:"02 — التسعير والتكلفة والربحية";
}
.bom-tab-quotation .bom-quotation-link:before{
  content:"03 — ربط ومتابعة عرض السعر";
}

@media(max-width:760px){
  .technical-bom-screen-tabs{
    grid-template-columns:1fr;
  }
  .technical-bom-screen-tabs button{
    min-height:36px;
  }
}


/* GreenEco 3.3.16.19 — Technical Review & Approval */
.modal-header .technical-header-review-button{min-height:32px;height:32px;padding:4px 11px;border:1px solid #7f8d96;border-radius:3px;background:#f4f6f7;color:#344e59;font-size:calc(10px * var(--font-scale,1));font-weight:900;white-space:nowrap;cursor:pointer}
.modal-header .technical-header-review-button:hover{background:#eaf0f2}
.technical-review-backdrop{position:fixed;inset:0;z-index:10040;background:rgba(18,31,38,.3)}
.technical-review-panel{position:fixed;z-index:10041;top:54px;bottom:18px;left:18px;width:min(520px,calc(100vw - 36px));display:flex;flex-direction:column;overflow:hidden;direction:rtl;border:1px solid #81949d;border-radius:6px;background:#fff;box-shadow:0 14px 42px rgba(18,38,47,.28)}
.technical-review-panel>header{min-height:49px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #ccd7dc;background:#eff5f7}
.technical-review-panel>header>div{display:flex;flex-direction:column;gap:2px}
.technical-review-panel>header strong{font-size:calc(11px * var(--font-scale,1));color:#183f50}
.technical-review-panel>header span{font-size:calc(8px * var(--font-scale,1));color:#6e7d84}
.technical-review-panel>header button{width:29px;height:29px;border:1px solid #aab9c0;border-radius:4px;background:#fff;color:#365763;font-size:calc(18px * var(--font-scale,1));cursor:pointer}
.technical-review-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px;border-bottom:1px solid #dce4e7;background:#fafcfc}
.technical-review-status>span{font-size:calc(8.5px * var(--font-scale,1));color:#687b83}
.technical-review-precheck,.technical-review-note,.technical-review-history{margin:7px 7px 0;border:1px solid #d8e1e5;border-radius:4px;background:#fff}
.technical-review-precheck h4,.technical-review-history h4{margin:0;padding:5px 7px;border-bottom:1px solid #dce4e7;background:#f6f9fa;color:#315362;font-size:calc(9px * var(--font-scale,1))}
.technical-review-precheck>div{display:grid;grid-template-columns:22px minmax(100px,1fr) auto;align-items:center;gap:6px;padding:5px 7px;border-bottom:1px solid #edf1f3;font-size:calc(8px * var(--font-scale,1))}
.technical-review-precheck>div>b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-size:calc(8px * var(--font-scale,1))}
.technical-review-precheck>div.ok>b{background:#e5f4ea;color:#17623a}.technical-review-precheck>div.warn>b{background:#fff0ca;color:#765800}
.technical-review-precheck>div span{color:#60727a}.technical-review-precheck>div strong{color:#274d5c}
.technical-review-precheck>small{display:block;padding:5px 7px;color:#7b888e;font-size:calc(7px * var(--font-scale,1));line-height:1.4}
.technical-review-note{padding:6px}.technical-review-note label{display:block;margin-bottom:4px;font-size:calc(8.5px * var(--font-scale,1));font-weight:900;color:#3a5662}
.technical-review-note textarea{width:100%;min-height:72px;max-height:120px;resize:vertical;border:1px solid #bccbd1;background:#fff;padding:6px;font-size:calc(8.5px * var(--font-scale,1));box-sizing:border-box}
.technical-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}
.technical-review-actions button{min-height:31px;padding:4px 8px;border:1px solid #73909c;border-radius:3px;background:#edf4f6;color:#174e63;font-size:calc(8.5px * var(--font-scale,1));font-weight:900;cursor:pointer}
.technical-review-actions button.needs-review{border-color:#c3a451;background:#fff7dd;color:#6e5600}.technical-review-actions button.approve{border-color:#5d9676;background:#e9f6ee;color:#17643a}.technical-review-actions button.draft{border-color:#a8b2b6;background:#f4f5f5;color:#58666b}.technical-review-actions button:disabled{opacity:.45;cursor:not-allowed}
.technical-review-history{flex:1;min-height:110px;overflow:auto;margin-bottom:7px}
.technical-review-history article{padding:6px 7px;border-bottom:1px solid #e5eaec}.technical-review-history article>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.technical-review-history article b{font-size:calc(8px * var(--font-scale,1));color:#294f5e}.technical-review-history article time{font-size:calc(7px * var(--font-scale,1));color:#7e8c92}.technical-review-history article small{display:block;margin-top:3px;color:#6d7d84;font-size:calc(7.3px * var(--font-scale,1));line-height:1.4}
.technical-review-empty{padding:18px;text-align:center;color:#7a888e;font-size:calc(8px * var(--font-scale,1))}
.technical-review-panel>footer{padding:6px 8px;border-top:1px solid #d8e1e5;background:#f8fafb;text-align:left}.technical-review-panel>footer button{min-height:29px;padding:4px 10px;border:1px solid #8299a3;background:#eef4f6;color:#31515e;font-size:calc(8px * var(--font-scale,1));font-weight:900}
@media(max-width:760px){.technical-review-panel{top:12px;bottom:12px;left:12px;width:calc(100vw - 24px)}.modal-header .technical-header-review-button{height:30px;min-height:30px;padding:3px 7px;font-size:calc(8.5px * var(--font-scale,1))}}


/* GreenEco 3.3.16.20 — SLD Single-Line Diagram
   Screen only. Technical print model remains unchanged. */
.modal-header .technical-header-sld-button{
  min-height:32px;
  height:32px;
  padding:4px 11px;
  border:1px solid #69899a;
  border-radius:3px;
  background:#eaf3f6;
  color:#184d63;
  font-size:calc(10px * var(--font-scale,1));
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.modal-header .technical-header-sld-button:hover{background:#deedf2}

.technical-sld-backdrop{
  position:fixed;
  inset:0;
  z-index:10050;
  background:rgba(18,31,38,.32);
}
.technical-sld-panel{
  position:fixed;
  z-index:10051;
  top:34px;
  bottom:18px;
  left:18px;
  width:min(820px,calc(100vw - 36px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  direction:rtl;
  border:1px solid #788f99;
  border-radius:6px;
  background:#fff;
  box-shadow:0 16px 48px rgba(18,38,47,.3);
}
.technical-sld-panel>header{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 9px;
  border-bottom:1px solid #ccd8dd;
  background:#edf4f7;
}
.technical-sld-panel>header>div{display:flex;flex-direction:column;gap:2px}
.technical-sld-panel>header strong{font-size:calc(11px * var(--font-scale,1));color:#173f51}
.technical-sld-panel>header span{font-size:calc(8px * var(--font-scale,1));color:#6d7d84}
.technical-sld-panel>header button{
  width:30px;height:30px;border:1px solid #aab9c0;border-radius:4px;
  background:#fff;color:#355966;font-size:calc(18px * var(--font-scale,1));cursor:pointer
}

.technical-sld-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  padding:6px;
  border-bottom:1px solid #d9e2e5;
  background:#fafcfc;
}
.technical-sld-meta>span{
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:4px 6px;
  border:1px solid #dce4e7;
  background:#fff;
  color:#687981;
  font-size:calc(8px * var(--font-scale,1));
}
.technical-sld-meta b{color:#274f5f}

.technical-sld-canvas{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:10px;
  background:
    linear-gradient(#edf2f4 1px,transparent 1px),
    linear-gradient(90deg,#edf2f4 1px,transparent 1px),
    #fbfcfd;
  background-size:22px 22px;
}
.technical-sld-flow{
  min-width:690px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  padding:4px 16px 18px;
}
.technical-sld-node{
  width:min(620px,100%);
  display:grid;
  grid-template-columns:48px 150px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid #879da6;
  border-radius:4px;
  background:#fff;
  box-shadow:0 2px 7px rgba(33,68,82,.08);
}
.technical-sld-symbol{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #9bb0b8;
  border-radius:4px;
  background:#eef5f7;
  color:#174f65;
  font-size:calc(19px * var(--font-scale,1));
  font-weight:900;
}
.technical-sld-node h4{
  margin:0;
  color:#244c5b;
  font-size:calc(9px * var(--font-scale,1));
}
.technical-sld-node-lines{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
.technical-sld-node-lines span{
  min-height:24px;
  display:flex;
  align-items:center;
  padding:3px 5px;
  border:1px solid #e0e7ea;
  background:#f9fbfb;
  color:#5c7079;
  font-size:calc(7.6px * var(--font-scale,1));
}
.technical-sld-connector{
  width:48px;
  height:27px;
  display:grid;
  place-items:center;
  position:relative;
  color:#466d7d;
  font-weight:900;
}
.technical-sld-connector:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:#6f8e9a;
}
.technical-sld-connector span{
  position:relative;
  z-index:1;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  transform:rotate(90deg);
  background:#fbfcfd;
  font-size:calc(13px * var(--font-scale,1));
}
.technical-sld-node.node-pv,
.technical-sld-node.node-battery,
.technical-sld-node.node-loads{border-color:#7899a6}
.technical-sld-node.node-pv-protection,
.technical-sld-node.node-battery-protection,
.technical-sld-node.node-ac-protection{background:#fffdf7;border-color:#bba56a}
.technical-sld-node.node-controller,
.technical-sld-node.node-inverter{background:#f6fbfc;border-color:#6e97a8}

.technical-sld-notes{
  margin:8px 10px;
  padding:7px;
  border:1px solid #d8e1e5;
  background:#f9fbfc;
}
.technical-sld-notes h4{margin:0 0 4px;color:#315362;font-size:calc(9px * var(--font-scale,1))}
.technical-sld-notes p{margin:3px 0;color:#687981;font-size:calc(7.5px * var(--font-scale,1));line-height:1.45}

.technical-sld-panel>footer{
  padding:6px 8px;
  border-top:1px solid #d7e0e4;
  background:#f7fafb;
  text-align:left;
}
.technical-sld-panel>footer button{
  min-height:29px;
  padding:4px 10px;
  border:1px solid #7e96a0;
  background:#edf4f6;
  color:#31515e;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:900;
}
@media(max-width:760px){
  .technical-sld-panel{top:12px;bottom:12px;left:12px;width:calc(100vw - 24px)}
  .technical-sld-meta{grid-template-columns:1fr}
  .modal-header .technical-header-sld-button{height:30px;min-height:30px;padding:3px 7px;font-size:calc(8.5px * var(--font-scale,1))}
}


/* GreenEco 3.3.16.21 — Project Technical Report inside تقارير المشاريع */
.project-technical-report-host{margin-top:8px}
.project-technical-empty{min-height:220px;display:grid;place-items:center;border:1px dashed #b9c8ce;background:#fafcfc;color:#718189;font-size:calc(12px * var(--font-scale,1))}
.project-technical-report{direction:rtl;background:#fff;border:1px solid #b9c7cd;padding:10px;color:#263e49}
.project-technical-report-header{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:10px;padding-bottom:8px;border-bottom:2px solid #47788b}
.project-technical-report-header h2{margin:0;font-size:calc(18px * var(--font-scale,1));color:#174c61}
.project-technical-report-header p{margin:3px 0 0;font-size:calc(10px * var(--font-scale,1));color:#718189}
.project-technical-report-status{display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:calc(8px * var(--font-scale,1))}
.project-technical-report>h3{margin:11px 0 5px;padding:5px 7px;border-right:4px solid #4f7d90;background:#f0f5f7;color:#214e60;font-size:calc(11px * var(--font-scale,1))}
.ptr-project-grid,.ptr-metrics,.ptr-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.ptr-project-grid>div,.ptr-metrics>div,.ptr-review-grid>div{min-height:42px;padding:5px 7px;border:1px solid #d5dfe3;background:#fbfcfc;display:flex;flex-direction:column;gap:3px}
.ptr-project-grid div>b,.ptr-metrics div>b,.ptr-review-grid div>b{font-size:calc(8px * var(--font-scale,1));color:#546e78}
.ptr-project-grid div>span,.ptr-metrics div>span,.ptr-review-grid div>span{font-size:calc(9px * var(--font-scale,1));color:#274d5c;font-weight:800}
.ptr-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.ptr-design-grid>div{padding:7px;border:1px solid #cddae0;background:#f8fbfc;display:grid;grid-template-columns:90px 1fr;gap:3px 8px}
.ptr-design-grid span{font-size:calc(8px * var(--font-scale,1));color:#667a83}.ptr-design-grid b{font-size:calc(10px * var(--font-scale,1));color:#174f65}.ptr-design-grid small{grid-column:1/-1;font-size:calc(7.5px * var(--font-scale,1));color:#74868d}
.ptr-cable-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.ptr-cable-grid>div{padding:6px;border:1px solid #d5dfe3;background:#fff;display:flex;flex-direction:column;gap:3px}
.ptr-cable-grid b{font-size:calc(9px * var(--font-scale,1));color:#245364}.ptr-cable-grid span{font-size:calc(7.5px * var(--font-scale,1));color:#697b83}
.ptr-table-wrap{overflow:auto;border:1px solid #d6e0e4}
.ptr-table{width:100%;border-collapse:collapse;font-size:calc(7.8px * var(--font-scale,1))}
.ptr-table th,.ptr-table td{padding:5px 6px;border:1px solid #dce4e7;text-align:right;vertical-align:top}
.ptr-table th{background:#eaf2f5;color:#274e5d;font-weight:900}.ptr-table tbody tr:nth-child(even){background:#fafcfc}
.ptr-note{margin-top:5px;padding:7px;border:1px solid #d8e2e5;background:#fffdf5}.ptr-note b{font-size:calc(8.5px * var(--font-scale,1));color:#624f16}.ptr-note p{margin:4px 0 0;font-size:calc(8px * var(--font-scale,1));color:#6d6a58}
.ptr-sld-summary{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:9px;border:1px solid #ccd9de;background:#f8fbfc}
.ptr-sld-summary div{padding:6px 8px;border:1px solid #829ca7;background:#fff;color:#244f60;font-size:calc(8px * var(--font-scale,1));font-weight:900}.ptr-sld-summary i{font-style:normal;color:#607e89;font-size:calc(12px * var(--font-scale,1))}
.ptr-limitations{margin-top:10px;padding:8px;border:1px solid #dbc98d;background:#fffaf0}.ptr-limitations h3{margin:0 0 5px;color:#6a550d;font-size:calc(9px * var(--font-scale,1))}.ptr-limitations p{margin:3px 0;font-size:calc(7.5px * var(--font-scale,1));line-height:1.5;color:#716a51}
.project-technical-report>footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:7px;border-top:1px solid #cfdadd;font-size:calc(7.5px * var(--font-scale,1));color:#75858c}
.project-technical-project-filter{min-width:280px}
@media(max-width:900px){.ptr-project-grid,.ptr-metrics,.ptr-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ptr-cable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-technical-report-header{grid-template-columns:52px 1fr}.project-technical-report-status{grid-column:1/-1;align-items:flex-start}.ptr-project-grid,.ptr-metrics,.ptr-review-grid,.ptr-design-grid,.ptr-cable-grid{grid-template-columns:1fr}}
@media print{
  .project-technical-report-mode .page-header,
  .project-technical-report-mode .report-filters,
  .project-technical-report-mode .form-alert{display:none!important}
  .project-technical-report-mode{padding:0!important;margin:0!important;background:#fff!important}
  .project-technical-report-host{margin:0!important}
  .project-technical-report{border:0!important;padding:0!important;box-shadow:none!important}
  .project-technical-report>h3{break-after:avoid}
  .ptr-project-grid,.ptr-metrics,.ptr-review-grid,.ptr-design-grid,.ptr-cable-grid,.ptr-table-wrap,.ptr-note,.ptr-sld-summary,.ptr-limitations{break-inside:avoid}
}


/* GreenEco 3.3.16.22 — Engineering completeness checklist */
.technical-completeness-summary{
  margin:7px 7px 0;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:7px;
  padding:7px;
  border:1px solid #d4dfe3;
  background:#f8fbfc;
}
.technical-completeness-summary>div{display:flex;align-items:center;gap:6px}
.technical-completeness-summary span{font-size:calc(8px * var(--font-scale,1));color:#6c7d84}
.technical-completeness-summary b{font-size:calc(10px * var(--font-scale,1));color:#214e5f}
.technical-completeness-summary strong{padding:3px 8px;border-radius:999px;font-size:calc(8px * var(--font-scale,1))}
.technical-completeness-summary small{font-size:calc(7px * var(--font-scale,1));color:#74838a;white-space:nowrap}
.technical-completeness-summary.status-complete{border-color:#9ac4aa;background:#f3faf6}
.technical-completeness-summary.status-complete strong{background:#e1f3e7;color:#17633a}
.technical-completeness-summary.status-review{border-color:#d7bd77;background:#fffaf0}
.technical-completeness-summary.status-review strong{background:#fff0c9;color:#755900}
.technical-completeness-summary.status-incomplete{border-color:#d8a3a3;background:#fff6f6}
.technical-completeness-summary.status-incomplete strong{background:#fde6e6;color:#8f2d35}

.technical-completeness-checklist{
  margin:7px 7px 0;
  max-height:210px;
  overflow:auto;
  border:1px solid #d9e2e5;
  background:#fff;
}
.technical-completeness-checklist>div{
  display:grid;
  grid-template-columns:22px minmax(150px,1fr) minmax(120px,1.2fr);
  align-items:center;
  gap:6px;
  padding:5px 7px;
  border-bottom:1px solid #edf1f3;
}
.technical-completeness-checklist>div:last-child{border-bottom:0}
.technical-completeness-checklist>div>b{
  width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-size:8px
}
.technical-completeness-checklist>div>span{font-size:calc(8px * var(--font-scale,1));color:#435e69;font-weight:800}
.technical-completeness-checklist>div>small{font-size:calc(7px * var(--font-scale,1));color:#718189}
.technical-completeness-checklist>div.ok>b{background:#e2f3e8;color:#17633a}
.technical-completeness-checklist>div.warn>b{background:#fff0c9;color:#755900}
.technical-completeness-checklist>div.missing>b{background:#fde6e6;color:#8e2e35}
.technical-completeness-checklist>div.missing>span{color:#8e2e35}

.ptr-completeness{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  padding:6px;
  border:1px solid #d2dde1;
  background:#f8fbfc;
}
.ptr-completeness>div{min-height:42px;padding:5px 7px;border:1px solid #dce4e7;background:#fff;display:flex;flex-direction:column;gap:3px}
.ptr-completeness span{font-size:calc(7.5px * var(--font-scale,1));color:#74838a}
.ptr-completeness b{font-size:calc(9px * var(--font-scale,1));color:#274e5d}
.ptr-completeness.status-complete{border-color:#9fc5ae;background:#f3faf6}
.ptr-completeness.status-review{border-color:#d9c07e;background:#fffaf0}
.ptr-completeness.status-incomplete{border-color:#d7a2a2;background:#fff6f6}
.ptr-completeness-list{margin-top:5px;border:1px solid #e0bcbc;background:#fff8f8}
.ptr-completeness-list>div{display:grid;grid-template-columns:20px minmax(140px,1fr) minmax(140px,1.2fr);gap:6px;padding:5px 7px;border-bottom:1px solid #f0dede}
.ptr-completeness-list>div:last-child{border-bottom:0}
.ptr-completeness-list b{color:#96333a}.ptr-completeness-list span{font-size:calc(8px * var(--font-scale,1));color:#7f3035;font-weight:800}.ptr-completeness-list small{font-size:calc(7px * var(--font-scale,1));color:#8a6a6d}

@media(max-width:760px){
  .technical-completeness-summary{grid-template-columns:1fr auto}
  .technical-completeness-summary small{grid-column:1/-1}
  .technical-completeness-checklist>div{grid-template-columns:22px 1fr}
  .technical-completeness-checklist>div>small{grid-column:2}
  .ptr-completeness{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  .project-technical-report-mode .ptr-completeness,
  .project-technical-report-mode .ptr-completeness-list{break-inside:avoid}
}


/* GreenEco 3.3.16.23 — Project technical report review/approval workflow */
.project-report-review-workflow{
  margin-top:8px;
  border:1px solid #bac9cf;
  border-radius:5px;
  background:#fff;
  overflow:hidden;
}
.project-report-review-workflow>header{
  min-height:42px;
  padding:6px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #d8e1e5;
  background:#f1f6f8;
}
.project-report-review-workflow>header>div{display:flex;flex-direction:column;gap:2px}
.project-report-review-workflow>header strong{font-size:calc(10px * var(--font-scale,1));color:#214e60}
.project-report-review-workflow>header span{font-size:calc(7.5px * var(--font-scale,1));color:#728289}

.ptr-report-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  background:#edf1f3;
  color:#53666f;
  font-size:calc(7.5px * var(--font-scale,1));
  font-weight:900;
  white-space:nowrap;
}
.ptr-report-status.status-ready_review{background:#e7f1f5;color:#19566f}
.ptr-report-status.status-needs_revision{background:#fff0c9;color:#765900}
.ptr-report-status.status-approved{background:#e2f3e8;color:#17633a}

.project-report-review-stale,
.ptr-report-stale-notice{
  padding:6px 8px;
  border-bottom:1px solid #dcc887;
  background:#fff8df;
  color:#745800;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:900;
}
.ptr-report-stale{
  padding:3px 7px;
  border-radius:3px;
  background:#fff0c8;
  color:#735700;
  font-size:calc(7px * var(--font-scale,1));
}

.project-report-review-body{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(410px,1.5fr);
  gap:7px;
  padding:7px;
}
.project-report-review-body label{display:flex;flex-direction:column;gap:4px}
.project-report-review-body label>span{font-size:calc(8px * var(--font-scale,1));font-weight:900;color:#405d69}
.project-report-review-body textarea{
  min-height:68px;
  resize:vertical;
  border:1px solid #bccbd1;
  background:#fff;
  padding:6px;
  font-size:calc(8px * var(--font-scale,1));
  box-sizing:border-box;
}
.project-report-review-actions{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  align-content:start;
}
.project-report-review-actions button{
  min-height:31px;
  padding:4px 7px;
  border:1px solid #77939e;
  border-radius:3px;
  background:#edf4f6;
  color:#174f64;
  font-size:calc(7.8px * var(--font-scale,1));
  font-weight:900;
  cursor:pointer;
}
.project-report-review-actions button.needs-revision{border-color:#c3a653;background:#fff7df;color:#6f5700}
.project-report-review-actions button.approve{border-color:#609679;background:#eaf6ee;color:#17633a}
.project-report-review-actions button.draft{border-color:#a8b3b7;background:#f4f5f5;color:#57666c}
.project-report-review-actions button.open-design{border-color:#7892a0;background:#eef3f5;color:#345461}
.project-report-review-actions button:disabled{opacity:.45;cursor:not-allowed}

.project-report-review-history{
  border-top:1px solid #dde5e8;
  background:#fafcfc;
}
.project-report-review-history summary{
  cursor:pointer;
  padding:6px 8px;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:900;
  color:#3b5965;
}
.project-report-review-history>div{max-height:190px;overflow:auto;border-top:1px solid #e4eaec;background:#fff}
.project-report-review-history article{padding:6px 8px;border-bottom:1px solid #e8edef}
.project-report-review-history article>div{display:flex;justify-content:space-between;gap:8px}
.project-report-review-history article b{font-size:calc(7.8px * var(--font-scale,1));color:#294f5f}
.project-report-review-history article time{font-size:calc(7px * var(--font-scale,1));color:#7c8b91}
.project-report-review-history article small{display:block;margin-top:3px;font-size:calc(7.2px * var(--font-scale,1));color:#6f7f86}
.project-report-review-history .empty{display:block;padding:12px;color:#79878d;font-size:calc(8px * var(--font-scale,1));text-align:center}

.ptr-report-review-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
}
.ptr-report-review-summary>div{
  padding:5px 7px;
  min-height:42px;
  display:flex;
  flex-direction:column;
  gap:3px;
  border:1px solid #d5dfe3;
  background:#fbfcfc;
}
.ptr-report-review-summary span{font-size:calc(7.5px * var(--font-scale,1));color:#74838a}
.ptr-report-review-summary b{font-size:calc(8.5px * var(--font-scale,1));color:#274e5d}
.ptr-report-review-note{
  margin-top:5px;
  padding:7px;
  border:1px solid #d5dfe3;
  background:#f8fbfc;
}
.ptr-report-review-note b{font-size:calc(8px * var(--font-scale,1));color:#315362}
.ptr-report-review-note p{margin:4px 0 0;font-size:calc(7.8px * var(--font-scale,1));line-height:1.45;color:#65777f}

@media(max-width:950px){
  .project-report-review-body{grid-template-columns:1fr}
  .project-report-review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ptr-report-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  .project-technical-report-mode .project-report-review-workflow,
  .project-technical-report-mode .form-alert{display:none!important}
  .project-technical-report-mode .ptr-report-review-summary,
  .project-technical-report-mode .ptr-report-review-note,
  .project-technical-report-mode .ptr-report-stale-notice{break-inside:avoid}
}


/* GreenEco 3.3.16.24 — Approved report snapshots + organized report workspace */
.project-report-workspace{margin-top:8px;border:1px solid #b8c8ce;border-radius:6px;background:#f7fafb;overflow:hidden}
.project-report-workspace-head{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(500px,2fr);gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #cfdade;background:linear-gradient(180deg,#f9fcfd,#eef5f7)}
.project-report-workspace-title small{display:block;font-size:calc(7.5px * var(--font-scale,1));color:#75858b;font-weight:900}.project-report-workspace-title h2{margin:2px 0;font-size:calc(15px * var(--font-scale,1));color:#164c61}.project-report-workspace-title span{font-size:calc(8px * var(--font-scale,1));color:#6c7d84}
.project-report-workspace-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.project-report-workspace-kpis>div{min-height:42px;padding:5px 7px;border:1px solid #d8e2e5;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:3px}.project-report-workspace-kpis span{font-size:calc(7px * var(--font-scale,1));color:#7a898f}.project-report-workspace-kpis b{font-size:calc(8.5px * var(--font-scale,1));color:#294f5e}.project-report-workspace-kpis>div.stale{border-color:#d7bc73;background:#fffaf0}.project-report-workspace-kpis>div.stale b{color:#765900}
.project-report-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;border-bottom:1px solid #d4dee2;background:#f2f7f8}
.project-report-tabs button{min-height:38px;padding:5px 7px;border:1px solid #c7d4d9;border-radius:4px;background:#fff;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:6px;text-align:right;color:#4d6873;cursor:pointer}
.project-report-tabs button>b{width:25px;height:25px;display:grid;place-items:center;border:1px solid #c9d5da;border-radius:3px;background:#f2f6f7;font-size:calc(7.5px * var(--font-scale,1))}.project-report-tabs button>span{font-size:calc(8.7px * var(--font-scale,1));font-weight:900}.project-report-tabs button>small{min-width:20px;padding:2px 5px;border-radius:999px;background:#eef2f4;font-size:calc(7px * var(--font-scale,1));text-align:center}
.project-report-tabs button.active{border-color:#4f7f91;background:#eaf4f7;box-shadow:inset 0 -2px 0 #4f7f91;color:#174f64}.project-report-tabs button.active>b{border-color:#4f7f91;background:#fff;color:#174f64}
.project-report-workspace-alert{margin:7px;padding:7px 9px;border:1px solid #d7bf78;border-radius:4px;background:#fff8e2;color:#715700;font-size:calc(8px * var(--font-scale,1));font-weight:900}
.project-report-review-workflow-tab{margin:7px;border-radius:4px}.project-report-workspace .project-technical-report-host{margin:7px;background:#fff}
.project-report-versions{display:grid;grid-template-columns:260px minmax(0,1fr);gap:7px;padding:7px}
.project-report-version-list{border:1px solid #ced9de;background:#fff;min-height:250px}.project-report-version-list>header{padding:7px;border-bottom:1px solid #dce4e7;background:#f5f9fa;display:flex;flex-direction:column;gap:2px}.project-report-version-list>header strong{font-size:calc(9px * var(--font-scale,1));color:#2c5261}.project-report-version-list>header small{font-size:calc(7px * var(--font-scale,1));color:#78878d}
.project-report-version-list>button{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:7px;border:0;border-bottom:1px solid #e7ecee;background:#fff;text-align:right;cursor:pointer}.project-report-version-list>button:hover{background:#f6fafb}.project-report-version-list>button.active{background:#eaf4f7;box-shadow:inset -3px 0 0 #4e7f91}.project-report-version-list>button>div{display:flex;flex-direction:column;gap:2px}.project-report-version-list>button b{font-size:calc(8.5px * var(--font-scale,1));color:#264f5f}.project-report-version-list>button span,.project-report-version-list>button small{font-size:calc(7px * var(--font-scale,1));color:#79888e}
.project-report-no-versions{padding:24px 10px;text-align:center;color:#78878d;font-size:calc(8px * var(--font-scale,1));line-height:1.5}
.project-report-version-preview{min-width:0}.project-report-version-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:6px}.project-report-version-meta>div{padding:6px;border:1px solid #d5dfe3;background:#fff;display:flex;flex-direction:column;gap:2px}.project-report-version-meta span{font-size:calc(7px * var(--font-scale,1));color:#78878d}.project-report-version-meta b{font-size:calc(8px * var(--font-scale,1));color:#294f5e}
.project-report-diff-summary{margin-bottom:6px;padding:6px;border:1px solid #d5dfe3;background:#fff}.project-report-diff-summary>strong{display:block;margin-bottom:5px;font-size:calc(8.5px * var(--font-scale,1));color:#315563}.project-report-diff-summary>div{display:flex;flex-wrap:wrap;gap:4px}.project-report-diff-summary span{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;border:1px solid #d7e0e3;background:#f8fafb}.project-report-diff-summary span b{font-size:calc(6.8px * var(--font-scale,1))}.project-report-diff-summary span small{font-size:calc(7px * var(--font-scale,1))}.project-report-diff-summary span.same b{color:#17633a}.project-report-diff-summary span.changed{border-color:#d8be77;background:#fff9e8}.project-report-diff-summary span.changed b{color:#765900}
.ptr-snapshot-title-badge{display:inline-block;margin-inline-start:7px;padding:3px 7px;border-radius:999px;background:#e4f3e9;color:#17633a;font-size:calc(7px * var(--font-scale,1));vertical-align:middle}
.project-report-filterbar{align-items:end}
@media(max-width:1100px){.project-report-workspace-head{grid-template-columns:1fr}}
@media(max-width:900px){.project-report-workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.project-report-versions{grid-template-columns:1fr}.project-report-version-list{min-height:0}}
@media(max-width:650px){.project-report-tabs{grid-template-columns:1fr}.project-report-version-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  .project-technical-report-mode .project-report-workspace-head,
  .project-technical-report-mode .project-report-tabs,
  .project-technical-report-mode .project-report-workspace-alert,
  .project-technical-report-mode .project-report-review-workflow,
  .project-technical-report-mode .project-report-version-list,
  .project-technical-report-mode .project-report-version-meta,
  .project-technical-report-mode .project-report-diff-summary{display:none!important}
  .project-technical-report-mode .project-report-workspace,
  .project-technical-report-mode .project-report-versions,
  .project-technical-report-mode .project-report-version-preview{display:block!important;border:0!important;padding:0!important;margin:0!important;background:#fff!important}
  .project-technical-report-mode .project-technical-report-host{margin:0!important}
}


/* GreenEco 3.3.16.25 — Detailed revision comparison */
.project-revision-compare{margin-top:6px;border:1px solid #cbd7dc;background:#fff}
.project-revision-compare>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid #dce4e7;background:#f4f8f9}
.project-revision-compare>header>div{display:flex;flex-direction:column;gap:2px}
.project-revision-compare>header strong{font-size:calc(9px * var(--font-scale,1));color:#274f5f}.project-revision-compare>header small,.project-revision-compare>header>span{font-size:calc(7px * var(--font-scale,1));color:#76868d}
.project-revision-compare-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px;border-bottom:1px solid #e0e7ea}
.project-revision-compare-selectors label{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:5px}.project-revision-compare-selectors label>span{font-size:calc(7.5px * var(--font-scale,1));font-weight:900;color:#415f6b}.project-revision-compare-selectors select{height:30px;border:1px solid #aebec5;background:#fff;padding:3px 6px;font-size:calc(8px * var(--font-scale,1))}
.project-revision-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;background:#f8fafb;border-bottom:1px solid #dfe6e8}
.project-revision-summary>div{min-height:42px;border:1px solid #d9e2e5;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px}.project-revision-summary b{font-size:calc(14px * var(--font-scale,1))}.project-revision-summary span{font-size:calc(7.5px * var(--font-scale,1));font-weight:900}
.project-revision-summary .changed b{color:#8b6400}.project-revision-summary .added b{color:#17633a}.project-revision-summary .removed b{color:#8d3038}.project-revision-summary .same b{color:#55717c}
.project-revision-sections{padding:7px;display:flex;flex-direction:column;gap:7px}.project-revision-sections>section{border:1px solid #d8e2e5;background:#fff}.project-revision-sections h4{margin:0;padding:6px 8px;background:#edf4f6;color:#294f5f;font-size:calc(8.5px * var(--font-scale,1));display:flex;justify-content:space-between;align-items:center}.project-revision-sections h4 small{min-width:20px;padding:2px 5px;border-radius:999px;background:#fff;color:#5a717b;text-align:center}
.project-revision-table-wrap{overflow:auto}.project-revision-table{width:100%;border-collapse:collapse;min-width:650px;font-size:calc(7.4px * var(--font-scale,1))}.project-revision-table th,.project-revision-table td{border:1px solid #e0e7ea;padding:5px 6px;text-align:right;vertical-align:top}.project-revision-table th{background:#f8fafb;color:#49636d}.project-revision-table th:first-child,.project-revision-table td:first-child{width:76px;font-weight:900}.project-revision-table th:nth-child(2){width:28%}
.project-revision-table tr.revision-changed td:first-child{color:#806000}.project-revision-table tr.revision-added{background:#f4fbf6}.project-revision-table tr.revision-added td:first-child{color:#17633a}.project-revision-table tr.revision-removed{background:#fff6f6}.project-revision-table tr.revision-removed td:first-child{color:#8d3038}.project-revision-table tr.revision-same{opacity:.72}
@media(max-width:700px){.project-revision-compare-selectors{grid-template-columns:1fr}.project-revision-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* GreenEco 3.3.16.25 — Reports print repair */
@media print{
  html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}
  .app-shell,.app-workspace,.reports-page,.project-technical-report-mode{
    height:auto!important;min-height:0!important;max-height:none!important;
    overflow:visible!important;position:static!important;background:#fff!important
  }

  /* Normal project reports: print only the report sheet. */
  .reports-page:not(.project-technical-report-mode)>*:not(.report-sheet){display:none!important}
  .reports-page:not(.project-technical-report-mode) .report-sheet{
    display:block!important;width:100%!important;max-width:none!important;
    margin:0!important;border:0!important;overflow:visible!important
  }
  .reports-page:not(.project-technical-report-mode) .report-sheet .table-scroll{
    overflow:visible!important;max-height:none!important
  }
  .reports-page:not(.project-technical-report-mode) .report-table{
    width:100%!important;min-width:0!important;table-layout:auto!important
  }

  /* Technical project report: print the selected current/snapshot report only. */
  .project-technical-report-mode>*:not(.project-report-workspace){display:none!important}
  .project-technical-report-mode .project-report-workspace{
    display:block!important;width:100%!important;max-width:none!important;
    margin:0!important;border:0!important;border-radius:0!important;
    overflow:visible!important;background:#fff!important
  }
  .project-technical-report-mode .project-report-workspace>*:not(.project-technical-report-host):not(.project-report-versions){display:none!important}
  .project-technical-report-mode .project-report-versions{
    display:block!important;overflow:visible!important;padding:0!important;margin:0!important
  }
  .project-technical-report-mode .project-report-version-preview{display:block!important;overflow:visible!important}
  .project-technical-report-mode .project-report-version-preview>*:not(.project-technical-report-host){display:none!important}
  .project-technical-report-mode .project-technical-report-host{
    display:block!important;width:100%!important;overflow:visible!important;margin:0!important;padding:0!important
  }
  .project-technical-report-mode .project-technical-report{
    display:block!important;width:100%!important;max-width:none!important;
    overflow:visible!important;border:0!important;margin:0!important;padding:0!important
  }
  .project-technical-report-mode .ptr-table-wrap{overflow:visible!important}
  .project-technical-report-mode .ptr-table{width:100%!important;min-width:0!important;table-layout:auto!important}
  .project-technical-report-mode .ptr-table thead{display:table-header-group}
  .project-technical-report-mode .ptr-table tr{break-inside:avoid;page-break-inside:avoid}
  .project-technical-report-mode .project-technical-report-header{break-inside:avoid;page-break-inside:avoid}
  .project-technical-report-mode .project-technical-report>footer{break-inside:avoid;page-break-inside:avoid}

  /* Comparison is an on-screen engineering tool; it must not replace the report printout. */
  .project-revision-compare{display:none!important}

  @page{size:A4 portrait;margin:10mm}
}


/* GreenEco 3.3.16.26 — Engineering commissioning checklist */
.engineering-commissioning-workspace{margin:8px 0;border:1px solid #bccbd1;background:#f7fafb}
.engineering-commissioning-empty{padding:20px;text-align:center;color:#718188;background:#fff}
.engineering-commissioning-panel{background:#fff}
.engineering-commissioning-panel>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px;border-bottom:1px solid #d6e0e4;background:#f8fbfc}
.engineering-commissioning-panel>header h3{margin:0;font-size:calc(12px * var(--font-scale,1));color:#214f60}
.engineering-commissioning-panel>header p{margin:2px 0 0;font-size:calc(7.5px * var(--font-scale,1));color:#74848b}
.engineering-commissioning-kpis{display:flex;gap:5px;flex-wrap:wrap}
.engineering-commissioning-kpis span{padding:4px 7px;border:1px solid #d5dfe3;background:#fff;font-size:calc(7.5px * var(--font-scale,1));color:#667b84}
.engineering-commissioning-kpis b{color:#254e5e}
.engineering-commissioning-reference{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center;margin:7px;padding:6px;border:1px solid #d6e0e4}
.engineering-commissioning-reference.ok{background:#f3faf6;border-color:#a9cbb5}
.engineering-commissioning-reference.warn{background:#fff9e9;border-color:#d9c17c}
.engineering-commissioning-reference>div{display:flex;flex-direction:column;gap:2px}
.engineering-commissioning-reference span{font-size:calc(7px * var(--font-scale,1));color:#77868d}
.engineering-commissioning-reference b{font-size:calc(8px * var(--font-scale,1));color:#294f5e}
.engineering-commissioning-reference strong{font-size:calc(7.5px * var(--font-scale,1));color:#705900}
.engineering-commissioning-sections{padding:0 7px 7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.engineering-commissioning-sections>section{border:1px solid #d6e0e4}
.engineering-commissioning-sections h4,.engineering-commissioning-measurements h4{margin:0;padding:6px 8px;background:#eef4f6;color:#2b5160;font-size:calc(8.5px * var(--font-scale,1))}
.engineering-commissioning-sections>section>div{display:flex;flex-direction:column}
.commissioning-item{display:grid;grid-template-columns:minmax(220px,1fr) 120px minmax(160px,1fr);gap:5px;align-items:center;padding:5px 6px;border-top:1px solid #e7edef}
.commissioning-item:first-child{border-top:0}
.commissioning-item-label{display:flex;align-items:center;gap:5px}
.commissioning-item-label b{padding:2px 5px;border-radius:999px;background:#fde7e7;color:#8d3038;font-size:calc(6.5px * var(--font-scale,1))}
.commissioning-item-label span{font-size:calc(7.7px * var(--font-scale,1));color:#3f5d68;font-weight:800}
.commissioning-item select,.commissioning-item input{height:28px;border:1px solid #b7c6cc;background:#fff;font-size:calc(7.5px * var(--font-scale,1));padding:3px 5px}
.commissioning-item.status-pass{background:#f6fbf7}
.commissioning-item.status-issue{background:#fff7f7}
.commissioning-item.status-na{background:#f7f7f7;opacity:.8}
.engineering-commissioning-measurements{margin:0 7px 7px;border:1px solid #d6e0e4}
.engineering-commissioning-measurements>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px}
.engineering-commissioning-measurements label{display:grid;grid-template-columns:1fr 90px 28px;gap:4px;align-items:center}
.engineering-commissioning-measurements label span{font-size:calc(7.5px * var(--font-scale,1));font-weight:900;color:#48636d}
.engineering-commissioning-measurements input{height:28px;border:1px solid #b6c5cb;background:#fff;font-size:calc(8px * var(--font-scale,1))}
.engineering-commissioning-measurements small{font-size:calc(7px * var(--font-scale,1));color:#7b898f}
.engineering-commissioning-signoff{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:7px;align-items:center;padding:7px;border-top:1px solid #d5dfe3;background:#f8fafb}
.engineering-commissioning-signoff label{display:grid;grid-template-columns:125px 1fr;gap:5px;align-items:center}
.engineering-commissioning-signoff label span,.engineering-commissioning-signoff>div span{font-size:calc(7.5px * var(--font-scale,1));font-weight:900;color:#49636d}
.engineering-commissioning-signoff input{height:29px;border:1px solid #b6c5cb;background:#fff;font-size:calc(8px * var(--font-scale,1))}
.engineering-commissioning-signoff>div:nth-child(2){display:flex;flex-direction:column;gap:2px}
.engineering-commissioning-actions{display:flex!important;flex-direction:row!important;gap:5px}
.engineering-commissioning-actions button{min-height:30px;padding:4px 8px;border:1px solid #76939f;background:#edf4f6;color:#174f64;font-size:calc(7.5px * var(--font-scale,1));font-weight:900}
.engineering-commissioning-actions button.complete{border-color:#609679;background:#eaf6ee;color:#17633a}
.engineering-commissioning-actions button:disabled{opacity:.45}
@media(max-width:1050px){
  .engineering-commissioning-sections{grid-template-columns:1fr}
  .engineering-commissioning-measurements>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .engineering-commissioning-signoff{grid-template-columns:1fr}
}
@media(max-width:700px){
  .commissioning-item{grid-template-columns:1fr}
  .engineering-commissioning-measurements>div{grid-template-columns:1fr}
}


/* GreenEco 3.3.16.27 — Execution command center redesign */
.execution-command-page{max-width:1600px}
.execution-command-bar{
  margin:8px 0;
  padding:7px;
  border:1px solid #aebfc6;
  background:#f1f6f8;
  display:grid;
  grid-template-columns:minmax(380px,1fr) auto;
  gap:8px;
  align-items:end
}
.execution-command-bar>label{display:grid;grid-template-columns:90px minmax(260px,1fr);gap:7px;align-items:center}
.execution-command-bar>label>span{font-size:calc(9px * var(--font-scale,1));font-weight:900;color:#365663}
.execution-command-bar select{height:34px;border:1px solid #8da4ad;background:#fff;padding:4px 8px;font-weight:800}
.execution-command-actions{display:flex;gap:5px}
.execution-control-center{border:1px solid #b9c9cf;background:#fff;margin-bottom:8px}
.execution-control-center>header{
  display:grid;grid-template-columns:minmax(240px,1fr) minmax(520px,2fr);
  gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #d2dde1;
  background:linear-gradient(180deg,#fbfdfe,#eef5f7)
}
.execution-control-center>header small{font-size:calc(7px * var(--font-scale,1));color:#74858c;font-weight:900}
.execution-control-center>header h2{font-size:calc(15px * var(--font-scale,1));margin:2px 0;color:#164d61}
.execution-control-center>header p{font-size:calc(8px * var(--font-scale,1));color:#6d7f86;margin:0}
.execution-control-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.execution-control-kpis>div{min-height:44px;padding:5px 7px;border:1px solid #d8e2e5;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:2px}
.execution-control-kpis span{font-size:calc(7px * var(--font-scale,1));color:#77868d}
.execution-control-kpis b{font-size:calc(9px * var(--font-scale,1));color:#284f5f}
.execution-control-kpis>div.ok{border-color:#a9cbb5;background:#f3faf6}
.execution-control-kpis>div.ok b{color:#17633a}
.execution-control-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:6px;background:#f4f8f9}
.execution-control-tabs button{
  min-height:38px;padding:5px 7px;border:1px solid #cbd7db;background:#fff;
  display:grid;grid-template-columns:28px 1fr;gap:6px;align-items:center;text-align:right;color:#4d6872;cursor:pointer
}
.execution-control-tabs button>b{width:25px;height:25px;display:grid;place-items:center;background:#f1f5f6;border:1px solid #d0dadd;font-size:calc(7px * var(--font-scale,1))}
.execution-control-tabs button>span{font-size:calc(8.5px * var(--font-scale,1));font-weight:900}
.execution-control-tabs button.active{border-color:#4e7f91;background:#eaf4f7;color:#174f64;box-shadow:inset 0 -2px 0 #4e7f91}
.execution-board,.handover-section,.engineering-commissioning-workspace,.engineering-technical-handover-workspace{margin-top:8px}

/* Technical operation handover */
.engineering-technical-handover-workspace{border:1px solid #b9c9cf;background:#f7fafb}
.engineering-technical-handover-panel{background:#fff}
.engineering-technical-handover-panel>header{
  padding:9px 10px;border-bottom:1px solid #d4dfe3;background:#f5f9fa;
  display:flex;justify-content:space-between;align-items:center;gap:8px
}
.engineering-technical-handover-panel>header small{font-size:calc(7px * var(--font-scale,1));color:#75868d;font-weight:900}
.engineering-technical-handover-panel>header h3{margin:2px 0;font-size:calc(13px * var(--font-scale,1));color:#214f60}
.engineering-technical-handover-panel>header p{margin:0;font-size:calc(7.5px * var(--font-scale,1));color:#71838a}
.engineering-handover-header-actions{display:flex;gap:5px;align-items:center}
.engineering-handover-header-actions button{height:29px;padding:4px 8px;border:1px solid #7995a0;background:#eef4f6;color:#174f64;font-size:calc(7.5px * var(--font-scale,1));font-weight:900}
.engineering-handover-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#edf1f3;color:#526871;font-size:calc(7.5px * var(--font-scale,1))}
.engineering-handover-status.status-ready{background:#e7f1f5;color:#19566f}
.engineering-handover-status.status-needs_action{background:#fff0c9;color:#755900}
.engineering-handover-status.status-handed_over{background:#e2f3e8;color:#17633a}
.engineering-handover-readiness{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;border-bottom:1px solid #e0e7ea}
.engineering-handover-readiness>div{min-height:42px;padding:5px 7px;border:1px solid #d8e2e5;display:flex;flex-direction:column;gap:3px}
.engineering-handover-readiness span{font-size:calc(7px * var(--font-scale,1));color:#78888e}
.engineering-handover-readiness b{font-size:calc(8.5px * var(--font-scale,1));color:#294f5e}
.engineering-handover-readiness .ok{background:#f4faf6;border-color:#b2d0bd}
.engineering-handover-readiness .warn{background:#fff9e9;border-color:#dbc783}
.engineering-handover-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:7px}
.engineering-handover-form label{display:grid;grid-template-columns:110px 1fr;gap:5px;align-items:center}
.engineering-handover-form label.full{grid-column:1/-1;align-items:start}
.engineering-handover-form label>span{font-size:calc(7.5px * var(--font-scale,1));color:#47616b;font-weight:900}
.engineering-handover-form input,.engineering-handover-form select,.engineering-handover-form textarea{border:1px solid #b3c3c9;background:#fff;min-height:29px;font-size:calc(8px * var(--font-scale,1));padding:4px 6px}
.engineering-handover-form textarea{min-height:65px;resize:vertical}
.engineering-handover-measurements{margin:0 7px 7px;border:1px solid #d7e1e4}
.engineering-handover-measurements h4{margin:0;padding:6px 8px;background:#eef4f6;font-size:calc(8.5px * var(--font-scale,1));color:#2c5261}
.engineering-handover-measurements>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px}
.engineering-handover-measurements span{padding:5px 7px;border:1px solid #dce4e7;background:#fff;display:flex;flex-direction:column;gap:2px}
.engineering-handover-measurements small{font-size:calc(7px * var(--font-scale,1));color:#79888e}
.engineering-handover-measurements b{font-size:calc(8.5px * var(--font-scale,1));color:#294f5e}
.engineering-handover-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;border-top:1px solid #dce4e7;background:#f8fafb}
.engineering-handover-actions button{min-height:31px;border:1px solid #8199a3;background:#edf4f6;color:#174f64;font-size:calc(7.5px * var(--font-scale,1));font-weight:900}
.engineering-handover-actions button.ready{border-color:#6f95a5;background:#eaf3f6}
.engineering-handover-actions button.action{border-color:#c0a350;background:#fff7df;color:#705700}
.engineering-handover-actions button.handover{border-color:#5f9678;background:#eaf6ee;color:#17633a}
.engineering-handover-actions button:disabled{opacity:.45}
.engineering-handover-history{border-top:1px solid #dde5e8}
.engineering-handover-history summary{padding:6px 8px;background:#fafcfc;font-size:calc(8px * var(--font-scale,1));font-weight:900;color:#415e69;cursor:pointer}
.engineering-handover-history article{padding:6px 8px;border-top:1px solid #e7edef}
.engineering-handover-history article>div{display:flex;justify-content:space-between;gap:8px}
.engineering-handover-history article b{font-size:calc(7.5px * var(--font-scale,1));color:#294f5f}
.engineering-handover-history article time,.engineering-handover-history article small{font-size:calc(7px * var(--font-scale,1));color:#79888e}
.engineering-handover-history>div>span{display:block;padding:10px;text-align:center;color:#78878d;font-size:calc(8px * var(--font-scale,1))}

/* Hidden document until printing */
.engineering-handover-print-sheet{display:none}
@media(max-width:1050px){
  .execution-control-center>header{grid-template-columns:1fr}
  .engineering-handover-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .execution-command-bar{grid-template-columns:1fr}
  .execution-control-kpis,.execution-control-tabs,.engineering-handover-readiness,.engineering-handover-measurements>div,.engineering-handover-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .engineering-handover-form{grid-template-columns:1fr}
}

/* Separate technical handover print. Does not alter technical-design print. */
@media print{
  body.execution-technical-handover-print-mode *{visibility:hidden!important}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet,
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet *{visibility:visible!important}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet{
    display:block!important;position:absolute!important;inset:0!important;width:100%!important;
    margin:0!important;padding:0!important;background:#fff!important;color:#000!important
  }
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet>header{
    display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;
    border-bottom:2px solid #174d62;padding:0 0 8px;margin-bottom:8px
  }
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet h2{margin:0;font-size:16pt;color:#174d62}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet header p{margin:3px 0 0;font-size:9pt}
  body.execution-technical-handover-print-mode .engineering-handover-print-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px}
  body.execution-technical-handover-print-mode .engineering-handover-print-grid>div{border:1px solid #888;padding:5px;display:flex;flex-direction:column;gap:2px}
  body.execution-technical-handover-print-mode .engineering-handover-print-grid span{font-size:7pt;color:#555}
  body.execution-technical-handover-print-mode .engineering-handover-print-grid b{font-size:9pt}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet h3{margin:8px 0 4px;font-size:10pt;color:#174d62}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet table{width:100%;border-collapse:collapse;font-size:8pt}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet th,
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet td{border:1px solid #777;padding:4px;vertical-align:top}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet th{background:#e7eef1!important;print-color-adjust:exact}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet tr{break-inside:avoid}
  body.execution-technical-handover-print-mode .engineering-handover-print-measurements{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  body.execution-technical-handover-print-mode .engineering-handover-print-measurements>div{border:1px solid #888;padding:5px;display:flex;flex-direction:column;gap:2px}
  body.execution-technical-handover-print-mode .engineering-handover-print-notes{margin-top:8px;border:1px solid #888;padding:6px}
  body.execution-technical-handover-print-mode .engineering-handover-print-notes p{margin:4px 0 0}
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet>footer{margin-top:12px;padding-top:8px;border-top:1px solid #777;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:8pt}
  @page{size:A4 portrait;margin:10mm}
}


/* GreenEco 3.3.16.28 — Punch List + execution-screen readability upgrade */
.execution-command-page{
  --exec-border:#849aa3;
  --exec-border-soft:#b6c5cb;
  --exec-text:#263f49;
  --exec-muted:#5f737c;
}
.execution-command-page .execution-command-bar,
.execution-command-page .execution-control-center,
.execution-command-page .execution-board,
.execution-command-page .handover-section,
.execution-command-page .engineering-commissioning-workspace,
.execution-command-page .engineering-technical-handover-workspace,
.execution-command-page .engineering-punch-workspace{
  border-color:var(--exec-border)!important;
  box-shadow:0 1px 2px rgb(0 0 0 / 8%);
}
.execution-command-page input,
.execution-command-page select,
.execution-command-page textarea,
.execution-command-page button{font-size:calc(10.5px * var(--font-scale,1))!important}
.execution-command-page label>span,
.execution-command-page article,
.execution-command-page p,
.execution-command-page td,
.execution-command-page th,
.execution-command-page small{font-size:calc(10px * var(--font-scale,1))!important}
.execution-command-page h2{font-size:calc(16px * var(--font-scale,1))!important}
.execution-command-page h3{font-size:calc(13px * var(--font-scale,1))!important}
.execution-command-page h4{font-size:calc(11.5px * var(--font-scale,1))!important}
.execution-command-page input,
.execution-command-page select,
.execution-command-page textarea{
  border:1.5px solid #8fa4ad!important;
  color:#1f3842!important;
  min-height:32px
}
.execution-command-page button{
  border-width:1.5px!important;
  min-height:32px
}
.execution-command-page .execution-control-center>header,
.execution-command-page .engineering-commissioning-panel>header,
.execution-command-page .engineering-technical-handover-panel>header{
  border-bottom-color:#94a8b0!important;
}
.execution-command-page .execution-control-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.execution-command-page .execution-control-kpis>div{
  border:1.5px solid #a5b6bd!important;
  min-height:50px;
}
.execution-command-page .execution-control-kpis span{font-size:calc(9.5px * var(--font-scale,1))!important}
.execution-command-page .execution-control-kpis b{font-size:calc(12px * var(--font-scale,1))!important}
.execution-command-page .execution-control-kpis>div.warn{background:#fff7e4;border-color:#c9a95b!important}
.execution-command-page .execution-control-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.execution-command-page .execution-control-tabs button{
  min-height:44px;
  border:1.5px solid #9fb0b7!important;
}
.execution-command-page .execution-control-tabs button>b{
  width:29px;height:29px;font-size:calc(9px * var(--font-scale,1))!important;border:1.5px solid #a9bac1!important
}
.execution-command-page .execution-control-tabs button>span{font-size:calc(11px * var(--font-scale,1))!important}
.execution-command-page .execution-control-tabs button>small{
  justify-self:end;min-width:24px;padding:2px 6px;border-radius:999px;background:#e9eef0;color:#344f5a;font-weight:900
}
.execution-command-page .execution-control-tabs button.active{border-color:#326f86!important;box-shadow:inset 0 -3px 0 #326f86}
.execution-command-page .commissioning-item{
  grid-template-columns:minmax(250px,1fr) 145px minmax(180px,1fr);
  padding:7px 8px;border-top:1.5px solid #c7d3d8
}
.execution-command-page .commissioning-item-label span{font-size:calc(10.5px * var(--font-scale,1))!important}
.execution-command-page .commissioning-item-label b{font-size:calc(8.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-commissioning-sections>section,
.execution-command-page .engineering-commissioning-measurements,
.execution-command-page .engineering-handover-measurements{
  border:1.5px solid #9eb1b9!important
}
.execution-command-page .engineering-handover-readiness>div{border:1.5px solid #9fb1b8!important;min-height:48px}
.execution-command-page .engineering-handover-readiness span{font-size:calc(9.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-readiness b{font-size:calc(11px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-form label>span{font-size:calc(10px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-status{font-size:calc(10px * var(--font-scale,1))!important;min-height:27px}

/* Punch List workspace */
.engineering-punch-workspace{margin-top:8px;border:1.5px solid #849aa3;background:#f5f8f9}
.engineering-punch-panel{background:#fff}
.engineering-punch-panel>header{
  padding:10px 12px;border-bottom:1.5px solid #98abb3;background:#eef5f7;
  display:flex;justify-content:space-between;align-items:center;gap:10px
}
.engineering-punch-panel>header small{color:#637a84;font-weight:900}
.engineering-punch-panel>header h3{margin:2px 0;color:#1f5367}
.engineering-punch-panel>header p{margin:0;color:#5f747d}
.engineering-punch-head-actions{display:flex;gap:6px}
.engineering-punch-head-actions button{
  min-height:34px;padding:5px 10px;border:1.5px solid #6f8d98;background:#edf4f6;color:#174f64;font-weight:900
}
.engineering-punch-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;
  padding:8px;border-bottom:1.5px solid #b1c1c7;background:#f8fbfc
}
.engineering-punch-summary>div{
  min-height:54px;border:1.5px solid #a8b9c0;background:#fff;
  display:flex;align-items:center;justify-content:center;gap:8px
}
.engineering-punch-summary b{font-size:calc(18px * var(--font-scale,1))!important}
.engineering-punch-summary span{font-size:calc(10.5px * var(--font-scale,1))!important;font-weight:900}
.engineering-punch-summary .open b{color:#755900}
.engineering-punch-summary .critical{border-color:#c58f93;background:#fff5f5}
.engineering-punch-summary .critical b{color:#982f37}
.engineering-punch-summary .review b{color:#245f7a}
.engineering-punch-summary .closed{border-color:#86b39a;background:#f4fbf6}
.engineering-punch-summary .closed b{color:#17633a}
.engineering-punch-editor{margin:8px;border:1.5px solid #93a8b0;background:#f8fafb}
.engineering-punch-editor>header{
  min-height:38px;padding:6px 9px;border-bottom:1.5px solid #aebdc3;background:#eaf2f5;
  display:flex;justify-content:space-between;align-items:center
}
.engineering-punch-editor>header b{font-size:calc(11px * var(--font-scale,1))!important;color:#244f60}
.engineering-punch-editor>header button{padding:3px 8px}
.engineering-punch-editor>div{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:8px
}
.engineering-punch-editor label{display:flex;flex-direction:column;gap:4px}
.engineering-punch-editor label.wide{grid-column:span 2}
.engineering-punch-editor label>span{font-weight:900;color:#344f5a}
.engineering-punch-editor input,.engineering-punch-editor select{height:34px}
.engineering-punch-editor button.save{
  align-self:end;min-height:34px;border:1.5px solid #4f886b;background:#eaf6ee;color:#17633a;font-weight:900
}
.engineering-punch-table-wrap{margin:8px;overflow:auto;border:1.5px solid #8fa4ad}
.engineering-punch-table{width:100%;min-width:1200px;border-collapse:collapse;background:#fff}
.engineering-punch-table th,.engineering-punch-table td{
  padding:7px 8px;border:1px solid #b9c7cc;vertical-align:middle;text-align:right
}
.engineering-punch-table th{
  background:#dfe9ed!important;color:#233f4a;font-weight:900;white-space:nowrap
}
.engineering-punch-table td:nth-child(3){min-width:280px}
.engineering-punch-table td:nth-child(3)>strong{display:block;color:#224e60;margin-bottom:3px}
.engineering-punch-table td:nth-child(3)>span{display:block;line-height:1.45}
.engineering-punch-table td:nth-child(3)>small{display:block;color:#667c85;margin-top:3px}
.engineering-punch-table td:nth-child(8)>span,.engineering-punch-table td:nth-child(8)>small{display:block}
.engineering-punch-table tr.severity-critical{background:#fff7f7}
.engineering-punch-table tr.status-closed{background:#f5fbf7}
.punch-severity,.punch-status{
  display:inline-flex;align-items:center;justify-content:center;min-width:66px;
  min-height:25px;padding:3px 7px;border-radius:999px;border:1px solid #aebdc3;font-size:9.5px!important
}
.punch-severity.severity-critical{background:#fde5e6;border-color:#c98d92;color:#8f2932}
.punch-severity.severity-high{background:#fff0d5;border-color:#d3ae66;color:#785900}
.punch-severity.severity-medium{background:#edf3f6;color:#315968}
.punch-severity.severity-low{background:#f4f5f5;color:#5c6b71}
.punch-status.status-open{background:#fff3d8;color:#705600}
.punch-status.status-in_progress{background:#e9f1f5;color:#245a70}
.punch-status.status-ready_review{background:#e9effb;color:#314f86}
.punch-status.status-closed{background:#e4f4e9;color:#17633a}
.punch-row-actions{white-space:nowrap}
.punch-row-actions button{min-height:28px!important;padding:3px 7px;margin-inline-end:4px}
.punch-row-actions button.delete{border-color:#b87b80!important;background:#fff1f1;color:#842c33}
.engineering-punch-print-sheet{display:none}

@media(max-width:1150px){
  .execution-command-page .execution-control-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .execution-command-page .execution-control-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .engineering-punch-editor>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .execution-command-page .execution-control-kpis,
  .execution-command-page .execution-control-tabs,
  .engineering-punch-summary{grid-template-columns:1fr}
  .engineering-punch-editor>div{grid-template-columns:1fr}
  .engineering-punch-editor label.wide{grid-column:auto}
}

/* Punch List independent print */
@media print{
  body.execution-punch-print-mode *{visibility:hidden!important}
  body.execution-punch-print-mode .engineering-punch-print-sheet,
  body.execution-punch-print-mode .engineering-punch-print-sheet *{visibility:visible!important}
  body.execution-punch-print-mode .engineering-punch-print-sheet{
    display:block!important;position:absolute!important;inset:0!important;width:100%!important;
    margin:0!important;padding:0!important;background:#fff!important;color:#000!important
  }
  body.execution-punch-print-mode .engineering-punch-print-sheet>header{
    display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;
    border-bottom:2px solid #174d62;padding-bottom:8px;margin-bottom:8px
  }
  body.execution-punch-print-mode .engineering-punch-print-sheet h2{margin:0;font-size:15pt;color:#174d62}
  body.execution-punch-print-mode .engineering-punch-print-sheet header p{margin:3px 0 0;font-size:9pt}
  body.execution-punch-print-mode .engineering-punch-print-sheet table{width:100%;border-collapse:collapse;font-size:7.5pt}
  body.execution-punch-print-mode .engineering-punch-print-sheet th,
  body.execution-punch-print-mode .engineering-punch-print-sheet td{border:1px solid #666;padding:4px;vertical-align:top}
  body.execution-punch-print-mode .engineering-punch-print-sheet th{background:#e5ecef!important;print-color-adjust:exact}
  body.execution-punch-print-mode .engineering-punch-print-sheet tr{break-inside:avoid}
  body.execution-punch-print-mode .engineering-punch-print-sheet>footer{
    margin-top:10px;padding-top:7px;border-top:1px solid #777;
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:8pt
  }
  @page{size:A4 landscape;margin:8mm}
}


/* GreenEco 3.3.16.28.1 — Execution/commissioning field layout hotfix
   Fixes squeezed/overflowing controls inside the engineering checklist. */
.execution-command-page .engineering-commissioning-panel,
.execution-command-page .engineering-commissioning-sections,
.execution-command-page .engineering-commissioning-sections>section,
.execution-command-page .engineering-commissioning-sections>section>div,
.execution-command-page .commissioning-item{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.execution-command-page .engineering-commissioning-sections{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

.execution-command-page .engineering-commissioning-sections>section{
  overflow:hidden!important;
}

.execution-command-page .commissioning-item{
  grid-template-columns:minmax(0,1fr) 126px minmax(120px,.82fr)!important;
  gap:6px!important;
  align-items:center!important;
  width:100%!important;
  padding:7px 8px!important;
}

.execution-command-page .commissioning-item>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.execution-command-page .commissioning-item-label{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  overflow:hidden!important;
}

.execution-command-page .commissioning-item-label span{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.45!important;
}

.execution-command-page .commissioning-item select,
.execution-command-page .commissioning-item input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:32px!important;
  box-sizing:border-box!important;
}

.execution-command-page .commissioning-item input{
  text-overflow:ellipsis!important;
}

/* Measurements/signoff also respect the available panel width. */
.execution-command-page .engineering-commissioning-measurements>div{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.execution-command-page .engineering-commissioning-measurements label{
  grid-template-columns:minmax(95px,1fr) minmax(70px,90px) 28px!important;
  min-width:0!important;
}
.execution-command-page .engineering-commissioning-measurements label>*{
  min-width:0!important;
}
.execution-command-page .engineering-commissioning-signoff{
  grid-template-columns:minmax(260px,1fr) minmax(150px,190px) auto!important;
}

/* At the common 1366px Windows workspace width, one section per row is clearer
   and prevents controls from visually crossing between cards. */
@media(max-width:1380px){
  .execution-command-page .engineering-commissioning-sections{
    grid-template-columns:1fr!important;
  }
  .execution-command-page .commissioning-item{
    grid-template-columns:minmax(280px,1fr) 150px minmax(190px,.9fr)!important;
  }
  .execution-command-page .engineering-commissioning-measurements>div{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:820px){
  .execution-command-page .commissioning-item{
    grid-template-columns:1fr!important;
  }
  .execution-command-page .commissioning-item-label{
    min-height:28px!important;
  }
  .execution-command-page .engineering-commissioning-measurements>div{
    grid-template-columns:1fr!important;
  }
  .execution-command-page .engineering-commissioning-signoff{
    grid-template-columns:1fr!important;
  }
}


/* GreenEco 3.3.16.29 — Engineering closeout + unified execution UI */
.execution-command-page .execution-control-kpis{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
}
.execution-command-page .execution-control-tabs{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
}
.execution-command-page .execution-control-tabs button{
  min-height:48px!important;
  padding:7px 9px!important;
  border-radius:3px;
}
.execution-command-page .execution-control-tabs button>span{
  font-size:calc(11.3px * var(--font-scale,1))!important;
}
.execution-command-page .execution-control-kpis>div{
  min-height:54px!important;
  border-radius:3px;
}
.execution-command-page .execution-control-kpis span{
  font-size:calc(9.7px * var(--font-scale,1))!important;
}
.execution-command-page .execution-control-kpis b{
  font-size:calc(12.2px * var(--font-scale,1))!important;
}

/* Final engineering closeout */
.engineering-closeout-workspace{
  margin-top:8px;
  border:1.5px solid #8298a1;
  background:#f5f8f9;
  box-shadow:0 1px 2px rgb(0 0 0 / 8%);
}
.engineering-closeout-panel{background:#fff}
.engineering-closeout-panel>header{
  padding:11px 12px;
  border-bottom:1.5px solid #91a6ae;
  background:linear-gradient(180deg,#f8fbfc,#eaf2f5);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px
}
.engineering-closeout-panel>header small{font-size:calc(9px * var(--font-scale,1))!important;color:#627983;font-weight:900}
.engineering-closeout-panel>header h3{margin:2px 0;font-size:calc(14px * var(--font-scale,1))!important;color:#1c5064}
.engineering-closeout-panel>header p{margin:0;font-size:calc(10px * var(--font-scale,1))!important;color:#5d727b}
.engineering-closeout-head-actions{display:flex;align-items:center;gap:7px}
.engineering-closeout-head-actions button{
  min-height:34px!important;padding:5px 10px;border:1.5px solid #6f8d98!important;
  background:#edf4f6;color:#174f64;font-size:calc(10px * var(--font-scale,1))!important;font-weight:900
}
.engineering-closeout-status,
.engineering-closeout-inline-status{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:29px;padding:4px 9px;border:1.5px solid #aab9bf;border-radius:999px;
  background:#eef2f3;color:#506871;font-size:calc(10px * var(--font-scale,1))!important;font-weight:900
}
.engineering-closeout-status.status-ready,
.engineering-closeout-inline-status.status-ready{background:#e8f2f6;border-color:#80a4b3;color:#1c5a72}
.engineering-closeout-status.status-closed,
.engineering-closeout-inline-status.status-closed{background:#e4f4e9;border-color:#83b497;color:#17633a}
.engineering-closeout-status.stale{background:#fff1d6;border-color:#d0ac60;color:#765900}
.engineering-closeout-stale{
  margin:8px;padding:8px 10px;border:1.5px solid #cfac63;background:#fff7e4;
  color:#715600;font-size:calc(10.5px * var(--font-scale,1))!important;font-weight:900
}
.engineering-closeout-readiness{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;padding:8px;border-bottom:1.5px solid #b2c1c7;background:#f8fbfc
}
.engineering-closeout-readiness article{
  min-height:70px;padding:8px;border:1.5px solid #aabac1;background:#fff;
  display:flex;flex-direction:column;justify-content:center;gap:4px
}
.engineering-closeout-readiness article.ok{background:#f3faf6;border-color:#8db89d}
.engineering-closeout-readiness article.warn{background:#fff8e8;border-color:#c9ab65}
.engineering-closeout-readiness span{font-size:calc(9.5px * var(--font-scale,1))!important;color:#60757e;font-weight:800}
.engineering-closeout-readiness b{font-size:calc(11.5px * var(--font-scale,1))!important;color:#254f60}
.engineering-closeout-readiness small{font-size:calc(9px * var(--font-scale,1))!important;color:#6f8188}
.engineering-closeout-form{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px
}
.engineering-closeout-form label{
  min-height:56px;padding:7px 8px;border:1.5px solid #aebec4;background:#fbfcfc;
  display:flex;flex-direction:column;gap:5px
}
.engineering-closeout-form label.full{grid-column:1/-1}
.engineering-closeout-form label>span{font-size:calc(9.5px * var(--font-scale,1))!important;color:#4e6872;font-weight:900}
.engineering-closeout-form label>b{font-size:calc(11px * var(--font-scale,1))!important;color:#244e5e}
.engineering-closeout-form textarea{
  width:100%;min-height:76px!important;border:1.5px solid #899fa8!important;
  background:#fff;padding:7px;font-size:calc(10.5px * var(--font-scale,1))!important;box-sizing:border-box
}
.engineering-closeout-actions{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
  padding:8px;border-top:1.5px solid #aebdc3;background:#f5f8f9
}
.engineering-closeout-actions button{
  min-height:36px!important;border:1.5px solid #8199a3!important;
  background:#eef4f6;color:#174f64;font-size:calc(10.5px * var(--font-scale,1))!important;font-weight:900
}
.engineering-closeout-actions button.ready{background:#e8f2f6;border-color:#6f99aa!important}
.engineering-closeout-actions button.close{background:#e8f6ed;border-color:#5e9577!important;color:#17633a}
.engineering-closeout-actions button:disabled{opacity:.45}
.engineering-closeout-history{border-top:1.5px solid #aebdc3}
.engineering-closeout-history summary{
  padding:8px 10px;background:#f5f8f9;color:#345561;
  font-size:calc(10.5px * var(--font-scale,1))!important;font-weight:900;cursor:pointer
}
.engineering-closeout-history article{padding:7px 9px;border-top:1px solid #ccd7db}
.engineering-closeout-history article>div{display:flex;justify-content:space-between;gap:8px}
.engineering-closeout-history article b{font-size:calc(10px * var(--font-scale,1))!important;color:#274f5e}
.engineering-closeout-history article time,.engineering-closeout-history article small{font-size:calc(9.5px * var(--font-scale,1))!important;color:#6c7f87}
.engineering-closeout-history>div>span{display:block;padding:12px;text-align:center;font-size:calc(10px * var(--font-scale,1))!important;color:#6c7f87}
.engineering-closeout-print-sheet{display:none}

/* Keep dense layout but preserve readability on common Windows resolutions. */
@media(max-width:1450px){
  .execution-command-page .execution-control-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .execution-command-page .execution-control-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .engineering-closeout-readiness{grid-template-columns:repeat(3,minmax(0,1fr))}
  .engineering-closeout-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .execution-command-page .execution-control-kpis,
  .execution-command-page .execution-control-tabs,
  .engineering-closeout-readiness,
  .engineering-closeout-form,
  .engineering-closeout-actions{
    grid-template-columns:1fr!important;
  }
  .engineering-closeout-form label.full{grid-column:auto}
}

/* Independent engineering closeout print */
@media print{
  body.execution-closeout-print-mode *{visibility:hidden!important}
  body.execution-closeout-print-mode .engineering-closeout-print-sheet,
  body.execution-closeout-print-mode .engineering-closeout-print-sheet *{visibility:visible!important}
  body.execution-closeout-print-mode .engineering-closeout-print-sheet{
    display:block!important;position:absolute!important;inset:0!important;width:100%!important;
    margin:0!important;padding:0!important;background:#fff!important;color:#000!important
  }
  body.execution-closeout-print-mode .engineering-closeout-print-sheet>header{
    display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;
    border-bottom:2px solid #174d62;padding-bottom:8px;margin-bottom:8px
  }
  body.execution-closeout-print-mode .engineering-closeout-print-sheet h2{margin:0;font-size:16pt;color:#174d62}
  body.execution-closeout-print-mode .engineering-closeout-print-sheet header p{margin:3px 0 0;font-size:9pt}
  body.execution-closeout-print-mode .engineering-closeout-print-sheet h3{margin:8px 0 5px;font-size:11pt;color:#174d62}
  body.execution-closeout-print-mode .engineering-closeout-print-sheet table{
    width:100%;border-collapse:collapse;font-size:9pt
  }
  body.execution-closeout-print-mode .engineering-closeout-print-sheet th,
  body.execution-closeout-print-mode .engineering-closeout-print-sheet td{
    border:1px solid #666;padding:6px;vertical-align:top
  }
  body.execution-closeout-print-mode .engineering-closeout-print-sheet th{
    background:#e5ecef!important;print-color-adjust:exact
  }
  body.execution-closeout-print-mode .engineering-closeout-print-sheet tr{break-inside:avoid}
  body.execution-closeout-print-mode .engineering-closeout-print-notes{
    margin-top:10px;padding:8px;border:1px solid #777
  }
  body.execution-closeout-print-mode .engineering-closeout-print-notes p{margin:5px 0 0}
  body.execution-closeout-print-mode .engineering-closeout-print-sheet>footer{
    margin-top:12px;padding-top:8px;border-top:1px solid #777;
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:8.5pt
  }
  @page{size:A4 portrait;margin:10mm}
}


/* GreenEco 3.3.16.29.1 — execution tabs moved to top title row
   Layout follows the technical-design workspace hierarchy:
   title/actions -> project selector -> project summary -> active workspace. */
.execution-page-head{
  min-height:58px;
  margin:0 0 8px;
  padding:6px 8px 6px 10px;
  border:1px solid #899da6;
  background:linear-gradient(180deg,#f7fbfc,#eaf2f5);
  display:grid;
  grid-template-columns:minmax(245px,.8fr) minmax(700px,2.2fr);
  align-items:center;
  gap:10px;
  box-shadow:0 1px 2px rgb(0 0 0 / 7%);
}
.execution-page-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}
.execution-page-title-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border:1px solid #7f99a4;
  background:#fff;
  color:#17627e;
}
.execution-page-title h1{
  margin:0;
  color:#233f4b;
  font-size:calc(16px * var(--font-scale,1))!important;
  line-height:1.2;
}
.execution-page-title p{
  margin:3px 0 0;
  color:#62767f;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  white-space:normal;
}
.execution-top-tabs{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:4px;
  align-items:stretch;
}
.execution-top-tabs button{
  position:relative;
  min-width:0;
  min-height:38px!important;
  padding:5px 7px!important;
  border:1px solid #9bafb7!important;
  border-radius:3px;
  background:#fff;
  color:#395965;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:900;
  line-height:1.25;
  cursor:pointer;
  white-space:normal;
}
.execution-top-tabs button:hover{
  background:#f0f6f8;
  border-color:#708e99!important;
}
.execution-top-tabs button.active{
  border-color:#2f728a!important;
  background:#e4f1f5;
  color:#12566f;
  box-shadow:inset 0 -3px 0 #2f728a;
}
.execution-top-tabs button small{
  position:absolute;
  top:2px;
  left:3px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff0d5;
  border:1px solid #c9aa64;
  color:#735700;
  font-size:calc(8px * var(--font-scale,1))!important;
  font-weight:900;
}
.execution-top-tabs button small.done{
  background:#e2f3e8;
  border-color:#83af94;
  color:#17633a;
}

/* The selected project block now works like technical-design summary. */
.execution-command-page .execution-command-bar{
  margin:0 0 7px!important;
  min-height:45px;
  padding:6px 8px!important;
  border:1px solid #99abb3!important;
  box-shadow:none!important;
  background:#f7fafb!important;
}
.execution-command-page .execution-control-center{
  margin:0 0 8px!important;
  border:1px solid #8fa1ab!important;
  box-shadow:0 1px 3px rgba(29,54,66,.08)!important;
}
.execution-command-page .execution-control-center>header{
  min-height:48px;
  padding:7px 11px!important;
  grid-template-columns:minmax(220px,.9fr) minmax(680px,2.4fr)!important;
  background:linear-gradient(180deg,#eef6f8,#e5f1f4)!important;
}
.execution-command-page .execution-control-center>header>div:first-child h2{
  margin:0;
  font-size:calc(14px * var(--font-scale,1))!important;
}
.execution-command-page .execution-control-center>header>div:first-child p{
  margin:2px 0 0;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}
.execution-command-page .execution-control-kpis{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:1px!important;
  background:#b9c6cc;
}
.execution-command-page .execution-control-kpis>div{
  min-height:54px!important;
  padding:6px 5px!important;
  border:0!important;
  border-radius:0!important;
  background:#fbfdfd;
  box-shadow:none!important;
}
.execution-command-page .execution-control-kpis>div:nth-child(3),
.execution-command-page .execution-control-kpis>div:nth-child(6){background:#f0f8f3}
.execution-command-page .execution-control-kpis>div:nth-child(5){background:#fff8ea}
.execution-command-page .execution-control-kpis span{font-size:calc(9.5px * var(--font-scale,1))!important;color:#66777f}
.execution-command-page .execution-control-kpis b{font-size:calc(12px * var(--font-scale,1))!important;color:#075d79}

/* Old middle tab strip is no longer used. */
.execution-command-page .execution-control-tabs{display:none!important}

/* Workspace order mirrors the technical design flow. */
.execution-command-page .execution-board,
.execution-command-page .handover-section,
.execution-command-page .engineering-commissioning-workspace,
.execution-command-page .engineering-punch-workspace,
.execution-command-page .engineering-technical-handover-workspace,
.execution-command-page .engineering-closeout-workspace{
  margin-top:0!important;
  border-radius:3px;
}

/* Common section headers follow the same engineering card language. */
.execution-command-page .execution-board>header,
.execution-command-page .handover-section>header,
.execution-command-page .engineering-commissioning-panel>header,
.execution-command-page .engineering-punch-panel>header,
.execution-command-page .engineering-technical-handover-panel>header,
.execution-command-page .engineering-closeout-panel>header{
  min-height:44px;
  border-bottom:1px solid #a8b7bd!important;
  background:linear-gradient(180deg,#f5f9fa,#eaf2f5)!important;
}

/* Common 1366px/Windows layout: title remains on the first row,
   tabs stay beside it but become two compact rows instead of moving below the page. */
@media(max-width:1450px){
  .execution-page-head{
    grid-template-columns:minmax(230px,.72fr) minmax(650px,2.28fr);
  }
  .execution-top-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .execution-top-tabs button{
    min-height:31px!important;
    padding:4px 6px!important;
    font-size:calc(9.5px * var(--font-scale,1))!important;
  }
  .execution-command-page .execution-control-kpis{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
}
@media(max-width:1050px){
  .execution-page-head{
    grid-template-columns:1fr;
  }
  .execution-top-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .execution-command-page .execution-control-center>header{
    grid-template-columns:1fr!important;
  }
  .execution-command-page .execution-control-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:650px){
  .execution-top-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .execution-command-page .execution-control-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* GreenEco 3.3.16.29.2 — compact execution UI
   Goal: one-row top tabs + dense engineering cards like technical-design screen. */

/* ---------- Top row: keep all six tabs on ONE row ---------- */
.execution-page-head{
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:7px!important;
  min-height:48px!important;
  padding:5px 7px!important;
}
.execution-page-title{gap:7px!important}
.execution-page-title-icon{
  width:32px!important;height:32px!important;flex-basis:32px!important;
}
.execution-page-title h1{font-size:calc(14px * var(--font-scale,1))!important}
.execution-page-title p{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:1.25!important;
}
.execution-top-tabs{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:3px!important;
}
.execution-top-tabs button{
  min-height:31px!important;
  padding:3px 4px!important;
  font-size:calc(8.7px * var(--font-scale,1))!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.execution-top-tabs button small{
  top:1px!important;
  left:2px!important;
  min-width:15px!important;
  height:15px!important;
  font-size:calc(7px * var(--font-scale,1))!important;
  padding:0 3px!important;
}

/* Cancel previous 1450px two-row behavior. */
@media(max-width:1450px){
  .execution-page-head{
    grid-template-columns:200px minmax(0,1fr)!important;
  }
  .execution-top-tabs{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  .execution-top-tabs button{
    min-height:30px!important;
    padding:3px 3px!important;
    font-size:calc(8.2px * var(--font-scale,1))!important;
  }
}
@media(max-width:1120px){
  .execution-page-head{
    grid-template-columns:180px minmax(0,1fr)!important;
  }
  .execution-page-title p{display:none!important}
  .execution-top-tabs button{font-size:calc(7.8px * var(--font-scale,1))!important}
}
@media(max-width:900px){
  .execution-page-head{grid-template-columns:1fr!important}
  .execution-top-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* ---------- Reduce vertical whitespace in the whole execution workspace ---------- */
.execution-command-page .execution-command-bar{
  min-height:38px!important;
  padding:4px 6px!important;
  margin-bottom:5px!important;
}
.execution-command-page .execution-command-bar>label{
  grid-template-columns:72px minmax(220px,1fr)!important;
  gap:5px!important;
}
.execution-command-page .execution-command-bar select{
  height:29px!important;
  min-height:29px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}
.execution-command-page .execution-command-actions button{
  min-height:29px!important;
  padding:3px 7px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}

.execution-command-page .execution-control-center{margin-bottom:5px!important}
.execution-command-page .execution-control-center>header{
  min-height:40px!important;
  padding:5px 7px!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:6px!important;
}
.execution-command-page .execution-control-center>header>div:first-child h2{font-size:calc(12.5px * var(--font-scale,1))!important}
.execution-command-page .execution-control-center>header>div:first-child p{font-size:calc(8.5px * var(--font-scale,1))!important}
.execution-command-page .execution-control-kpis>div{
  min-height:42px!important;
  padding:4px!important;
}
.execution-command-page .execution-control-kpis span{font-size:calc(8.3px * var(--font-scale,1))!important}
.execution-command-page .execution-control-kpis b{font-size:calc(10.5px * var(--font-scale,1))!important}

/* ---------- Commissioning screen: technical-design style compact 2-column cards ---------- */
.execution-command-page .engineering-commissioning-panel>header{
  min-height:38px!important;
  padding:5px 7px!important;
}
.execution-command-page .engineering-commissioning-panel>header h3{font-size:calc(11.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-commissioning-panel>header p{font-size:calc(8.2px * var(--font-scale,1))!important}
.execution-command-page .engineering-commissioning-kpis span{
  padding:3px 5px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
}

.execution-command-page .engineering-commissioning-reference{
  margin:5px!important;
  padding:4px 6px!important;
  gap:5px!important;
  grid-template-columns:repeat(2,minmax(0,1fr)) auto!important;
}
.execution-command-page .engineering-commissioning-reference span{font-size:calc(8px * var(--font-scale,1))!important}
.execution-command-page .engineering-commissioning-reference b,
.execution-command-page .engineering-commissioning-reference strong{font-size:calc(8.8px * var(--font-scale,1))!important}

/* Restore 2 columns at 1366px, but make each row compact enough to fit. */
.execution-command-page .engineering-commissioning-sections{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  padding:0 5px 5px!important;
}
.execution-command-page .engineering-commissioning-sections>section{
  border:1px solid #8fa1ab!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(29,54,66,.05)!important;
}
.execution-command-page .engineering-commissioning-sections h4{
  min-height:28px!important;
  padding:4px 7px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  background:#e8f1f4!important;
}
.execution-command-page .commissioning-item{
  grid-template-columns:minmax(0,1fr) 108px 135px!important;
  gap:4px!important;
  padding:4px 5px!important;
  min-height:37px!important;
  border-top:1px solid #d2dde1!important;
}
.execution-command-page .commissioning-item-label{
  gap:4px!important;
  overflow:visible!important;
}
.execution-command-page .commissioning-item-label span{
  font-size:calc(8.6px * var(--font-scale,1))!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.execution-command-page .commissioning-item-label b{
  font-size:calc(7px * var(--font-scale,1))!important;
  padding:1px 4px!important;
}
.execution-command-page .commissioning-item select,
.execution-command-page .commissioning-item input{
  height:27px!important;
  min-height:27px!important;
  padding:2px 4px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  border-width:1px!important;
}
.execution-command-page .commissioning-item input::placeholder{font-size:calc(8px * var(--font-scale,1))!important}

/* Measurements become a compact single row on desktop. */
.execution-command-page .engineering-commissioning-measurements{
  margin:0 5px 5px!important;
}
.execution-command-page .engineering-commissioning-measurements h4{
  min-height:28px!important;
  padding:4px 7px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}
.execution-command-page .engineering-commissioning-measurements>div{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  padding:5px!important;
}
.execution-command-page .engineering-commissioning-measurements label{
  grid-template-columns:minmax(75px,1fr) 70px 24px!important;
  gap:3px!important;
}
.execution-command-page .engineering-commissioning-measurements label span{font-size:calc(8.2px * var(--font-scale,1))!important}
.execution-command-page .engineering-commissioning-measurements input{
  height:27px!important;min-height:27px!important;font-size:8.5px!important
}
.execution-command-page .engineering-commissioning-signoff{
  grid-template-columns:minmax(250px,1fr) 150px auto!important;
  gap:5px!important;
  padding:5px!important;
}
.execution-command-page .engineering-commissioning-signoff label{
  grid-template-columns:105px 1fr!important;
  gap:4px!important;
}
.execution-command-page .engineering-commissioning-signoff input{
  height:27px!important;min-height:27px!important
}
.execution-command-page .engineering-commissioning-actions button{
  min-height:28px!important;
  padding:3px 6px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
}

/* ---------- Punch List: reduce oversized editor/table spacing ---------- */
.execution-command-page .engineering-punch-panel>header{
  min-height:38px!important;padding:5px 7px!important
}
.execution-command-page .engineering-punch-panel>header h3{font-size:calc(11.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-punch-panel>header p{font-size:calc(8.2px * var(--font-scale,1))!important}
.execution-command-page .engineering-punch-summary{
  gap:4px!important;padding:5px!important
}
.execution-command-page .engineering-punch-summary>div{
  min-height:42px!important
}
.execution-command-page .engineering-punch-summary b{font-size:calc(14px * var(--font-scale,1))!important}
.execution-command-page .engineering-punch-summary span{font-size:calc(8.8px * var(--font-scale,1))!important}
.execution-command-page .engineering-punch-editor{margin:5px!important}
.execution-command-page .engineering-punch-editor>header{
  min-height:30px!important;padding:4px 6px!important
}
.execution-command-page .engineering-punch-editor>div{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;padding:5px!important
}
.execution-command-page .engineering-punch-editor label{gap:2px!important}
.execution-command-page .engineering-punch-editor label>span{font-size:calc(8.4px * var(--font-scale,1))!important}
.execution-command-page .engineering-punch-editor input,
.execution-command-page .engineering-punch-editor select{
  height:28px!important;min-height:28px!important;font-size:8.6px!important
}
.execution-command-page .engineering-punch-table-wrap{margin:5px!important}
.execution-command-page .engineering-punch-table th,
.execution-command-page .engineering-punch-table td{
  padding:5px 6px!important;
  font-size:8.5px!important
}

/* ---------- Technical handover: compact form ---------- */
.execution-command-page .engineering-technical-handover-panel>header{
  min-height:38px!important;padding:5px 7px!important
}
.execution-command-page .engineering-technical-handover-panel>header h3{font-size:calc(11.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-technical-handover-panel>header p{font-size:calc(8.2px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-readiness{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:4px!important;padding:5px!important
}
.execution-command-page .engineering-handover-readiness>div{
  min-height:40px!important;padding:4px 5px!important
}
.execution-command-page .engineering-handover-readiness span{font-size:calc(8px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-readiness b{font-size:calc(8.8px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-form{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;padding:5px!important
}
.execution-command-page .engineering-handover-form label{
  grid-template-columns:95px 1fr!important;
  gap:4px!important
}
.execution-command-page .engineering-handover-form label>span{font-size:calc(8.3px * var(--font-scale,1))!important}
.execution-command-page .engineering-handover-form input,
.execution-command-page .engineering-handover-form select{
  min-height:27px!important;height:27px!important;font-size:8.5px!important
}
.execution-command-page .engineering-handover-form textarea{
  min-height:52px!important;font-size:8.5px!important
}

/* ---------- Engineering closeout: compact technical-summary layout ---------- */
.execution-command-page .engineering-closeout-panel>header{
  min-height:38px!important;padding:5px 7px!important
}
.execution-command-page .engineering-closeout-panel>header h3{font-size:calc(11.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-panel>header p{font-size:calc(8.2px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-readiness{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:4px!important;padding:5px!important
}
.execution-command-page .engineering-closeout-readiness article{
  min-height:48px!important;padding:5px!important
}
.execution-command-page .engineering-closeout-readiness span{font-size:calc(8.1px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-readiness b{font-size:calc(9.5px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-readiness small{font-size:calc(7.8px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-form{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;padding:5px!important
}
.execution-command-page .engineering-closeout-form label{
  min-height:42px!important;padding:5px!important
}
.execution-command-page .engineering-closeout-form label>span{font-size:calc(8.2px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-form label>b{font-size:calc(9px * var(--font-scale,1))!important}
.execution-command-page .engineering-closeout-form textarea{
  min-height:55px!important;font-size:8.8px!important
}
.execution-command-page .engineering-closeout-actions{
  gap:5px!important;padding:5px!important
}
.execution-command-page .engineering-closeout-actions button{
  min-height:29px!important;font-size:8.8px!important
}

/* ---------- Stages/overview: compact cards ---------- */
.execution-command-page .execution-board>header,
.execution-command-page .handover-section>header{
  min-height:34px!important;padding:4px 7px!important
}
.execution-command-page .stage-card{
  min-height:0!important;
}
.execution-command-page .stage-main{
  padding:5px 7px!important;
}
.execution-command-page .stage-main h3{font-size:calc(10.5px * var(--font-scale,1))!important}
.execution-command-page .stage-main p{font-size:calc(8.5px * var(--font-scale,1))!important;margin:2px 0!important}
.execution-command-page .stage-actions select,
.execution-command-page .stage-actions input,
.execution-command-page .stage-actions button{
  min-height:27px!important;height:27px!important;font-size:8.5px!important
}
.execution-command-page .handover-list>div{
  min-height:34px!important;
  padding:4px 7px!important
}

/* Responsive only when space really becomes narrow. */
@media(max-width:1120px){
  .execution-command-page .engineering-commissioning-sections{
    grid-template-columns:1fr!important;
  }
  .execution-command-page .commissioning-item{
    grid-template-columns:minmax(0,1fr) 120px 170px!important;
  }
  .execution-command-page .engineering-handover-readiness,
  .execution-command-page .engineering-closeout-readiness{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .execution-command-page .commissioning-item{
    grid-template-columns:1fr!important;
  }
  .execution-command-page .engineering-commissioning-measurements>div,
  .execution-command-page .engineering-handover-form,
  .execution-command-page .engineering-closeout-form,
  .execution-command-page .engineering-punch-editor>div{
    grid-template-columns:1fr!important;
  }
}


/* GreenEco 3.3.16.30 — compact Execution Overview Dashboard */
.execution-overview-dashboard{display:flex;flex-direction:column;gap:6px;margin:0}
.execution-overview-status-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border:1px solid #8fa1ab;background:#aab9bf}
.execution-overview-status-row article{min-height:62px;padding:6px 7px;background:#fbfdfd;display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:center}
.execution-overview-status-row article.primary{background:#eef6f8}.execution-overview-status-row article.ok{background:#f1f8f3}.execution-overview-status-row article.warn{background:#fff8ea}.execution-overview-status-row article.danger{background:#fff1f1}.execution-overview-status-row article.ready{background:#edf4f8}
.execution-overview-status-row span{font-size:calc(8.7px * var(--font-scale,1))!important;color:#60757e}.execution-overview-status-row strong{font-size:calc(12.5px * var(--font-scale,1))!important;color:#075d79}.execution-overview-status-row small{font-size:calc(7.8px * var(--font-scale,1))!important;color:#72838a}
.execution-overview-revision{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.execution-overview-revision>div{min-height:46px;padding:5px 7px;border:1px solid #9fb0b7;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:2px}
.execution-overview-revision span{font-size:calc(8px * var(--font-scale,1))!important;color:#6d7f86}.execution-overview-revision strong{font-size:calc(10px * var(--font-scale,1))!important;color:#244f60}.execution-overview-revision small{font-size:calc(7.6px * var(--font-scale,1))!important;color:#7b898f}
.execution-overview-flow{border:1px solid #8fa1ab;background:#fff}.execution-overview-flow>header{min-height:29px;padding:4px 7px;border-bottom:1px solid #b7c5ca;background:#eaf2f5;display:flex;align-items:center}.execution-overview-flow h3{margin:0;font-size:calc(9.8px * var(--font-scale,1))!important;color:#294f5e}
.execution-overview-flow>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#c6d1d5}
.execution-overview-flow button{min-height:49px!important;padding:4px!important;border:0!important;background:#fff;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 5px;text-align:right}
.execution-overview-flow button b{grid-row:1/3;width:24px;height:24px;display:grid;place-items:center;border:1px solid #b7c5ca;background:#f4f7f8;font-size:calc(8px * var(--font-scale,1))!important;color:#506872}
.execution-overview-flow button span{font-size:calc(8.8px * var(--font-scale,1))!important;font-weight:900;color:#31525f}.execution-overview-flow button small{font-size:calc(7.3px * var(--font-scale,1))!important;color:#77878d}
.execution-overview-flow button.done{background:#f1f8f3}.execution-overview-flow button.done b{border-color:#8bb69a;background:#e4f4e9;color:#17633a}.execution-overview-flow button.active{background:#eef5f8}.execution-overview-flow button.active b{border-color:#7f9fab;background:#e3eef2;color:#145d78}
.execution-overview-lower{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr);gap:6px}
.execution-overview-alerts,.execution-overview-quick{border:1px solid #8fa1ab;background:#fff}
.execution-overview-alerts>header,.execution-overview-quick>header{min-height:29px;padding:4px 7px;border-bottom:1px solid #b7c5ca;background:#eaf2f5;display:flex;justify-content:space-between;align-items:center}
.execution-overview-alerts h3,.execution-overview-quick h3{margin:0;font-size:calc(9.8px * var(--font-scale,1))!important;color:#294f5e}
.execution-overview-alerts>header small{min-width:20px;padding:1px 5px;border-radius:999px;background:#fff;border:1px solid #b4c2c7;text-align:center;font-size:calc(7.3px * var(--font-scale,1))!important}
.execution-overview-alerts>button{width:100%;min-height:30px!important;padding:4px 7px!important;border:0!important;border-bottom:1px solid #e2e8ea!important;background:#fff;text-align:right;font-size:calc(8.6px * var(--font-scale,1))!important}
.execution-overview-alerts>button.alert-danger{background:#fff3f3;color:#842c33}.execution-overview-alerts>button.alert-warn{background:#fff9e9;color:#715800}.execution-overview-alerts>button.alert-success{background:#f2faf4;color:#17633a}.execution-overview-alerts>button.alert-info{background:#f1f7fa;color:#235a70}
.execution-overview-alerts .empty{padding:13px;text-align:center;color:#718188;font-size:calc(8.3px * var(--font-scale,1))!important}
.execution-overview-quick>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px}
.execution-overview-quick button{min-height:29px!important;padding:4px 6px!important;border:1px solid #9fb0b7!important;background:#f8fafb;color:#31535f;font-size:calc(8.3px * var(--font-scale,1))!important;font-weight:900}
@media(max-width:1100px){.execution-overview-status-row{grid-template-columns:repeat(3,minmax(0,1fr))}.execution-overview-flow>div{grid-template-columns:repeat(3,minmax(0,1fr))}.execution-overview-lower{grid-template-columns:1fr}}
@media(max-width:700px){.execution-overview-status-row,.execution-overview-revision,.execution-overview-flow>div{grid-template-columns:1fr}}


/* GreenEco 3.3.16.31 — final engineering stability marker */
.execution-command-page .execution-control-kpis>div.ok b,
.execution-overview-status-row article.ok strong{font-weight:900}


/* GreenEco 3.3.16.32.1 — clearer permission labels */
.permissions-page .permission-group-title strong{font-size:calc(11px * var(--font-scale,1))!important}
.permissions-page .permission-row label,
.permissions-page .permission-operation-label{line-height:1.35}


/* GreenEco 3.3.16.32.2 — Studies & Projects navigation group */
.ribbon-menu.studies-projects-menu{min-width:112px}
.ribbon-menu.studies-projects-menu.active-group>.ribbon-menu-trigger{
  color:var(--primary);
  box-shadow:inset 0 -3px 0 var(--primary);
  background:#edf4ff;
}
.studies-projects-trigger span{font-weight:800}
.studies-projects-submenu{
  width:310px!important;
  padding:5px!important;
  right:12%!important;
  grid-template-columns:1fr!important;
}
.studies-projects-submenu a{
  min-height:39px!important;
  padding:5px 9px!important;
  gap:9px!important;
  border:1px solid transparent!important;
  border-bottom:1px solid #d6dfeb!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  align-items:center!important;
}
.studies-projects-submenu a>svg{
  flex:0 0 auto;
  color:#148aa5;
}
.studies-projects-submenu a>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
  align-items:flex-start;
}
.studies-projects-submenu a>span strong{
  font-size:calc(11px * var(--font-scale,1));
  line-height:1.25;
}
.studies-projects-submenu a>span small{
  color:#73858d;
  font-size:calc(7.8px * var(--font-scale,1));
  line-height:1.2;
}
.studies-projects-submenu a.active{
  color:var(--primary)!important;
  background:#eaf5fa!important;
  border-color:#90b6c3!important;
  box-shadow:inset -3px 0 0 var(--primary)!important;
}
.studies-projects-submenu a:last-child{border-bottom:0!important}

/* Keep dropdown usable on common Windows resolutions. */
@media(max-width:1450px){
  .studies-projects-submenu{
    right:8%!important;
    width:295px!important;
  }
}
@media(max-width:900px){
  .studies-projects-submenu{
    position:fixed!important;
    top:118px!important;
    right:8px!important;
    left:8px!important;
    width:auto!important;
    max-height:calc(100vh - 155px);
    overflow:auto;
  }
}


/* ==========================================================================
   GreenEco 3.3.16.33 — Professional A4 Printing Standard
   Applies to normal screens. Dedicated technical/report/execution sheets keep
   their own document structures and are only normalized for A4 pagination.
   ========================================================================== */

@page greenecoGeneric {
  size:A4 portrait;
  margin:10mm 9mm 11mm;
}
@page greenecoTechnical {
  size:A4 portrait;
  margin:9mm;
}
@page greenecoReport {
  size:A4 portrait;
  margin:10mm;
}
@page greenecoHandover {
  size:A4 portrait;
  margin:10mm;
}
@page greenecoPunch {
  size:A4 landscape;
  margin:8mm;
}
@page greenecoCloseout {
  size:A4 portrait;
  margin:10mm;
}

/* Explicit page assignment avoids @page rules from one document type
   accidentally changing another printout. */
.technical-print-sheet{page:greenecoTechnical}
.report-sheet,
.project-technical-report{page:greenecoReport}
.engineering-handover-print-sheet{page:greenecoHandover}
.engineering-punch-print-sheet{page:greenecoPunch}
.engineering-closeout-print-sheet{page:greenecoCloseout}

/* Normal screen print mode. Dedicated sheet modes are excluded. */
@media print{
  body:not(.technical-design-print-mode):not(.execution-punch-print-mode):not(.execution-technical-handover-print-mode):not(.execution-closeout-print-mode){
    background:#fff!important;
    color:#15252c!important;
    font-family:Arial,Tahoma,sans-serif!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body:not(.technical-design-print-mode):not(.execution-punch-print-mode):not(.execution-technical-handover-print-mode):not(.execution-closeout-print-mode) .page-container{
    page:greenecoGeneric;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#15252c!important;
    overflow:visible!important;
  }

  /* The earlier technical-design print stylesheet used global visibility.
     Restore normal visibility on all non-dedicated print jobs. */
  body:not(.technical-design-print-mode):not(.execution-punch-print-mode):not(.execution-technical-handover-print-mode):not(.execution-closeout-print-mode) .app-workspace,
  body:not(.technical-design-print-mode):not(.execution-punch-print-mode):not(.execution-technical-handover-print-mode):not(.execution-closeout-print-mode) .app-workspace *{
    visibility:visible!important;
  }

  /* Application chrome and interactive-only controls never belong on paper. */
  .app-header,
  .status-bar,
  .ribbon-nav,
  .toolbar,
  .toolbar-actions,
  .toolbar-extra,
  .table-controls,
  .table-footer,
  .report-filters,
  .report-actions,
  .notification-toolbar,
  .filter-strip,
  .context-actions,
  .modal-actions,
  .reference-tabs,
  .permissions-tree-toolbar,
  .permissions-tree-actions,
  .role-copy-compare-panel,
  .execution-top-tabs,
  .execution-command-bar button,
  .execution-control-center button,
  .execution-overview-quick,
  .technical-review-actions,
  .technical-bom-actions,
  .no-print{
    display:none!important;
  }

  /* Keep a proper document heading instead of suppressing the page title. */
  .page-title{
    display:flex!important;
    position:relative!important;
    min-height:18mm!important;
    margin:0 0 5mm!important;
    padding:3mm 14mm 3mm 4mm!important;
    border:0!important;
    border-bottom:1.6pt solid #24596c!important;
    background:#fff!important;
    box-shadow:none!important;
    break-after:avoid-page;
    page-break-after:avoid;
  }
  .page-title-icon{
    display:grid!important;
    width:9mm!important;
    height:9mm!important;
    right:0!important;
    background:#eef5f7!important;
    border:1pt solid #6f929f!important;
    color:#205c72!important;
  }
  .page-title h1{
    margin:0!important;
    font-size:15pt!important;
    line-height:1.25!important;
    color:#173e4e!important;
  }
  .page-title p{
    margin:1mm 0 0!important;
    font-size:8pt!important;
    line-height:1.4!important;
    color:#526872!important;
  }

  /* General panels become document sections. */
  .table-panel,
  .dashboard-panel,
  .compact-form-panel,
  .detail-drawer,
  .approval-review-panel,
  .task-section,
  .task-detail-grid>article,
  .report-sheet,
  .project-report-workspace,
  .execution-board,
  .handover-section,
  .execution-control-center,
  .execution-overview-dashboard,
  .engineering-commissioning-workspace,
  .engineering-punch-workspace,
  .engineering-technical-handover-workspace,
  .engineering-closeout-workspace{
    box-shadow:none!important;
    border-color:#89979d!important;
    background:#fff!important;
  }

  /* Tables: consistent A4 typography, repeated headings, safe row breaks. */
  .table-scroll,
  .ptr-table-wrap{
    overflow:visible!important;
    max-height:none!important;
  }
  table,
  .data-table,
  .ptr-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border-collapse:collapse!important;
    table-layout:auto!important;
    color:#111!important;
    font-size:7.6pt!important;
  }
  thead{display:table-header-group!important}
  tfoot{display:table-footer-group!important}
  tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  th,
  td{
    border:0.65pt solid #717d82!important;
    padding:1.5mm 1.6mm!important;
    vertical-align:top!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    color:#111!important;
  }
  th{
    background:#e8eef0!important;
    color:#173e4e!important;
    font-weight:800!important;
    font-size:7.4pt!important;
  }

  /* Lists/cards: avoid half cards at page boundaries. */
  article,
  .stat-card,
  .stage-card,
  .permission-group-card,
  .project-technical-report-header,
  .ptr-section,
  .print-section,
  .engineering-closeout-readiness>article{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }

  h1,h2,h3,h4,legend{
    break-after:avoid-page;
    page-break-after:avoid;
  }

  /* Forms printed as clean records rather than browser controls. */
  input,
  select,
  textarea{
    min-height:auto!important;
    height:auto!important;
    color:#111!important;
    background:#fff!important;
    border:0!important;
    border-bottom:0.6pt solid #8f999d!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:1mm!important;
    font-size:8pt!important;
    opacity:1!important;
    -webkit-text-fill-color:#111!important;
  }
  textarea{
    min-height:12mm!important;
    white-space:pre-wrap!important;
    resize:none!important;
  }
  fieldset{
    border-color:#88979d!important;
    break-inside:avoid-page;
  }
  legend{
    color:#173e4e!important;
    font-weight:800!important;
  }

  /* Links should print like normal labels, without raw URLs. */
  a{
    color:#111!important;
    text-decoration:none!important;
  }
  a[href]::after{content:none!important}

  /* Screen-only scrolling/fixed positioning must never clip paper. */
  .app-workspace{
    display:block!important;
    min-height:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }
  .modal-backdrop,
  .modal-card,
  .modal-body{
    max-height:none!important;
    overflow:visible!important;
  }

  /* Execution overview: printable summary in compact A4 form. */
  .execution-page-head{
    display:block!important;
    min-height:0!important;
    margin:0 0 4mm!important;
    padding:0 0 3mm!important;
    border:0!important;
    border-bottom:1.5pt solid #24596c!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  .execution-page-title{
    display:flex!important;
  }
  .execution-page-title h1{font-size:15pt!important}
  .execution-page-title p{font-size:8pt!important}
  .execution-control-kpis,
  .execution-overview-status-row{
    grid-template-columns:repeat(3,1fr)!important;
    gap:1.5mm!important;
    background:#fff!important;
  }
  .execution-control-kpis>div,
  .execution-overview-status-row article{
    min-height:16mm!important;
    border:0.7pt solid #89979d!important;
  }
  .execution-overview-flow>div{
    grid-template-columns:repeat(5,1fr)!important;
  }
  .execution-overview-alerts{
    width:100%!important;
  }

  /* Generic reports. */
  .reports-page .report-sheet{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:visible!important;
  }
  .reports-page .report-sheet>header,
  .project-technical-report-header{
    border-bottom:1.5pt solid #24596c!important;
    margin-bottom:4mm!important;
    padding-bottom:3mm!important;
  }

  /* Permissions screen should print the permission tree only, not editing chrome. */
  .permissions-page .permissions-selector-panel,
  .permissions-page .permissions-members-panel{
    display:none!important;
  }
  .permissions-page .permissions-workbench{
    display:block!important;
  }
  .permissions-page .permissions-tree-panel{
    width:100%!important;
    border:0!important;
  }

  /* Dashboards are useful on paper but should not waste space. */
  .stat-grid,
  .dashboard-grid{
    gap:2.5mm!important;
  }
  .stat-grid{
    grid-template-columns:repeat(4,1fr)!important;
  }
  .stat-card{
    min-height:18mm!important;
    padding:2.5mm!important;
    border:0.7pt solid #89979d!important;
  }

  /* Dedicated print sheets: common professional finishing. */
  body.technical-design-print-mode .technical-print-sheet,
  body.execution-punch-print-mode .engineering-punch-print-sheet,
  body.execution-technical-handover-print-mode .engineering-handover-print-sheet,
  body.execution-closeout-print-mode .engineering-closeout-print-sheet{
    font-family:Arial,Tahoma,sans-serif!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .engineering-punch-print-sheet thead,
  .engineering-handover-print-sheet thead,
  .engineering-closeout-print-sheet thead{
    display:table-header-group!important;
  }
  .engineering-punch-print-sheet tr,
  .engineering-handover-print-sheet tr,
  .engineering-closeout-print-sheet tr{
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
  }
}

/* Screen-only: do not alter any existing layout. */


/* GreenEco 3.3.16.33.1 — compact professional Password Policy screen */
.password-policy-page{
  max-width:1180px;
}
.password-policy-page .page-title{
  margin-bottom:8px;
}
.password-policy-page .settings-form{
  margin:0 0 8px!important;
  padding:0!important;
  border:1px solid #9eabb1!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgb(0 0 0 / 6%);
}
.password-policy-page .plain-fieldset{
  border:0!important;
  margin:0!important;
  padding:8px 10px 9px!important;
}
.password-policy-page .form-section-title{
  min-height:31px!important;
  margin:0 0 7px!important;
  padding:5px 9px!important;
  display:flex!important;
  align-items:center!important;
  background:#edf5f8!important;
  border:1px solid #b7c7ce!important;
  color:#174f65!important;
  font-size:calc(11.5px * var(--font-scale,1))!important;
  font-weight:900!important;
}
.password-policy-page .password-policy-main-card .form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px 9px!important;
  margin:0!important;
}
.password-policy-page .password-policy-main-card .form-grid label{
  min-width:0!important;
  min-height:58px!important;
  padding:6px 8px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 92px!important;
  grid-template-rows:auto auto!important;
  gap:3px 7px!important;
  align-items:center!important;
  border:1px solid #c2cdd2!important;
  background:#fbfcfc!important;
}
.password-policy-page .password-policy-main-card .form-grid label>span{
  font-size:calc(10px * var(--font-scale,1))!important;
  line-height:1.35!important;
  font-weight:800!important;
  color:#334f5a!important;
}
.password-policy-page .password-policy-main-card .form-grid input[type="number"]{
  width:92px!important;
  min-width:92px!important;
  height:30px!important;
  min-height:30px!important;
  padding:3px 7px!important;
  text-align:center!important;
  font-size:calc(11px * var(--font-scale,1))!important;
  font-weight:800!important;
  border:1px solid #8fa7b0!important;
  background:#f2fbfc!important;
}
.password-policy-page .password-policy-main-card .form-grid label>small{
  grid-column:1/-1!important;
  color:#6c7b82!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  line-height:1.25!important;
}
.password-policy-page .password-policy-main-card .form-section-title:nth-of-type(2){
  margin-top:8px!important;
}
.password-policy-page .password-policy-main-card .form-section-title:nth-of-type(2)+.form-grid{
  grid-template-columns:repeat(3,1fr)!important;
  gap:7px!important;
}
.password-policy-page .password-policy-main-card .form-section-title:nth-of-type(2)+.form-grid label{
  min-height:38px!important;
  grid-template-columns:1fr 26px!important;
  grid-template-rows:1fr!important;
  padding:5px 8px!important;
}
.password-policy-page .password-policy-main-card input[type="checkbox"]{
  width:17px!important;
  height:17px!important;
  min-height:17px!important;
  margin:0!important;
  accent-color:#0d7da8;
}
.password-policy-page .notice-box{
  margin:7px 0!important;
  padding:6px 8px!important;
  min-height:0!important;
  border:1px solid #d8bd70!important;
  background:#fff9e8!important;
  color:#705a17!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:1.4!important;
}
.password-policy-page .password-policy-main-card .primary-button{
  min-height:31px!important;
  height:31px!important;
  padding:4px 12px!important;
  margin-inline-start:auto!important;
  display:flex!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}
.password-policy-page .password-policy-force-card{
  padding:8px 10px 9px!important;
}
.password-policy-page .password-policy-force-card .form-section-title{
  margin-bottom:6px!important;
}
.password-policy-page .password-policy-force-card .notice-box{
  margin:0 0 7px!important;
}
.password-policy-page .password-policy-force-card .form-grid{
  grid-template-columns:minmax(0,1fr)!important;
  margin:0 0 7px!important;
}
.password-policy-page .password-policy-force-card label.full-field{
  min-height:38px!important;
  padding:4px 7px!important;
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid #c2cdd2!important;
  background:#fbfcfc!important;
}
.password-policy-page .password-policy-force-card label.full-field>span{
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#334f5a!important;
}
.password-policy-page .password-policy-force-card select{
  height:30px!important;
  min-height:30px!important;
  border:1px solid #8fa7b0!important;
  background:#fff!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}
.password-policy-page .password-policy-force-card>.primary-button{
  min-height:31px!important;
  height:31px!important;
  padding:4px 12px!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}

/* Common 1366px Windows layout: compact 2-column fields without wasted whitespace. */
@media(max-width:1000px){
  .password-policy-page .password-policy-main-card .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .password-policy-page .password-policy-main-card .form-section-title:nth-of-type(2)+.form-grid{
    grid-template-columns:repeat(3,1fr)!important;
  }
}
@media(max-width:700px){
  .password-policy-page .password-policy-main-card .form-grid,
  .password-policy-page .password-policy-main-card .form-section-title:nth-of-type(2)+.form-grid{
    grid-template-columns:1fr!important;
  }
  .password-policy-page .password-policy-force-card label.full-field{
    grid-template-columns:1fr!important;
  }
}

/* Print: keep the compact form readable on A4. */
@media print{
  .password-policy-page .password-policy-main-card .form-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .password-policy-page .password-policy-main-card .form-grid label{
    break-inside:avoid;
  }
}


/* GreenEco 3.3.16.34 — Meetings Management */
.ribbon-menu.meetings-menu{min-width:104px}
.ribbon-menu.meetings-menu.active-group>.ribbon-menu-trigger{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary);background:#edf4ff}
.meetings-submenu{width:285px!important;right:26%!important}
.meetings-submenu a{min-height:39px!important;padding:5px 9px!important}
.meetings-submenu a svg{color:#148aa5}

.meetings-page{--meeting-border:#91a5ad;--meeting-soft:#d9e3e7;--meeting-text:#294955}
.meetings-tabs{margin-bottom:7px}
.meetings-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:7px;background:#aebcc2;border:1px solid #91a5ad}
.meetings-summary-strip article{min-height:48px;padding:6px 8px;background:#fbfdfd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.meetings-summary-strip span{font-size:calc(9px * var(--font-scale,1));color:#667a82}
.meetings-summary-strip b{font-size:calc(13px * var(--font-scale,1));color:#0c617e}
.meetings-commandbar{min-height:43px;display:flex;align-items:center;gap:6px;padding:5px 6px;margin-bottom:6px;border:1px solid var(--meeting-border);background:#f5f8f9}
.meetings-commandbar input,.meetings-commandbar select{height:30px;min-width:150px;border:1px solid #96aab2;background:#fff;padding:3px 7px;font-size:calc(10px * var(--font-scale,1))}
.meetings-commandbar input{flex:1;min-width:220px}
.meetings-commandbar button{min-height:30px;padding:4px 9px;border:1px solid #879ca5;background:#eef5f7;font-size:calc(9.5px * var(--font-scale,1));font-weight:800;display:inline-flex;align-items:center;gap:5px}
.meeting-link-cell{display:flex;flex-direction:column;gap:1px}
.meeting-link-cell b{font-size:calc(9px * var(--font-scale,1));color:#2b5666}
.meeting-link-cell small{font-size:calc(8px * var(--font-scale,1));color:#718087}

.meeting-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.meeting-form label>span,.meeting-action-form label>span{font-size:calc(9.5px * var(--font-scale,1));font-weight:800;color:#3a5661}
.meeting-form input,.meeting-form select,.meeting-form textarea,.meeting-action-form input,.meeting-action-form select,.meeting-action-form textarea{min-height:30px;border:1px solid #91a7b0;background:#fff;font-size:calc(10px * var(--font-scale,1))}
.meeting-form textarea,.meeting-action-form textarea{min-height:66px}

.meeting-participants-picker{margin-top:7px;border:1px solid #a7b7bd;background:#fafcfc}
.meeting-participants-picker>header{min-height:31px;padding:5px 8px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c7d2d6;background:#edf4f6}
.meeting-participants-picker h3{margin:0;font-size:calc(10.5px * var(--font-scale,1));color:#255367}
.meeting-participants-picker header span{font-size:calc(8px * var(--font-scale,1));color:#647982}
.meeting-participants-picker>div{max-height:145px;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dce4e7}
.meeting-participants-picker label{min-height:31px;padding:5px 7px;display:flex;align-items:center;gap:6px;background:#fff;font-size:calc(9px * var(--font-scale,1))}
.meeting-participants-picker input{width:15px;height:15px;min-height:15px}

.meeting-minutes-workspace{margin-top:7px;border:1px solid #879da6;background:#fff}
.meeting-minutes-workspace>header{min-height:54px;padding:7px 9px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #9eb0b7;background:linear-gradient(180deg,#f8fbfc,#eaf2f5)}
.meeting-minutes-workspace>header h2{margin:1px 0;font-size:calc(13px * var(--font-scale,1));color:#1c5368}
.meeting-minutes-workspace>header small,.meeting-minutes-workspace>header span{font-size:calc(8.5px * var(--font-scale,1));color:#657981}
.meeting-minutes-workspace>header>div:last-child{display:flex;align-items:center;gap:6px}
.meeting-minutes-workspace>header button{min-height:30px;padding:4px 9px;border:1px solid #7896a2;background:#fff;font-size:calc(9px * var(--font-scale,1))}
.meeting-minutes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px}
.meeting-minutes-grid label{display:flex;flex-direction:column;gap:4px}
.meeting-minutes-grid label.full{grid-column:1/-1}
.meeting-minutes-grid label>span{font-size:calc(9px * var(--font-scale,1));font-weight:900;color:#3a5661}
.meeting-minutes-grid textarea{min-height:92px;padding:6px;border:1px solid #9aadb5;font-size:calc(10px * var(--font-scale,1));line-height:1.5}
.meeting-minutes-grid input{height:30px;border:1px solid #9aadb5;font-size:calc(10px * var(--font-scale,1))}

.meeting-attendance-panel,.meeting-actions-inline{margin:0 8px 8px;border:1px solid #a3b4ba}
.meeting-attendance-panel h3,.meeting-actions-inline>header{margin:0;min-height:30px;padding:5px 8px;background:#edf4f6;border-bottom:1px solid #c4d0d4}
.meeting-attendance-panel h3{font-size:calc(10px * var(--font-scale,1));color:#2a5566}
.meeting-attendance-panel>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#dfe6e9}
.meeting-attendance-panel article{padding:5px 7px;display:grid;grid-template-columns:minmax(130px,1fr) 115px minmax(120px,1fr);gap:5px;align-items:center;background:#fff}
.meeting-attendance-panel strong{font-size:calc(9px * var(--font-scale,1))}
.meeting-attendance-panel select,.meeting-attendance-panel input{height:27px;border:1px solid #9caeb5;font-size:calc(8.5px * var(--font-scale,1))}
.meeting-actions-inline>header{display:flex;justify-content:space-between;align-items:center}
.meeting-actions-inline h3{margin:0;font-size:calc(10px * var(--font-scale,1));color:#2a5566}
.meeting-actions-inline header button{min-height:27px;padding:3px 8px;border:1px solid #829ba5;background:#fff;font-size:calc(8.5px * var(--font-scale,1))}
.meeting-minutes-actions{display:flex;justify-content:flex-end;gap:7px;padding:7px 8px;border-top:1px solid #c5d0d4;background:#f7f9fa}
.meeting-minutes-actions button{min-height:31px;padding:4px 11px;font-size:calc(9.5px * var(--font-scale,1))}

.meeting-actions-page,.meeting-reports-page{border:1px solid #91a5ad;background:#fff;padding:7px}
.meeting-reports-page>header{display:flex;justify-content:space-between;align-items:center;min-height:45px;margin-bottom:7px;padding:6px 8px;border-bottom:1px solid #adc0c7}
.meeting-reports-page h2{margin:0;font-size:calc(13px * var(--font-scale,1));color:#1f566a}
.meeting-reports-page p{margin:2px 0 0;font-size:calc(8.5px * var(--font-scale,1));color:#6b7c83}
.meeting-reports-page header button{min-height:30px;border:1px solid #8099a3;background:#edf5f7;font-size:calc(9px * var(--font-scale,1))}
.meeting-report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:7px}
.meeting-report-kpis.actions{grid-template-columns:repeat(5,1fr)}
.meeting-report-kpis article{min-height:64px;border:1px solid #9fb0b7;background:#f9fbfb;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}
.meeting-report-kpis span{font-size:calc(8.5px * var(--font-scale,1));color:#657980}
.meeting-report-kpis b{font-size:calc(16px * var(--font-scale,1));color:#0d617d}

.meeting-print-sheet{display:none;page:greenecoReport}
@media print{
  body.meeting-print-mode *{visibility:hidden!important}
  body.meeting-print-mode .meeting-print-sheet,body.meeting-print-mode .meeting-print-sheet *{visibility:visible!important}
  body.meeting-print-mode .meeting-print-sheet{display:block!important;position:absolute!important;inset:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;direction:rtl!important;font-family:Arial,Tahoma,sans-serif!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.meeting-print-mode .meeting-print-sheet>header{display:grid;grid-template-columns:50px 1fr auto;gap:9px;align-items:center;padding-bottom:7px;margin-bottom:7px;border-bottom:2px solid #24596c}
  body.meeting-print-mode .meeting-print-sheet h1{margin:0;font-size:16pt;color:#173e4e}
  body.meeting-print-mode .meeting-print-sheet h2{margin:2px 0 0;font-size:10pt}
  body.meeting-print-mode .meeting-print-sheet>header>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:8pt}
  body.meeting-print-mode .meeting-print-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:7px}
  body.meeting-print-mode .meeting-print-meta>div{border:1px solid #89979d;padding:5px;display:flex;flex-direction:column;gap:2px}
  body.meeting-print-mode .meeting-print-meta span{font-size:7pt;color:#66777e}
  body.meeting-print-mode .meeting-print-meta b{font-size:8pt}
  body.meeting-print-mode .meeting-print-sheet section{margin:6px 0;break-inside:avoid-page}
  body.meeting-print-mode .meeting-print-sheet section h3{margin:0;padding:4px 6px;border:1px solid #9bacb2;background:#eaf1f3!important;color:#1d4e61;font-size:9pt}
  body.meeting-print-mode .meeting-print-sheet section p{margin:0;min-height:18px;padding:6px;border:1px solid #aebbc0;border-top:0;font-size:8pt;line-height:1.55;white-space:pre-wrap}
  body.meeting-print-mode .meeting-print-sheet table{width:100%;border-collapse:collapse;font-size:7.5pt}
  body.meeting-print-mode .meeting-print-sheet th,body.meeting-print-mode .meeting-print-sheet td{border:1px solid #777;padding:4px;vertical-align:top}
  body.meeting-print-mode .meeting-print-sheet th{background:#edf2f3!important;color:#173e4e}
  body.meeting-print-mode .meeting-print-sheet tr{break-inside:avoid}
  body.meeting-print-mode .meeting-print-sheet>footer{margin-top:10px;padding-top:7px;border-top:1px solid #89979d;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;font-size:7.5pt}
  @page{size:A4 portrait;margin:10mm}
}
@media(max-width:1000px){
  .meetings-summary-strip{grid-template-columns:repeat(2,1fr)}
  .meeting-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meeting-participants-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}
  .meeting-attendance-panel>div{grid-template-columns:1fr}
  .meeting-report-kpis,.meeting-report-kpis.actions{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .meetings-commandbar{flex-wrap:wrap}
  .meetings-commandbar input,.meetings-commandbar select{width:100%;min-width:0}
  .meeting-form .form-grid{grid-template-columns:1fr}
  .meeting-participants-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meeting-minutes-grid{grid-template-columns:1fr}
  .meeting-minutes-grid label.full{grid-column:auto}
  .meeting-report-kpis,.meeting-report-kpis.actions{grid-template-columns:repeat(2,1fr)}
  .meetings-submenu{right:8px!important;left:8px!important;width:auto!important}
}


/* GreenEco 3.3.16.34.1 — Meetings navigation cleanup */
.meetings-menu .meetings-submenu a{
  min-height:36px!important;
  padding:7px 11px!important;
  justify-content:flex-start!important;
  gap:0!important;
}
.meetings-menu .meetings-submenu a>svg{display:none!important}
.meetings-menu .meetings-submenu a>span{
  width:100%;
  text-align:right;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:800;
}
.meetings-tabs{display:none!important}
.meetings-summary-strip{display:none!important}

.meetings-context-head{
  min-height:51px;
  margin:0 0 7px;
  padding:6px 9px;
  border:1px solid #8fa3ab;
  background:linear-gradient(180deg,#f8fbfc,#edf4f6);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 1px 2px rgb(0 0 0 / 5%);
}
.meetings-context-head>div{min-width:0}
.meetings-context-head small{
  display:block;
  margin-bottom:1px;
  color:#6b7c83;
  font-size:calc(8px * var(--font-scale,1))!important;
  font-weight:800;
}
.meetings-context-head h2{
  margin:0;
  color:#1c5266;
  font-size:calc(13px * var(--font-scale,1))!important;
  line-height:1.25;
}
.meetings-context-head p{
  margin:2px 0 0;
  color:#657880;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:1.35;
}
.meetings-context-path{
  flex:0 0 auto;
  min-width:74px;
  padding:5px 8px;
  border:1px solid #adc0c7;
  background:#fff;
  color:#315866;
  text-align:center;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  font-weight:900;
}
.meetings-access-denied{margin:7px 0!important}

@media(max-width:700px){
  .meetings-context-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .meetings-context-path{min-width:0}
}


/* ========================================================================
   GreenEco 3.3.16.35 — Enterprise Meetings
   ======================================================================== */
.enterprise-meetings-page{max-width:100%}
.enterprise-meeting-section-head{
  min-height:48px;margin:0 0 7px;padding:6px 9px;border:1px solid #8da2aa;background:linear-gradient(180deg,#f9fbfc,#edf4f6);
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
.enterprise-meeting-section-head small{display:block;font-size:calc(8px * var(--font-scale,1));color:#6b7c83;font-weight:800}
.enterprise-meeting-section-head h2{margin:1px 0 0;font-size:calc(13px * var(--font-scale,1));color:#1d5266}
.enterprise-meeting-section-head>span{padding:5px 8px;border:1px solid #a9bac1;background:#fff;font-size:calc(8.5px * var(--font-scale,1));font-weight:900;color:#315866}

.meeting-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 7px;padding:5px 6px;border:1px solid #9babb2;background:#f6f9fa}
.meeting-toolbar button{min-height:30px;padding:4px 10px;border:1px solid #8198a2;background:#fff;font-size:calc(9.5px * var(--font-scale,1));font-weight:800}
.enterprise-meeting-workspace{border:1px solid #93a6ae;background:#fff;padding:7px}
.meeting-subject-picker{display:grid;grid-template-columns:130px minmax(0,1fr);gap:7px;align-items:center;margin-bottom:7px;padding:6px 8px;border:1px solid #a8b7bd;background:#f7fafb}
.meeting-subject-picker>span{font-size:calc(9.5px * var(--font-scale,1));font-weight:900;color:#315565}
.meeting-subject-picker select{height:31px;border:1px solid #8da5ae;background:#fff;font-size:calc(10px * var(--font-scale,1))}
.meeting-readonly-subject{display:grid;grid-template-columns:130px 1fr;gap:7px;align-items:center;margin-bottom:7px;padding:6px 8px;border:1px solid #c0cdd2;background:#eef5f7}
.meeting-readonly-subject span{font-size:calc(9px * var(--font-scale,1));color:#60757e}
.meeting-readonly-subject b{font-size:calc(10px * var(--font-scale,1));color:#1e5265}

.meeting-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px}
.meeting-editor-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.meeting-editor-grid label{display:flex;flex-direction:column;gap:4px}
.meeting-editor-grid label.full-field{grid-column:1/-1}
.meeting-editor-grid label>span{font-size:calc(9px * var(--font-scale,1));font-weight:900;color:#365662}
.meeting-editor-grid input,.meeting-editor-grid select,.meeting-editor-grid textarea{min-height:30px;border:1px solid #91a6ae;background:#fff;padding:4px 6px;font-size:calc(10px * var(--font-scale,1))}
.meeting-editor-grid textarea{min-height:68px;resize:vertical}

.enterprise-meeting-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.enterprise-meeting-form .form-grid label>span{font-size:calc(9px * var(--font-scale,1));font-weight:900;color:#365662}
.enterprise-meeting-form input,.enterprise-meeting-form select,.enterprise-meeting-form textarea{min-height:30px;border:1px solid #91a6ae;background:#fff;font-size:calc(10px * var(--font-scale,1))}
.enterprise-meeting-form textarea{min-height:58px}

.meeting-employee-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:7px 0;background:#dce5e8;border:1px solid #a6b6bc;max-height:310px;overflow:auto}
.meeting-employee-picker>label{min-height:44px;padding:5px 7px;background:#fff;display:flex;align-items:center;gap:7px}
.meeting-employee-picker input{width:15px;height:15px}
.meeting-employee-picker span{display:flex;flex-direction:column;gap:1px}
.meeting-employee-picker b{font-size:calc(9.5px * var(--font-scale,1));color:#254f5f}
.meeting-employee-picker small{font-size:calc(7.8px * var(--font-scale,1));color:#72838a}

.minute-overview-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-bottom:7px;background:#aebdc3;border:1px solid #9cabb1}
.minute-overview-grid>div{min-height:48px;padding:5px 6px;background:#fff;display:flex;flex-direction:column;gap:2px}
.minute-overview-grid span{font-size:calc(8px * var(--font-scale,1));color:#6c7e85}
.minute-overview-grid b{font-size:calc(9.5px * var(--font-scale,1));color:#244f60}
.minute-source-panel{margin:0 0 7px;border:1px solid #a9b8be}
.minute-source-panel h3{margin:0;padding:5px 7px;background:#edf4f6;border-bottom:1px solid #c3ced2;font-size:calc(9.5px * var(--font-scale,1));color:#285466}
.minute-source-panel ol{margin:0;padding:7px 25px 7px 7px;display:grid;gap:3px;font-size:calc(9px * var(--font-scale,1))}
.minute-attendance-table select{min-width:90px;height:26px;font-size:calc(8.5px * var(--font-scale,1))}
.signature-cell{min-width:110px;height:35px}

.meeting-status-active{background:#e7f7ee!important;color:#20613c!important}
.meeting-status-stopped{background:#fff2d7!important;color:#795e1b!important}
.meeting-status-cancelled{background:#fdeaea!important;color:#8a3333!important}
.meeting-status-postponed{background:#eef0fb!important;color:#4a568a!important}

.enterprise-meeting-print-sheet{display:none;page:greenecoReport}
@media print{
  body.enterprise-meeting-print-mode *{visibility:hidden!important}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet,
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet *{visibility:visible!important}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet{
    display:block!important;position:absolute!important;inset:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important
  }
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet>header{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;padding-bottom:6px;border-bottom:2px solid #24596c;margin-bottom:6px}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet h1{margin:0;font-size:16pt;color:#173e4e}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet h2{margin:2px 0 0;font-size:10pt}
  body.enterprise-meeting-print-mode .enterprise-minute-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:6px}
  body.enterprise-meeting-print-mode .enterprise-minute-meta>div{border:1px solid #8d999e;padding:4px;display:flex;flex-direction:column}
  body.enterprise-meeting-print-mode .enterprise-minute-meta span{font-size:7pt;color:#68777d}
  body.enterprise-meeting-print-mode .enterprise-minute-meta b{font-size:8pt}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet section{margin:5px 0;break-inside:avoid-page}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet section h3{margin:0;padding:4px 6px;background:#eaf1f3!important;border:1px solid #9baab0;font-size:9pt;color:#1d4e61}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet section p,
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet section ol{margin:0;padding:5px 18px;border:1px solid #aebbc0;border-top:0;font-size:8pt;line-height:1.45;white-space:pre-wrap}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet table{width:100%;border-collapse:collapse;font-size:7pt}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet th,
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet td{border:1px solid #777;padding:3px;vertical-align:top}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet th{background:#edf2f3!important}
  body.enterprise-meeting-print-mode .signature-print-cell{height:18mm}
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet>footer{margin-top:8px;padding-top:6px;border-top:1px solid #8e999e;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:7pt}
  @page{size:A4 portrait;margin:10mm}
}

@media(max-width:1100px){
  .enterprise-meeting-form .form-grid,.meeting-editor-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meeting-employee-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .minute-overview-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .enterprise-meeting-form .form-grid,.meeting-editor-grid,.meeting-editor-grid.three{grid-template-columns:1fr}
  .meeting-editor-grid label.full-field{grid-column:auto}
  .meeting-employee-picker{grid-template-columns:1fr}
  .meeting-subject-picker,.meeting-readonly-subject{grid-template-columns:1fr}
  .minute-overview-grid{grid-template-columns:repeat(2,1fr)}
}


/* GreenEco 3.3.16.35.1
   Meetings screens now use the same native UI classes/components as Tasks and
   Administrative Requests. No separate Meetings visual theme is applied. */
.enterprise-meetings-page,
.enterprise-meeting-workspace,
.enterprise-meeting-section-head,
.meeting-toolbar,
.meeting-subject-picker,
.meeting-readonly-subject,
.meeting-editor-grid,
.meeting-employee-picker,
.minute-overview-grid,
.minute-source-panel{
  all:unset;
}


/* GreenEco 3.3.16.35.2 — all Meetings screens follow Subject screen structure */
.meeting-toolbar-subject{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:340px;
}
.meeting-toolbar-subject>span{
  font-size:calc(9px * var(--font-scale,1));
  font-weight:800;
  white-space:nowrap;
}
.meeting-toolbar-subject select{
  height:30px;
  min-width:240px;
  border:1px solid #9aaab0;
  background:#fff;
  font-size:calc(9px * var(--font-scale,1));
}
@media(max-width:760px){
  .meeting-toolbar-subject{min-width:0;width:100%;flex-wrap:wrap}
  .meeting-toolbar-subject select{min-width:0;flex:1}
}


/* GreenEco 3.3.16.36 — enterprise meeting workflow
   New Issues and Results screens intentionally reuse the same native task/request UI. */
.enterprise-meeting-results-table td,
.enterprise-meeting-issues-table td{vertical-align:top}

.meeting-prep-summary{margin:0 0 7px!important}
.meeting-report-filter-panel{margin-bottom:7px}
.meeting-report-filter-panel .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.meeting-report-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 7px}
.meeting-report-summary-strip article{min-height:48px;border:1px solid #a7b5bb;background:#fff;padding:5px 7px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.meeting-report-summary-strip span{font-size:calc(8.5px * var(--font-scale,1));color:#667980}.meeting-report-summary-strip b{font-size:calc(14px * var(--font-scale,1));color:#244f60}
.meeting-report-table td{vertical-align:top;white-space:normal}
@media(max-width:1000px){.meeting-report-filter-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-report-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.meeting-report-filter-panel .form-grid{grid-template-columns:1fr}.meeting-report-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* GreenEco 3.3.16.37 — institutional result follow-up */
.meeting-followup-filter-panel{margin-bottom:7px}
.meeting-followup-filter-panel .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.meeting-followup-table td{vertical-align:top;white-space:normal}
.meeting-result-overdue td{background:#fff4f0!important}
.meeting-result-overdue td:first-child{border-right:3px solid #b64a34!important}

/* Preparation minute/signature document */
.meeting-preparation-print-sheet{display:none;page:greenecoReport}
@media print{
  body.meeting-preparation-print-mode *{visibility:hidden!important}
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet,
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet *{visibility:visible!important}
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important
  }
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet>header{
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:8px;
    align-items:center;
    padding-bottom:6px;
    border-bottom:2px solid #24596c;
    margin-bottom:6px
  }
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet h1{margin:0;font-size:16pt;color:#173e4e}
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet h2{margin:2px 0 0;font-size:10pt}
  body.meeting-preparation-print-mode .enterprise-minute-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:6px}
  body.meeting-preparation-print-mode .enterprise-minute-meta>div{border:1px solid #8d999e;padding:4px;display:flex;flex-direction:column}
  body.meeting-preparation-print-mode .enterprise-minute-meta span{font-size:7pt;color:#68777d}
  body.meeting-preparation-print-mode .enterprise-minute-meta b{font-size:8pt}
  body.meeting-preparation-print-mode section{margin:5px 0;break-inside:avoid-page}
  body.meeting-preparation-print-mode section h3{margin:0;padding:4px 6px;background:#eaf1f3!important;border:1px solid #9baab0;font-size:9pt;color:#1d4e61}
  body.meeting-preparation-print-mode section ol{margin:0;padding:5px 18px;border:1px solid #aebbc0;border-top:0;font-size:8pt;line-height:1.45}
  body.meeting-preparation-print-mode table{width:100%;border-collapse:collapse;font-size:7pt}
  body.meeting-preparation-print-mode th,
  body.meeting-preparation-print-mode td{border:1px solid #777;padding:3px;vertical-align:top}
  body.meeting-preparation-print-mode th{background:#edf2f3!important}
  body.meeting-preparation-print-mode .signature-print-cell{height:17mm}
  body.meeting-preparation-print-mode .prep-print-writing-area{
    min-height:32mm;
    padding:5px;
    border:1px solid #aebbc0;
    border-top:0;
    font-size:8pt;
    line-height:1.7;
    white-space:pre-wrap
  }
  body.meeting-preparation-print-mode .prep-print-blank-row{height:14mm}
  body.meeting-preparation-print-mode .prep-print-signatures{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12mm;
    margin-top:8mm;
    padding-top:5mm;
    border-top:1px solid #999;
    font-size:8pt
  }
  body.meeting-preparation-print-mode .prep-print-signatures>div{display:grid;gap:5px}
  body.meeting-preparation-print-mode .prep-print-signatures i{font-style:normal;margin-top:8mm}
  @page{size:A4 portrait;margin:10mm}
}

@media(max-width:1000px){
  .meeting-followup-filter-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .meeting-followup-filter-panel .form-grid{grid-template-columns:1fr}
}


/* GreenEco 3.3.16.37.1 — Meetings dropdown + print isolation */

/* The meetings submenu must not inherit the ribbon active underline. */
.meetings-menu .meetings-submenu a,
.meetings-menu .meetings-submenu a.active,
.meetings-menu .meetings-submenu a.meeting-submenu-current{
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.meetings-menu .meetings-submenu a{
  background:#f8fbff!important;
}
.meetings-menu .meetings-submenu a:hover{
  background:#edf4fa!important;
}
.meetings-menu .meetings-submenu a.meeting-submenu-current{
  color:var(--primary)!important;
  background:#e8f3fa!important;
  font-weight:900!important;
}

/* Hard isolation for the official Meeting Minutes print.
   Only the print document is allowed to remain visible/printable. */
@media print{
  body.enterprise-meeting-print-mode .app-header,
  body.enterprise-meeting-print-mode .status-bar,
  body.enterprise-meeting-print-mode .page-title,
  body.enterprise-meeting-print-mode .toolbar,
  body.enterprise-meeting-print-mode .table-panel,
  body.enterprise-meeting-print-mode .settings-form,
  body.enterprise-meeting-print-mode .notice-box,
  body.enterprise-meeting-print-mode .table-footer,
  body.enterprise-meeting-print-mode .modal-backdrop,
  body.enterprise-meeting-print-mode button,
  body.enterprise-meeting-print-mode input,
  body.enterprise-meeting-print-mode select,
  body.enterprise-meeting-print-mode textarea{
    display:none!important;
  }

  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet,
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet *{
    visibility:visible!important;
  }
  body.enterprise-meeting-print-mode .enterprise-meeting-print-sheet{
    display:block!important;
  }

  /* Hard isolation for the preparation/signature document as well. */
  body.meeting-preparation-print-mode .app-header,
  body.meeting-preparation-print-mode .status-bar,
  body.meeting-preparation-print-mode .page-title,
  body.meeting-preparation-print-mode .toolbar,
  body.meeting-preparation-print-mode .table-panel,
  body.meeting-preparation-print-mode .settings-form,
  body.meeting-preparation-print-mode .notice-box,
  body.meeting-preparation-print-mode .table-footer,
  body.meeting-preparation-print-mode .modal-backdrop,
  body.meeting-preparation-print-mode button,
  body.meeting-preparation-print-mode input,
  body.meeting-preparation-print-mode select,
  body.meeting-preparation-print-mode textarea{
    display:none!important;
  }

  body.meeting-preparation-print-mode .meeting-preparation-print-sheet,
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet *{
    visibility:visible!important;
  }
  body.meeting-preparation-print-mode .meeting-preparation-print-sheet{
    display:block!important;
  }
}


/* GreenEco 3.3.16.38 — Minutes approval & archive */
.meeting-approval-inline-status{margin:0 0 7px!important}
.meeting-approval-panel,.meeting-approval-actions{margin-bottom:7px}
.meeting-approval-file-box{
  margin-top:7px;
  padding:7px;
  border:1px solid #a6b5bb;
  background:#f8fafb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.meeting-approval-file-box>div{display:grid;gap:2px}
.meeting-approval-file-box span{font-size:calc(8.5px * var(--font-scale,1));color:#667980}
.meeting-approval-file-box b{font-size:calc(10px * var(--font-scale,1));color:#244f60}
.meeting-approval-file-box small{font-size:calc(8px * var(--font-scale,1));color:#718289}
.meeting-approval-action-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.meeting-approval-action-row button,
.meeting-signed-upload{
  min-height:31px;
}
.meeting-signed-upload{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid #7694a0;
  background:#fff;
  cursor:pointer;
  font-size:calc(9px * var(--font-scale,1));
  font-weight:800;
}
.meeting-signed-upload input{display:none}
.meeting-approval-history .form-section-title{margin:0}
.meeting-approval-history td{vertical-align:top;white-space:normal}
@media(max-width:700px){
  .meeting-approval-file-box{align-items:stretch;flex-direction:column}
}


/* GreenEco 3.3.16.38.1 — Clean Meeting Minutes editor */
.meeting-minutes-form{gap:8px!important}
.meeting-minutes-selector{padding:0 0 7px;border-bottom:1px solid #c5cdd1}
.meeting-minutes-selector .full-field{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px}
.meeting-minutes-selector .full-field>span{text-align:right;font-size:calc(11px * var(--font-scale,1));font-weight:800}
.meeting-minutes-selector select{min-height:33px;padding:4px 8px;border:1px solid #87969d;background:#fff!important;color:#17222a}

.meeting-minutes-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.meeting-minutes-summary>div{min-height:38px;border:1px solid #c2cbd0;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;background:#fff}
.meeting-minutes-summary>div.wide{grid-column:span 2}
.meeting-minutes-summary span{display:flex;align-items:center;padding:5px 7px;background:#eef2f4;border-left:1px solid #c2cbd0;font-size:calc(10px * var(--font-scale,1));font-weight:800}
.meeting-minutes-summary b{display:flex;align-items:center;padding:5px 8px;font-size:calc(10.5px * var(--font-scale,1));font-weight:600;background:#fff}

.meeting-minutes-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.meeting-minutes-reference-grid article{border:1px solid #b3bec3;background:#fff;min-width:0}
.meeting-minutes-reference-grid article>header,.meeting-minutes-attendance>header{min-height:34px;padding:5px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#eef4f7;border-bottom:1px solid #b3bec3}
.meeting-minutes-reference-grid h3,.meeting-minutes-attendance h3{margin:0;color:#244f60;font-size:calc(11.5px * var(--font-scale,1))}
.meeting-minutes-reference-grid header span,.meeting-minutes-attendance header span{min-width:24px;min-height:22px;padding:2px 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #a8b7bd;background:#fff;font-size:calc(9px * var(--font-scale,1));font-weight:800}
.meeting-minutes-reference-grid ol{margin:0;padding:6px 28px 6px 8px;max-height:105px;overflow:auto;font-size:calc(10px * var(--font-scale,1));line-height:1.55}
.meeting-minutes-reference-grid li{padding:2px 0}
.meeting-minutes-reference-grid li.empty{list-style:none;color:#77888f}

.meeting-minutes-editor{display:grid;gap:5px}
.meeting-minutes-editor>label{font-size:calc(11px * var(--font-scale,1));color:#244f60;font-weight:900}
.meeting-minutes-editor textarea{width:100%;min-height:130px;max-height:230px;resize:vertical;padding:8px 10px;border:1px solid #7f9097;background:#fff!important;color:#17222a;line-height:1.6;font-size:calc(11px * var(--font-scale,1))}
.meeting-minutes-editor textarea:focus{outline:2px solid #43b0bf}

.meeting-minutes-attendance{border:1px solid #b3bec3;background:#fff}
.meeting-minutes-attendance .table-scroll{max-height:210px;overflow:auto}
.meeting-minutes-attendance .data-table{min-width:620px}
.meeting-minutes-attendance .data-table th,.meeting-minutes-attendance .data-table td{height:31px;padding:3px 6px;font-size:calc(10px * var(--font-scale,1))}
.meeting-minutes-attendance select,.meeting-minutes-attendance input{width:100%;min-height:27px;padding:3px 6px;border:1px solid #929fa5;background:#fff!important;font-size:calc(10px * var(--font-scale,1))}

.meeting-minutes-actions{position:sticky;bottom:0;z-index:3;margin:0 -14px -14px;padding:8px 14px;border-top:1px solid #bcc6ca;background:#f7f9fa}

@media(max-width:850px){
  .meeting-minutes-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meeting-minutes-summary>div.wide{grid-column:1/-1}
  .meeting-minutes-reference-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .meeting-minutes-summary{grid-template-columns:1fr}
  .meeting-minutes-summary>div.wide{grid-column:auto}
}


/* GreenEco 3.3.16.38.2 — Clean Approval & Archive screen */
.meeting-approval-overview,
.meeting-approval-workflow,
.meeting-approval-history{
  margin-bottom:7px;
  background:#fff;
}

.meeting-approval-status-row{
  display:grid;
  grid-template-columns:1.1fr .55fr .8fr 2fr;
  gap:1px;
  margin:0;
  background:#bcc7cc;
  border-bottom:1px solid #a9b6bb;
}
.meeting-approval-status-row>div{
  min-height:48px;
  padding:5px 8px;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}
.meeting-approval-status-row span{
  font-size:calc(8.5px * var(--font-scale,1));
  color:#6a7b82;
}
.meeting-approval-status-row b{
  font-size:calc(10.5px * var(--font-scale,1));
  color:#243f4b;
}
.meeting-approval-status-main{
  border-right:3px solid #1f8fb2;
}
.meeting-approval-status-main .meeting-approval-status-value{
  font-size:calc(12px * var(--font-scale,1));
  color:#145b75;
}

.meeting-approval-meta-table{
  min-width:820px;
}
.meeting-approval-meta-table th{
  width:105px;
  background:#eef2f4!important;
  color:#354f5b;
  font-weight:800;
}
.meeting-approval-meta-table td{
  background:#fff!important;
  color:#17222a;
  font-weight:600;
}

.meeting-approval-file-row{
  margin:7px;
  padding:7px 8px;
  border:1px solid #bdc8cc;
  background:#f8fafb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.meeting-approval-file-row>div{
  display:grid;
  gap:2px;
}
.meeting-approval-file-row span{
  font-size:calc(8.5px * var(--font-scale,1));
  color:#6b7c83;
}
.meeting-approval-file-row b{
  font-size:calc(10.5px * var(--font-scale,1));
  color:#244f60;
}
.meeting-approval-file-row small{
  font-size:calc(8px * var(--font-scale,1));
  color:#78878d;
}

.meeting-approval-workflow-body{
  padding:7px;
  display:grid;
  gap:7px;
}
.meeting-approval-note{
  display:grid;
  gap:4px;
}
.meeting-approval-note>span{
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
  color:#375764;
}
.meeting-approval-note textarea{
  width:100%;
  min-height:68px;
  max-height:120px;
  resize:vertical;
  padding:6px 8px;
  border:1px solid #8f9ea4;
  background:#fff!important;
  color:#17222a;
  font-size:calc(10px * var(--font-scale,1));
  line-height:1.5;
}
.meeting-approval-buttons{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.meeting-approval-buttons button,
.meeting-approval-buttons .meeting-signed-upload{
  min-height:31px;
}
.meeting-approval-hint{
  margin:0!important;
  padding:6px 8px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}

.meeting-approval-history .table-scroll{
  max-height:300px;
  overflow:auto;
}
.meeting-approval-history .data-table{
  min-width:900px;
}
.meeting-approval-history td{
  vertical-align:top;
  white-space:normal;
}
.meeting-approval-history button{
  min-height:26px;
  padding:2px 8px;
  font-size:calc(8.5px * var(--font-scale,1));
}

@media(max-width:1000px){
  .meeting-approval-status-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .meeting-approval-status-row{
    grid-template-columns:1fr;
  }
  .meeting-approval-file-row{
    align-items:stretch;
    flex-direction:column;
  }
}


/* GreenEco 3.3.16.38.3 — Clean Issues / Obstacles modal */
.meeting-issue-form{
  gap:8px!important;
}
.meeting-issue-selector{
  padding:0 0 7px;
  border-bottom:1px solid #c5cdd1;
}
.meeting-issue-selector .full-field{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.meeting-issue-selector .full-field>span{
  font-size:calc(10.5px * var(--font-scale,1));
  font-weight:800;
}
.meeting-issue-selector select{
  min-height:33px;
  padding:4px 8px;
  border:1px solid #87969d;
  background:#fff!important;
  color:#17222a;
}

.meeting-issue-section{
  border:1px solid #b9c4c9;
  background:#fff;
}
.meeting-issue-section .form-section-title{
  margin:0;
  padding:6px 8px;
  border-bottom:1px solid #b9c4c9;
  background:#eef4f7;
  color:#244f60;
  font-size:calc(11px * var(--font-scale,1));
  font-weight:900;
}
.meeting-issue-grid{
  padding:7px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.meeting-issue-grid label{
  display:grid;
  gap:4px;
  min-width:0;
}
.meeting-issue-grid label.full{
  grid-column:1/-1;
}
.meeting-issue-grid label>span{
  font-size:calc(10px * var(--font-scale,1));
  font-weight:800;
  color:#344e59;
}
.meeting-issue-grid textarea{
  width:100%;
  min-height:82px;
  max-height:150px;
  resize:vertical;
  padding:7px 8px;
  border:1px solid #87969d;
  background:#fff!important;
  color:#17222a;
  font-size:calc(10.5px * var(--font-scale,1));
  line-height:1.55;
}
.meeting-issue-grid textarea.compact{
  min-height:58px;
  max-height:100px;
}
.meeting-issue-grid textarea:focus{
  outline:2px solid #43b0bf;
  outline-offset:-1px;
}
.meeting-issue-grid textarea::placeholder{
  color:#8a989e;
}

.meeting-issue-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -14px -14px;
  padding:8px 14px;
  border-top:1px solid #bcc6ca;
  background:#f7f9fa;
}

@media(max-width:760px){
  .meeting-issue-grid{
    grid-template-columns:1fr;
  }
  .meeting-issue-grid label.full{
    grid-column:auto;
  }
}


/* GreenEco 3.3.16.38.4 — Clean Meeting Results Follow-up */
.meeting-followup-filterbar{
  display:grid;
  grid-template-columns:2.2fr repeat(3,1fr) 1fr 1fr auto auto;
  gap:6px;
  align-items:end;
  margin:0 0 6px;
  padding:7px;
  border:1px solid #b7c2c7;
  background:#f7f9fa;
}
.meeting-followup-filterbar label{
  display:grid;
  gap:3px;
  min-width:0;
}
.meeting-followup-filterbar label>span{
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:800;
  color:#435e69;
  white-space:nowrap;
}
.meeting-followup-filterbar select,
.meeting-followup-filterbar input[type=date]{
  width:100%;
  height:31px;
  min-width:0;
  padding:3px 6px;
  border:1px solid #8c9ba2;
  background:#fff!important;
  color:#17222a;
  font-size:calc(9px * var(--font-scale,1));
}
.meeting-followup-overdue-check{
  min-height:31px;
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  justify-content:center;
  gap:5px!important;
  padding:4px 7px;
  border:1px solid #b3bec3;
  background:#fff;
}
.meeting-followup-overdue-check input{
  margin:0;
}
.meeting-followup-clear{
  height:31px;
  white-space:nowrap;
}

.meeting-followup-summaryline{
  min-height:28px;
  margin:0 0 6px;
  padding:4px 7px;
  border:1px solid #c1cbd0;
  background:#fff;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  font-size:calc(8.5px * var(--font-scale,1));
  color:#63767e;
}
.meeting-followup-summaryline b{
  color:#244f60;
}
.meeting-followup-summaryline .overdue{
  color:#a53e2d;
  font-weight:800;
}
.meeting-followup-summaryline .selected{
  color:#245d75;
  font-weight:700;
}

.meeting-followup-table .table-scroll{
  max-height:390px;
  overflow:auto;
}
.meeting-followup-table .data-table{
  min-width:1020px;
}
.meeting-followup-table th{
  white-space:nowrap;
}
.meeting-followup-table td{
  vertical-align:middle;
  white-space:normal;
  line-height:1.35;
}
.meeting-followup-meeting-cell>div{
  display:grid;
  gap:1px;
}
.meeting-followup-meeting-cell b{
  color:#244f60;
  font-size:calc(9px * var(--font-scale,1));
}
.meeting-followup-meeting-cell span{
  font-size:calc(8.5px * var(--font-scale,1));
}
.meeting-followup-result-cell{
  min-width:220px;
  max-width:340px;
}
.meeting-followup-state{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:2px 6px;
  border:1px solid #a9b5ba;
  background:#f6f8f9;
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:800;
  white-space:nowrap;
}
.meeting-followup-state.in_progress{
  color:#315f76;
  background:#eef6fa;
}
.meeting-followup-state.completed{
  color:#276845;
  background:#edf8f1;
}
.meeting-followup-state.cancelled{
  color:#757575;
  background:#f1f1f1;
}
.meeting-followup-state.overdue{
  color:#a33c2b;
  border-color:#d6a097;
  background:#fff2ef;
}
.meeting-result-overdue td{
  background:#fffaf8!important;
}
.meeting-result-overdue td:first-child{
  border-right:3px solid #c25a45!important;
}

.meeting-followup-progress{
  display:grid;
  grid-template-columns:minmax(58px,1fr) auto;
  align-items:center;
  gap:5px;
  min-width:92px;
}
.meeting-followup-progress>div{
  height:7px;
  border:1px solid #b3bec3;
  background:#f0f3f4;
  overflow:hidden;
}
.meeting-followup-progress i{
  display:block;
  height:100%;
  background:#3b91ad;
}
.meeting-followup-progress span{
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  color:#435d68;
}

.meeting-followup-edit-form{
  gap:8px!important;
}
.meeting-followup-selected-card{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1px;
  background:#bcc7cc;
  border:1px solid #b4c0c5;
}
.meeting-followup-selected-card>div{
  min-height:42px;
  padding:5px 7px;
  background:#fff;
  display:grid;
  gap:2px;
  align-content:center;
}
.meeting-followup-selected-card>div.wide{
  grid-column:span 2;
}
.meeting-followup-selected-card>div.result{
  grid-column:1/-1;
  min-height:58px;
}
.meeting-followup-selected-card span{
  font-size:calc(8.5px * var(--font-scale,1));
  color:#6b7c83;
}
.meeting-followup-selected-card b{
  font-size:calc(10px * var(--font-scale,1));
  color:#243f4b;
  line-height:1.45;
}

.meeting-followup-edit-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.meeting-followup-edit-grid label{
  display:grid;
  gap:4px;
}
.meeting-followup-edit-grid label.full{
  grid-column:1/-1;
}
.meeting-followup-edit-grid label>span{
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
  color:#3c5661;
}
.meeting-followup-edit-grid select,
.meeting-followup-edit-grid input,
.meeting-followup-edit-grid textarea{
  width:100%;
  border:1px solid #87969d;
  background:#fff!important;
  color:#17222a;
  font-size:calc(10px * var(--font-scale,1));
}
.meeting-followup-edit-grid select,
.meeting-followup-edit-grid input{
  min-height:32px;
  padding:4px 6px;
}
.meeting-followup-edit-grid textarea{
  min-height:90px;
  max-height:160px;
  resize:vertical;
  padding:7px 8px;
  line-height:1.55;
}
.meeting-followup-edit-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -14px -14px;
  padding:8px 14px;
  border-top:1px solid #bcc6ca;
  background:#f7f9fa;
}

@media(max-width:1100px){
  .meeting-followup-filterbar{
    grid-template-columns:2fr repeat(3,1fr);
  }
}
@media(max-width:760px){
  .meeting-followup-filterbar{
    grid-template-columns:1fr 1fr;
  }
  .meeting-followup-meeting-filter{
    grid-column:1/-1;
  }
  .meeting-followup-selected-card{
    grid-template-columns:1fr 1fr;
  }
  .meeting-followup-selected-card>div.wide{
    grid-column:1/-1;
  }
}
@media(max-width:560px){
  .meeting-followup-filterbar,
  .meeting-followup-selected-card,
  .meeting-followup-edit-grid{
    grid-template-columns:1fr;
  }
  .meeting-followup-selected-card>div.wide,
  .meeting-followup-edit-grid label.full{
    grid-column:auto;
  }
}


/* GreenEco 3.3.16.38.5 — Institutional Reports: one toolbar + one table */
.meeting-report-toolbar-controls{
  display:flex;
  align-items:flex-end;
  gap:5px;
  min-width:0;
  flex-wrap:wrap;
}
.meeting-report-toolbar-controls label{
  display:grid;
  gap:2px;
  min-width:105px;
}
.meeting-report-toolbar-controls label.report-type{
  min-width:185px;
}
.meeting-report-toolbar-controls label>span{
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  color:#4a626c;
}
.meeting-report-toolbar-controls select,
.meeting-report-toolbar-controls input{
  height:30px;
  min-width:0;
  padding:3px 6px;
  border:1px solid #8d9ca3;
  background:#fff!important;
  color:#17222a;
  font-size:calc(8.7px * var(--font-scale,1));
}
.meeting-report-toolbar-controls button{
  height:30px;
  white-space:nowrap;
}
.meeting-report-toolbar-controls .report-run-button{
  min-width:86px;
}
.meeting-report-toolbar-controls .report-more-button{
  min-width:92px;
}

.meeting-report-more-options{
  display:grid;
  grid-template-columns:1fr 2.2fr 1fr 1fr auto;
  gap:6px;
  align-items:end;
  margin:0 0 6px;
  padding:6px 7px;
  border:1px solid #bdc7cc;
  background:#f7f9fa;
}
.meeting-report-more-options label{
  display:grid;
  gap:3px;
  min-width:0;
}
.meeting-report-more-options label>span{
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  color:#4a626c;
}
.meeting-report-more-options select{
  width:100%;
  height:29px;
  border:1px solid #8d9ca3;
  background:#fff!important;
  color:#17222a;
  font-size:calc(8.7px * var(--font-scale,1));
  padding:3px 6px;
}
.meeting-report-more-options button{
  height:29px;
  white-space:nowrap;
}

.meeting-report-context-line{
  min-height:30px;
  margin:0 0 6px;
  padding:4px 7px;
  border:1px solid #c1cbd0;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:calc(8.5px * var(--font-scale,1));
}
.meeting-report-context-line>div{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.meeting-report-context-line>div>b{
  color:#214f62;
  font-size:calc(10px * var(--font-scale,1));
}
.meeting-report-context-line span{
  color:#687980;
}
.meeting-report-context-line .count{
  white-space:nowrap;
}
.meeting-report-context-line .count b{
  color:#214f62;
}

.meeting-report-table{
  margin:0;
}
.meeting-report-table .table-scroll{
  max-height:430px;
  overflow:auto;
}
.meeting-report-table .data-table{
  min-width:980px;
}
.meeting-report-table th{
  white-space:nowrap;
}
.meeting-report-table td{
  vertical-align:middle;
  white-space:normal;
  line-height:1.35;
}

.meeting-report-print-header{
  display:none;
}
.meeting-report-pagination{
  margin-top:0;
}

@media(max-width:1100px){
  .meeting-report-toolbar-controls label.report-type{min-width:160px}
  .meeting-report-toolbar-controls label{min-width:95px}
  .meeting-report-more-options{grid-template-columns:1fr 2fr 1fr}
}
@media(max-width:760px){
  .meeting-report-toolbar-controls{
    align-items:stretch;
  }
  .meeting-report-toolbar-controls label,
  .meeting-report-toolbar-controls label.report-type{
    min-width:calc(50% - 4px);
  }
  .meeting-report-toolbar-controls button{
    flex:1;
  }
  .meeting-report-more-options{
    grid-template-columns:1fr;
  }
}

@media print{
  body.meeting-report-print-mode *{
    visibility:hidden!important;
  }
  body.meeting-report-print-mode .meeting-report-print-area,
  body.meeting-report-print-mode .meeting-report-print-area *{
    visibility:visible!important;
  }
  body.meeting-report-print-mode .meeting-report-print-area{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
  }
  body.meeting-report-print-mode .meeting-report-print-header{
    display:grid!important;
    grid-template-columns:46px 1fr auto;
    align-items:center;
    gap:8px;
    padding-bottom:6px;
    margin-bottom:6px;
    border-bottom:2px solid #24596c;
  }
  body.meeting-report-print-mode .meeting-report-print-header h1{
    margin:0;
    font-size:15pt;
    color:#173e4e;
  }
  body.meeting-report-print-mode .meeting-report-print-header h2{
    margin:2px 0 0;
    font-size:9pt;
  }
  body.meeting-report-print-mode .meeting-report-print-period{
    display:grid;
    gap:2px;
    text-align:left;
    font-size:7pt;
  }
  body.meeting-report-print-mode .meeting-report-print-period b{
    font-size:8pt;
  }
  body.meeting-report-print-mode .meeting-report-table{
    border:0!important;
  }
  body.meeting-report-print-mode .meeting-report-table .table-scroll{
    max-height:none!important;
    overflow:visible!important;
  }
  body.meeting-report-print-mode .meeting-report-table .data-table{
    min-width:0!important;
    width:100%!important;
    border-collapse:collapse!important;
    font-size:6.6pt!important;
  }
  body.meeting-report-print-mode .meeting-report-table th,
  body.meeting-report-print-mode .meeting-report-table td{
    border:1px solid #777!important;
    padding:3px!important;
    color:#111!important;
    background:#fff!important;
  }
  body.meeting-report-print-mode .meeting-report-table th{
    background:#edf2f3!important;
  }
  body.meeting-report-print-mode .meeting-report-pagination{
    display:none!important;
  }
  @page{
    size:A4 landscape;
    margin:8mm;
  }
}


/* GreenEco 3.3.16.38.6 — Institutional Meeting Preparation */
.meeting-prep-toolbar-extra{gap:5px!important}
.meeting-prep-context{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:0 0 6px;border:1px solid #bac5ca;background:#bac5ca}
.meeting-prep-context>div{min-height:43px;padding:5px 7px;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:2px}
.meeting-prep-context span{font-size:calc(8px * var(--font-scale,1));color:#6b7b82}
.meeting-prep-context b{font-size:calc(9.5px * var(--font-scale,1));color:#243f4b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-prep-context .count{border-right:3px solid #238dae}
.meeting-prep-context .count b{font-size:calc(13px * var(--font-scale,1));color:#155a72}

.meeting-prep-register{margin:0}
.meeting-prep-register-head{min-height:30px;padding:4px 7px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #bac5ca;background:#eef3f5}
.meeting-prep-register-head b{font-size:calc(10px * var(--font-scale,1));color:#244f60}
.meeting-prep-register-head span{font-size:calc(8px * var(--font-scale,1));color:#718188}
.meeting-prep-register .table-scroll{max-height:430px;overflow:auto}
.meeting-prep-register .data-table{min-width:1040px}
.meeting-prep-register th{white-space:nowrap}
.meeting-prep-register td{vertical-align:middle;white-space:normal;line-height:1.35}
.meeting-prep-employee{font-weight:800;color:#253f4a}

.meeting-prep-invite{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 6px;border:1px solid #aab6bb;background:#f6f8f9;font-size:calc(8px * var(--font-scale,1));font-weight:800;white-space:nowrap}
.meeting-prep-invite.invited{color:#245d75;background:#eef6fa}
.meeting-prep-invite.confirmed{color:#276845;background:#eef8f2}
.meeting-prep-invite.declined{color:#9a4435;background:#fff2ef}

.meeting-prep-modal-subject{padding-bottom:7px;border-bottom:1px solid #c4cdd1}
.meeting-prep-modal-subject .full-field{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:7px}
.meeting-prep-modal-subject select{min-height:32px;background:#fff!important;border:1px solid #8b9aa1}
.meeting-prep-person-form select,.meeting-prep-person-form textarea,.meeting-prep-meeting-form select,.meeting-prep-meeting-form input{background:#fff!important}
.meeting-prep-person-form textarea{min-height:70px;resize:vertical}

@media(max-width:1050px){.meeting-prep-context{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.meeting-prep-context{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* GreenEco 3.3.16.38.7 — Preparation toolbar polish + transient feedback */

/* Success/error feedback is a floating toast and never consumes page height. */
.meeting-feedback-toast{
  position:fixed!important;
  top:92px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:6000!important;
  width:auto!important;
  min-width:320px!important;
  max-width:min(720px,78vw)!important;
  margin:0!important;
  padding:8px 18px!important;
  box-shadow:0 4px 18px rgba(0,0,0,.18)!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* One correctly ordered preparation command row. */
.meeting-prep-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(260px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  padding:7px 9px!important;
  margin-bottom:6px!important;
}
.meeting-prep-toolbar .meeting-prep-actions{
  display:flex!important;
  align-items:stretch!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
}
.meeting-prep-toolbar .tool-button{
  min-width:auto!important;
  height:34px!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
  gap:4px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}
.meeting-prep-toolbar .tool-button span{
  white-space:nowrap!important;
}
.meeting-prep-subject-inline{
  min-width:0;
}
.meeting-prep-subject-inline .meeting-toolbar-subject{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
}
.meeting-prep-subject-inline .meeting-toolbar-subject span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  white-space:nowrap!important;
}
.meeting-prep-subject-inline .meeting-toolbar-subject select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  background:#fff!important;
}
.meeting-prep-toolbar-tail{
  display:flex;
  align-items:stretch;
  gap:4px;
}
.meeting-prep-toolbar-tail button{
  height:34px!important;
  padding:4px 10px!important;
  white-space:nowrap!important;
}

/* The old card strip is removed from JSX; keep a hard guard for cached markup. */
.meeting-prep-context{
  display:none!important;
}

/* Invitation status is normal table content, not a badge inside a bordered cell. */
.meeting-prep-invitation-cell{
  font-weight:700!important;
  color:#354f5b!important;
  background:inherit!important;
}
.meeting-prep-invite{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  min-height:0!important;
  color:inherit!important;
}

/* Give the participant register the space freed by removing the cards. */
.meeting-prep-register .table-scroll{
  max-height:475px!important;
}

@media(max-width:1180px){
  .meeting-prep-toolbar{
    grid-template-columns:1fr auto!important;
  }
  .meeting-prep-actions{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .meeting-prep-toolbar{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .meeting-prep-toolbar .meeting-prep-actions{
    flex-wrap:wrap!important;
  }
  .meeting-prep-toolbar-tail{
    justify-content:flex-start;
  }
}


/* GreenEco 3.3.16.39 — Professional Meeting Results */
.meeting-results-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(280px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  padding:7px 9px!important;
  margin-bottom:6px!important;
}
.meeting-results-actions{
  display:flex!important;
  align-items:stretch!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
}
.meeting-results-actions .tool-button{
  min-width:auto!important;
  height:34px!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
  gap:4px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}
.meeting-results-subject-inline{
  min-width:0;
}
.meeting-results-subject-inline .meeting-toolbar-subject{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
}
.meeting-results-subject-inline .meeting-toolbar-subject span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  white-space:nowrap!important;
}
.meeting-results-subject-inline .meeting-toolbar-subject select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  background:#fff!important;
}
.meeting-results-exit{
  height:34px!important;
  white-space:nowrap!important;
}

.meeting-results-lock-note{
  min-height:29px;
  margin:0 0 6px;
  padding:5px 8px;
  border:1px solid #d4b67d;
  background:#fff9ea;
  color:#765b22;
  font-size:calc(8.8px * var(--font-scale,1));
  font-weight:700;
}

.meeting-results-register{
  margin:0;
}
.meeting-results-register-head{
  min-height:30px;
  padding:4px 7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #bac5ca;
  background:#eef3f5;
}
.meeting-results-register-head b{
  font-size:calc(10px * var(--font-scale,1));
  color:#244f60;
}
.meeting-results-register-head span{
  font-size:calc(8px * var(--font-scale,1));
  color:#718188;
}
.meeting-results-register .table-scroll{
  max-height:470px;
  overflow:auto;
}
.meeting-results-register .data-table{
  min-width:980px;
}
.meeting-results-register th{
  white-space:nowrap;
}
.meeting-results-register td{
  vertical-align:middle;
  white-space:normal;
  line-height:1.4;
}
.meeting-result-text-cell{
  min-width:300px;
  max-width:430px;
  font-weight:700;
  color:#253f4a;
}
.meeting-results-state{
  display:inline;
  padding:0;
  border:0;
  background:transparent;
  color:#344e59;
  font-weight:700;
}
.meeting-results-state.completed{color:#276845}
.meeting-results-state.cancelled{color:#777}
.meeting-results-state.in_progress{color:#245d75}

.meeting-result-form{
  gap:8px!important;
}
.meeting-result-modal-context{
  display:grid;
  grid-template-columns:.8fr 2fr .8fr;
  gap:1px;
  border:1px solid #bac5ca;
  background:#bac5ca;
}
.meeting-result-modal-context>div{
  min-height:42px;
  padding:5px 7px;
  background:#fff;
  display:grid;
  align-content:center;
  gap:2px;
}
.meeting-result-modal-context span{
  font-size:calc(8px * var(--font-scale,1));
  color:#6d7c83;
}
.meeting-result-modal-context b{
  font-size:calc(9.5px * var(--font-scale,1));
  color:#243f4b;
}
.meeting-result-form-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:7px;
}
.meeting-result-form-grid label{
  display:grid;
  gap:4px;
  min-width:0;
}
.meeting-result-form-grid label.full{
  grid-column:1/-1;
}
.meeting-result-form-grid label>span{
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
  color:#3d5661;
}
.meeting-result-form-grid select,
.meeting-result-form-grid input,
.meeting-result-form-grid textarea{
  width:100%;
  border:1px solid #87969d;
  background:#fff!important;
  color:#17222a;
  font-size:calc(10px * var(--font-scale,1));
}
.meeting-result-form-grid select,
.meeting-result-form-grid input{
  min-height:32px;
  padding:4px 6px;
}
.meeting-result-form-grid textarea{
  resize:vertical;
  padding:7px 8px;
  line-height:1.55;
}
.meeting-result-form-grid textarea.result-text{
  min-height:90px;
  max-height:170px;
}
.meeting-result-form-grid textarea.result-notes{
  min-height:60px;
  max-height:120px;
}
.meeting-result-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -14px -14px;
  padding:8px 14px;
  border-top:1px solid #bcc6ca;
  background:#f7f9fa;
}

/* Results-only print document */
.meeting-results-print-sheet{
  display:none;
  page:greenecoResults;
}
@media print{
  body.meeting-results-print-mode *{
    visibility:hidden!important;
  }
  body.meeting-results-print-mode .meeting-results-print-sheet,
  body.meeting-results-print-mode .meeting-results-print-sheet *{
    visibility:visible!important;
  }
  body.meeting-results-print-mode .meeting-results-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
  }
  body.meeting-results-print-mode .meeting-results-print-sheet>header{
    display:grid;
    grid-template-columns:46px 1fr auto;
    align-items:center;
    gap:8px;
    padding-bottom:6px;
    margin-bottom:6px;
    border-bottom:2px solid #24596c;
  }
  body.meeting-results-print-mode .meeting-results-print-sheet h1{
    margin:0;
    font-size:15pt;
    color:#173e4e;
  }
  body.meeting-results-print-mode .meeting-results-print-sheet h2{
    margin:2px 0 0;
    font-size:9pt;
  }
  body.meeting-results-print-mode .meeting-results-print-sheet>header>div:last-child{
    display:grid;
    gap:2px;
    text-align:left;
    font-size:7pt;
  }
  body.meeting-results-print-mode .meeting-results-print-meta{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:3px;
    margin-bottom:6px;
  }
  body.meeting-results-print-mode .meeting-results-print-meta>div{
    border:1px solid #8d999e;
    padding:4px;
    display:flex;
    flex-direction:column;
  }
  body.meeting-results-print-mode .meeting-results-print-meta span{
    font-size:6.5pt;
    color:#68777d;
  }
  body.meeting-results-print-mode .meeting-results-print-meta b{
    font-size:7.5pt;
  }
  body.meeting-results-print-mode table{
    width:100%;
    border-collapse:collapse;
    font-size:7pt;
  }
  body.meeting-results-print-mode th,
  body.meeting-results-print-mode td{
    border:1px solid #777;
    padding:3px;
    vertical-align:top;
  }
  body.meeting-results-print-mode th{
    background:#edf2f3!important;
  }
  body.meeting-results-print-mode footer{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:6px;
    padding-top:5px;
    border-top:1px solid #999;
    font-size:7pt;
  }
  @page greenecoResults{
    size:A4 landscape;
    margin:8mm;
  }
}

@media(max-width:1050px){
  .meeting-results-toolbar{
    grid-template-columns:1fr auto!important;
  }
  .meeting-results-actions{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .meeting-results-toolbar{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .meeting-results-actions{
    flex-wrap:wrap!important;
  }
  .meeting-result-modal-context,
  .meeting-result-form-grid{
    grid-template-columns:1fr;
  }
  .meeting-result-form-grid label.full{
    grid-column:auto;
  }
}


/* GreenEco 3.3.16.39.1 — Results stability hotfix */
.meeting-results-register .selected-row td{
  background:#eef7fa!important;
}
.meeting-results-register .selected-row td:first-child{
  border-right:3px solid #238dae!important;
}


/* GreenEco 3.3.16.39.2 — Goals & Topics institutional UI */
.meeting-goals-toolbar,
.meeting-topics-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(280px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  padding:7px 9px!important;
  margin-bottom:6px!important;
}
.meeting-goals-actions,
.meeting-topics-actions{
  display:flex!important;
  align-items:stretch!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
}
.meeting-goals-actions .tool-button,
.meeting-topics-actions .tool-button{
  min-width:auto!important;
  height:34px!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
  gap:4px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}
.meeting-goals-subject-inline,
.meeting-topics-subject-inline{
  min-width:0;
}
.meeting-goals-subject-inline .meeting-toolbar-subject,
.meeting-topics-subject-inline .meeting-toolbar-subject{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
}
.meeting-goals-subject-inline .meeting-toolbar-subject span,
.meeting-topics-subject-inline .meeting-toolbar-subject span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  white-space:nowrap!important;
}
.meeting-goals-subject-inline .meeting-toolbar-subject select,
.meeting-topics-subject-inline .meeting-toolbar-subject select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  background:#fff!important;
}
.meeting-goals-exit,
.meeting-topics-exit{
  height:34px!important;
  white-space:nowrap!important;
}

.meeting-structure-lock-note,
.meeting-structure-hint{
  min-height:29px;
  margin:0 0 6px;
  padding:5px 8px;
  font-size:calc(8.8px * var(--font-scale,1));
  font-weight:700;
}
.meeting-structure-lock-note{
  border:1px solid #d4b67d;
  background:#fff9ea;
  color:#765b22;
}
.meeting-structure-hint{
  border:1px solid #a8c1cc;
  background:#f3f9fb;
  color:#285a70;
}

.meeting-goals-register,
.meeting-topics-register{
  margin:0;
}
.meeting-structure-register-head{
  min-height:30px;
  padding:4px 7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #bac5ca;
  background:#eef3f5;
}
.meeting-structure-register-head b{
  font-size:calc(10px * var(--font-scale,1));
  color:#244f60;
}
.meeting-structure-register-head span{
  font-size:calc(8px * var(--font-scale,1));
  color:#718188;
}
.meeting-goals-register .table-scroll,
.meeting-topics-register .table-scroll{
  max-height:475px;
  overflow:auto;
}
.meeting-goals-register .data-table{
  min-width:780px;
}
.meeting-topics-register .data-table{
  min-width:900px;
}
.meeting-goals-register th,
.meeting-topics-register th{
  white-space:nowrap;
}
.meeting-goals-register td,
.meeting-topics-register td{
  vertical-align:middle;
  white-space:normal;
  line-height:1.4;
}
.meeting-goal-text-cell,
.meeting-topic-text-cell{
  min-width:300px;
  font-weight:700;
  color:#253f4a;
}
.meeting-topic-goal-cell{
  min-width:240px;
  color:#315663;
  font-weight:700;
}
.meeting-goal-topic-count{
  text-align:center;
  font-weight:800;
  color:#245d75;
}
.meeting-goals-register .selected-row td,
.meeting-topics-register .selected-row td{
  background:#eef7fa!important;
}
.meeting-goals-register .selected-row td:first-child,
.meeting-topics-register .selected-row td:first-child{
  border-right:3px solid #238dae!important;
}

.meeting-structure-modal-context{
  display:grid;
  grid-template-columns:.8fr 2fr .8fr;
  gap:1px;
  border:1px solid #bac5ca;
  background:#bac5ca;
}
.meeting-structure-modal-context>div{
  min-height:42px;
  padding:5px 7px;
  background:#fff;
  display:grid;
  align-content:center;
  gap:2px;
}
.meeting-structure-modal-context span{
  font-size:calc(8px * var(--font-scale,1));
  color:#6d7c83;
}
.meeting-structure-modal-context b{
  font-size:calc(9.5px * var(--font-scale,1));
  color:#243f4b;
}
.meeting-goal-form,
.meeting-topic-form{
  gap:8px!important;
}
.meeting-goal-form-grid,
.meeting-topic-form-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.meeting-goal-form-grid label,
.meeting-topic-form-grid label{
  display:grid;
  gap:4px;
}
.meeting-goal-form-grid label>span,
.meeting-topic-form-grid label>span{
  font-size:calc(9.5px * var(--font-scale,1));
  font-weight:800;
  color:#3d5661;
}
.meeting-goal-form-grid select,
.meeting-topic-form-grid select,
.meeting-goal-form-grid textarea,
.meeting-topic-form-grid textarea{
  width:100%;
  border:1px solid #87969d;
  background:#fff!important;
  color:#17222a;
  font-size:calc(10px * var(--font-scale,1));
}
.meeting-topic-form-grid select{
  min-height:32px;
  padding:4px 6px;
}
.meeting-goal-form-grid textarea,
.meeting-topic-form-grid textarea{
  resize:vertical;
  padding:7px 8px;
  line-height:1.55;
}
.meeting-goal-form-grid textarea.goal-text,
.meeting-topic-form-grid textarea.topic-text{
  min-height:90px;
  max-height:170px;
}
.meeting-goal-form-grid textarea.goal-notes,
.meeting-topic-form-grid textarea.topic-notes{
  min-height:60px;
  max-height:120px;
}
.meeting-structure-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -14px -14px;
  padding:8px 14px;
  border-top:1px solid #bcc6ca;
  background:#f7f9fa;
}

/* Dedicated print documents */
.meeting-goals-print-sheet,
.meeting-topics-print-sheet{
  display:none;
}
@media print{
  body.meeting-goals-print-mode *,
  body.meeting-topics-print-mode *{
    visibility:hidden!important;
  }
  body.meeting-goals-print-mode .meeting-goals-print-sheet,
  body.meeting-goals-print-mode .meeting-goals-print-sheet *,
  body.meeting-topics-print-mode .meeting-topics-print-sheet,
  body.meeting-topics-print-mode .meeting-topics-print-sheet *{
    visibility:visible!important;
  }
  body.meeting-goals-print-mode .meeting-goals-print-sheet,
  body.meeting-topics-print-mode .meeting-topics-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
  }
  body.meeting-goals-print-mode .meeting-goals-print-sheet>header,
  body.meeting-topics-print-mode .meeting-topics-print-sheet>header{
    display:grid;
    grid-template-columns:46px 1fr auto;
    align-items:center;
    gap:8px;
    padding-bottom:6px;
    margin-bottom:6px;
    border-bottom:2px solid #24596c;
  }
  body.meeting-goals-print-mode h1,
  body.meeting-topics-print-mode h1{
    margin:0;
    font-size:15pt;
    color:#173e4e;
  }
  body.meeting-goals-print-mode h2,
  body.meeting-topics-print-mode h2{
    margin:2px 0 0;
    font-size:9pt;
  }
  body.meeting-goals-print-mode table,
  body.meeting-topics-print-mode table{
    width:100%;
    border-collapse:collapse;
    font-size:7.5pt;
  }
  body.meeting-goals-print-mode th,
  body.meeting-goals-print-mode td,
  body.meeting-topics-print-mode th,
  body.meeting-topics-print-mode td{
    border:1px solid #777;
    padding:4px;
    vertical-align:top;
  }
  body.meeting-goals-print-mode th,
  body.meeting-topics-print-mode th{
    background:#edf2f3!important;
  }
  body.meeting-goals-print-mode footer,
  body.meeting-topics-print-mode footer{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:6px;
    padding-top:5px;
    border-top:1px solid #999;
    font-size:7pt;
  }
  @page greenecoGoals{size:A4 portrait;margin:9mm}
  @page greenecoTopics{size:A4 landscape;margin:8mm}
  body.meeting-goals-print-mode .meeting-goals-print-sheet{page:greenecoGoals}
  body.meeting-topics-print-mode .meeting-topics-print-sheet{page:greenecoTopics}
}

@media(max-width:1050px){
  .meeting-goals-toolbar,
  .meeting-topics-toolbar{
    grid-template-columns:1fr auto!important;
  }
  .meeting-goals-actions,
  .meeting-topics-actions{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .meeting-goals-toolbar,
  .meeting-topics-toolbar{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .meeting-goals-actions,
  .meeting-topics-actions{
    flex-wrap:wrap!important;
  }
  .meeting-structure-modal-context{
    grid-template-columns:1fr;
  }
}


/* GreenEco 3.3.16.39.3 — Professional Meeting Subject */
.meeting-subject-toolbar{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important;padding:7px 9px!important;margin-bottom:6px!important}
.meeting-subject-actions{display:flex!important;gap:4px!important;flex-wrap:nowrap!important}
.meeting-subject-actions .tool-button{min-width:auto!important;height:34px!important;padding:4px 8px!important;white-space:nowrap!important;gap:4px!important;font-size:calc(9px * var(--font-scale,1))!important}
.meeting-subject-exit{height:34px!important;white-space:nowrap!important}
.meeting-subject-cancelled-note{min-height:29px;margin:0 0 6px;padding:5px 8px;border:1px solid #d9a69c;background:#fff4f2;color:#8b4437;font-size:calc(8.8px * var(--font-scale,1));font-weight:700}
.meeting-subject-register .table-panel{margin-top:0!important}
.meeting-subject-register .data-table{min-width:1220px}
.meeting-subject-register .data-table th{white-space:nowrap}
.meeting-subject-register .data-table td{vertical-align:middle;white-space:normal;line-height:1.35}
.meeting-subject-register .selected-row td{background:#eef7fa!important}
.meeting-subject-register .selected-row td:first-child{border-right:3px solid #238dae!important}

.meeting-subject-form{gap:8px!important}
.meeting-subject-form-section+.meeting-subject-form-section{padding-top:2px}
.meeting-subject-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.meeting-subject-form-grid.schedule,.meeting-subject-form-grid.organization{grid-template-columns:repeat(3,1fr)}
.meeting-subject-form-grid.link{grid-template-columns:1fr 2fr;align-items:end}
.meeting-subject-form-grid label{display:grid;gap:4px;min-width:0}
.meeting-subject-form-grid label.full{grid-column:1/-1}
.meeting-subject-form-grid label>span{font-size:calc(9.5px * var(--font-scale,1));font-weight:800;color:#3d5661}
.meeting-subject-form-grid input,.meeting-subject-form-grid select,.meeting-subject-form-grid textarea{width:100%;border:1px solid #87969d;background:#fff!important;color:#17222a;font-size:calc(10px * var(--font-scale,1))}
.meeting-subject-form-grid input,.meeting-subject-form-grid select{min-height:32px;padding:4px 6px}
.meeting-subject-form-grid textarea{padding:7px 8px;line-height:1.5;resize:vertical}
.meeting-subject-notes{min-height:58px!important;max-height:110px!important}
.meeting-subject-unlinked{min-height:32px;display:flex;align-items:center;padding:4px 8px;border:1px solid #c3ccd0;background:#f7f9fa;color:#6c7a80;font-size:calc(8.8px * var(--font-scale,1))}
.meeting-subject-actions-bottom{position:sticky;bottom:0;z-index:3;margin:0 -14px -14px;padding:8px 14px;border-top:1px solid #bcc6ca;background:#f7f9fa}

.meeting-subject-print-sheet{display:none}
@media print{
body.meeting-subject-print-mode *{visibility:hidden!important}
body.meeting-subject-print-mode .meeting-subject-print-sheet,body.meeting-subject-print-mode .meeting-subject-print-sheet *{visibility:visible!important}
body.meeting-subject-print-mode .meeting-subject-print-sheet{display:block!important;position:absolute!important;inset:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;direction:rtl!important;font-family:Arial,Tahoma,sans-serif!important}
body.meeting-subject-print-mode .meeting-subject-print-sheet>header{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:8px;padding-bottom:7px;margin-bottom:8px;border-bottom:2px solid #24596c}
body.meeting-subject-print-mode .meeting-subject-print-sheet h1{margin:0;font-size:16pt;color:#173e4e}
body.meeting-subject-print-mode .meeting-subject-print-sheet h2{margin:2px 0 0;font-size:10pt}
body.meeting-subject-print-mode .meeting-subject-print-sheet>header>div:last-child{display:grid;gap:2px;text-align:left;font-size:8pt}
body.meeting-subject-print-mode .meeting-subject-print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
body.meeting-subject-print-mode .meeting-subject-print-grid>div{min-height:44px;padding:5px;border:1px solid #8e999e;display:flex;flex-direction:column;gap:2px}
body.meeting-subject-print-mode .meeting-subject-print-grid span{font-size:7pt;color:#68777d}
body.meeting-subject-print-mode .meeting-subject-print-grid b{font-size:8.5pt}
body.meeting-subject-print-mode .meeting-subject-print-notes{margin-top:8px;padding:7px;border:1px solid #8e999e}
body.meeting-subject-print-mode .meeting-subject-print-notes h3{margin:0 0 4px;font-size:9pt}
body.meeting-subject-print-mode .meeting-subject-print-notes p{margin:0;font-size:8pt;line-height:1.6}
body.meeting-subject-print-mode .meeting-subject-print-sheet footer{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:6px;border-top:1px solid #999;font-size:7.5pt}
@page{size:A4 portrait;margin:10mm}
}
@media(max-width:900px){.meeting-subject-form-grid.schedule,.meeting-subject-form-grid.organization{grid-template-columns:1fr 1fr}.meeting-subject-toolbar{grid-template-columns:1fr auto!important}.meeting-subject-actions{grid-column:1/-1;flex-wrap:wrap!important}}
@media(max-width:620px){.meeting-subject-form-grid,.meeting-subject-form-grid.schedule,.meeting-subject-form-grid.organization,.meeting-subject-form-grid.link{grid-template-columns:1fr}.meeting-subject-form-grid label.full{grid-column:auto}}


/* GreenEco 3.3.16.39.4 — Institutional Issues / Obstacles / Solutions */
.meeting-issues-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(280px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  padding:7px 9px!important;
  margin-bottom:6px!important;
}
.meeting-issues-actions{
  display:flex!important;
  align-items:stretch!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
}
.meeting-issues-actions .tool-button{
  min-width:auto!important;
  height:34px!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
  gap:4px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}
.meeting-issues-subject-inline{
  min-width:0;
}
.meeting-issues-subject-inline .meeting-toolbar-subject{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
}
.meeting-issues-subject-inline .meeting-toolbar-subject span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  white-space:nowrap!important;
}
.meeting-issues-subject-inline .meeting-toolbar-subject select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  background:#fff!important;
}
.meeting-issues-exit{
  height:34px!important;
  white-space:nowrap!important;
}

.meeting-issues-register{
  margin:0;
}
.meeting-issues-register-head{
  min-height:30px;
  padding:4px 7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #bac5ca;
  background:#eef3f5;
}
.meeting-issues-register-head b{
  font-size:calc(10px * var(--font-scale,1));
  color:#244f60;
}
.meeting-issues-register-head span{
  font-size:calc(8px * var(--font-scale,1));
  color:#718188;
}
.meeting-issues-register .table-scroll{
  max-height:470px;
  overflow:auto;
}
.meeting-issues-register .data-table{
  min-width:1180px;
}
.meeting-issues-register th{
  white-space:nowrap;
}
.meeting-issues-register td{
  vertical-align:top;
  white-space:normal;
  line-height:1.4;
}
.meeting-issue-primary-cell,
.meeting-issue-solution-cell{
  min-width:210px;
  font-weight:700;
  color:#253f4a;
}
.meeting-issues-register .selected-row td{
  background:#eef7fa!important;
}
.meeting-issues-register .selected-row td:first-child{
  border-right:3px solid #238dae!important;
}

.meeting-issue-professional-form{
  gap:8px!important;
}
.meeting-issue-professional-form .meeting-issue-section{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.meeting-issue-professional-form .meeting-issue-grid{
  gap:7px!important;
}
.meeting-issue-professional-form textarea{
  background:#fff!important;
  border:1px solid #87969d!important;
  min-height:82px!important;
  max-height:160px!important;
  padding:7px 8px!important;
  line-height:1.5!important;
  resize:vertical!important;
}
.meeting-issue-professional-form textarea.compact{
  min-height:58px!important;
  max-height:110px!important;
}
.meeting-issue-professional-form .meeting-issue-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -14px -14px;
  padding:8px 14px;
  border-top:1px solid #bcc6ca;
  background:#f7f9fa;
}

/* Dedicated issues print */
.meeting-issues-print-sheet{
  display:none;
}
@media print{
  body.meeting-issues-print-mode *{
    visibility:hidden!important;
  }
  body.meeting-issues-print-mode .meeting-issues-print-sheet,
  body.meeting-issues-print-mode .meeting-issues-print-sheet *{
    visibility:visible!important;
  }
  body.meeting-issues-print-mode .meeting-issues-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
  }
  body.meeting-issues-print-mode .meeting-issues-print-sheet>header{
    display:grid;
    grid-template-columns:46px 1fr auto;
    align-items:center;
    gap:8px;
    padding-bottom:6px;
    margin-bottom:6px;
    border-bottom:2px solid #24596c;
  }
  body.meeting-issues-print-mode .meeting-issues-print-sheet h1{
    margin:0;
    font-size:14pt;
    color:#173e4e;
  }
  body.meeting-issues-print-mode .meeting-issues-print-sheet h2{
    margin:2px 0 0;
    font-size:9pt;
  }
  body.meeting-issues-print-mode .meeting-issues-print-sheet>header>div:last-child{
    display:grid;
    gap:2px;
    text-align:left;
    font-size:7pt;
  }
  body.meeting-issues-print-mode .meeting-issues-print-meta{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px;
    margin-bottom:6px;
  }
  body.meeting-issues-print-mode .meeting-issues-print-meta>div{
    border:1px solid #8d999e;
    padding:4px;
    display:flex;
    flex-direction:column;
  }
  body.meeting-issues-print-mode .meeting-issues-print-meta span{
    font-size:6.5pt;
    color:#68777d;
  }
  body.meeting-issues-print-mode .meeting-issues-print-meta b{
    font-size:7.5pt;
  }
  body.meeting-issues-print-mode table{
    width:100%;
    border-collapse:collapse;
    font-size:6.4pt;
  }
  body.meeting-issues-print-mode th,
  body.meeting-issues-print-mode td{
    border:1px solid #777;
    padding:3px;
    vertical-align:top;
  }
  body.meeting-issues-print-mode th{
    background:#edf2f3!important;
  }
  body.meeting-issues-print-mode footer{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:6px;
    padding-top:5px;
    border-top:1px solid #999;
    font-size:7pt;
  }
  @page{
    size:A4 landscape;
    margin:8mm;
  }
}

@media(max-width:1050px){
  .meeting-issues-toolbar{
    grid-template-columns:1fr auto!important;
  }
  .meeting-issues-actions{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .meeting-issues-toolbar{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .meeting-issues-actions{
    flex-wrap:wrap!important;
  }
}


/* GreenEco 3.3.16.40 — Meetings End-to-End stability & consistency */
.meeting-prep-register .selected-row td{background:#eef7fa!important}
.meeting-prep-register .selected-row td:first-child{border-right:3px solid #238dae!important}

.meeting-followup-print-sheet{display:none}
@media print{
body.meeting-followup-print-mode *{visibility:hidden!important}
body.meeting-followup-print-mode .meeting-followup-print-sheet,body.meeting-followup-print-mode .meeting-followup-print-sheet *{visibility:visible!important}
body.meeting-followup-print-mode .meeting-followup-print-sheet{display:block!important;position:absolute!important;inset:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;direction:rtl!important;font-family:Arial,Tahoma,sans-serif!important}
body.meeting-followup-print-mode .meeting-followup-print-sheet>header{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:8px;padding-bottom:6px;margin-bottom:6px;border-bottom:2px solid #24596c}
body.meeting-followup-print-mode .meeting-followup-print-sheet h1{margin:0;font-size:14pt;color:#173e4e}
body.meeting-followup-print-mode .meeting-followup-print-sheet h2{margin:2px 0 0;font-size:8.5pt}
body.meeting-followup-print-mode .meeting-followup-print-sheet>header>div:last-child{display:grid;gap:2px;text-align:left;font-size:7pt}
body.meeting-followup-print-mode table{width:100%;border-collapse:collapse;font-size:6.4pt}
body.meeting-followup-print-mode th,body.meeting-followup-print-mode td{border:1px solid #777;padding:3px;vertical-align:top}
body.meeting-followup-print-mode th{background:#edf2f3!important}
body.meeting-followup-print-mode td:nth-child(2){min-width:105px}
body.meeting-followup-print-mode td:nth-child(2) b,body.meeting-followup-print-mode td:nth-child(2) span{display:block}
body.meeting-followup-print-mode footer{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding-top:5px;border-top:1px solid #999;font-size:7pt}
@page{size:A4 landscape;margin:8mm}
}
.meeting-report-toolbar-controls select{background:#fff!important}


/* GreenEco 3.3.16.40.1 — Full reports printing + employee branch truth */
.meeting-report-full-print-sheet{
  display:none;
}

@media print{
  body.meeting-report-print-mode .meeting-report-print-area,
  body.meeting-report-print-mode .meeting-report-print-area *{
    visibility:hidden!important;
  }
  body.meeting-report-print-mode .meeting-report-print-area{
    display:none!important;
  }

  body.meeting-report-print-mode .meeting-report-full-print-sheet,
  body.meeting-report-print-mode .meeting-report-full-print-sheet *{
    visibility:visible!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
  }

  body.meeting-report-print-mode .meeting-report-full-print-sheet>header{
    display:grid!important;
    grid-template-columns:46px 1fr auto!important;
    align-items:center!important;
    gap:8px!important;
    padding-bottom:6px!important;
    margin-bottom:6px!important;
    border-bottom:2px solid #24596c!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet h1{
    margin:0!important;
    font-size:15pt!important;
    color:#173e4e!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet h2{
    margin:2px 0 0!important;
    font-size:9pt!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-period{
    display:grid!important;
    gap:2px!important;
    text-align:left!important;
    font-size:7pt!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-period b{
    font-size:8pt!important;
  }

  body.meeting-report-print-mode .meeting-report-full-print-sheet table{
    width:100%!important;
    border-collapse:collapse!important;
    font-size:6.2pt!important;
    table-layout:auto!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet th,
  body.meeting-report-print-mode .meeting-report-full-print-sheet td{
    border:1px solid #777!important;
    padding:3px!important;
    color:#111!important;
    background:#fff!important;
    vertical-align:top!important;
    overflow-wrap:anywhere!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet th{
    background:#edf2f3!important;
    white-space:nowrap!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet thead{
    display:table-header-group!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.meeting-report-print-mode .meeting-report-full-print-sheet footer{
    display:flex!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-top:6px!important;
    padding-top:5px!important;
    border-top:1px solid #999!important;
    font-size:7pt!important;
  }

  @page{
    size:A4 landscape;
    margin:8mm;
  }
}


/* GreenEco 3.3.16.41 — Enterprise Documents, Correspondence & Archive */
.enterprise-documents-submenu-current{
  background:#e9f2f5!important;
  font-weight:800!important;
}
.enterprise-documents-page{
  position:relative;
}
.enterprise-documents-toast{
  position:fixed!important;
  top:88px!important;
  left:24px!important;
  z-index:5000!important;
  min-width:280px!important;
  max-width:520px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
}
.enterprise-documents-toolbar{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 9px!important;
  margin-bottom:6px!important;
}
.enterprise-documents-toolbar .toolbar-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:4px!important;
}
.enterprise-documents-toolbar .tool-button{
  min-width:auto!important;
  height:34px!important;
  padding:4px 8px!important;
  gap:4px!important;
  white-space:nowrap!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}
.enterprise-documents-filterbar{
  display:grid;
  grid-template-columns:repeat(7,minmax(115px,1fr)) auto;
  gap:5px;
  align-items:end;
  padding:6px 7px;
  margin-bottom:6px;
  border:1px solid #c3cdd1;
  background:#f7f9fa;
}
.enterprise-documents-filterbar label{
  display:grid;
  gap:3px;
  min-width:0;
}
.enterprise-documents-filterbar label>span{
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  color:#52676f;
}
.enterprise-documents-filterbar select,
.enterprise-documents-filterbar input{
  width:100%;
  min-width:0;
  height:31px;
  padding:3px 5px;
  border:1px solid #8f9da3;
  background:#fff!important;
  color:#1d2a30;
  font-size:calc(9px * var(--font-scale,1));
}
.enterprise-documents-filterbar button{
  height:31px;
  white-space:nowrap;
}
.enterprise-documents-register .data-table{
  min-width:1550px;
}
.enterprise-documents-register .data-table td{
  vertical-align:middle;
  white-space:normal;
  line-height:1.35;
}
.enterprise-documents-register .selected-row td{
  background:#eef7fa!important;
}
.enterprise-documents-register .selected-row td:first-child{
  border-right:3px solid #238dae!important;
}

.enterprise-document-form{
  gap:8px!important;
}
.enterprise-document-context{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:1px;
  border:1px solid #bac5ca;
  background:#bac5ca;
}
.enterprise-document-context>div{
  min-height:42px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:5px 7px;
  background:#fff;
}
.enterprise-document-context span{
  font-size:calc(8px * var(--font-scale,1));
  color:#6b7b82;
}
.enterprise-document-context b{
  font-size:calc(9.5px * var(--font-scale,1));
  color:#264650;
}
.enterprise-document-fieldset{
  display:grid;
  gap:8px;
}
.enterprise-document-form-section{
  padding:0;
  margin:0;
}
.enterprise-document-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.enterprise-document-form-grid label{
  display:grid;
  gap:4px;
  min-width:0;
}
.enterprise-document-form-grid label.full{
  grid-column:1/-1;
}
.enterprise-document-form-grid label>span,
.enterprise-document-archive-form label>span,
.enterprise-document-upload-row label>span{
  font-size:calc(9px * var(--font-scale,1));
  font-weight:800;
  color:#405861;
}
.enterprise-document-form-grid input,
.enterprise-document-form-grid select,
.enterprise-document-form-grid textarea,
.enterprise-document-archive-form input,
.enterprise-document-archive-form textarea,
.enterprise-document-upload-row input,
.enterprise-document-upload-row select{
  width:100%;
  border:1px solid #87969d;
  background:#fff!important;
  color:#17222a;
  font-size:calc(10px * var(--font-scale,1));
}
.enterprise-document-form-grid input,
.enterprise-document-form-grid select,
.enterprise-document-upload-row input,
.enterprise-document-upload-row select{
  min-height:32px;
  padding:4px 6px;
}
.enterprise-document-form-grid textarea,
.enterprise-document-archive-form textarea{
  min-height:60px!important;
  max-height:115px!important;
  padding:6px 8px;
  line-height:1.5;
  resize:vertical;
}
.enterprise-document-form fieldset:disabled input,
.enterprise-document-form fieldset:disabled select,
.enterprise-document-form fieldset:disabled textarea{
  color:#25363d!important;
  opacity:1!important;
  background:#f5f7f8!important;
}
.enterprise-document-attachments,
.enterprise-document-versions{
  border:1px solid #bec8cc;
  background:#fff;
}
.enterprise-document-attachments>header,
.enterprise-document-versions>header{
  min-height:31px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:4px 7px;
  border-bottom:1px solid #c6cfd3;
  background:#eef3f5;
}
.enterprise-document-attachments h3,
.enterprise-document-versions h3{
  margin:0;
  font-size:calc(10px * var(--font-scale,1));
  color:#264c5b;
}
.enterprise-document-attachments header span,
.enterprise-document-versions header span{
  font-size:calc(8px * var(--font-scale,1));
  color:#6b7b82;
}
.enterprise-document-attachment-list{
  display:grid;
}
.enterprise-document-attachment-list>div{
  min-height:38px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:5px 7px;
  border-bottom:1px solid #e0e5e7;
}
.enterprise-document-attachment-list>div>div:first-child{
  min-width:0;
  display:grid;
  gap:2px;
}
.enterprise-document-attachment-list b{
  overflow-wrap:anywhere;
  font-size:calc(9px * var(--font-scale,1));
}
.enterprise-document-attachment-list small{
  color:#74838a;
  font-size:calc(7.5px * var(--font-scale,1));
}
.enterprise-document-attachment-list>div>div:last-child{
  display:flex;
  gap:4px;
  flex-shrink:0;
}
.enterprise-document-upload-row{
  display:grid;
  grid-template-columns:150px minmax(220px,1fr) minmax(180px,1fr) auto;
  gap:6px;
  align-items:end;
  padding:7px;
  background:#f7f9fa;
}
.enterprise-document-upload-row label{
  display:grid;
  gap:3px;
  min-width:0;
}
.enterprise-document-upload-row button{
  min-height:32px;
}
.enterprise-document-versions .table-scroll{
  max-height:190px;
}
.enterprise-document-versions .data-table{
  min-width:650px;
}
.enterprise-document-form-actions{
  position:sticky;
  bottom:0;
  z-index:4;
  margin:0 -14px -14px;
  padding:8px 14px;
  border-top:1px solid #bcc6ca;
  background:#f7f9fa;
}
.enterprise-document-archive-form{
  gap:8px!important;
}
.enterprise-document-archive-form>label{
  display:grid;
  gap:4px;
}

/* Single-document print card */
.enterprise-document-print-sheet{
  display:none;
}
@media print{
  body.enterprise-document-print-mode *{
    visibility:hidden!important;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet,
  body.enterprise-document-print-mode .enterprise-document-print-sheet *{
    visibility:visible!important;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet>header{
    display:grid;
    grid-template-columns:46px 1fr auto;
    align-items:center;
    gap:8px;
    padding-bottom:7px;
    margin-bottom:8px;
    border-bottom:2px solid #24596c;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet h1{
    margin:0;
    font-size:15pt;
    color:#173e4e;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet h2{
    margin:2px 0 0;
    font-size:9pt;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet>header>div:last-child{
    display:grid;
    gap:2px;
    text-align:left;
    font-size:8pt;
  }
  body.enterprise-document-print-mode .enterprise-document-print-meta{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:4px;
  }
  body.enterprise-document-print-mode .enterprise-document-print-meta>div{
    min-height:43px;
    padding:5px;
    border:1px solid #8c989d;
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  body.enterprise-document-print-mode .enterprise-document-print-meta span{
    font-size:6.8pt;
    color:#68777d;
  }
  body.enterprise-document-print-mode .enterprise-document-print-meta b{
    font-size:8.2pt;
  }
  body.enterprise-document-print-mode .enterprise-document-print-text{
    margin-top:7px;
    padding:7px;
    border:1px solid #8c989d;
  }
  body.enterprise-document-print-mode .enterprise-document-print-text h3{
    margin:0 0 4px;
    font-size:9pt;
  }
  body.enterprise-document-print-mode .enterprise-document-print-text p{
    margin:0;
    line-height:1.6;
    font-size:8pt;
  }
  body.enterprise-document-print-mode .enterprise-document-print-keywords{
    margin-top:6px;
    font-size:7.5pt;
  }
  body.enterprise-document-print-mode .enterprise-document-print-sheet footer{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:8px;
    padding-top:6px;
    border-top:1px solid #999;
    font-size:7pt;
  }
  @page{
    size:A4 portrait;
    margin:10mm;
  }
}

@media(max-width:1150px){
  .enterprise-documents-filterbar{
    grid-template-columns:repeat(4,minmax(120px,1fr));
  }
}
@media(max-width:760px){
  .enterprise-documents-toolbar{
    grid-template-columns:1fr!important;
  }
  .enterprise-documents-toolbar .toolbar-actions{
    flex-wrap:wrap!important;
  }
  .enterprise-documents-filterbar{
    grid-template-columns:repeat(2,minmax(120px,1fr));
  }
  .enterprise-document-form-grid,
  .enterprise-document-context{
    grid-template-columns:1fr;
  }
  .enterprise-document-form-grid label.full{
    grid-column:auto;
  }
  .enterprise-document-upload-row{
    grid-template-columns:1fr;
  }
}

.enterprise-document-archive-context{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:1px;
  border:1px solid #d2b880;
  background:#d2b880;
}
.enterprise-document-archive-context>div{
  min-height:40px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:5px 7px;
  background:#fffaf0;
}
.enterprise-document-archive-context span{
  font-size:calc(8px * var(--font-scale,1));
  color:#76633d;
}
.enterprise-document-archive-context b{
  font-size:calc(9px * var(--font-scale,1));
  color:#564620;
}
@media print{
  body.enterprise-document-print-mode .enterprise-document-print-archive{
    margin-top:6px;
    padding:5px 7px;
    border:1px solid #9c8b67;
    font-size:7.5pt;
  }
}
@media(max-width:760px){
  .enterprise-document-archive-context{grid-template-columns:1fr}
}


/* GreenEco 3.3.16.42 — Unified Approval Center */
.unified-approvals-page{position:relative}
.unified-approvals-toast{
  position:fixed!important;
  top:88px!important;
  left:24px!important;
  z-index:5000!important;
  min-width:280px!important;
  max-width:520px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
}
.unified-approvals-toolbar{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 9px!important;
  margin-bottom:6px!important;
}
.unified-approvals-toolbar .toolbar-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:4px!important;
}
.unified-approvals-toolbar .tool-button{
  min-width:auto!important;
  height:34px!important;
  padding:4px 8px!important;
  gap:4px!important;
  white-space:nowrap!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}
.unified-approvals-filterbar{
  display:grid;
  grid-template-columns:160px 190px minmax(180px,1fr) 140px 140px auto;
  gap:6px;
  align-items:end;
  padding:6px 7px;
  margin-bottom:6px;
  border:1px solid #c3cdd1;
  background:#f7f9fa;
}
.unified-approvals-filterbar label{
  display:grid;
  gap:3px;
  min-width:0;
}
.unified-approvals-filterbar label>span{
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  color:#52676f;
}
.unified-approvals-filterbar input,
.unified-approvals-filterbar select{
  width:100%;
  min-width:0;
  height:31px;
  padding:3px 5px;
  border:1px solid #8f9da3;
  background:#fff!important;
  color:#1d2a30;
  font-size:calc(9px * var(--font-scale,1));
}
.unified-approvals-filterbar button{height:31px;white-space:nowrap}
.unified-approvals-register .data-table{min-width:1120px}
.unified-approvals-register .selected-row td{background:#eef7fa!important}
.unified-approvals-register .selected-row td:first-child{border-right:3px solid #238dae!important}
.unified-approval-detail{display:grid;gap:8px}
.unified-approval-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid #bac5ca;
  background:#bac5ca;
}
.unified-approval-detail-grid>div,
.unified-approval-summary-grid>div{
  min-height:42px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:5px 7px;
  background:#fff;
}
.unified-approval-detail-grid span,
.unified-approval-summary-grid span,
.unified-approval-decision-context span{
  font-size:calc(8px * var(--font-scale,1));
  color:#6b7b82;
}
.unified-approval-detail-grid b,
.unified-approval-summary-grid b,
.unified-approval-decision-context b{
  font-size:calc(9.5px * var(--font-scale,1));
  color:#264650;
  overflow-wrap:anywhere;
}
.unified-approval-summary{display:grid;gap:5px}
.unified-approval-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid #d0d8db;
  background:#d0d8db;
}
.unified-approval-history{display:grid;gap:5px}
.unified-approval-history .table-scroll{max-height:240px}
.unified-approval-history .data-table{min-width:850px}
.unified-approval-decision-form{gap:8px!important}
.unified-approval-decision-context{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  border:1px solid #bac5ca;
  background:#bac5ca;
}
.unified-approval-decision-context>div{
  min-height:42px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:5px 7px;
  background:#fff;
}
.unified-approval-decision-form>label{
  display:grid;
  gap:4px;
}
.unified-approval-decision-form>label>span{
  font-size:calc(9px * var(--font-scale,1));
  font-weight:800;
  color:#405861;
}
.unified-approval-decision-form textarea{
  min-height:80px!important;
  max-height:160px!important;
  border:1px solid #87969d;
  background:#fff!important;
  padding:6px 8px;
  resize:vertical;
}
.unified-approval-decision-context .tone-success{color:#176536}
.unified-approval-decision-context .tone-danger{color:#9b2929}
.unified-approval-decision-context .tone-warning{color:#8a5b10}
@media(max-width:1050px){
  .unified-approvals-filterbar{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .unified-approval-detail-grid,.unified-approval-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .unified-approvals-toolbar{grid-template-columns:1fr!important}
  .unified-approvals-toolbar .toolbar-actions{flex-wrap:wrap!important}
  .unified-approvals-filterbar{grid-template-columns:1fr 1fr}
  .unified-approval-detail-grid,.unified-approval-summary-grid,.unified-approval-decision-context{grid-template-columns:1fr}
}


/* GreenEco 3.3.16.43 — Unified Notifications + Work Inbox */
.unified-notifications-page{position:relative}
.unified-notification-toast{position:fixed!important;top:88px!important;left:24px!important;z-index:5000!important;min-width:280px!important;max-width:520px!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}
.unified-notification-switch{display:flex;align-items:center;gap:3px;margin:0 0 6px;border-bottom:1px solid #aebbc0}
.unified-notification-switch button{min-height:34px;display:flex;align-items:center;gap:6px;padding:5px 13px;border:1px solid #b7c2c6;border-bottom:0;background:#f4f6f7;color:#334a53;font-size:calc(9px * var(--font-scale,1));font-weight:800}
.unified-notification-switch button.active{background:#fff;color:#174f64;box-shadow:inset 0 2px 0 #238dae}
.unified-notification-switch button b{min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 5px;border-radius:10px;background:#e7eef1;font-size:calc(8px * var(--font-scale,1))}
.unified-notification-toolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;padding:6px 8px!important;margin-bottom:5px!important}
.unified-notification-toolbar .toolbar-actions{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important}
.unified-notification-toolbar .tool-button,.unified-notification-toolbar .secondary-button{min-height:32px!important;padding:4px 8px!important;font-size:calc(8.5px * var(--font-scale,1))!important;white-space:nowrap!important}
.unified-notification-inline-counts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:calc(8px * var(--font-scale,1));color:#53666e}
.unified-notification-inline-counts span{white-space:nowrap}
.unified-notification-inline-counts b{color:#183f4f;font-size:calc(9px * var(--font-scale,1))}
.unified-notification-inline-counts .danger-count,.unified-notification-inline-counts .danger-count b{color:#9c2f2f}
.unified-notification-filters{display:grid;grid-template-columns:150px 180px 145px 145px auto;gap:5px;align-items:end;padding:6px 7px;margin-bottom:5px;border:1px solid #c0cacf;background:#f7f9fa}
.unified-notification-filters.work-filters{grid-template-columns:210px 170px auto}
.unified-notification-filters label{display:grid;gap:3px;min-width:0}
.unified-notification-filters label>span{font-size:calc(8px * var(--font-scale,1));font-weight:800;color:#52666f}
.unified-notification-filters select,.unified-notification-filters input{width:100%;min-width:0;height:31px;padding:3px 5px;border:1px solid #8e9ba1;background:#fff!important;color:#1f2c31;font-size:calc(9px * var(--font-scale,1))}
.unified-notification-filters button{height:31px;white-space:nowrap}
.unified-notification-table .data-table{min-width:1100px}
.unified-work-table .data-table{min-width:1400px}
.unified-notification-table .data-table td,.unified-work-table .data-table td{vertical-align:middle;line-height:1.4;white-space:normal}
.unified-notification-table .selected-row td,.unified-work-table .selected-row td{background:#eef7fa!important}
.unified-notification-table .selected-row td:first-child,.unified-work-table .selected-row td:first-child{border-right:3px solid #238dae!important}
@media(max-width:900px){.unified-notification-toolbar{align-items:flex-start!important;flex-direction:column!important}.unified-notification-filters,.unified-notification-filters.work-filters{grid-template-columns:repeat(2,minmax(130px,1fr))}}


/* GreenEco 3.3.16.44 — Executive Management Dashboard */
.executive-dashboard-page{position:relative}
.executive-dashboard-filters{
  display:grid;
  grid-template-columns:135px 135px 170px 180px minmax(220px,1fr) auto auto;
  gap:5px;
  align-items:end;
  padding:6px 7px;
  margin-bottom:7px;
  border:1px solid #bdc8cc;
  background:#f7f9fa;
}
.executive-dashboard-filters label{display:grid;gap:3px;min-width:0}
.executive-dashboard-filters label>span{font-size:calc(8px * var(--font-scale,1));font-weight:800;color:#52666f}
.executive-dashboard-filters input,
.executive-dashboard-filters select{
  width:100%;
  min-width:0;
  height:31px;
  padding:3px 5px;
  border:1px solid #8c9a9f;
  background:#fff!important;
  color:#1d2b31;
  font-size:calc(9px * var(--font-scale,1));
}
.executive-dashboard-filters button{height:31px;white-space:nowrap}
.executive-kpi-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-bottom:7px;
}
.executive-kpi-group{
  border:1px solid #bcc7cb;
  background:#fff;
}
.executive-kpi-group h2{
  margin:0;
  padding:4px 7px;
  border-bottom:1px solid #ccd4d7;
  background:#eef3f5;
  color:#294f5e;
  font-size:calc(9px * var(--font-scale,1));
}
.executive-kpi-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(105px,1fr));
}
.executive-kpi{
  min-height:45px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:5px 7px;
  border:0;
  border-left:1px solid #e0e5e7;
  border-bottom:1px solid #e0e5e7;
  background:#fff;
  color:#344950;
  text-align:right;
  font-size:calc(8px * var(--font-scale,1));
  cursor:pointer;
}
.executive-kpi:hover{background:#f4f8fa}
.executive-kpi span{line-height:1.25}
.executive-kpi b{
  min-width:28px;
  text-align:center;
  font-size:calc(15px * var(--font-scale,1));
  color:#174f64;
}
.executive-kpi.warning b{color:#9a6b00}
.executive-kpi.danger b{color:#a33333}
.executive-alert-toolbar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  padding:6px 8px!important;
  margin-bottom:5px!important;
}
.executive-alert-toolbar .toolbar-actions{
  display:flex!important;
  gap:4px!important;
  align-items:center!important;
}
.executive-alert-toolbar .tool-button,
.executive-alert-toolbar .secondary-button{
  min-height:32px!important;
  padding:4px 8px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
}
.executive-generated-at{
  font-size:calc(8px * var(--font-scale,1));
  color:#687a82;
}
.executive-alerts-register{
  border:1px solid #b9c5ca;
  background:#fff;
}
.executive-alerts-register>header{
  min-height:33px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:5px 8px;
  border-bottom:1px solid #c5ced2;
  background:#eef3f5;
}
.executive-alerts-register h2{
  margin:0;
  font-size:calc(10px * var(--font-scale,1));
  color:#264d5c;
}
.executive-alerts-register>header span{
  font-size:calc(8px * var(--font-scale,1));
  color:#65777e;
}
.executive-alerts-register .data-table{min-width:900px}
.executive-alerts-register .data-table th:nth-child(1){width:130px}
.executive-alerts-register .data-table th:nth-child(2){width:135px}
.executive-alerts-register .data-table th:nth-child(4){width:240px}
.executive-alerts-register .data-table th:nth-child(5){width:135px}
.executive-alerts-register .data-table td{
  vertical-align:middle;
  white-space:normal;
  line-height:1.4;
}
.executive-alerts-register tr.selected-row td{background:#eef7fa!important}
.executive-alerts-register tr.selected-row td:first-child{border-right:3px solid #238dae!important}
.executive-alerts-register tr.executive-alert-critical td:nth-child(4){color:#9d2e2e;font-weight:800}
.executive-alerts-register tr.executive-alert-warning td:nth-child(4){color:#8a6500;font-weight:800}
@media(max-width:1100px){
  .executive-dashboard-filters{grid-template-columns:repeat(4,minmax(130px,1fr))}
  .executive-kpi-groups{grid-template-columns:1fr}
}
@media(max-width:700px){
  .executive-dashboard-filters{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .executive-alert-toolbar{align-items:flex-start!important;flex-direction:column!important}
}


/* GreenEco 3.3.16.44.1 — Executive Dashboard readability & calm visual palette */
.executive-dashboard-page{
  background:#f5f8fa;
  padding-bottom:14px;
}

/* Filters: larger, clearer, still compact */
.executive-dashboard-filters{
  gap:7px;
  padding:9px 10px;
  margin-bottom:10px;
  border-color:#b8c5cb;
  background:#eef3f6;
}
.executive-dashboard-filters label>span{
  font-size:calc(10px * var(--font-scale,1));
  line-height:1.35;
  color:#344f5a;
}
.executive-dashboard-filters input,
.executive-dashboard-filters select{
  height:36px;
  padding:5px 8px;
  font-size:calc(11px * var(--font-scale,1));
  border-color:#83949c;
  color:#172a32;
}
.executive-dashboard-filters button{
  height:36px;
  padding-inline:13px;
  font-size:calc(10px * var(--font-scale,1));
  font-weight:800;
}

/* Main KPI layout uses the available space instead of tiny text */
.executive-kpi-groups{
  gap:9px;
  margin-bottom:10px;
}
.executive-kpi-group{
  border-color:#b8c5ca;
  background:#fff;
  box-shadow:0 1px 3px rgba(31,58,70,.06);
}
.executive-kpi-group h2{
  padding:7px 10px;
  font-size:calc(11.5px * var(--font-scale,1));
  line-height:1.4;
  font-weight:900;
  color:#234857;
  border-bottom-color:#c7d2d7;
}
.executive-kpi-row{
  min-height:62px;
}
.executive-kpi{
  min-height:62px;
  padding:8px 10px;
  gap:10px;
  font-size:calc(10.5px * var(--font-scale,1));
  font-weight:700;
  line-height:1.45;
  color:#314850;
  border-left-color:#d7e0e3;
  border-bottom-color:#d7e0e3;
  background:#fff;
}
.executive-kpi:hover{
  background:#f1f6f8;
}
.executive-kpi span{
  font-size:calc(10.5px * var(--font-scale,1));
  line-height:1.45;
}
.executive-kpi b{
  min-width:36px;
  font-size:calc(20px * var(--font-scale,1));
  line-height:1;
  font-weight:900;
  color:#245d72;
}
.executive-kpi.warning{
  background:#fffaf0;
}
.executive-kpi.warning:hover{
  background:#fff5df;
}
.executive-kpi.warning b{
  color:#966600;
}
.executive-kpi.danger{
  background:#fff5f4;
}
.executive-kpi.danger:hover{
  background:#ffebe9;
}
.executive-kpi.danger b{
  color:#a5423a;
}

/* Calm section accents — visual separation without a loud theme */
.executive-kpi-group:nth-child(1) h2{
  background:#e7f1f6;
  border-right:4px solid #5a8fa8;
}
.executive-kpi-group:nth-child(2) h2{
  background:#eaf4ee;
  border-right:4px solid #62947a;
}
.executive-kpi-group:nth-child(3) h2{
  background:#f3eef8;
  border-right:4px solid #8b73a1;
}
.executive-kpi-group:nth-child(4) h2{
  background:#eef3fb;
  border-right:4px solid #6e86ad;
}
.executive-kpi-group:nth-child(5) h2{
  background:#f7f1e9;
  border-right:4px solid #a6845b;
}
.executive-kpi-group:nth-child(6) h2{
  background:#eaf5f3;
  border-right:4px solid #5f948d;
}
.executive-kpi-group:nth-child(7) h2{
  background:#f3f2ea;
  border-right:4px solid #8c8a63;
}
.executive-kpi-group:nth-child(8) h2{
  background:#edf1f5;
  border-right:4px solid #687f91;
}

/* Toolbar and refresh line */
.executive-alert-toolbar{
  min-height:43px;
  padding:7px 9px!important;
  margin-bottom:7px!important;
  background:#eef3f5;
  border-color:#bac7cc;
}
.executive-alert-toolbar .tool-button,
.executive-alert-toolbar .secondary-button{
  min-height:35px!important;
  padding:5px 10px!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}
.executive-generated-at{
  font-size:calc(9.5px * var(--font-scale,1));
  color:#4c646e;
}

/* Executive alerts table: use the available vertical/horizontal room */
.executive-alerts-register{
  border-color:#b6c3c8;
  box-shadow:0 1px 3px rgba(31,58,70,.05);
}
.executive-alerts-register>header{
  min-height:41px;
  padding:7px 10px;
  background:#e9f0f3;
}
.executive-alerts-register h2{
  font-size:calc(11.5px * var(--font-scale,1));
  font-weight:900;
}
.executive-alerts-register>header span{
  font-size:calc(9.5px * var(--font-scale,1));
  color:#50666f;
}
.executive-alerts-register .data-table th{
  height:37px;
  padding:6px 8px;
  font-size:calc(10.5px * var(--font-scale,1));
  font-weight:900;
  background:#f1f5f6;
  color:#304c57;
}
.executive-alerts-register .data-table td{
  min-height:38px;
  padding:7px 8px;
  font-size:calc(10.5px * var(--font-scale,1));
  line-height:1.5;
  color:#25383f;
}
.executive-alerts-register tr:nth-child(even) td{
  background:#fafcfc;
}
.executive-alerts-register tr.selected-row td{
  background:#e6f2f6!important;
}
.executive-alerts-register tr.executive-alert-critical td:nth-child(4){
  color:#9c3d36;
}
.executive-alerts-register tr.executive-alert-warning td:nth-child(4){
  color:#896516;
}

/* Give the dashboard more breathing room on common desktop widths */
@media(min-width:1200px){
  .executive-kpi-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .executive-kpi{
    min-height:66px;
  }
  .executive-kpi span{
    font-size:calc(11px * var(--font-scale,1));
  }
  .executive-kpi b{
    font-size:calc(21px * var(--font-scale,1));
  }
}
@media(max-width:700px){
  .executive-kpi span,
  .executive-kpi{
    font-size:calc(10px * var(--font-scale,1));
  }
  .executive-kpi b{
    font-size:calc(18px * var(--font-scale,1));
  }
}


/* GreenEco 3.3.16.44.2 — Meetings Subject compact 2-column form + auto calculations */
.meeting-subject-form.compact-subject-ui{
  gap:7px!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-section{
  margin-bottom:2px;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.schedule,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.organization,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.link{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 12px!important;
  align-items:start;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid label{
  gap:3px!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid label>span{
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#375564!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid label.full{
  grid-column:auto!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid label.meeting-subject-notes-field{
  grid-column:1 / -1!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid input,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid select,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid textarea{
  min-height:34px!important;
  height:34px!important;
  padding:6px 9px!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid textarea{
  height:70px!important;
  min-height:70px!important;
  resize:vertical;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.schedule textarea,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.organization textarea,
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.link textarea{
  height:66px!important;
  min-height:66px!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid .meeting-subject-computed input{
  background:#f7fbfd!important;
  color:#1f5e73!important;
  font-weight:800!important;
  border-color:#8db3c1!important;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-grid .meeting-subject-computed span::before{
  content:"∑ ";
  color:#1f7e9b;
  font-weight:900;
}
.meeting-subject-form.compact-subject-ui .meeting-subject-form-section .form-section-title{
  margin-bottom:6px!important;
}
@media(max-width:720px){
  .meeting-subject-form.compact-subject-ui .meeting-subject-form-grid,
  .meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.schedule,
  .meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.organization,
  .meeting-subject-form.compact-subject-ui .meeting-subject-form-grid.link{
    grid-template-columns:1fr!important;
  }
  .meeting-subject-form.compact-subject-ui .meeting-subject-form-grid label.meeting-subject-notes-field{
    grid-column:auto!important;
  }
}


/* GreenEco 3.3.16.44.2.1 — Safe meeting subject 2-column layout (no DOM MutationObserver) */
.meeting-subject-form .meeting-subject-form-grid,
.meeting-subject-form .meeting-subject-form-grid.schedule,
.meeting-subject-form .meeting-subject-form-grid.organization,
.meeting-subject-form .meeting-subject-form-grid.link{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 12px!important;
  align-items:start!important;
}
.meeting-subject-form .meeting-subject-title-field,
.meeting-subject-form .meeting-subject-notes-field{
  grid-column:auto!important;
}
.meeting-subject-form .meeting-subject-notes{
  height:54px!important;
  min-height:54px!important;
  max-height:80px!important;
}
.meeting-subject-form .meeting-subject-computed input{
  background:#f4f8fa!important;
  color:#205b70!important;
  border-color:#91aeb9!important;
  font-weight:900!important;
  cursor:default!important;
}
.meeting-subject-form .meeting-subject-computed span{
  color:#24596c!important;
}
.meeting-subject-form .meeting-subject-schedule-grid input{
  min-height:34px!important;
}
@media(max-width:720px){
  .meeting-subject-form .meeting-subject-form-grid,
  .meeting-subject-form .meeting-subject-form-grid.schedule,
  .meeting-subject-form .meeting-subject-form-grid.organization,
  .meeting-subject-form .meeting-subject-form-grid.link{
    grid-template-columns:1fr!important;
  }
}


/* GreenEco 3.3.16.44.2.2 — Meeting Subject single-column aligned form */
.meeting-subject-form{
  gap:8px!important;
}
.meeting-subject-form .meeting-subject-form-section{
  margin:0!important;
}
.meeting-subject-form .meeting-subject-form-section .form-section-title{
  margin-bottom:7px!important;
}

/* One vertical column for every section */
.meeting-subject-form .meeting-subject-form-grid,
.meeting-subject-form .meeting-subject-form-grid.schedule,
.meeting-subject-form .meeting-subject-form-grid.organization,
.meeting-subject-form .meeting-subject-form-grid.link,
.meeting-subject-form .meeting-subject-schedule-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  max-width:820px!important;
  margin-inline:auto!important;
  width:100%!important;
}

/* Every field becomes one aligned row: label | control */
.meeting-subject-form .meeting-subject-form-grid label,
.meeting-subject-form .meeting-subject-title-field,
.meeting-subject-form .meeting-subject-notes-field,
.meeting-subject-form .meeting-subject-computed{
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  grid-column:auto!important;
  margin:0!important;
}
.meeting-subject-form .meeting-subject-form-grid label>span{
  font-size:calc(10.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#35515e!important;
  text-align:right!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}

/* Consistent field size and alignment */
.meeting-subject-form .meeting-subject-form-grid input,
.meeting-subject-form .meeting-subject-form-grid select{
  width:100%!important;
  max-width:none!important;
  min-height:35px!important;
  height:35px!important;
  padding:5px 8px!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  box-sizing:border-box!important;
}
.meeting-subject-form .meeting-subject-form-grid textarea{
  width:100%!important;
  max-width:none!important;
  min-height:60px!important;
  height:60px!important;
  max-height:90px!important;
  padding:7px 9px!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  box-sizing:border-box!important;
  resize:vertical!important;
}
.meeting-subject-form .meeting-subject-notes-field{
  align-items:start!important;
}
.meeting-subject-form .meeting-subject-notes-field>span{
  padding-top:8px!important;
}

/* Calculated fields remain visually distinct but aligned with the rest */
.meeting-subject-form .meeting-subject-computed input{
  background:#f3f8fa!important;
  color:#1e5a70!important;
  border-color:#91aeb9!important;
  font-weight:900!important;
}

/* The unlinked reference message aligns with the controls column */
.meeting-subject-form .meeting-subject-unlinked{
  margin-right:180px!important;
  min-height:35px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}

/* Slightly tighter modal actions */
.meeting-subject-actions-bottom{
  padding-top:7px!important;
  padding-bottom:7px!important;
}

/* Responsive: label above field on narrow screens */
@media(max-width:720px){
  .meeting-subject-form .meeting-subject-form-grid,
  .meeting-subject-form .meeting-subject-form-grid.schedule,
  .meeting-subject-form .meeting-subject-form-grid.organization,
  .meeting-subject-form .meeting-subject-form-grid.link,
  .meeting-subject-form .meeting-subject-schedule-grid{
    max-width:none!important;
  }
  .meeting-subject-form .meeting-subject-form-grid label,
  .meeting-subject-form .meeting-subject-title-field,
  .meeting-subject-form .meeting-subject-notes-field,
  .meeting-subject-form .meeting-subject-computed{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .meeting-subject-form .meeting-subject-form-grid label>span{
    white-space:normal!important;
  }
  .meeting-subject-form .meeting-subject-unlinked{
    margin-right:0!important;
  }
}


/* GreenEco 3.3.16.44.2.3 — Meeting Subject compact paired-row layout */
.meeting-subject-form{
  gap:7px!important;
}
.meeting-subject-form .meeting-subject-form-section{
  margin:0!important;
}
.meeting-subject-form .meeting-subject-form-section .form-section-title{
  margin-bottom:6px!important;
  padding:5px 8px!important;
}

/* Two compact fields per row */
.meeting-subject-form .meeting-subject-form-grid,
.meeting-subject-form .meeting-subject-form-grid.schedule,
.meeting-subject-form .meeting-subject-form-grid.organization,
.meeting-subject-form .meeting-subject-form-grid.link,
.meeting-subject-form .meeting-subject-schedule-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 14px!important;
  width:100%!important;
  max-width:900px!important;
  margin-inline:auto!important;
  align-items:start!important;
}

/* Each field is compact: label above input */
.meeting-subject-form .meeting-subject-form-grid label,
.meeting-subject-form .meeting-subject-title-field,
.meeting-subject-form .meeting-subject-notes-field,
.meeting-subject-form .meeting-subject-computed{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  grid-column:auto!important;
  margin:0!important;
  align-items:start!important;
}
.meeting-subject-form .meeting-subject-form-grid label>span{
  font-size:calc(9.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.25!important;
  color:#395461!important;
  white-space:nowrap!important;
}

/* Smaller aligned controls */
.meeting-subject-form .meeting-subject-form-grid input,
.meeting-subject-form .meeting-subject-form-grid select{
  width:100%!important;
  height:32px!important;
  min-height:32px!important;
  padding:4px 7px!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  box-sizing:border-box!important;
}
.meeting-subject-form .meeting-subject-form-grid textarea{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  max-height:62px!important;
  padding:6px 7px!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  line-height:1.35!important;
  resize:vertical!important;
  box-sizing:border-box!important;
}

/* Keep subject and notes on the same first row */
.meeting-subject-form .meeting-subject-title-field,
.meeting-subject-form .meeting-subject-notes-field{
  grid-column:auto!important;
}

/* Schedule rows intentionally align as:
   Meeting date | Location
   Start date   | End date
   Start time   | End time
   Days         | Actual duration
*/
.meeting-subject-form .meeting-subject-schedule-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Calculated fields: same size and alignment, but read-only appearance */
.meeting-subject-form .meeting-subject-computed input{
  background:#f3f8fa!important;
  color:#205b70!important;
  border-color:#91aeb9!important;
  font-weight:900!important;
}

/* Link message fills the second half like a normal field */
.meeting-subject-form .meeting-subject-unlinked{
  margin:0!important;
  min-height:32px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  padding:4px 7px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
  box-sizing:border-box!important;
}

/* Compact footer so the whole form is easier to fit in one screen */
.meeting-subject-actions-bottom{
  padding:6px 14px!important;
}
.meeting-subject-actions-bottom .primary-button,
.meeting-subject-actions-bottom .secondary-button{
  min-height:33px!important;
  padding:5px 14px!important;
}

/* Prevent the previous single-column rule from winning */
@media(min-width:721px){
  .meeting-subject-form .meeting-subject-form-grid,
  .meeting-subject-form .meeting-subject-form-grid.schedule,
  .meeting-subject-form .meeting-subject-form-grid.organization,
  .meeting-subject-form .meeting-subject-form-grid.link,
  .meeting-subject-form .meeting-subject-schedule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Narrow screens only: fall back to one column */
@media(max-width:720px){
  .meeting-subject-form .meeting-subject-form-grid,
  .meeting-subject-form .meeting-subject-form-grid.schedule,
  .meeting-subject-form .meeting-subject-form-grid.organization,
  .meeting-subject-form .meeting-subject-form-grid.link,
  .meeting-subject-form .meeting-subject-schedule-grid{
    grid-template-columns:1fr!important;
    max-width:none!important;
  }
}


/* GreenEco 3.3.16.44.2.4 — Meeting Subject dense layout, no wasted space */
.meeting-subject-form{
  gap:3px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.meeting-subject-form .meeting-subject-form-section{
  margin:0!important;
  padding:0!important;
}

.meeting-subject-form .meeting-subject-form-section + .meeting-subject-form-section{
  padding-top:0!important;
  margin-top:0!important;
}

/* Section headers become compact separators, not large bands */
.meeting-subject-form .meeting-subject-form-section .form-section-title{
  min-height:24px!important;
  height:24px!important;
  margin:2px 0 3px!important;
  padding:3px 7px!important;
  display:flex!important;
  align-items:center!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  line-height:1!important;
}

/* Keep paired fields tight and fully aligned */
.meeting-subject-form .meeting-subject-form-grid,
.meeting-subject-form .meeting-subject-form-grid.schedule,
.meeting-subject-form .meeting-subject-form-grid.organization,
.meeting-subject-form .meeting-subject-form-grid.link,
.meeting-subject-form .meeting-subject-schedule-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px 10px!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* No extra margins around labels */
.meeting-subject-form .meeting-subject-form-grid label,
.meeting-subject-form .meeting-subject-title-field,
.meeting-subject-form .meeting-subject-notes-field,
.meeting-subject-form .meeting-subject-computed{
  margin:0!important;
  padding:0!important;
  gap:2px!important;
}

/* Smaller labels and controls to fit the complete form in one view */
.meeting-subject-form .meeting-subject-form-grid label>span{
  margin:0!important;
  padding:0!important;
  font-size:calc(9px * var(--font-scale,1))!important;
  line-height:1.15!important;
}

.meeting-subject-form .meeting-subject-form-grid input,
.meeting-subject-form .meeting-subject-form-grid select{
  height:29px!important;
  min-height:29px!important;
  padding:3px 6px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  line-height:1.15!important;
}

.meeting-subject-form .meeting-subject-form-grid textarea,
.meeting-subject-form .meeting-subject-notes{
  height:34px!important;
  min-height:34px!important;
  max-height:48px!important;
  padding:4px 6px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  line-height:1.25!important;
}

/* The third organization field fills both columns so no blank cell remains */
.meeting-subject-form .meeting-subject-department-wide{
  grid-column:1 / -1!important;
}

/* Reference message uses the full available cell height only */
.meeting-subject-form .meeting-subject-unlinked{
  min-height:29px!important;
  height:29px!important;
  margin:0!important;
  padding:3px 6px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
}

/* Compact footer with no unused vertical area */
.meeting-subject-actions-bottom{
  margin-top:3px!important;
  padding:5px 10px!important;
  min-height:40px!important;
}

.meeting-subject-actions-bottom .primary-button,
.meeting-subject-actions-bottom .secondary-button{
  min-height:30px!important;
  height:30px!important;
  padding:3px 12px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}

/* Reduce unused modal interior spacing only for the meeting subject form */
.meeting-subject-form.entity-form{
  margin:0!important;
}

/* Responsive fallback */
@media(max-width:720px){
  .meeting-subject-form .meeting-subject-form-grid,
  .meeting-subject-form .meeting-subject-form-grid.schedule,
  .meeting-subject-form .meeting-subject-form-grid.organization,
  .meeting-subject-form .meeting-subject-form-grid.link,
  .meeting-subject-form .meeting-subject-schedule-grid{
    grid-template-columns:1fr!important;
  }
  .meeting-subject-form .meeting-subject-department-wide{
    grid-column:auto!important;
  }
}


/* GreenEco 3.3.16.44.2.5 — Meeting link moved to modal header */
.meeting-subject-header-link{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  margin-inline-start:auto;
  margin-inline-end:6px;
  padding:3px 6px;
  border:1px solid #bccbd1;
  border-radius:5px;
  background:#f4f8fa;
}
.meeting-subject-header-link-label{
  flex:0 0 auto;
  font-size:calc(9px * var(--font-scale,1));
  font-weight:900;
  color:#315868;
  white-space:nowrap;
}
.meeting-subject-header-link select{
  height:29px!important;
  min-height:29px!important;
  margin:0!important;
  padding:3px 7px!important;
  border:1px solid #8ea2aa!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#253a43!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  line-height:1.1!important;
}
.meeting-subject-header-link-type{
  width:135px!important;
}
.meeting-subject-header-link-ref{
  width:min(270px,28vw)!important;
}
.modal-card:has(.meeting-subject-form) .modal-header{
  gap:8px!important;
  align-items:center!important;
}
.modal-card:has(.meeting-subject-form) .modal-header h2{
  flex:0 0 auto!important;
  margin:0!important;
}
.modal-card:has(.meeting-subject-form) .modal-header-actions{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  justify-content:flex-start!important;
}

/* The lower reference section was removed, so keep the remaining form dense */
.meeting-subject-form .meeting-subject-form-section:last-of-type{
  margin-bottom:0!important;
}
@media(max-width:820px){
  .meeting-subject-header-link{
    gap:4px;
    padding:2px 4px;
  }
  .meeting-subject-header-link-label{
    display:none;
  }
  .meeting-subject-header-link-type{
    width:110px!important;
  }
  .meeting-subject-header-link-ref{
    width:180px!important;
  }
}


/* GreenEco 3.3.16.44.2.6 — Organization scope in one compact row */
.meeting-subject-form .meeting-subject-form-grid.organization{
  display:grid!important;
  grid-template-columns:135px 240px minmax(260px,1fr)!important;
  gap:0 10px!important;
  align-items:end!important;
  width:100%!important;
  max-width:none!important;
}

/* Cancel previous full-row department behavior */
.meeting-subject-form .meeting-subject-form-grid.organization .meeting-subject-department-wide{
  grid-column:auto!important;
}

/* Keep all three fields on the same baseline */
.meeting-subject-form .meeting-subject-form-grid.organization label{
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:2px!important;
  align-items:end!important;
}

/* Status is intentionally the smallest field */
.meeting-subject-form .meeting-subject-form-grid.organization label:nth-child(1) select{
  width:100%!important;
  min-width:0!important;
}

/* Branch is compact, department gets the remaining space */
.meeting-subject-form .meeting-subject-form-grid.organization label:nth-child(2) select,
.meeting-subject-form .meeting-subject-form-grid.organization label:nth-child(3) select{
  width:100%!important;
  min-width:0!important;
}

/* Same compact height so the row looks like one unit */
.meeting-subject-form .meeting-subject-form-grid.organization select{
  height:29px!important;
  min-height:29px!important;
  padding:3px 6px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}

/* Keep labels tight */
.meeting-subject-form .meeting-subject-form-grid.organization label>span{
  font-size:calc(9px * var(--font-scale,1))!important;
  line-height:1.1!important;
  margin:0!important;
}

/* Narrower screens: preserve usability instead of squeezing */
@media(max-width:820px){
  .meeting-subject-form .meeting-subject-form-grid.organization{
    grid-template-columns:120px minmax(170px,.85fr) minmax(210px,1.15fr)!important;
    gap:0 7px!important;
  }
}
@media(max-width:640px){
  .meeting-subject-form .meeting-subject-form-grid.organization{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
}


/* GreenEco 3.3.16.44.2.7 — Header metrics + meeting modal +/- sizing */
.modal-card.modal-resizable{
  transition:width .16s ease,max-width .16s ease;
}
.modal-card.modal-resizable.modal-size-0{
  width:min(68vw,900px)!important;
  max-width:min(68vw,900px)!important;
}
.modal-card.modal-resizable.modal-size-1{
  width:min(76vw,1040px)!important;
  max-width:min(76vw,1040px)!important;
}
.modal-card.modal-resizable.modal-size-2{
  width:min(92vw,1260px)!important;
  max-width:min(92vw,1260px)!important;
}

.modal-size-controls{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:3px;
  margin-inline:2px;
}
.modal-size-button{
  width:27px;
  height:27px;
  min-width:27px;
  padding:0!important;
  border:1px solid #9aabb2;
  border-radius:4px;
  background:#fff;
  color:#255468;
  font-size:calc(18px * var(--font-scale,1));
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.modal-size-button:hover:not(:disabled){
  background:#eaf4f7;
  border-color:#6e98a8;
}
.modal-size-button:disabled{
  opacity:.35;
  cursor:default;
}

.meeting-subject-header-tools{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  width:100%;
}
.meeting-subject-header-tools .meeting-subject-header-link{
  margin:0!important;
  flex:0 1 auto;
  min-width:0;
}
.meeting-subject-header-metric{
  flex:0 0 auto;
  min-width:92px;
  height:35px;
  display:grid;
  align-content:center;
  gap:1px;
  padding:3px 8px;
  border:1px solid #a9c0c9;
  border-radius:5px;
  background:#eef7fa;
  text-align:center;
  line-height:1.05;
}
.meeting-subject-header-metric span{
  font-size:calc(7.8px * var(--font-scale,1));
  font-weight:800;
  color:#55727d;
  white-space:nowrap;
}
.meeting-subject-header-metric b{
  font-size:calc(10px * var(--font-scale,1));
  font-weight:900;
  color:#1d5b71;
  white-space:nowrap;
}

.modal-card:has(.meeting-subject-form) .modal-header{
  min-height:52px!important;
  padding-block:6px!important;
}
.modal-card:has(.meeting-subject-form) .modal-header-actions{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:visible!important;
}

/* Body schedule now contains only real editable fields: no extra calculated row */
.meeting-subject-form .meeting-subject-schedule-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Shrink header tools gracefully when space is limited */
@media(max-width:1100px){
  .meeting-subject-header-metric{
    min-width:82px;
    padding-inline:5px;
  }
  .meeting-subject-header-metric span{
    font-size:calc(7px * var(--font-scale,1));
  }
  .meeting-subject-header-metric b{
    font-size:calc(9px * var(--font-scale,1));
  }
  .meeting-subject-header-link-type{
    width:115px!important;
  }
  .meeting-subject-header-link-ref{
    width:170px!important;
  }
}
@media(max-width:850px){
  .meeting-subject-header-tools{
    gap:4px;
  }
  .meeting-subject-header-metric{
    min-width:72px;
  }
  .meeting-subject-header-link-label{
    display:none!important;
  }
  .meeting-subject-header-link-type{
    width:100px!important;
  }
  .meeting-subject-header-link-ref{
    width:130px!important;
  }
}


/* GreenEco 3.3.16.44.2.8 — Organization scope: full row, three equal fields */
.meeting-subject-form .meeting-subject-form-grid.organization{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 10px!important;
  align-items:end!important;
  width:100%!important;
  max-width:none!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization .meeting-subject-department-wide{
  grid-column:auto!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization > label{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization > label > select{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:29px!important;
  min-height:29px!important;
}


/* GreenEco 3.3.16.44.2.9 — Organization scope full visibility + readable typography */

/* Make meeting modal body use available height correctly and keep the last row clear of footer */
.modal-card:has(.meeting-subject-form){
  max-height:calc(100vh - 24px)!important;
}
.modal-card:has(.meeting-subject-form) .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  padding-bottom:18px!important;
}

/* Improve readability across the meeting subject editor */
.meeting-subject-form .meeting-subject-form-grid label>span{
  font-size:calc(11px * var(--font-scale,1))!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#243f4a!important;
}
.meeting-subject-form .meeting-subject-form-grid input,
.meeting-subject-form .meeting-subject-form-grid select,
.meeting-subject-form .meeting-subject-form-grid textarea{
  font-size:calc(11.5px * var(--font-scale,1))!important;
  line-height:1.25!important;
}
.meeting-subject-form .meeting-subject-form-section-title{
  font-size:calc(11.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.35!important;
}

/* Organization scope: keep the entire row visible and equal */
.meeting-subject-form .meeting-subject-form-grid.organization{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:end!important;
  width:100%!important;
  max-width:none!important;
  padding:5px 0 8px!important;
  min-height:58px!important;
  box-sizing:border-box!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization > label{
  display:grid!important;
  grid-template-rows:auto 34px!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization > label > span{
  display:block!important;
  min-height:14px!important;
  font-size:calc(11px * var(--font-scale,1))!important;
  line-height:14px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization > label > select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:34px!important;
  min-height:34px!important;
  padding:4px 8px!important;
  font-size:calc(11.5px * var(--font-scale,1))!important;
  line-height:1.2!important;
  box-sizing:border-box!important;
}
.meeting-subject-form .meeting-subject-form-grid.organization .meeting-subject-department-wide{
  grid-column:auto!important;
}

/* Prevent footer from visually crowding the organization row */
.modal-card:has(.meeting-subject-form) .modal-footer{
  flex:0 0 auto!important;
  margin-top:0!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}

/* On common laptop widths keep all 3 organization fields in one equal row */
@media (min-width:641px){
  .meeting-subject-form .meeting-subject-form-grid.organization{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Only stack on genuinely narrow screens */
@media (max-width:640px){
  .meeting-subject-form .meeting-subject-form-grid.organization{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
}


/* GreenEco 3.3.16.44.2.10 — Organization scope moved to interactive header cards */
.meeting-subject-header-tools{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  overflow:visible!important;
}

.meeting-subject-header-scope-cards{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
  direction:rtl;
}

.meeting-subject-scope-card{
  position:relative!important;
  width:104px!important;
  min-width:104px!important;
  margin:0!important;
}

.meeting-subject-scope-card > summary{
  list-style:none!important;
  position:relative!important;
  height:38px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:1fr 12px!important;
  grid-template-rows:13px 17px!important;
  align-items:center!important;
  column-gap:4px!important;
  padding:3px 7px!important;
  border:1px solid #9eb8c3!important;
  border-radius:5px!important;
  background:#eef7fa!important;
  cursor:pointer!important;
  user-select:none!important;
  text-align:right!important;
  overflow:hidden!important;
}
.meeting-subject-scope-card > summary::-webkit-details-marker{
  display:none!important;
}
.meeting-subject-scope-card > summary span{
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:12px!important;
  font-weight:900!important;
  color:#55727d!important;
  white-space:nowrap!important;
}
.meeting-subject-scope-card > summary b{
  grid-column:1!important;
  grid-row:2!important;
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  line-height:16px!important;
  font-weight:900!important;
  color:#164f66!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.meeting-subject-scope-card > summary i{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-self:center!important;
  font-style:normal!important;
  font-size:calc(13px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#174d62!important;
  transition:transform .12s ease!important;
}
.meeting-subject-scope-card[open] > summary{
  border-color:#187aa3!important;
  background:#e4f4f9!important;
  box-shadow:0 0 0 1px rgba(24,122,163,.12)!important;
}
.meeting-subject-scope-card[open] > summary i{
  transform:rotate(180deg)!important;
}

.meeting-subject-scope-popover{
  position:absolute!important;
  z-index:10020!important;
  top:calc(100% + 5px)!important;
  right:0!important;
  width:220px!important;
  padding:8px!important;
  border:1px solid #9eb8c3!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(19,52,64,.2)!important;
  box-sizing:border-box!important;
}
.meeting-subject-scope-card:last-child .meeting-subject-scope-popover{
  right:auto!important;
  left:0!important;
}
.meeting-subject-scope-popover select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  box-sizing:border-box!important;
  padding:4px 8px!important;
  font-size:calc(11.5px * var(--font-scale,1))!important;
  font-weight:700!important;
  color:#223f4a!important;
  background:#fff!important;
}

/* The old body organization row no longer exists in 3.3.16.44.2.10. */
.meeting-subject-form .meeting-subject-form-grid.organization{
  display:none!important;
}

/* Header metrics remain readable beside the new cards. */
.meeting-subject-header-metric{
  height:38px!important;
}
.meeting-subject-header-metric span{
  font-size:calc(8.3px * var(--font-scale,1))!important;
}
.meeting-subject-header-metric b{
  font-size:calc(10.5px * var(--font-scale,1))!important;
}

/* Fit the full header on common laptop widths without hiding scope values. */
@media(max-width:1200px){
  .meeting-subject-scope-card{
    width:94px!important;
    min-width:94px!important;
  }
  .meeting-subject-scope-card > summary{
    padding-inline:5px!important;
  }
  .meeting-subject-header-link-type{
    width:105px!important;
  }
  .meeting-subject-header-link-ref{
    width:145px!important;
  }
}
@media(max-width:980px){
  .meeting-subject-header-tools{
    flex-wrap:wrap!important;
    row-gap:5px!important;
  }
  .meeting-subject-header-scope-cards{
    order:1!important;
  }
  .meeting-subject-header-link{
    order:2!important;
  }
  .meeting-subject-header-metric{
    order:3!important;
  }
  .modal-card:has(.meeting-subject-form) .modal-header{
    min-height:92px!important;
  }
}


/* GreenEco 3.3.16.44.2.11 — calmer grouped organization scope in header */

.meeting-subject-header-scope-group{
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:2px!important;
  padding:3px 5px 5px!important;
  border:1px solid #b6c8d0!important;
  border-radius:7px!important;
  background:#f7fbfc!important;
  box-shadow:0 1px 2px rgba(18,55,69,.05)!important;
  flex:0 0 auto!important;
  min-width:0!important;
}

.meeting-subject-header-scope-group-title{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:11px!important;
  font-weight:900!important;
  color:#5f7680!important;
  text-align:right!important;
  padding-inline:2px!important;
  white-space:nowrap!important;
}

.meeting-subject-header-scope-cards{
  display:grid!important;
  grid-template-columns:repeat(3,92px)!important;
  gap:4px!important;
  align-items:center!important;
}

.meeting-subject-scope-card{
  width:92px!important;
  min-width:92px!important;
}

.meeting-subject-scope-card > summary{
  height:34px!important;
  grid-template-rows:11px 15px!important;
  padding:3px 6px!important;
  border-color:#aac0ca!important;
  background:#fff!important;
  border-radius:4px!important;
}

.meeting-subject-scope-card > summary span{
  font-size:calc(7.7px * var(--font-scale,1))!important;
  line-height:10px!important;
  font-weight:700!important;
  color:#738992!important;
}

.meeting-subject-scope-card > summary b{
  font-size:calc(10px * var(--font-scale,1))!important;
  line-height:14px!important;
  font-weight:900!important;
  color:#174d62!important;
}

.meeting-subject-scope-card > summary i{
  font-size:calc(10px * var(--font-scale,1))!important;
  opacity:.72!important;
}

.meeting-subject-scope-card[open] > summary{
  background:#f2f9fb!important;
  border-color:#4a8ca6!important;
  box-shadow:none!important;
}

/* Keep the rest of the header visually secondary to the grouped scope */
.meeting-subject-header-link{
  border-radius:5px!important;
}
.meeting-subject-header-metric{
  border-radius:5px!important;
}

/* Slightly clearer field labels in the form body */
.meeting-subject-form .meeting-subject-form-grid label>span{
  font-weight:900!important;
  color:#254752!important;
  font-size:calc(11.2px * var(--font-scale,1))!important;
}

/* Responsive compaction without losing the grouped hierarchy */
@media(max-width:1200px){
  .meeting-subject-header-scope-cards{
    grid-template-columns:repeat(3,84px)!important;
  }
  .meeting-subject-scope-card{
    width:84px!important;
    min-width:84px!important;
  }
  .meeting-subject-header-scope-group{
    padding-inline:4px!important;
  }
}

@media(max-width:980px){
  .meeting-subject-header-scope-group{
    order:1!important;
  }
}


/* GreenEco 3.3.16.44.2.12 — Taller meeting editor, moved upward to use viewport */

/* Move only the meeting-subject editor upward and let it use the screen height. */
.modal-overlay:has(.meeting-subject-form){
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:54px!important;
  padding-bottom:18px!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
}

/* Give the editor a substantially taller working area. */
.modal-card:has(.meeting-subject-form){
  width:min(1040px,calc(100vw - 36px))!important;
  max-width:1040px!important;
  height:calc(100vh - 92px)!important;
  min-height:520px!important;
  max-height:calc(100vh - 92px)!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

/* Header and footer keep their natural height; body receives the remaining space. */
.modal-card:has(.meeting-subject-form) .modal-header{
  flex:0 0 auto!important;
}
.modal-card:has(.meeting-subject-form) .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:12px!important;
}
.modal-card:has(.meeting-subject-form) .modal-footer,
.modal-card:has(.meeting-subject-form) .meeting-subject-actions-bottom{
  flex:0 0 auto!important;
}

/* Slight vertical compaction so all normal meeting rows fit without hiding content. */
.meeting-subject-form .meeting-subject-form-section{
  margin-bottom:6px!important;
}
.meeting-subject-form .meeting-subject-form-section-title,
.meeting-subject-form .form-section-title{
  min-height:24px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
  box-sizing:border-box!important;
}
.meeting-subject-form .meeting-subject-form-grid{
  row-gap:6px!important;
}

/* Keep fields readable while avoiding unnecessary vertical whitespace. */
.meeting-subject-form .meeting-subject-form-grid input,
.meeting-subject-form .meeting-subject-form-grid select{
  min-height:30px!important;
  height:30px!important;
}
.meeting-subject-form .meeting-subject-form-grid textarea{
  min-height:40px!important;
}

/* Common laptop / 768px-height viewport: lift a bit more and maximize usable area. */
@media (max-height:800px){
  .modal-overlay:has(.meeting-subject-form){
    padding-top:28px!important;
    padding-bottom:12px!important;
  }
  .modal-card:has(.meeting-subject-form){
    height:calc(100vh - 52px)!important;
    min-height:0!important;
    max-height:calc(100vh - 52px)!important;
  }
}

/* Very short screens still remain usable via body scrolling. */
@media (max-height:620px){
  .modal-overlay:has(.meeting-subject-form){
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .modal-card:has(.meeting-subject-form){
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }
}


/* GreenEco 3.3.16.44.2.13 — Single dropdown per organization-scope field */

/* Remove the previous card/popover visual model from active use. */
.meeting-subject-header-scope-cards,
.meeting-subject-scope-card,
.meeting-subject-scope-popover{
  display:none!important;
}

.meeting-subject-header-scope-group{
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:3px!important;
  padding:4px 6px 6px!important;
  border:1px solid #b6c8d0!important;
  border-radius:7px!important;
  background:#f7fbfc!important;
  box-shadow:0 1px 2px rgba(18,55,69,.05)!important;
  flex:0 0 auto!important;
  min-width:0!important;
}

.meeting-subject-header-scope-group-title{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:11px!important;
  font-weight:900!important;
  color:#5f7680!important;
  text-align:right!important;
  padding-inline:2px!important;
  white-space:nowrap!important;
}

.meeting-subject-header-scope-fields{
  display:grid!important;
  grid-template-columns:repeat(3,96px)!important;
  gap:5px!important;
  align-items:end!important;
  direction:rtl!important;
}

.meeting-subject-scope-field{
  display:grid!important;
  grid-template-rows:11px 32px!important;
  gap:2px!important;
  min-width:0!important;
  margin:0!important;
}

.meeting-subject-scope-field > span{
  display:block!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  line-height:10px!important;
  font-weight:800!important;
  color:#667f89!important;
  text-align:right!important;
  white-space:nowrap!important;
  padding-inline:2px!important;
}

.meeting-subject-scope-field > select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  min-height:32px!important;
  box-sizing:border-box!important;
  padding:3px 7px!important;
  border:1px solid #aac0ca!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#174d62!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.2!important;
  cursor:pointer!important;
}

.meeting-subject-scope-field > select:focus{
  outline:none!important;
  border-color:#4a8ca6!important;
  box-shadow:0 0 0 1px rgba(74,140,166,.14)!important;
}

@media(max-width:1200px){
  .meeting-subject-header-scope-fields{
    grid-template-columns:repeat(3,88px)!important;
  }
}

@media(max-width:980px){
  .meeting-subject-header-scope-fields{
    grid-template-columns:repeat(3,minmax(88px,1fr))!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.14
   Core meeting screens — institutional UX redesign
   ========================================================= */

/* ---------- Shared screen rhythm ---------- */
.meeting-prep-toolbar,
.meeting-results-toolbar{
  border:1px solid #c7d6dc!important;
  border-radius:7px!important;
  background:#f8fbfc!important;
  padding:6px 8px!important;
  margin-bottom:8px!important;
}

.meeting-prep-register,
.meeting-minutes-page-attendance,
.meeting-approval-overview,
.meeting-approval-workflow,
.meeting-approval-history,
.meeting-followup-table{
  border:1px solid #c7d6dc!important;
  border-radius:7px!important;
  overflow:hidden!important;
  box-shadow:0 1px 3px rgba(25,58,70,.05)!important;
}

/* ---------- 1. Meeting preparation ---------- */
.meeting-prep-overview{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0!important;
}

.meeting-prep-overview article{
  min-width:0!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:2px!important;
  padding:9px 11px!important;
  border:1px solid #c5d8df!important;
  border-radius:7px!important;
  background:#f8fcfd!important;
}

.meeting-prep-overview article span{
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#607984!important;
}

.meeting-prep-overview article b{
  align-self:center!important;
  font-size:calc(22px * var(--font-scale,1))!important;
  line-height:1!important;
  color:#154f67!important;
}

.meeting-prep-overview article small{
  font-size:calc(9px * var(--font-scale,1))!important;
  color:#80939b!important;
}

.meeting-prep-register-head{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:7px 11px!important;
  border-bottom:1px solid #c7d6dc!important;
  background:#edf7fa!important;
}

.meeting-prep-register-head b{
  font-size:calc(12px * var(--font-scale,1))!important;
  color:#164d63!important;
}

.meeting-prep-register-head span{
  font-size:calc(9.5px * var(--font-scale,1))!important;
  color:#637b85!important;
}

.meeting-prep-register .data-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:#e8f3f7!important;
  color:#244d5c!important;
  font-weight:900!important;
}

.meeting-prep-register .data-table tbody tr{
  cursor:pointer!important;
}
.meeting-prep-register .data-table tbody tr:hover{
  background:#f5fafc!important;
}
.meeting-prep-register .data-table tbody tr.selected-row{
  background:#e9f5f9!important;
  box-shadow:inset -3px 0 0 #217b9d!important;
}

/* ---------- 2. Meeting minutes ---------- */
.meeting-minutes-page-summary{
  display:grid!important;
  grid-template-columns:2fr repeat(4,minmax(105px,.7fr))!important;
  gap:7px!important;
  margin:8px 0!important;
}

.meeting-minutes-page-summary article{
  min-width:0!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:2px!important;
  padding:8px 10px!important;
  border:1px solid #c8d8df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}

.meeting-minutes-page-summary article span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#718892!important;
}

.meeting-minutes-page-summary article b{
  align-self:center!important;
  font-size:calc(16px * var(--font-scale,1))!important;
  line-height:1.25!important;
  color:#174f66!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.meeting-minutes-page-summary article:not(.wide) b{
  font-size:calc(20px * var(--font-scale,1))!important;
}

.meeting-minutes-page-summary article small{
  font-size:calc(8.8px * var(--font-scale,1))!important;
  color:#81949c!important;
}

.meeting-minutes-page-attendance .data-table thead th{
  background:#e8f3f7!important;
  color:#234d5c!important;
  font-weight:900!important;
}

/* Minutes modal becomes a true document editor */
.modal-card:has(.meeting-minutes-form){
  width:min(1120px,calc(100vw - 30px))!important;
  max-width:1120px!important;
  max-height:calc(100vh - 28px)!important;
}

.meeting-minutes-form{
  display:grid!important;
  gap:10px!important;
}

.meeting-minutes-summary{
  border:1px solid #c6d8df!important;
  border-radius:7px!important;
  background:#f8fcfd!important;
  padding:9px!important;
}

.meeting-minutes-reference-grid{
  gap:9px!important;
}

.meeting-minutes-reference-grid article{
  border:1px solid #cbdbe1!important;
  border-radius:7px!important;
  background:#fff!important;
  overflow:hidden!important;
}

.meeting-minutes-reference-grid article header{
  padding:7px 9px!important;
  background:#edf7fa!important;
  border-bottom:1px solid #d1e0e5!important;
}

.meeting-minutes-editor{
  border:1px solid #b9d1da!important;
  border-radius:7px!important;
  padding:10px!important;
  background:#fbfeff!important;
}

.meeting-minutes-editor label{
  display:block!important;
  margin-bottom:6px!important;
  font-size:calc(11.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#1f4b5c!important;
}

.meeting-minutes-editor textarea{
  min-height:155px!important;
  width:100%!important;
  box-sizing:border-box!important;
  line-height:1.7!important;
  font-size:calc(12px * var(--font-scale,1))!important;
}

.meeting-minutes-attendance{
  border:1px solid #c5d7de!important;
  border-radius:7px!important;
  overflow:hidden!important;
}

.meeting-minutes-attendance > header{
  padding:7px 10px!important;
  background:#edf7fa!important;
  border-bottom:1px solid #cfdee4!important;
}

/* ---------- 3. Approval & archive workflow ---------- */
.meeting-approval-stagebar{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:8px 0 10px!important;
  padding:10px 12px!important;
  border:1px solid #c7d8df!important;
  border-radius:8px!important;
  background:#f9fcfd!important;
  direction:rtl!important;
}

.meeting-approval-step{
  position:relative!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:30px 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:7px!important;
  align-items:center!important;
  padding:3px 12px!important;
}

.meeting-approval-step:not(:last-child)::after{
  content:""!important;
  position:absolute!important;
  top:17px!important;
  left:-1px!important;
  width:2px!important;
  height:24px!important;
  background:#d6e1e5!important;
}

.meeting-approval-step i{
  grid-row:1 / span 2!important;
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid #b8cbd3!important;
  background:#fff!important;
  color:#6f8791!important;
  font-style:normal!important;
  font-size:calc(11px * var(--font-scale,1))!important;
  font-weight:900!important;
}

.meeting-approval-step b{
  min-width:0!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  color:#425f6a!important;
}

.meeting-approval-step span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#8a9ba2!important;
}

.meeting-approval-step.current{
  background:#eef8fb!important;
  border-radius:6px!important;
}
.meeting-approval-step.current i{
  border-color:#277d9c!important;
  background:#e3f3f8!important;
  color:#155b75!important;
}
.meeting-approval-step.current b{
  color:#155b75!important;
}
.meeting-approval-step.done i{
  border-color:#61957b!important;
  background:#edf8f1!important;
  color:#346d50!important;
}
.meeting-approval-step.done b{
  color:#3d6752!important;
}

.meeting-approval-status-row{
  display:grid!important;
  grid-template-columns:1fr .55fr .7fr 2fr!important;
  gap:7px!important;
  padding:9px!important;
  background:#f8fcfd!important;
}

.meeting-approval-status-row > div{
  min-width:0!important;
  padding:7px 9px!important;
  border:1px solid #d4e1e6!important;
  border-radius:6px!important;
  background:#fff!important;
}

.meeting-approval-status-row span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#788d96!important;
}
.meeting-approval-status-row b{
  font-size:calc(11px * var(--font-scale,1))!important;
  color:#234e5e!important;
}

.meeting-approval-workflow .form-section-title,
.meeting-approval-history .form-section-title{
  padding:7px 10px!important;
  background:#eaf5f8!important;
  color:#174f66!important;
  font-weight:900!important;
}

.meeting-approval-workflow-body{
  padding:11px!important;
}

.meeting-approval-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  align-items:center!important;
}

.meeting-approval-history .data-table thead th{
  background:#e8f3f7!important;
  color:#244d5c!important;
  font-weight:900!important;
}

/* ---------- 4. Results follow-up ---------- */
.meeting-followup-filterbar{
  display:grid!important;
  grid-template-columns:minmax(260px,2fr) repeat(5,minmax(120px,1fr)) auto auto!important;
  gap:7px!important;
  align-items:end!important;
  padding:9px!important;
  border:1px solid #c7d8df!important;
  border-radius:7px!important;
  background:#f8fbfc!important;
}

.meeting-followup-filterbar label{
  min-width:0!important;
}
.meeting-followup-filterbar label > span{
  display:block!important;
  margin-bottom:3px!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#657e88!important;
}
.meeting-followup-filterbar select,
.meeting-followup-filterbar input[type="date"]{
  width:100%!important;
  min-width:0!important;
  height:31px!important;
  box-sizing:border-box!important;
}

.meeting-followup-dashboard{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
  margin:8px 0!important;
}

.meeting-followup-dashboard article{
  min-width:0!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  padding:8px 10px!important;
  border:1px solid #c8d9df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}

.meeting-followup-dashboard article span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#6a818b!important;
}
.meeting-followup-dashboard article b{
  align-self:center!important;
  font-size:calc(21px * var(--font-scale,1))!important;
  color:#19526a!important;
}
.meeting-followup-dashboard article small{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#83959c!important;
}
.meeting-followup-dashboard article.danger{
  border-color:#dfc1c1!important;
  background:#fffafa!important;
}
.meeting-followup-dashboard article.danger b{
  color:#9a3434!important;
}
.meeting-followup-dashboard article.success{
  border-color:#c6dccf!important;
  background:#fbfefc!important;
}
.meeting-followup-dashboard article.success b{
  color:#3e7456!important;
}

.meeting-followup-summaryline{
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:5px 9px!important;
  border:1px solid #d3e0e5!important;
  border-radius:6px!important;
  background:#f9fcfd!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}

.meeting-followup-table .table-scroll{
  max-height:calc(100vh - 410px)!important;
  min-height:220px!important;
}

.meeting-followup-table .data-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  background:#e7f2f6!important;
  color:#244d5c!important;
  font-weight:900!important;
}

.meeting-followup-table .data-table tbody tr{
  cursor:pointer!important;
}
.meeting-followup-table .data-table tbody tr:hover{
  background:#f6fafc!important;
}
.meeting-followup-table .data-table tbody tr.selected-row{
  background:#e8f5f9!important;
  box-shadow:inset -3px 0 0 #217a9c!important;
}
.meeting-followup-table .data-table tbody tr.meeting-result-overdue{
  background:#fff8f8!important;
}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .meeting-prep-overview{
    grid-template-columns:repeat(4,minmax(120px,1fr))!important;
  }
  .meeting-minutes-page-summary{
    grid-template-columns:2fr repeat(4,minmax(90px,.65fr))!important;
  }
  .meeting-followup-filterbar{
    grid-template-columns:2fr repeat(3,1fr)!important;
  }
}

@media(max-width:900px){
  .meeting-prep-overview,
  .meeting-approval-stagebar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-minutes-page-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-minutes-page-summary article.wide{
    grid-column:1 / -1!important;
  }
  .meeting-followup-dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-followup-filterbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.15
   Remaining meeting screens — unified institutional redesign
   ========================================================= */

/* Shared summary cards for goals / topics / issues */
.meeting-structure-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0!important;
}
.meeting-structure-summary article{
  min-width:0!important;
  min-height:70px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:2px!important;
  padding:8px 10px!important;
  border:1px solid #c7d8df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}
.meeting-structure-summary article span{
  font-size:calc(9.2px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#667e88!important;
}
.meeting-structure-summary article b{
  align-self:center!important;
  font-size:calc(21px * var(--font-scale,1))!important;
  color:#185168!important;
}
.meeting-structure-summary article small{
  font-size:calc(8.6px * var(--font-scale,1))!important;
  color:#84969d!important;
}
.meeting-structure-summary article.neutral{
  background:#fcfcfb!important;
}
.meeting-structure-summary article.success{
  border-color:#c7dccf!important;
  background:#fbfefc!important;
}
.meeting-structure-summary article.success b{
  color:#3d7454!important;
}

/* Goals */
.meeting-goals-toolbar,
.meeting-topics-toolbar,
.meeting-issues-toolbar{
  border:1px solid #c7d6dc!important;
  border-radius:7px!important;
  background:#f8fbfc!important;
  padding:6px 8px!important;
  margin-bottom:8px!important;
}
.meeting-goals-register,
.meeting-topics-register,
.meeting-issues-register,
.meeting-results-register{
  border:1px solid #c7d6dc!important;
  border-radius:7px!important;
  overflow:hidden!important;
  box-shadow:0 1px 3px rgba(25,58,70,.05)!important;
}
.meeting-structure-register-head,
.meeting-issues-register-head,
.meeting-results-register-head{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:7px 11px!important;
  background:#edf7fa!important;
  border-bottom:1px solid #cbdce2!important;
}
.meeting-structure-register-head b,
.meeting-issues-register-head b,
.meeting-results-register-head b{
  font-size:calc(12px * var(--font-scale,1))!important;
  color:#174f66!important;
}
.meeting-structure-register-head span,
.meeting-issues-register-head span,
.meeting-results-register-head span{
  font-size:calc(9px * var(--font-scale,1))!important;
  color:#6a8089!important;
}

/* Clear hierarchy in goals/topics tables */
.meeting-goals-register .data-table thead th,
.meeting-topics-register .data-table thead th,
.meeting-issues-register .data-table thead th,
.meeting-results-register .data-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:#e7f2f6!important;
  color:#244e5e!important;
  font-weight:900!important;
}
.meeting-goals-register .data-table tbody tr,
.meeting-topics-register .data-table tbody tr,
.meeting-issues-register .data-table tbody tr,
.meeting-results-register .data-table tbody tr{
  cursor:pointer!important;
}
.meeting-goals-register .data-table tbody tr:hover,
.meeting-topics-register .data-table tbody tr:hover,
.meeting-issues-register .data-table tbody tr:hover,
.meeting-results-register .data-table tbody tr:hover{
  background:#f6fafc!important;
}
.meeting-goals-register .data-table tbody tr.selected-row,
.meeting-topics-register .data-table tbody tr.selected-row,
.meeting-issues-register .data-table tbody tr.selected-row,
.meeting-results-register .data-table tbody tr.selected-row{
  background:#e9f5f9!important;
  box-shadow:inset -3px 0 0 #217b9d!important;
}

.meeting-goal-text-cell,
.meeting-topic-text-cell,
.meeting-issue-primary-cell,
.meeting-issue-solution-cell{
  font-weight:800!important;
  color:#264d5c!important;
  line-height:1.45!important;
}
.meeting-goal-topic-count{
  text-align:center!important;
  font-weight:900!important;
  color:#1e6680!important;
}

/* Goal and topic editor modals */
.modal-card:has(.meeting-goal-form),
.modal-card:has(.meeting-topic-form){
  width:min(820px,calc(100vw - 32px))!important;
  max-width:820px!important;
}
.meeting-structure-modal-context{
  border:1px solid #cedee4!important;
  border-radius:7px!important;
  background:#f7fbfc!important;
  padding:8px!important;
}
.meeting-goal-form-grid,
.meeting-topic-form-grid{
  gap:8px!important;
}
.meeting-goal-form-grid textarea,
.meeting-topic-form-grid textarea{
  line-height:1.6!important;
  font-size:calc(11.5px * var(--font-scale,1))!important;
}
.meeting-goal-form-grid .goal-text,
.meeting-topic-form-grid .topic-text{
  min-height:88px!important;
}

/* Issues editor: diagnosis -> treatment reads as two clear stages */
.modal-card:has(.meeting-issue-professional-form){
  width:min(1060px,calc(100vw - 30px))!important;
  max-width:1060px!important;
  max-height:calc(100vh - 30px)!important;
}
.meeting-issue-professional-form{
  display:grid!important;
  gap:9px!important;
}
.meeting-issue-section{
  border:1px solid #c7d8df!important;
  border-radius:7px!important;
  overflow:hidden!important;
  background:#fbfdfe!important;
}
.meeting-issue-section .form-section-title{
  padding:7px 10px!important;
  background:#eaf5f8!important;
  border-bottom:1px solid #cedee4!important;
  color:#174f66!important;
  font-weight:900!important;
}
.meeting-issue-grid{
  padding:9px!important;
  gap:8px!important;
}
.meeting-issue-grid textarea{
  line-height:1.55!important;
  font-size:calc(11px * var(--font-scale,1))!important;
  min-height:72px!important;
}
.meeting-issue-grid textarea.compact{
  min-height:54px!important;
}

/* Results overview */
.meeting-results-overview{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
  margin:8px 0!important;
}
.meeting-results-overview article{
  min-width:0!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  padding:8px 10px!important;
  border:1px solid #c8d9df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}
.meeting-results-overview article span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#6a818b!important;
}
.meeting-results-overview article b{
  align-self:center!important;
  font-size:calc(21px * var(--font-scale,1))!important;
  color:#19526a!important;
}
.meeting-results-overview article small{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#83959c!important;
}
.meeting-results-overview article.warning{
  border-color:#e1d2b7!important;
  background:#fffdf8!important;
}
.meeting-results-overview article.warning b{
  color:#8a651d!important;
}
.meeting-results-overview article.success{
  border-color:#c6dccf!important;
  background:#fbfefc!important;
}
.meeting-results-overview article.success b{
  color:#3e7456!important;
}
.meeting-results-lock-note,
.meeting-structure-lock-note,
.meeting-structure-hint{
  border-radius:6px!important;
  padding:7px 10px!important;
  margin:6px 0!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  line-height:1.5!important;
}

/* Reports — executive filter/report workspace */
.meeting-report-toolbar-controls{
  display:grid!important;
  grid-template-columns:minmax(180px,1.25fr) repeat(3,minmax(130px,1fr))!important;
  gap:7px!important;
  align-items:end!important;
}
.meeting-report-toolbar-controls label{
  min-width:0!important;
}
.meeting-report-toolbar-controls label > span{
  display:block!important;
  margin-bottom:3px!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#647d87!important;
}
.meeting-report-toolbar-controls select,
.meeting-report-toolbar-controls input{
  width:100%!important;
  min-width:0!important;
  height:31px!important;
  box-sizing:border-box!important;
}
.meeting-report-more-options{
  margin-top:7px!important;
  padding:8px!important;
  border:1px solid #d0dfe5!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}
.meeting-report-overview{
  display:grid!important;
  grid-template-columns:2fr repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  margin:8px 0!important;
}
.meeting-report-overview article{
  min-width:0!important;
  min-height:66px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  padding:8px 10px!important;
  border:1px solid #c8d9df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}
.meeting-report-overview article span{
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#6d838c!important;
}
.meeting-report-overview article b{
  align-self:center!important;
  min-width:0!important;
  font-size:calc(18px * var(--font-scale,1))!important;
  line-height:1.2!important;
  color:#174f66!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.meeting-report-overview article b.small-value{
  font-size:calc(11px * var(--font-scale,1))!important;
}
.meeting-report-overview article small{
  font-size:calc(8.4px * var(--font-scale,1))!important;
  color:#85969d!important;
}
.meeting-report-context-line{
  min-height:34px!important;
  padding:6px 9px!important;
  border:1px solid #d1e0e5!important;
  border-radius:6px!important;
  background:#f8fbfc!important;
}
.meeting-report-print-area{
  margin-top:8px!important;
}
.meeting-report-table{
  border:1px solid #c7d8df!important;
  border-radius:7px!important;
  overflow:hidden!important;
}
.meeting-report-table .table-scroll{
  max-height:calc(100vh - 390px)!important;
  min-height:230px!important;
}
.meeting-report-table .data-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  background:#e7f2f6!important;
  color:#244d5c!important;
  font-weight:900!important;
}
.meeting-report-pagination{
  border-top:1px solid #d2e0e5!important;
  background:#f8fbfc!important;
}

/* Responsive */
@media(max-width:1000px){
  .meeting-structure-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-results-overview{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .meeting-report-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .meeting-results-overview,
  .meeting-report-toolbar-controls{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.16
   Meetings lifecycle navigation
   ========================================================= */

.meetings-submenu{
  width:310px!important;
  min-width:310px!important;
  max-height:calc(100vh - 100px)!important;
  overflow-y:auto!important;
  padding:7px!important;
  background:#fff!important;
}

.meetings-submenu-stage{
  margin:0 0 7px!important;
  padding:0!important;
  border:1px solid #d3e0e5!important;
  border-radius:7px!important;
  overflow:hidden!important;
  background:#fbfdfe!important;
}

.meetings-submenu-stage:last-child{
  margin-bottom:0!important;
}

.meetings-submenu-stage-title{
  min-height:27px!important;
  display:flex!important;
  align-items:center!important;
  padding:4px 9px!important;
  border-bottom:1px solid #d7e3e8!important;
  background:#edf7fa!important;
  color:#315866!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  letter-spacing:.1px!important;
}

.meetings-submenu-stage-links{
  display:grid!important;
  gap:0!important;
  padding:3px!important;
}

.meetings-submenu-stage-links > a{
  min-height:31px!important;
  display:flex!important;
  align-items:center!important;
  padding:4px 7px!important;
  border-radius:5px!important;
  color:#385863!important;
  text-decoration:none!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:700!important;
}

.meetings-submenu-stage-links > a > span{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}

.meeting-nav-dot{
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:#a9bdc5!important;
}

.meetings-submenu-stage-links > a:hover{
  background:#f0f7f9!important;
  color:#194f65!important;
}

.meetings-submenu-stage-links > a.meeting-submenu-current{
  background:#e2f2f7!important;
  color:#15566f!important;
  font-weight:900!important;
  box-shadow:inset -3px 0 0 #217b9d!important;
}

.meetings-submenu-stage-links > a.meeting-submenu-current .meeting-nav-dot{
  background:#217b9d!important;
  box-shadow:0 0 0 2px rgba(33,123,157,.12)!important;
}

/* Subtle lifecycle distinction without making the menu noisy */
.meetings-submenu-stage-execution .meetings-submenu-stage-title{
  background:#f2f7f8!important;
}
.meetings-submenu-stage-post .meetings-submenu-stage-title{
  background:#f5f8f4!important;
}
.meetings-submenu-stage-admin .meetings-submenu-stage-title{
  background:#f7f7f7!important;
}

/* Keep menu comfortable on shorter laptop screens */
@media(max-height:760px){
  .meetings-submenu{
    max-height:calc(100vh - 78px)!important;
  }
  .meetings-submenu-stage{
    margin-bottom:5px!important;
  }
  .meetings-submenu-stage-title{
    min-height:24px!important;
  }
  .meetings-submenu-stage-links > a{
    min-height:27px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.17
   In-page meeting lifecycle navigator
   ========================================================= */

.meeting-lifecycle-bar{
  display:grid!important;
  grid-template-columns:minmax(230px,1.15fr) minmax(560px,3.2fr)!important;
  gap:8px!important;
  align-items:stretch!important;
  margin:0 0 8px!important;
  padding:7px!important;
  border:1px solid #c9d9df!important;
  border-radius:8px!important;
  background:#f8fbfc!important;
  box-shadow:0 1px 3px rgba(26,59,71,.05)!important;
}

.meeting-lifecycle-current{
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  align-content:center!important;
  gap:2px!important;
  padding:6px 9px!important;
  border:1px solid #d3e1e6!important;
  border-radius:6px!important;
  background:#fff!important;
}

.meeting-lifecycle-current > span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#70868f!important;
}

.meeting-lifecycle-current > b{
  min-width:0!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  line-height:1.4!important;
  color:#1b5065!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.meeting-lifecycle-current > small{
  min-width:0!important;
  font-size:calc(8.3px * var(--font-scale,1))!important;
  line-height:1.35!important;
  color:#80929a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.meeting-lifecycle-current em{
  font-style:normal!important;
  font-weight:800!important;
}

.meeting-life-status{
  color:#275f73!important;
}

.meeting-life-approval{
  color:#5a6f4f!important;
}

.meeting-lifecycle-stages{
  display:grid!important;
  grid-template-columns:1.35fr .9fr 1.25fr .55fr!important;
  gap:6px!important;
  min-width:0!important;
}

.meeting-lifecycle-stage{
  position:relative!important;
  min-width:0!important;
  display:grid!important;
  grid-template-rows:17px 1fr!important;
  gap:3px!important;
  padding:5px!important;
  border:1px solid #d3e0e5!important;
  border-radius:6px!important;
  background:#fff!important;
}

.meeting-lifecycle-stage.active{
  border-color:#91b7c6!important;
  background:#f2f9fb!important;
  box-shadow:inset 0 2px 0 #2b7e9d!important;
}

.meeting-lifecycle-stage-title{
  padding-inline:2px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:16px!important;
  font-weight:900!important;
  color:#627b85!important;
  white-space:nowrap!important;
}

.meeting-lifecycle-stage.active .meeting-lifecycle-stage-title{
  color:#1b5b74!important;
}

.meeting-lifecycle-stage-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:3px!important;
  align-content:center!important;
}

.meeting-lifecycle-tab{
  min-height:25px!important;
  flex:1 1 auto!important;
  min-width:48px!important;
  padding:3px 7px!important;
  border:1px solid #d4e1e6!important;
  border-radius:4px!important;
  background:#fbfdfe!important;
  color:#4f6872!important;
  font-family:inherit!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  line-height:1.2!important;
  font-weight:700!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}

.meeting-lifecycle-tab:hover{
  border-color:#a8c2cc!important;
  background:#f1f7f9!important;
  color:#205a70!important;
}

.meeting-lifecycle-tab.current{
  border-color:#3d89a6!important;
  background:#e0f1f6!important;
  color:#155b74!important;
  font-weight:900!important;
  box-shadow:0 0 0 1px rgba(61,137,166,.09)!important;
}

/* Avoid taking too much vertical space on ordinary laptop screens. */
@media(max-width:1180px){
  .meeting-lifecycle-bar{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
  .meeting-lifecycle-stages{
    grid-template-columns:1.25fr .85fr 1.15fr .55fr!important;
  }
  .meeting-lifecycle-tab{
    padding-inline:5px!important;
    font-size:calc(8.3px * var(--font-scale,1))!important;
  }
}

@media(max-width:920px){
  .meeting-lifecycle-bar{
    grid-template-columns:1fr!important;
  }
  .meeting-lifecycle-stages{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .meeting-lifecycle-stages{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.18 — Meetings Dashboard
   Strict deduplicated operational presentation
   ========================================================= */

.meetings-submenu-stage-overview .meetings-submenu-stage-title{
  background:#e8f4f8!important;
}

.meeting-lifecycle-stages{
  grid-template-columns:.58fr 1.28fr .86fr 1.16fr .55fr!important;
}

.meeting-dashboard-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:7px 9px!important;
  margin-bottom:8px!important;
  border:1px solid #c7d8df!important;
  border-radius:7px!important;
  background:#f8fbfc!important;
}

.meeting-dashboard-toolbar-copy{
  display:grid!important;
  gap:2px!important;
}
.meeting-dashboard-toolbar-copy b{
  font-size:calc(11px * var(--font-scale,1))!important;
  color:#184f66!important;
}
.meeting-dashboard-toolbar-copy span{
  font-size:calc(8.8px * var(--font-scale,1))!important;
  color:#758a93!important;
}

.meeting-dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  margin-bottom:8px!important;
}

.meeting-dashboard-kpis article{
  min-width:0!important;
  min-height:78px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:2px!important;
  padding:9px 10px!important;
  border:1px solid #c8d9df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}

.meeting-dashboard-kpis article span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#6a818b!important;
}
.meeting-dashboard-kpis article b{
  align-self:center!important;
  font-size:calc(23px * var(--font-scale,1))!important;
  line-height:1!important;
  color:#19526a!important;
}
.meeting-dashboard-kpis article small{
  font-size:calc(8.3px * var(--font-scale,1))!important;
  color:#84969d!important;
}

.meeting-dashboard-kpis article.warning{
  border-color:#dfd0b4!important;
  background:#fffdf8!important;
}
.meeting-dashboard-kpis article.warning b{
  color:#8a651d!important;
}
.meeting-dashboard-kpis article.danger{
  border-color:#dfc0c0!important;
  background:#fffafa!important;
}
.meeting-dashboard-kpis article.danger b{
  color:#9b3636!important;
}

.meeting-dashboard-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;
  gap:8px!important;
  margin-bottom:8px!important;
}

.meeting-dashboard-panel{
  min-width:0!important;
  border:1px solid #c7d8df!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(25,58,70,.05)!important;
}

.meeting-dashboard-panel > header{
  min-height:45px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:7px 10px!important;
  border-bottom:1px solid #d2e0e5!important;
  background:#edf7fa!important;
}

.meeting-dashboard-panel > header > div{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.meeting-dashboard-panel > header b{
  font-size:calc(11px * var(--font-scale,1))!important;
  color:#174f66!important;
}
.meeting-dashboard-panel > header span,
.meeting-dashboard-panel > header small{
  font-size:calc(8.4px * var(--font-scale,1))!important;
  color:#758b94!important;
}
.meeting-dashboard-panel > header button{
  min-height:27px!important;
  padding:3px 8px!important;
  border:1px solid #afc9d3!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#245c72!important;
  font-family:inherit!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:800!important;
  cursor:pointer!important;
}

.meeting-dashboard-list,
.meeting-dashboard-result-list{
  min-height:260px!important;
  max-height:calc(100vh - 435px)!important;
  overflow-y:auto!important;
  padding:5px!important;
}

.meeting-dashboard-list > button{
  width:100%!important;
  min-height:49px!important;
  display:grid!important;
  grid-template-columns:8px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:6px 8px!important;
  margin:0 0 4px!important;
  border:1px solid #d9e4e8!important;
  border-radius:6px!important;
  background:#fff!important;
  color:inherit!important;
  font-family:inherit!important;
  text-align:right!important;
  cursor:pointer!important;
}
.meeting-dashboard-list > button:hover{
  background:#f4f9fb!important;
  border-color:#b9d0d9!important;
}
.meeting-dashboard-list .bucket{
  width:7px!important;
  height:28px!important;
  border-radius:5px!important;
  background:#9fb8c2!important;
}
.meeting-dashboard-list .bucket.today{
  background:#287c9b!important;
}
.meeting-dashboard-list .bucket.approval{
  background:#a8782a!important;
}
.meeting-dashboard-list .bucket.minutes{
  background:#bd6d42!important;
}
.meeting-dashboard-list .bucket.upcoming{
  background:#6d927e!important;
}
.meeting-dashboard-list .copy{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.meeting-dashboard-list .copy b{
  min-width:0!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  color:#264d5c!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.meeting-dashboard-list .copy span{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#788d96!important;
}
.meeting-dashboard-list > button > strong{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#54717d!important;
  white-space:nowrap!important;
}

.meeting-dashboard-result{
  min-height:48px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:6px 8px!important;
  margin-bottom:4px!important;
  border:1px solid #d9e4e8!important;
  border-radius:6px!important;
  background:#fff!important;
}
.meeting-dashboard-result.overdue{
  border-color:#e2c0c0!important;
  background:#fff9f9!important;
}
.meeting-dashboard-result > div{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.meeting-dashboard-result b{
  min-width:0!important;
  font-size:calc(9.8px * var(--font-scale,1))!important;
  color:#294f5e!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.meeting-dashboard-result span,
.meeting-dashboard-result small{
  font-size:calc(8.4px * var(--font-scale,1))!important;
  color:#7a8e96!important;
}
.meeting-dashboard-result.overdue small{
  color:#9a4141!important;
  font-weight:800!important;
}

.meeting-dashboard-empty{
  min-height:180px!important;
  display:grid!important;
  place-items:center!important;
  color:#80929a!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}

.meeting-dashboard-quicklinks{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
}
.meeting-dashboard-quicklinks button{
  min-height:36px!important;
  border:1px solid #c6d8df!important;
  border-radius:6px!important;
  background:#f8fbfc!important;
  color:#27596c!important;
  font-family:inherit!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.meeting-dashboard-quicklinks button:hover{
  background:#eaf5f8!important;
  border-color:#a9c6d1!important;
}

@media(max-width:1180px){
  .meeting-dashboard-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .meeting-lifecycle-stages{
    grid-template-columns:.52fr 1.2fr .8fr 1.08fr .52fr!important;
  }
}

@media(max-width:900px){
  .meeting-dashboard-grid{
    grid-template-columns:1fr!important;
  }
  .meeting-dashboard-quicklinks{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:640px){
  .meeting-dashboard-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-dashboard-quicklinks{
    grid-template-columns:1fr 1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.19 — Meetings Alerts Center
   One highest-priority alert per entity, no duplicates
   ========================================================= */

.meeting-dashboard-alerts{
  margin:0 0 8px!important;
  border:1px solid #c7d8df!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(25,58,70,.05)!important;
}

.meeting-dashboard-alerts > header{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:7px 10px!important;
  border-bottom:1px solid #d2e0e5!important;
  background:#f4f9fb!important;
}

.meeting-dashboard-alerts > header > div{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}

.meeting-dashboard-alerts > header b{
  font-size:calc(11px * var(--font-scale,1))!important;
  color:#174f66!important;
}

.meeting-dashboard-alerts > header span,
.meeting-dashboard-alerts > header small{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#768b94!important;
}

.meeting-dashboard-alert-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  padding:6px!important;
}

.meeting-dashboard-alert{
  min-width:0!important;
  min-height:54px!important;
  display:grid!important;
  grid-template-columns:7px minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:7px 8px!important;
  border:1px solid #dae5e9!important;
  border-radius:6px!important;
  background:#fff!important;
  color:inherit!important;
  font-family:inherit!important;
  text-align:right!important;
  cursor:pointer!important;
}

.meeting-dashboard-alert:hover{
  background:#f7fafb!important;
  border-color:#bccfd7!important;
}

.meeting-dashboard-alert .meeting-alert-indicator{
  width:6px!important;
  height:30px!important;
  border-radius:5px!important;
  background:#9fb5be!important;
}

.meeting-dashboard-alert .copy{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}

.meeting-dashboard-alert .copy b{
  font-size:calc(9.8px * var(--font-scale,1))!important;
  color:#294f5e!important;
}

.meeting-dashboard-alert .copy span{
  min-width:0!important;
  font-size:calc(8.6px * var(--font-scale,1))!important;
  color:#718790!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.meeting-dashboard-alert > small{
  font-size:calc(8.2px * var(--font-scale,1))!important;
  color:#7f939b!important;
  white-space:nowrap!important;
}

.meeting-dashboard-alert.critical{
  border-color:#e1bcbc!important;
  background:#fff9f9!important;
}
.meeting-dashboard-alert.critical .meeting-alert-indicator{
  background:#b34444!important;
}
.meeting-dashboard-alert.critical .copy b,
.meeting-dashboard-alert.critical > small{
  color:#963737!important;
}

.meeting-dashboard-alert.high{
  border-color:#e2cdb7!important;
  background:#fffdf9!important;
}
.meeting-dashboard-alert.high .meeting-alert-indicator{
  background:#b47535!important;
}

.meeting-dashboard-alert.medium .meeting-alert-indicator{
  background:#3a819b!important;
}

.meeting-dashboard-alert.low .meeting-alert-indicator{
  background:#73917f!important;
}

.meeting-dashboard-alert-empty{
  grid-column:1 / -1!important;
  min-height:80px!important;
  display:grid!important;
  place-items:center!important;
  color:#80929a!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}

@media(max-width:900px){
  .meeting-dashboard-alert-list{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.20 — Meeting Activity Timeline
   Existing audit-log + minutes approval events, deduplicated
   ========================================================= */

.meeting-activity-toolbar{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:6px 8px!important;
  margin-bottom:8px!important;
  border:1px solid #c7d8df!important;
  border-radius:7px!important;
  background:#f8fbfc!important;
}

.meeting-activity-subject-inline{
  flex:1 1 auto!important;
  max-width:520px!important;
}

.meeting-activity-overview{
  display:grid!important;
  grid-template-columns:2fr repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  margin:8px 0!important;
}

.meeting-activity-overview article{
  min-width:0!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:2px!important;
  padding:8px 10px!important;
  border:1px solid #c8d9df!important;
  border-radius:7px!important;
  background:#fbfdfe!important;
}

.meeting-activity-overview article span{
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#6c828c!important;
}

.meeting-activity-overview article b{
  align-self:center!important;
  min-width:0!important;
  font-size:calc(20px * var(--font-scale,1))!important;
  color:#19526a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.meeting-activity-overview article.wide b{
  font-size:calc(13px * var(--font-scale,1))!important;
}

.meeting-activity-overview article small{
  font-size:calc(8.5px * var(--font-scale,1))!important;
  color:#84969d!important;
}

.meeting-activity-panel{
  border:1px solid #c7d8df!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(25,58,70,.05)!important;
}

.meeting-activity-panel > header{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:7px 10px!important;
  border-bottom:1px solid #d2e0e5!important;
  background:#edf7fa!important;
}

.meeting-activity-panel > header > div{
  display:grid!important;
  gap:2px!important;
}

.meeting-activity-panel > header b{
  font-size:calc(11px * var(--font-scale,1))!important;
  color:#174f66!important;
}

.meeting-activity-panel > header span,
.meeting-activity-panel > header small{
  font-size:calc(8.4px * var(--font-scale,1))!important;
  color:#788d96!important;
}

.meeting-activity-timeline{
  position:relative!important;
  min-height:300px!important;
  max-height:calc(100vh - 350px)!important;
  overflow-y:auto!important;
  padding:10px 12px 10px 28px!important;
}

.meeting-activity-timeline::before{
  content:""!important;
  position:absolute!important;
  top:14px!important;
  bottom:14px!important;
  right:24px!important;
  width:2px!important;
  background:#dbe6ea!important;
}

.meeting-activity-event{
  position:relative!important;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:8px!important;
  margin-bottom:7px!important;
  padding:0!important;
}

.meeting-activity-dot{
  position:relative!important;
  z-index:2!important;
  align-self:start!important;
  justify-self:center!important;
  width:10px!important;
  height:10px!important;
  margin-top:10px!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:#7896a2!important;
  box-shadow:0 0 0 1px #b9cdd5!important;
}

.meeting-activity-event.approval .meeting-activity-dot{
  background:#8a7134!important;
}
.meeting-activity-event.audit .meeting-activity-dot{
  background:#397f9a!important;
}
.meeting-activity-event.meeting .meeting-activity-dot{
  background:#537b65!important;
}

.meeting-activity-event-body{
  min-width:0!important;
  padding:7px 9px!important;
  border:1px solid #d8e4e8!important;
  border-radius:6px!important;
  background:#fbfdfe!important;
}

.meeting-activity-event-body > header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.meeting-activity-event-body > header b{
  font-size:calc(10px * var(--font-scale,1))!important;
  color:#294f5e!important;
}

.meeting-activity-event-body > header span{
  flex:0 0 auto!important;
  padding:2px 6px!important;
  border:1px solid #d0dfe4!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:calc(7.8px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#69808a!important;
}

.meeting-activity-event-body p{
  margin:4px 0!important;
  font-size:calc(9px * var(--font-scale,1))!important;
  line-height:1.55!important;
  color:#627983!important;
}

.meeting-activity-event-body footer{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px 10px!important;
  padding-top:4px!important;
  border-top:1px dashed #d9e3e7!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  color:#80929a!important;
}

.meeting-activity-event-body footer em{
  margin-inline-start:auto!important;
  font-style:normal!important;
  font-weight:800!important;
}

.meeting-activity-empty{
  min-height:240px!important;
  display:grid!important;
  place-items:center!important;
  color:#80929a!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}

.meeting-dashboard-quicklinks{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}

@media(max-width:1000px){
  .meeting-activity-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-activity-overview article.wide{
    grid-column:1 / -1!important;
  }
  .meeting-dashboard-quicklinks{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media print{
  .meeting-activity-toolbar,
  .meeting-lifecycle-bar,
  .app-header{
    display:none!important;
  }
  .meeting-activity-timeline{
    max-height:none!important;
    overflow:visible!important;
  }
}


/* GreenEco 3.3.16.44.2.21 — Meetings Calendar + Export Center */
.meeting-calendar-toolbar{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:8px!important;padding:7px 8px!important;margin-bottom:8px!important;border:1px solid #c7d8df!important;border-radius:7px!important;background:#f8fbfc!important}
.meeting-calendar-month-controls{display:flex!important;align-items:end!important;gap:6px!important}
.meeting-calendar-month-controls label{display:grid!important;gap:3px!important}
.meeting-calendar-month-controls label span{font-size:calc(8.5px * var(--font-scale,1))!important;color:#718791!important;font-weight:800!important}
.meeting-calendar-month-controls input{height:30px!important}
.meeting-calendar-summary{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;gap:7px!important;margin-bottom:8px!important}
.meeting-calendar-summary>div{min-height:58px!important;display:grid!important;grid-template-rows:auto 1fr!important;padding:8px 10px!important;border:1px solid #c8d9df!important;border-radius:7px!important;background:#fbfdfe!important}
.meeting-calendar-summary span{font-size:calc(8.5px * var(--font-scale,1))!important;font-weight:800!important;color:#6c828c!important}
.meeting-calendar-summary b{align-self:center!important;font-size:calc(17px * var(--font-scale,1))!important;color:#19526a!important}
.meeting-calendar{border:1px solid #c7d8df!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important}
.meeting-calendar-weekdays,.meeting-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
.meeting-calendar-weekdays{background:#eaf5f8!important;border-bottom:1px solid #cfdfe4!important}
.meeting-calendar-weekdays b{padding:7px 5px!important;text-align:center!important;font-size:calc(8.8px * var(--font-scale,1))!important;color:#365b69!important}
.meeting-calendar-day{min-height:112px!important;padding:5px!important;border-left:1px solid #e1e8eb!important;border-bottom:1px solid #e1e8eb!important;background:#fff!important}
.meeting-calendar-day.empty{background:#fafcfd!important}
.meeting-calendar-day.today{background:#f1f9fb!important;box-shadow:inset 0 0 0 2px #8fbaca!important}
.meeting-calendar-day>strong{display:inline-grid!important;place-items:center!important;min-width:22px!important;height:22px!important;margin-bottom:4px!important;border-radius:50%!important;font-size:calc(9px * var(--font-scale,1))!important;color:#496772!important}
.meeting-calendar-day.today>strong{background:#287d9c!important;color:#fff!important}
.meeting-calendar-day-items{display:grid!important;gap:4px!important}
.meeting-calendar-day-items article{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2px 5px!important;padding:4px 5px!important;border:1px solid #d7e4e8!important;border-radius:5px!important;background:#f9fcfd!important}
.meeting-calendar-open{grid-column:1/-1!important;padding:0!important;border:0!important;background:transparent!important;color:#25556a!important;font-family:inherit!important;font-size:calc(8.7px * var(--font-scale,1))!important;font-weight:900!important;text-align:right!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;cursor:pointer!important}
.meeting-calendar-day-items span{min-width:0!important;font-size:calc(7.8px * var(--font-scale,1))!important;color:#788d96!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.meeting-calendar-ics{padding:1px 4px!important;border:1px solid #bed1d8!important;border-radius:4px!important;background:#fff!important;color:#31677c!important;font-size:calc(7px * var(--font-scale,1))!important;font-weight:900!important;cursor:pointer!important}
.meeting-export-note{display:flex!important;align-items:center!important;gap:10px!important;margin-top:8px!important;padding:8px 10px!important;border:1px solid #d0dfe5!important;border-radius:7px!important;background:#f8fbfc!important}
.meeting-export-note b{flex:0 0 auto!important;font-size:calc(10px * var(--font-scale,1))!important;color:#174f66!important}
.meeting-export-note span{font-size:calc(8.5px * var(--font-scale,1))!important;line-height:1.5!important;color:#748992!important}
.meeting-dashboard-quicklinks{grid-template-columns:repeat(7,minmax(0,1fr))!important}
@media(max-width:1000px){.meeting-calendar-grid,.meeting-calendar-weekdays{min-width:850px!important}.meeting-calendar{overflow-x:auto!important}.meeting-dashboard-quicklinks{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* GreenEco 3.3.16.44.2.22 — meeting access/invitations */
.meeting-access-section{border:1px solid #c9d9df!important;border-radius:7px!important;overflow:hidden!important;background:#fbfdfe!important}
.meeting-access-grid{display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:8px!important;padding:9px!important}
.meeting-access-grid label{min-width:0!important}
.meeting-access-grid label>span{display:block!important;margin-bottom:3px!important;font-size:calc(9px * var(--font-scale,1))!important;font-weight:800!important;color:#617b85!important}
.meeting-access-grid select,.meeting-access-grid input[type="text"],.meeting-access-grid input:not([type]){width:100%!important;height:31px!important;box-sizing:border-box!important}
.meeting-access-grid .full{grid-column:1/-1!important}
.meeting-confidential-check{display:flex!important;align-items:center!important;gap:7px!important;padding:0 8px!important;border:1px solid #d1dee3!important;border-radius:5px!important;background:#fff!important}
.meeting-confidential-check input{width:15px!important;height:15px!important}
.meeting-confidential-check span{margin:0!important;color:#6c4646!important}


/* =========================================================
   GreenEco 3.3.16.44.2.23 — System News Ticker
   ========================================================= */

.news-ticker-settings{
  margin:8px 0 10px!important;
  border:1px solid #c8d9df!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fbfdfe!important;
}
.news-ticker-settings>header{
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 11px!important;
  border-bottom:1px solid #d6e2e6!important;
  background:#eef7fa!important;
}
.news-ticker-settings>header>div{
  display:grid!important;
  gap:2px!important;
}
.news-ticker-settings>header b{
  font-size:calc(11px * var(--font-scale,1))!important;
  color:#174f66!important;
}
.news-ticker-settings>header span{
  font-size:calc(8.7px * var(--font-scale,1))!important;
  color:#748992!important;
}
.news-ticker-switch{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 8px!important;
  border:1px solid #bed2d9!important;
  border-radius:16px!important;
  background:#fff!important;
  cursor:pointer!important;
}
.news-ticker-switch input{
  width:15px!important;
  height:15px!important;
  margin:0!important;
}
.news-ticker-switch span{
  font-size:calc(8.7px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#2d6175!important;
}
.news-ticker-settings-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:10px!important;
}
.news-ticker-settings-grid label{
  display:grid!important;
  gap:4px!important;
}
.news-ticker-settings-grid label.full-field{
  grid-column:1/-1!important;
}
.news-ticker-settings-grid label>span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#496874!important;
}
.news-ticker-settings-grid textarea{
  min-height:70px!important;
  resize:vertical!important;
}
.news-ticker-settings-grid small{
  font-size:calc(7.8px * var(--font-scale,1))!important;
  color:#80939b!important;
}
.news-ticker-preview{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:0!important;
  margin:0 10px 10px!important;
  min-height:32px!important;
  overflow:hidden!important;
  border:1px solid #bdd1d9!important;
  border-radius:6px!important;
  background:#edf7fa!important;
}
.news-ticker-preview>b{
  align-self:stretch!important;
  display:grid!important;
  place-items:center!important;
  padding:0 10px!important;
  background:#266d89!important;
  color:#fff!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
}
.news-ticker-preview-window{
  overflow:hidden!important;
  white-space:nowrap!important;
}
.news-ticker-preview-window>span{
  display:inline-block!important;
  min-width:max-content!important;
  padding-inline-start:100%!important;
  animation:greenecoTicker var(--ticker-duration,28s) linear infinite!important;
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#315c6d!important;
}
.news-ticker-preview.disabled{
  opacity:.58!important;
}
.news-ticker-preview.tone-success{background:#f1faf5!important}
.news-ticker-preview.tone-warning{background:#fff9ec!important}
.news-ticker-preview.tone-critical{background:#fff2f2!important}
.news-ticker-preview.tone-success>b{background:#3c7d5a!important}
.news-ticker-preview.tone-warning>b{background:#9a7327!important}
.news-ticker-preview.tone-critical>b{background:#a43d3d!important}

.system-news-ticker{
  position:relative!important;
  z-index:40!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:stretch!important;
  min-height:30px!important;
  border-bottom:1px solid #bed3dc!important;
  background:#edf7fa!important;
  box-shadow:0 1px 2px rgba(25,60,75,.05)!important;
}
.system-news-ticker-label{
  display:grid!important;
  place-items:center!important;
  min-width:58px!important;
  padding:0 10px!important;
  background:#246d89!important;
  color:#fff!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  letter-spacing:.2px!important;
}
.system-news-ticker-window{
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  white-space:nowrap!important;
}
.system-news-ticker-text{
  display:inline-block!important;
  min-width:max-content!important;
  padding-inline-start:100%!important;
  padding-inline-end:28px!important;
  animation:greenecoTicker var(--ticker-duration,28s) linear infinite!important;
  font-size:calc(9.3px * var(--font-scale,1))!important;
  font-weight:800!important;
  color:#28566a!important;
}
.system-news-ticker:hover .system-news-ticker-text{
  animation-play-state:paused!important;
}
.system-news-ticker.tone-success{background:#f0f9f4!important;border-bottom-color:#bed8ca!important}
.system-news-ticker.tone-success .system-news-ticker-label{background:#397a56!important}
.system-news-ticker.tone-warning{background:#fff8e9!important;border-bottom-color:#dfcfaa!important}
.system-news-ticker.tone-warning .system-news-ticker-label{background:#967125!important}
.system-news-ticker.tone-critical{background:#fff0f0!important;border-bottom-color:#e0bcbc!important}
.system-news-ticker.tone-critical .system-news-ticker-label{background:#a43b3b!important}
.system-news-ticker.tone-critical .system-news-ticker-text{color:#8e3535!important}

@keyframes greenecoTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-200%)}
}

@media(max-width:700px){
  .news-ticker-settings-grid{grid-template-columns:1fr!important}
  .news-ticker-settings-grid label.full-field{grid-column:auto!important}
  .system-news-ticker-label{min-width:48px!important;padding:0 7px!important;font-size:calc(8px * var(--font-scale,1))!important}
  .system-news-ticker-text{font-size:calc(8.6px * var(--font-scale,1))!important}
}

@media(prefers-reduced-motion:reduce){
  .system-news-ticker-text,
  .news-ticker-preview-window>span{
    animation:none!important;
    padding-inline-start:10px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.24 — News Ticker Settings UI Fix
   ========================================================= */

.news-ticker-settings-v2 .news-ticker-editor{
  display:grid!important;
  grid-template-columns:minmax(0,1.8fr) minmax(250px,.9fr)!important;
  gap:10px!important;
  padding:12px!important;
}

.news-ticker-message-field{
  display:grid!important;
  gap:5px!important;
}

.news-ticker-message-field>span,
.news-ticker-speed-field>span,
.news-ticker-priority-title{
  font-size:calc(9.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#355f70!important;
}

.news-ticker-message-field textarea{
  width:100%!important;
  min-height:105px!important;
  padding:9px 10px!important;
  border:1px solid #bcd0d8!important;
  border-radius:6px!important;
  background:#fff!important;
  font-family:inherit!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  line-height:1.65!important;
  resize:vertical!important;
}

.news-ticker-message-field textarea:focus{
  outline:2px solid rgba(37,109,137,.13)!important;
  border-color:#6fa4b8!important;
}

.news-ticker-message-field small{
  justify-self:end!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  color:#82949c!important;
}

.news-ticker-priority-block{
  display:grid!important;
  align-content:start!important;
  gap:6px!important;
}

.news-ticker-priority-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
}

.news-priority{
  min-height:62px!important;
  display:grid!important;
  align-content:center!important;
  gap:3px!important;
  padding:7px!important;
  border:1px solid #c9d9df!important;
  border-radius:7px!important;
  background:#fff!important;
  font-family:inherit!important;
  cursor:pointer!important;
}

.news-priority b{
  font-size:calc(10.5px * var(--font-scale,1))!important;
  color:#496772!important;
}

.news-priority small{
  font-size:calc(7.5px * var(--font-scale,1))!important;
  line-height:1.3!important;
  color:#84959c!important;
}

.news-priority.active{
  box-shadow:inset 0 0 0 2px currentColor!important;
}

.news-priority.normal.active{
  border-color:#4e8ba1!important;
  background:#eef8fb!important;
  color:#34778f!important;
}

.news-priority.important.active{
  border-color:#b18a36!important;
  background:#fff8e8!important;
  color:#9a7327!important;
}

.news-priority.urgent.active{
  border-color:#b84949!important;
  background:#fff0f0!important;
  color:#a43d3d!important;
}

.news-priority.important.active b{color:#8f691d!important}
.news-priority.urgent.active b{color:#9c3434!important}

.news-ticker-speed-field{
  display:grid!important;
  gap:5px!important;
  margin-top:4px!important;
}

.news-ticker-speed-field select{
  height:34px!important;
  border:1px solid #c1d3da!important;
  border-radius:6px!important;
  background:#fff!important;
  font-family:inherit!important;
}

.news-ticker-settings-v2 .news-ticker-preview{
  margin:0 12px 12px!important;
  min-height:36px!important;
}

.news-ticker-settings-v2 .news-ticker-switch{
  min-width:120px!important;
  justify-content:center!important;
}

@media(max-width:850px){
  .news-ticker-settings-v2 .news-ticker-editor{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px){
  .news-ticker-priority-options{
    grid-template-columns:1fr!important;
  }
}

/* GreenEco 3.3.16.44.2.25 — Professional Broadcast News Ticker */
.news-ticker-settings-link a{font-weight:900!important;color:#176b87!important;text-decoration:underline!important}
.news-ticker-toolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important}
.news-ticker-count{font-size:calc(9px * var(--font-scale,1))!important;color:#6e838c!important;font-weight:800!important}
.news-ticker-editor-card{margin-bottom:10px!important;border:1px solid #bfd2d9!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important}
.news-ticker-editor-card>header{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:9px 11px!important;border-bottom:1px solid #d7e3e7!important;background:#eef7fa!important}
.news-ticker-editor-card>header b{font-size:calc(11px * var(--font-scale,1))!important;color:#174f66!important}.news-ticker-editor-card>header span{font-size:calc(8.6px * var(--font-scale,1))!important;color:#788c95!important}
.news-ticker-editor-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;padding:11px!important}
.news-ticker-editor-grid label{display:grid!important;gap:4px!important}.news-ticker-editor-grid label.full{grid-column:1/-1!important}
.news-ticker-editor-grid label>span{font-size:calc(8.8px * var(--font-scale,1))!important;font-weight:900!important;color:#496773!important}
.news-ticker-editor-grid textarea{min-height:92px!important;padding:8px 9px!important;border:1px solid #bfd2da!important;border-radius:6px!important;font-family:inherit!important;font-size:calc(10px * var(--font-scale,1))!important;line-height:1.6!important}
.news-color-field>div{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:6px!important}.news-color-field input[type=color]{width:42px!important;height:34px!important;padding:2px!important}
.news-active-check{display:flex!important;align-items:center!important;gap:7px!important;align-self:end!important;min-height:34px!important;padding:6px 8px!important;border:1px solid #d1dfe4!important;border-radius:6px!important;background:#f9fcfd!important}.news-active-check input{width:15px!important;height:15px!important}
.news-ticker-admin-preview{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:stretch!important;min-height:38px!important;margin:0 11px 10px!important;border:1px solid #c7d8df!important;border-radius:6px!important;overflow:hidden!important}
.news-ticker-admin-preview>b{display:grid!important;place-items:center!important;min-width:72px!important;padding:0 12px!important;color:#fff!important;font-size:calc(9px * var(--font-scale,1))!important}
.news-ticker-admin-preview>div{display:flex!important;align-items:center!important;overflow:hidden!important;padding:0 10px!important}.news-ticker-admin-preview span{font-size:calc(9px * var(--font-scale,1))!important;font-weight:800!important;white-space:nowrap!important}
.news-message-cell{max-width:460px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.news-color-swatch{display:inline-block!important;width:24px!important;height:16px!important;border:1px solid #aebfc6!important;border-radius:3px!important}
.news-priority-badge{display:inline-block!important;min-width:45px!important;padding:2px 7px!important;border-radius:10px!important;text-align:center!important;font-size:calc(8px * var(--font-scale,1))!important;font-weight:900!important}
.news-priority-badge.normal{background:#e9f4f7!important;color:#23647d!important}.news-priority-badge.important{background:#fff4da!important;color:#8d681c!important}.news-priority-badge.urgent{background:#ffe5e5!important;color:#a03636!important}
.professional-news-ticker{position:fixed!important;top:0!important;right:0!important;left:0!important;width:100%!important;height:34px!important;min-height:34px!important;z-index:99999!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:stretch!important;border:0!important;border-bottom:1px solid rgba(0,0,0,.14)!important;box-shadow:0 2px 7px rgba(0,0,0,.16)!important;overflow:hidden!important}
.professional-news-ticker .system-news-ticker-label{position:relative!important;min-width:76px!important;display:grid!important;place-items:center!important;padding:0 14px!important;color:#fff!important;font-size:calc(10px * var(--font-scale,1))!important;font-weight:900!important;letter-spacing:.2px!important;text-shadow:0 1px 1px rgba(0,0,0,.18)!important}
.professional-news-ticker.priority-urgent .system-news-ticker-label::after{content:""!important;position:absolute!important;inset:0!important;border:1px solid rgba(255,255,255,.28)!important;animation:urgentTickerPulse 1.4s ease-in-out infinite!important}
.professional-news-ticker .system-news-ticker-window{overflow:hidden!important;display:flex!important;align-items:center!important;min-width:0!important}
.professional-news-ticker .system-news-ticker-text{display:inline-block!important;min-width:max-content!important;padding-inline-start:100%!important;padding-inline-end:40px!important;font-size:calc(10px * var(--font-scale,1))!important;font-weight:900!important;line-height:34px!important;animation:greenecoTicker var(--ticker-duration,28s) linear infinite!important}
.professional-news-ticker:hover .system-news-ticker-text{animation-play-state:paused!important}
.system-news-ticker-counter{display:grid!important;place-items:center!important;min-width:48px!important;padding:0 8px!important;background:rgba(0,0,0,.06)!important;border-inline-start:1px solid rgba(0,0,0,.08)!important;font-size:calc(7.7px * var(--font-scale,1))!important;font-weight:900!important;color:inherit!important}
@keyframes urgentTickerPulse{0%,100%{opacity:.25}50%{opacity:.95}}
.app-shell,.app-header,.app-workspace{margin-top:0!important;padding-top:0!important}
@media(max-width:800px){.news-ticker-editor-grid{grid-template-columns:1fr 1fr!important}.news-ticker-editor-grid label.full{grid-column:1/-1!important}}
@media(max-width:560px){.news-ticker-editor-grid{grid-template-columns:1fr!important}.news-ticker-editor-grid label.full{grid-column:auto!important}.professional-news-ticker{height:32px!important;min-height:32px!important}.professional-news-ticker .system-news-ticker-label{min-width:58px!important;padding:0 8px!important;font-size:calc(8.7px * var(--font-scale,1))!important}.professional-news-ticker .system-news-ticker-text{font-size:calc(8.7px * var(--font-scale,1))!important;line-height:32px!important}.system-news-ticker-counter{display:none!important}}


/* =========================================================
   GreenEco 3.3.16.44.2.26 — News Ticker Visibility / RTL Fix
   ========================================================= */

/* The ticker stays as a fixed overlay and does not consume layout height. */
.professional-news-ticker{
  direction:rtl!important;
}

/* Keep the label fixed on the right; the story area fills the rest. */
.professional-news-ticker .system-news-ticker-window{
  position:relative!important;
  overflow:hidden!important;
  min-width:0!important;
  height:34px!important;
  display:block!important;
  direction:rtl!important;
}

/*
  Start the story immediately inside the visible window.
  Previous implementation used 100% inline padding, which could keep Arabic
  text outside the viewport for most of the animation cycle.
*/
.professional-news-ticker .system-news-ticker-text{
  position:absolute!important;
  top:0!important;
  right:14px!important;
  left:auto!important;
  display:block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  line-height:34px!important;
  white-space:nowrap!important;
  animation:greenecoTickerVisible var(--ticker-duration,28s) linear infinite!important;
  will-change:transform!important;
}

/* Arabic/news-channel style: visible at start, then moves toward the left. */
@keyframes greenecoTickerVisible{
  0%{
    transform:translateX(0);
  }
  12%{
    transform:translateX(0);
  }
  100%{
    transform:translateX(calc(-100vw - 100%));
  }
}

/* Pause exactly where the user points, as in professional broadcast tickers. */
.professional-news-ticker:hover .system-news-ticker-text{
  animation-play-state:paused!important;
}

/* Ensure the label/counter remain above the moving text. */
.professional-news-ticker .system-news-ticker-label,
.professional-news-ticker .system-news-ticker-counter{
  position:relative!important;
  z-index:2!important;
}

/* If motion is disabled at OS level, always show the full beginning of the story. */
@media(prefers-reduced-motion:reduce){
  .professional-news-ticker .system-news-ticker-text{
    position:static!important;
    display:block!important;
    padding:0 12px!important;
    animation:none!important;
    transform:none!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media(max-width:560px){
  .professional-news-ticker .system-news-ticker-window{
    height:32px!important;
  }
  .professional-news-ticker .system-news-ticker-text{
    right:10px!important;
    line-height:32px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.27 — Ticker Colors + System Fonts
   ========================================================= */

/* Force the saved custom colors to win over all legacy tone classes. */
.system-news-ticker.professional-news-ticker{
  background:var(--ticker-bg,#fff)!important;
  color:var(--ticker-text,#173f4f)!important;
}
.system-news-ticker.professional-news-ticker .system-news-ticker-label{
  background:var(--ticker-label,#176b87)!important;
  color:#fff!important;
}
.system-news-ticker.professional-news-ticker .system-news-ticker-text,
.system-news-ticker.professional-news-ticker .system-news-ticker-counter{
  color:var(--ticker-text,#173f4f)!important;
}

/* Numeric base font size. */
:root{
  --base-font-size:calc(14px * var(--font-scale,1));
}
body{
  font-size:var(--base-font-size,14px)!important;
}
button,input,textarea,select{
  font-family:var(--font-family)!important;
}

/* System Style v2 */
.style-editor-v2{
  padding:12px!important;
}
.style-fields-v2{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.style-fields-v2>label{
  min-width:0!important;
}
.style-font-select{
  grid-column:span 2!important;
}
.style-font-select select{
  width:100%!important;
  min-height:36px!important;
}
.style-font-size>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  align-items:center!important;
  gap:6px!important;
}
.style-font-size input{
  min-width:0!important;
  text-align:center!important;
}
.style-font-size b{
  display:grid!important;
  place-items:center!important;
  min-height:34px!important;
  border:1px solid #c5d6dc!important;
  border-radius:6px!important;
  background:#f6fafb!important;
  color:#24596d!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}
.style-custom-font{
  grid-column:1/-1!important;
  display:grid!important;
  gap:5px!important;
  padding:9px!important;
  border:1px solid #cfdee3!important;
  border-radius:7px!important;
  background:#f9fcfd!important;
}
.style-custom-font>span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#3f6473!important;
}
.style-custom-font>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
}
.style-custom-font small{
  font-size:calc(8px * var(--font-scale,1))!important;
  color:#7c9098!important;
}
.style-preview-v2{
  margin-top:12px!important;
}
.style-preview-v2 .preview-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.style-preview-v2 .preview-header span{
  font-size:.82em!important;
  opacity:.72!important;
}
.style-font-sample-ar,
.style-font-sample-en{
  margin:8px 0!important;
  padding:8px 10px!important;
  border:1px solid #d4e0e4!important;
  border-radius:5px!important;
  background:#fff!important;
  line-height:1.7!important;
}
.style-font-info{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  margin-top:10px!important;
  padding:8px 10px!important;
  border:1px solid #d4dfe3!important;
  border-radius:6px!important;
  background:#f8fbfc!important;
}
.style-font-info b{
  font-size:calc(9px * var(--font-scale,1))!important;
  color:#285b6e!important;
}
.style-font-info span{
  font-size:calc(8.3px * var(--font-scale,1))!important;
  line-height:1.55!important;
  color:#728791!important;
}

@media(max-width:900px){
  .style-fields-v2{
    grid-template-columns:1fr 1fr!important;
  }
  .style-font-select{
    grid-column:1/-1!important;
  }
}
@media(max-width:600px){
  .style-fields-v2{
    grid-template-columns:1fr!important;
  }
  .style-font-select{
    grid-column:auto!important;
  }
  .style-custom-font>div{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.28 — Global Live Font + Ticker Controls
   ========================================================= */

:root{
  --font-scale:1;
}

/*
  Every CSS font-size declared in px is converted in this build to use
  --font-scale. This makes the numeric control affect all screens
  immediately without changing widths/heights of the interfaces.
*/
.app-shell,
.app-shell *:not(svg):not(path){
  font-family:var(--font-family)!important;
}

/* News ticker is intentionally independent from global system font size. */
.system-news-ticker.professional-news-ticker{
  height:var(--ticker-height,34px)!important;
  min-height:var(--ticker-height,34px)!important;
  max-height:var(--ticker-height,34px)!important;
  font-family:var(--ticker-font)!important;
  background:var(--ticker-bg,#fff)!important;
  color:var(--ticker-text,#173f4f)!important;
}
.system-news-ticker.professional-news-ticker,
.system-news-ticker.professional-news-ticker *{
  font-family:var(--ticker-font)!important;
}
.system-news-ticker.professional-news-ticker .system-news-ticker-label{
  background:var(--ticker-label,#176b87)!important;
  font-size:var(--ticker-label-font-size,10px)!important;
  height:var(--ticker-height,34px)!important;
  line-height:var(--ticker-height,34px)!important;
}
.system-news-ticker.professional-news-ticker .system-news-ticker-window{
  height:var(--ticker-height,34px)!important;
}
.system-news-ticker.professional-news-ticker .system-news-ticker-text{
  font-size:var(--ticker-font-size,10px)!important;
  line-height:var(--ticker-height,34px)!important;
  height:var(--ticker-height,34px)!important;
  color:var(--ticker-text,#173f4f)!important;
}
.system-news-ticker.professional-news-ticker .system-news-ticker-counter{
  font-size:calc(var(--ticker-font-size,10px) * .78)!important;
  height:var(--ticker-height,34px)!important;
  color:var(--ticker-text,#173f4f)!important;
}

/* Independent ticker typography controls. */
.news-ticker-font-control,
.news-ticker-number-control{
  display:grid!important;
  gap:4px!important;
}
.news-ticker-font-control select,
.news-ticker-number-control input{
  min-height:34px!important;
}

/* Make the live system font size control visually explicit. */
.style-font-size input[type=number]{
  font-size:calc(12px * var(--font-scale,1))!important;
  font-weight:900!important;
}

/* On the Style screen, the preview follows the chosen value immediately. */
.style-editor-v2{
  --style-preview-current-scale:var(--font-scale,1);
}

@media(max-width:560px){
  .system-news-ticker.professional-news-ticker{
    height:var(--ticker-height,34px)!important;
    min-height:var(--ticker-height,34px)!important;
  }
  .system-news-ticker.professional-news-ticker .system-news-ticker-window,
  .system-news-ticker.professional-news-ticker .system-news-ticker-label,
  .system-news-ticker.professional-news-ticker .system-news-ticker-text{
    height:var(--ticker-height,34px)!important;
    line-height:var(--ticker-height,34px)!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.29 — Header Cleanup
   Remove row below ticker + move notifications to main ribbon
   ========================================================= */

/* Remove the old information row beneath the news ticker. */
.app-header .brand-strip{
  display:none!important;
}

/* The header now consists of the main ribbon only. */
.app-header{
  padding:0!important;
  margin:0!important;
}

/* Main notification item inside the system interface. */
.ribbon-notification-item{
  position:relative!important;
  align-self:stretch!important;
  min-width:92px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:6px 10px!important;
  border:0!important;
  border-inline-start:1px solid var(--line-soft)!important;
  border-inline-end:1px solid var(--line-soft)!important;
  background:transparent!important;
  color:inherit!important;
  font-family:var(--font-family)!important;
  cursor:pointer!important;
}
.ribbon-notification-item:hover,
.ribbon-notification-item.active{
  background:rgba(5,103,154,.09)!important;
  color:var(--primary)!important;
}
.ribbon-notification-item>span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.ribbon-notification-count{
  position:absolute!important;
  top:4px!important;
  inset-inline-start:8px!important;
  min-width:18px!important;
  height:18px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 4px!important;
  border-radius:10px!important;
  background:#d92d32!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:calc(7px * var(--font-scale,1))!important;
  line-height:1!important;
  font-weight:900!important;
}

/* No orphaned notification control from the removed row. */
.notification-button{
  display:none!important;
}

/* On desktop the ticker overlays the very top, while the app ribbon
   remains in its normal geometry. There is no extra row in between. */
.professional-news-ticker + .app-workspace{
  margin-top:0!important;
}

/* Mobile: brand strip remains removed; hamburger is not required because
   ribbon already retains its responsive open behavior through existing CSS.
   Keep the notification button compact in the ribbon. */
@media(max-width:700px){
  .ribbon-notification-item{
    min-width:72px!important;
    padding:5px 7px!important;
  }
  .ribbon-notification-item>span{
    font-size:calc(8px * var(--font-scale,1))!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.30 — News Ticker / Ribbon No Overlap
   ========================================================= */

/*
  The news ticker remains fixed at the top of the window.
  When visible, the entire application interface is shifted down by
  exactly the configured ticker height. This prevents any overlap.
*/
.app-shell.has-news-ticker{
  padding-top:var(--active-ticker-height,34px)!important;
}

/* Header/ribbon starts after the reserved ticker area. */
.app-shell.has-news-ticker .app-header{
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  z-index:100!important;
}

/* The ticker itself owns only its reserved top layer. */
.app-shell.has-news-ticker .professional-news-ticker{
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  z-index:10000!important;
  height:var(--active-ticker-height,34px)!important;
  min-height:var(--active-ticker-height,34px)!important;
  max-height:var(--active-ticker-height,34px)!important;
}

/* Remove old rules that forced the application back under the ticker. */
.app-shell.has-news-ticker,
.app-shell.has-news-ticker .app-header,
.app-shell.has-news-ticker .app-workspace{
  margin-top:0!important;
}

/* Workspace remains below the ribbon normally. */
.app-shell.has-news-ticker .app-workspace{
  position:relative!important;
  z-index:1!important;
}

/* No news item = no reserved blank row. */
.app-shell:not(.has-news-ticker){
  padding-top:0!important;
}

/* Ensure ribbon menus/dropdowns remain above workspace but below ticker. */
.app-shell.has-news-ticker .ribbon-nav,
.app-shell.has-news-ticker .ribbon-menu,
.app-shell.has-news-ticker .ribbon-submenu{
  z-index:200!important;
}

/* Mobile keeps the same separation with the user-defined ticker height. */
@media(max-width:700px){
  .app-shell.has-news-ticker{
    padding-top:var(--active-ticker-height,34px)!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.31 — Fixed Interface / Internal Scroll
   Applied globally to every authenticated screen
   ========================================================= */

/*
  Browser window itself no longer scrolls.
  The application is a fixed viewport composed of:
  1) optional news ticker
  2) fixed system ribbon
  3) internally scrollable workspace
  4) fixed status bar
*/
html,
body,
#root{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
}

body{
  overscroll-behavior:none!important;
}

.app-shell{
  width:100%!important;
  height:100vh!important;
  min-height:0!important;
  max-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

/* If news ticker exists, its exact configured height is reserved. */
.app-shell.has-news-ticker{
  height:100vh!important;
  padding-top:var(--active-ticker-height,34px)!important;
  overflow:hidden!important;
}

/* System ribbon never participates in page scrolling. */
.app-header{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  flex:0 0 auto!important;
  width:100%!important;
  overflow:visible!important;
  z-index:500!important;
}

/* Brand row remains removed as requested in .29. */
.app-header .brand-strip{
  display:none!important;
}

/* Main ribbon is always visible. */
.app-header .ribbon-nav{
  flex:0 0 auto!important;
  position:relative!important;
  top:auto!important;
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  z-index:510!important;
}

/*
  This is now the ONLY vertical scroll container for the application.
  All pages/routes automatically inherit this behavior.
*/
.app-workspace{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  scrollbar-gutter:stable!important;
  position:relative!important;
  z-index:1!important;
  padding-bottom:16px!important;
  scroll-behavior:auto!important;
}

/* Keep every page inside the workspace; never create body scrolling. */
.app-workspace > *,
.page-container{
  max-width:100%!important;
}

/*
  Status bar is the final fixed flex row rather than a viewport overlay.
  It remains visible while content scrolls and no longer covers rows.
*/
.status-bar{
  position:relative!important;
  inset:auto!important;
  right:auto!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  flex:0 0 27px!important;
  width:100%!important;
  height:27px!important;
  min-height:27px!important;
  max-height:27px!important;
  z-index:600!important;
}

/* News ticker remains completely independent and fixed at the top. */
.professional-news-ticker{
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  z-index:10000!important;
}

/*
  Ribbon submenus must open immediately below the fixed ribbon.
  The old 118px position belonged to the removed brand row.
*/
.ribbon-submenu{
  top:70px!important;
  z-index:900!important;
}
.app-shell.has-news-ticker .ribbon-submenu{
  top:calc(var(--active-ticker-height,34px) + 70px)!important;
}

/* Tables and long panels scroll inside workspace, not the browser page. */
.table-scroll{
  overscroll-behavior:contain!important;
}

/* Prevent scroll chaining from modal/panel to browser viewport. */
.modal,
.modal-body,
.large-modal,
.drawer,
.dropdown-panel{
  overscroll-behavior:contain!important;
}

/* Printing must revert to document flow. */
@media print{
  html,
  body,
  #root{
    height:auto!important;
    overflow:visible!important;
  }
  .app-shell{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-top:0!important;
  }
  .app-workspace{
    overflow:visible!important;
    height:auto!important;
    max-height:none!important;
  }
  .status-bar{
    display:none!important;
  }
}

/* Mobile/tablet: same architecture, only workspace scrolls. */
@media(max-width:700px){
  html,
  body,
  #root,
  .app-shell{
    overflow:hidden!important;
  }
  .app-workspace{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.32 — Elegant Screens Redesign
   News Ticker Management + System Style + shared form polish
   ========================================================= */

/* ---------------------------
   Shared compact design system
   --------------------------- */

.page-container{
  width:min(1240px,100%)!important;
  min-height:auto!important;
  margin:0 auto!important;
  padding:10px 12px 14px!important;
}

.page-container > .page-header,
.page-container > .section-header{
  margin-bottom:10px!important;
}

.page-container .table-panel,
.news-ticker-editor-card,
.style-editor-v2{
  border:1px solid #ced9df!important;
  border-radius:12px!important;
  background:#ffffff!important;
  box-shadow:0 10px 24px rgba(17,53,72,.05)!important;
  overflow:hidden!important;
}

.toolbar,
.news-ticker-toolbar{
  min-height:54px!important;
  padding:8px 12px!important;
  border:1px solid #d4dde2!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#fbfdfe 0%,#f4f8fa 100%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.toolbar .toolbar-actions,
.news-ticker-toolbar .toolbar-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
}

.primary-button,
.secondary-button,
.danger-inline{
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:8px!important;
  font-weight:900!important;
}

input[type=text],
input[type=number],
input[type=datetime-local],
select,
textarea{
  border-radius:8px!important;
}

.data-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
}

.data-table thead th{
  background:#edf4f8!important;
  color:#1d4f63!important;
  font-weight:900!important;
  border-bottom:1px solid #cad8df!important;
  padding:10px 12px!important;
}

.data-table tbody td{
  padding:9px 10px!important;
  border-bottom:1px solid #e0e8ec!important;
  background:#fff!important;
  vertical-align:middle!important;
}

.data-table tbody tr:nth-child(even) td{
  background:#fbfdfe!important;
}

.data-table tbody tr:hover td,
.data-table tbody tr.selected-row td{
  background:#eef7fb!important;
}

.modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:12px!important;
  background:#f8fbfd!important;
  border-top:1px solid #dde6ea!important;
}

/* -----------------------------------
   Elegant redesign: News Ticker page
   ----------------------------------- */

.news-ticker-management{
  display:grid!important;
  gap:10px!important;
}

.news-ticker-management .form-alert{
  margin:0!important;
  border-radius:9px!important;
  padding:10px 12px!important;
}

.news-ticker-count{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:0 10px!important;
  border:1px solid #d0dde3!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#50717e!important;
  font-weight:800!important;
}

.news-ticker-editor-card > header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:56px!important;
  padding:10px 14px!important;
  border-bottom:1px solid #dbe5e9!important;
  background:linear-gradient(180deg,#eef7fa 0%,#e7f2f6 100%)!important;
}

.news-ticker-editor-card > header b{
  font-size:calc(13px * var(--font-scale,1))!important;
  color:#184f66!important;
}

.news-ticker-editor-card > header span{
  font-size:calc(9px * var(--font-scale,1))!important;
  color:#6f8893!important;
}

.news-ticker-editor-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px 12px!important;
  padding:12px!important;
}

.news-ticker-editor-grid label{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}

.news-ticker-editor-grid label.full{
  grid-column:1/-1!important;
}

.news-ticker-editor-grid label > span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#476978!important;
  line-height:1.25!important;
}

.news-ticker-editor-grid textarea,
.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select{
  width:100%!important;
  min-height:38px!important;
  padding:8px 10px!important;
  border:1px solid #c8d7de!important;
  background:#fff!important;
  color:#1e2c33!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;
}

.news-ticker-editor-grid textarea{
  min-height:92px!important;
  resize:vertical!important;
  line-height:1.7!important;
}

.news-ticker-editor-grid input:focus,
.news-ticker-editor-grid select:focus,
.news-ticker-editor-grid textarea:focus{
  outline:none!important;
  border-color:#7eaac0!important;
  box-shadow:0 0 0 3px rgba(5,103,154,.10)!important;
}

.news-color-field > div{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}

.news-color-field input[type=color]{
  width:48px!important;
  height:38px!important;
  padding:2px!important;
  border:1px solid #c8d7de!important;
  border-radius:8px!important;
  background:#fff!important;
  cursor:pointer!important;
}

.news-active-check{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:0 12px!important;
  border:1px dashed #bfd0d8!important;
  border-radius:8px!important;
  background:#f9fcfd!important;
}

.news-active-check span{
  font-weight:800!important;
  color:#55717c!important;
}

.news-ticker-font-control select,
.news-ticker-number-control input{
  text-align:center!important;
  font-weight:800!important;
}

.news-ticker-admin-preview{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:stretch!important;
  margin:0 12px 12px!important;
  border:1px solid #d0dbe1!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important;
}

.news-ticker-admin-preview > b{
  min-width:92px!important;
  padding:0 14px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  font-weight:900!important;
}

.news-ticker-admin-preview > div{
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  padding:0 14px!important;
}

.news-ticker-admin-preview span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:800!important;
}

.news-ticker-register{
  overflow:hidden!important;
}

.news-ticker-register .table-scroll{
  padding:0!important;
  border-radius:0 0 12px 12px!important;
}

.news-message-cell{
  max-width:560px!important;
}

.news-priority-badge{
  min-width:54px!important;
  padding:3px 10px!important;
  border-radius:999px!important;
  font-weight:900!important;
}

.news-priority-badge.normal{background:#e8f5fb!important;color:#23647d!important}
.news-priority-badge.important{background:#fff2d6!important;color:#8c6718!important}
.news-priority-badge.urgent{background:#ffe2e2!important;color:#a03737!important}

/* ----------------------------------
   Elegant redesign: System Style page
   ---------------------------------- */

.style-editor-v2{
  display:grid!important;
  grid-template-columns:minmax(300px,.92fr) minmax(460px,1.25fr)!important;
  grid-template-areas:
    "controls preview"
    "controls info"
    "actions actions"!important;
  gap:12px!important;
  padding:12px!important;
}

.style-fields-v2{
  grid-area:controls!important;
  align-content:start!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:12px!important;
  border:1px solid #d7e2e7!important;
  border-radius:12px!important;
  background:#f9fcfd!important;
}

.style-fields-v2 > label,
.style-custom-font{
  min-width:0!important;
}

.style-fields-v2 > label{
  display:grid!important;
  gap:5px!important;
}

.style-fields-v2 > label > span,
.style-custom-font > span{
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:900!important;
  color:#486b79!important;
}

.style-fields-v2 input:not([type=color]):not([type=button]),
.style-fields-v2 select{
  width:100%!important;
  min-height:38px!important;
  padding:8px 10px!important;
  border:1px solid #c7d6dd!important;
  background:#fff!important;
}

.style-fields-v2 input[type=color]{
  width:100%!important;
  min-height:38px!important;
  height:38px!important;
  padding:2px!important;
  border:1px solid #c7d6dd!important;
  background:#fff!important;
}

.style-font-select,
.style-custom-font{
  grid-column:1/-1!important;
}

.style-font-size > div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 64px!important;
  gap:8px!important;
}

.style-font-size b{
  min-height:38px!important;
  background:#ecf6fb!important;
  border:1px solid #c7d8e1!important;
  border-radius:8px!important;
  color:#1d5d78!important;
  font-weight:900!important;
}

.style-custom-font{
  display:grid!important;
  gap:6px!important;
  padding:10px!important;
  border:1px dashed #c6d7de!important;
  border-radius:10px!important;
  background:#fff!important;
}

.style-custom-font > div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
}

.style-custom-font small{
  color:#718891!important;
  line-height:1.55!important;
}

.style-preview-v2{
  grid-area:preview!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid #d7e2e7!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}

.style-preview-v2 .preview-header{
  min-height:44px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,var(--primary) 0%,#1a7aa7 100%)!important;
  color:#fff!important;
}

.style-preview-v2 .preview-header b{
  font-size:calc(12px * var(--font-scale,1))!important;
}

.style-preview-v2 .preview-header span{
  color:rgba(255,255,255,.88)!important;
  font-weight:700!important;
}

.style-font-sample-ar,
.style-font-sample-en{
  margin:10px 0!important;
  padding:12px 14px!important;
  border:1px solid #d7e2e7!important;
  border-radius:10px!important;
  background:#fff!important;
}

.style-preview-v2 .preview-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
  margin-top:10px!important;
}

.style-preview-v2 .preview-form label{
  display:grid!important;
  gap:5px!important;
  color:#476978!important;
  font-weight:900!important;
}

.style-preview-v2 .preview-form input{
  min-height:38px!important;
  padding:8px 10px!important;
  border:1px solid #c7d6dd!important;
  border-radius:8px!important;
  background:#fff!important;
}

.style-preview-v2 .preview-form button{
  min-height:38px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:8px!important;
  background:#18b76a!important;
  color:#fff!important;
  font-weight:900!important;
}

.style-preview-v2 table{
  width:100%!important;
  margin-top:10px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border:1px solid #d6e1e6!important;
  border-radius:10px!important;
}

.style-preview-v2 table th,
.style-preview-v2 table td{
  padding:8px 10px!important;
  text-align:center!important;
  border-bottom:1px solid #e1eaee!important;
  background:#fff!important;
}

.style-preview-v2 table tr:first-child th{
  background:#edf4f8!important;
  color:#224f64!important;
  font-weight:900!important;
}

.style-font-info{
  grid-area:info!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #d7e2e7!important;
  border-radius:12px!important;
  background:#f8fbfd!important;
}

.style-font-info b{
  min-width:74px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}

.style-font-info span{
  font-size:calc(8.4px * var(--font-scale,1))!important;
  line-height:1.6!important;
}

.style-editor-v2 > .modal-actions{
  grid-area:actions!important;
  margin:0!important;
  padding:12px 0 0!important;
  border-top:0!important;
  background:transparent!important;
}

/* -------------------------
   Responsive form balancing
   ------------------------- */

@media(max-width:1100px){
  .style-editor-v2{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "controls"
      "preview"
      "info"
      "actions"!important;
  }
}

@media(max-width:980px){
  .news-ticker-editor-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .news-ticker-editor-grid label.full{
    grid-column:1/-1!important;
  }
}

@media(max-width:700px){
  .news-ticker-editor-grid,
  .style-fields-v2{
    grid-template-columns:1fr!important;
  }
  .style-custom-font > div,
  .style-preview-v2 .preview-form{
    grid-template-columns:1fr!important;
  }
  .news-ticker-editor-card > header,
  .toolbar,
  .news-ticker-toolbar{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .news-ticker-admin-preview > b{
    min-width:70px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.33 — Single Ribbon Menu Behavior
   ========================================================= */

/* Closed menus must never retain an interactive floating submenu. */
.ribbon-menu:not(.open) > .ribbon-submenu{
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
}

/* Only the currently opened menu receives interaction. */
.ribbon-menu.open > .ribbon-submenu{
  display:grid!important;
  pointer-events:auto!important;
  visibility:visible!important;
}

/* Keep every submenu in one clear layer without stacking artifacts. */
.ribbon-submenu{
  isolation:isolate!important;
  box-shadow:0 12px 30px rgba(13,38,55,.18)!important;
}

/* Clicking another ribbon button feels immediate and deterministic. */
.ribbon-menu-trigger{
  user-select:none!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.34 — Layout Cleanup + Scroll Reset
   ========================================================= */

/* Full workspace gets a neutral background instead of dark side bands. */
.app-shell,
.app-workspace{
  background:#eef3f7!important;
}

.app-workspace{
  padding:10px 12px 14px!important;
}

/* Pages should use the available width cleanly without giant side gutters. */
.page-container{
  width:100%!important;
  max-width:1360px!important;
  margin:0 auto!important;
  padding:0!important;
  min-height:auto!important;
}

/* Shared page header card */
.page-header{
  display:grid!important;
  gap:2px!important;
  margin:0 0 10px!important;
  padding:10px 14px!important;
  border:1px solid #d4e0e5!important;
  border-radius:12px!important;
  background:#ffffff!important;
  box-shadow:0 8px 20px rgba(15,53,75,.04)!important;
}
.page-header h1,
.page-header h2,
.page-header h3{
  margin:0!important;
  color:#123f59!important;
  line-height:1.35!important;
}
.page-header p,
.page-header .subtitle{
  margin:0!important;
  color:#708892!important;
}

/* Clean top spacing inside screens */
.page-container > *:first-child{
  margin-top:0!important;
}

/* News ticker page structure cleanup */
.news-ticker-management{
  gap:12px!important;
}

.news-ticker-management .toolbar,
.news-ticker-management .news-ticker-toolbar{
  margin:0!important;
  min-height:56px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#ffffff!important;
  border:1px solid #d3dfe4!important;
  box-shadow:0 8px 18px rgba(16,47,68,.04)!important;
}

.news-ticker-count{
  min-width:76px!important;
  min-height:34px!important;
  padding:0 12px!important;
  font-weight:900!important;
}

.news-ticker-editor-card{
  margin:0!important;
  border-radius:14px!important;
}

.news-ticker-editor-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  padding:14px!important;
}

.news-ticker-editor-grid label{
  align-content:start!important;
}

.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select,
.news-ticker-editor-grid textarea{
  min-height:40px!important;
  padding:8px 12px!important;
  background:#fff!important;
  border:1px solid #c9d8df!important;
  border-radius:9px!important;
}

.news-ticker-editor-grid textarea{
  min-height:92px!important;
}

.news-ticker-editor-grid label>span{
  margin-bottom:2px!important;
  font-weight:900!important;
}

.news-color-field>div{
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:8px!important;
}

.news-color-field input[type=color]{
  width:52px!important;
  height:40px!important;
  border-radius:9px!important;
}

.news-active-check{
  min-height:40px!important;
  border-style:solid!important;
  background:#f8fbfc!important;
}

.news-ticker-admin-preview{
  margin:0 14px 14px!important;
  min-height:42px!important;
}

.news-ticker-register{
  border-radius:14px!important;
}

/* Make tables look tighter and cleaner */
.table-panel{
  margin:0!important;
  border-radius:14px!important;
}

.table-scroll{
  background:#fff!important;
}

.data-table thead th{
  padding:10px 10px!important;
}

.data-table tbody td{
  padding:8px 10px!important;
}

/* System style page cleanup */
.style-editor-v2{
  grid-template-columns:minmax(330px,.95fr) minmax(520px,1.25fr)!important;
  gap:14px!important;
  padding:14px!important;
  border-radius:14px!important;
}

.style-fields-v2,
.style-preview-v2,
.style-font-info{
  border-radius:12px!important;
}

.style-fields-v2{
  gap:12px!important;
}

.style-fields-v2 input:not([type=color]),
.style-fields-v2 select{
  min-height:40px!important;
  border-radius:9px!important;
}

.style-fields-v2 input[type=color]{
  min-height:40px!important;
  border-radius:9px!important;
}

.style-custom-font{
  padding:12px!important;
}

.style-preview-v2 .preview-header{
  min-height:48px!important;
}

.style-font-sample-ar,
.style-font-sample-en{
  padding:12px 14px!important;
}

.style-preview-v2 .preview-form input{
  min-height:40px!important;
}

.style-editor-v2 > .modal-actions{
  justify-content:flex-start!important;
  gap:12px!important;
}

/* Prevent content from visually touching the fixed footer */
.app-workspace > .page-container:last-child{
  padding-bottom:8px!important;
}

/* Responsive cleanup */
@media(max-width:1180px){
  .news-ticker-editor-grid{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:980px){
  .style-editor-v2{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "controls"
      "preview"
      "info"
      "actions"!important;
  }
}
@media(max-width:720px){
  .app-workspace{
    padding:8px!important;
  }
  .news-ticker-editor-grid,
  .style-fields-v2{
    grid-template-columns:1fr!important;
  }
  .news-ticker-management .toolbar,
  .news-ticker-management .news-ticker-toolbar{
    flex-direction:column!important;
    align-items:stretch!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.35 — Compact Executive UI
   Two-column elegant forms, smaller controls, tighter spacing
   ========================================================= */

/* ---------------------------------
   Global compact form refinements
   --------------------------------- */

.page-container{
  max-width:1120px!important;
  padding:0!important;
}

.toolbar,
.news-ticker-toolbar{
  min-height:46px!important;
  padding:6px 9px!important;
  gap:7px!important;
}

.primary-button,
.secondary-button,
.danger-inline{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:7px!important;
}

.form-alert{
  padding:7px 10px!important;
  margin:6px 0!important;
  border-radius:7px!important;
}

.table-panel{
  border-radius:10px!important;
}

.data-table thead th{
  padding:7px 8px!important;
}

.data-table tbody td{
  padding:6px 8px!important;
}

/* ---------------------------------
   News ticker — elegant 2 columns
   --------------------------------- */

.news-ticker-management{
  max-width:1060px!important;
  margin:0 auto!important;
  gap:8px!important;
}

.news-ticker-editor-card{
  max-width:1060px!important;
  margin:0 auto!important;
  border-radius:10px!important;
}

.news-ticker-editor-card > header{
  min-height:46px!important;
  padding:7px 11px!important;
}

.news-ticker-editor-card > header b{
  font-size:calc(11.5px * var(--font-scale,1))!important;
}

.news-ticker-editor-card > header span{
  font-size:calc(8.2px * var(--font-scale,1))!important;
}

.news-ticker-editor-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 10px!important;
  padding:10px!important;
}

.news-ticker-editor-grid label.full{
  grid-column:1/-1!important;
}

.news-ticker-editor-grid label{
  gap:3px!important;
}

.news-ticker-editor-grid label > span{
  font-size:calc(8.4px * var(--font-scale,1))!important;
  margin:0!important;
}

.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select{
  min-height:32px!important;
  height:32px!important;
  padding:4px 8px!important;
  border-radius:6px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
}

.news-ticker-editor-grid textarea{
  min-height:66px!important;
  max-height:110px!important;
  padding:7px 9px!important;
  border-radius:7px!important;
  font-size:calc(9.5px * var(--font-scale,1))!important;
  line-height:1.55!important;
}

/* Colors become compact inline controls instead of oversized blocks */
.news-color-field > div{
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:6px!important;
}

.news-color-field input[type=color]{
  width:38px!important;
  height:32px!important;
  min-height:32px!important;
  padding:2px!important;
  border-radius:6px!important;
}

.news-active-check{
  min-height:32px!important;
  padding:4px 8px!important;
  border-radius:6px!important;
}

.news-active-check input{
  width:14px!important;
  height:14px!important;
}

/* small numeric controls */
.news-ticker-number-control input,
.news-ticker-font-control select{
  text-align:center!important;
}

.news-ticker-admin-preview{
  margin:0 10px 8px!important;
  min-height:34px!important;
  border-radius:7px!important;
}

.news-ticker-admin-preview > b{
  min-width:74px!important;
  padding:0 10px!important;
}

.news-ticker-admin-preview > div{
  padding:0 10px!important;
}

.news-ticker-editor-card > .modal-actions{
  min-height:44px!important;
  padding:7px 10px!important;
}

/* register becomes compact */
.news-ticker-register{
  max-width:1060px!important;
  margin:0 auto!important;
}

.news-ticker-register .data-table{
  min-width:720px!important;
}

.news-ticker-register .data-table th,
.news-ticker-register .data-table td{
  height:28px!important;
  padding:5px 7px!important;
}

.news-ticker-count{
  min-height:28px!important;
  padding:0 9px!important;
  font-size:calc(8px * var(--font-scale,1))!important;
}

/* ---------------------------------
   System style — compact executive
   --------------------------------- */

.style-editor-v2{
  max-width:1060px!important;
  margin:0 auto!important;
  grid-template-columns:390px minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px!important;
  border-radius:10px!important;
}

.style-fields-v2{
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:9px!important;
  border-radius:9px!important;
}

.style-fields-v2 > label{
  gap:3px!important;
}

.style-fields-v2 > label > span,
.style-custom-font > span{
  font-size:calc(8.3px * var(--font-scale,1))!important;
}

.style-fields-v2 input:not([type=color]),
.style-fields-v2 select{
  min-height:32px!important;
  height:32px!important;
  padding:4px 8px!important;
  border-radius:6px!important;
}

.style-fields-v2 input[type=color]{
  min-height:32px!important;
  height:32px!important;
  border-radius:6px!important;
}

.style-font-size > div{
  grid-template-columns:minmax(0,1fr) 52px!important;
  gap:5px!important;
}

.style-font-size b{
  min-height:32px!important;
  border-radius:6px!important;
}

.style-custom-font{
  padding:8px!important;
  gap:4px!important;
  border-radius:7px!important;
}

.style-custom-font > div{
  gap:6px!important;
}

.style-custom-font small{
  font-size:calc(7.5px * var(--font-scale,1))!important;
  line-height:1.4!important;
}

.style-preview-v2{
  padding:9px!important;
  border-radius:9px!important;
}

.style-preview-v2 .preview-header{
  min-height:38px!important;
  padding:0 10px!important;
  border-radius:7px!important;
}

.style-font-sample-ar,
.style-font-sample-en{
  margin:6px 0!important;
  padding:8px 10px!important;
  border-radius:7px!important;
}

.style-preview-v2 .preview-form{
  gap:7px!important;
  margin-top:7px!important;
}

.style-preview-v2 .preview-form input{
  min-height:32px!important;
  height:32px!important;
  padding:4px 8px!important;
}

.style-preview-v2 .preview-form button{
  min-height:32px!important;
  padding:0 12px!important;
  border-radius:6px!important;
}

.style-preview-v2 table{
  margin-top:7px!important;
  border-radius:7px!important;
}

.style-preview-v2 table th,
.style-preview-v2 table td{
  padding:5px 7px!important;
}

.style-font-info{
  padding:7px 9px!important;
  border-radius:8px!important;
}

.style-editor-v2 > .modal-actions{
  padding-top:6px!important;
}

/* ---------------------------------
   Responsive
   --------------------------------- */

@media(max-width:1000px){
  .style-editor-v2{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "controls"
      "preview"
      "info"
      "actions"!important;
  }
}

@media(max-width:760px){
  .news-ticker-editor-grid,
  .style-fields-v2{
    grid-template-columns:1fr!important;
  }

  .news-ticker-editor-grid label.full,
  .style-font-select,
  .style-custom-font{
    grid-column:auto!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.36 — News Ticker Desktop Style
   Same visual philosophy as System Style screen
   ========================================================= */

/* wider desktop canvas, centered like the system style page */
.news-ticker-management{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  display:grid!important;
  gap:10px!important;
}

/* toolbar stays compact and desktop-like */
.news-ticker-management .news-ticker-toolbar{
  min-height:48px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  background:#fff!important;
}

/*
  Main editor becomes a desktop split panel:
  left = settings
  right = live preview
*/
.news-ticker-editor-card{
  display:grid!important;
  grid-template-columns:420px minmax(0,1fr)!important;
  grid-template-areas:
    "header header"
    "fields preview"
    "fields actions"!important;
  align-items:start!important;
  gap:0 12px!important;
  padding:0 12px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
}

.news-ticker-editor-card > header{
  grid-area:header!important;
  margin:0 -12px 10px!important;
  min-height:48px!important;
  padding:8px 12px!important;
  border-radius:12px 12px 0 0!important;
}

/* settings column */
.news-ticker-editor-grid{
  grid-area:fields!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px 8px!important;
  padding:10px!important;
  border:1px solid #d7e2e7!important;
  border-radius:10px!important;
  background:#f9fcfd!important;
}

.news-ticker-editor-grid label.full{
  grid-column:1/-1!important;
}

/* message field becomes concise rather than tall */
.news-ticker-editor-grid textarea{
  min-height:62px!important;
  max-height:88px!important;
  resize:vertical!important;
}

/* every field is compact */
.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select{
  min-height:31px!important;
  height:31px!important;
  padding:3px 7px!important;
}

.news-ticker-editor-grid label > span{
  font-size:calc(8.2px * var(--font-scale,1))!important;
  line-height:1.2!important;
}

/* compact color rows */
.news-color-field > div{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:5px!important;
}

.news-color-field input[type=color]{
  width:34px!important;
  height:31px!important;
  min-height:31px!important;
}

/* active flag is small and aligned */
.news-active-check{
  min-height:31px!important;
  padding:3px 7px!important;
}

/* right preview panel — visually equivalent to Style screen preview */
.news-ticker-admin-preview{
  grid-area:preview!important;
  position:relative!important;
  align-self:start!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  min-height:96px!important;
  height:96px!important;
  margin:0!important;
  padding-top:36px!important;
  border:1px solid #d7e2e7!important;
  border-radius:10px!important;
  background:#fbfdff!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}

/* Preview heading */
.news-ticker-admin-preview::before{
  content:"معاينة الشريط الإخباري"!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  left:0!important;
  height:35px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 11px!important;
  border-bottom:1px solid #d9e4e8!important;
  background:#edf6fa!important;
  color:#1d536a!important;
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:900!important;
}

/* keep actual ticker preview centered and channel-like */
.news-ticker-admin-preview > b{
  min-width:82px!important;
  height:44px!important;
  align-self:end!important;
  display:grid!important;
  place-items:center!important;
  padding:0 10px!important;
}

.news-ticker-admin-preview > div{
  height:44px!important;
  align-self:end!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  background:inherit!important;
}

.news-ticker-admin-preview span{
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* actions sit beneath preview, not across the full page */
.news-ticker-editor-card > .modal-actions{
  grid-area:actions!important;
  align-self:end!important;
  justify-content:flex-start!important;
  min-height:48px!important;
  margin-top:8px!important;
  padding:7px 0 0!important;
  border-top:1px solid #e1e9ed!important;
  background:transparent!important;
}

/* register below editor uses full desktop width */
.news-ticker-register{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  border-radius:10px!important;
}

.news-ticker-register .table-scroll{
  max-height:260px!important;
  overflow:auto!important;
}

/* make columns visually balanced */
.news-ticker-register .data-table th:nth-child(1),
.news-ticker-register .data-table td:nth-child(1){
  width:46px!important;
  text-align:center!important;
}

.news-ticker-register .data-table th:nth-child(2),
.news-ticker-register .data-table td:nth-child(2){
  width:100px!important;
}

.news-ticker-register .data-table th:nth-child(3),
.news-ticker-register .data-table td:nth-child(3){
  width:92px!important;
}

.news-ticker-register .data-table th:nth-child(5),
.news-ticker-register .data-table td:nth-child(5){
  width:70px!important;
  text-align:center!important;
}

.news-ticker-register .data-table th:nth-child(6),
.news-ticker-register .data-table td:nth-child(6),
.news-ticker-register .data-table th:nth-child(7),
.news-ticker-register .data-table td:nth-child(7){
  width:78px!important;
  text-align:center!important;
}

/* remove oversized desktop whitespace */
.news-ticker-management .table-panel,
.news-ticker-editor-card{
  box-shadow:0 7px 18px rgba(17,53,72,.045)!important;
}

/* desktop breakpoint */
@media(min-width:1001px){
  .news-ticker-editor-card{
    min-height:330px!important;
  }

  .news-ticker-editor-grid{
    min-height:258px!important;
  }

  .news-ticker-admin-preview{
    margin-top:0!important;
  }
}

/* medium screen: keep desktop spirit but stack intelligently */
@media(max-width:1000px){
  .news-ticker-editor-card{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "header"
      "fields"
      "preview"
      "actions"!important;
    gap:10px!important;
  }

  .news-ticker-admin-preview{
    min-height:90px!important;
    height:90px!important;
  }
}

/* small screen fallback */
@media(max-width:680px){
  .news-ticker-editor-grid{
    grid-template-columns:1fr!important;
  }

  .news-ticker-editor-grid label.full{
    grid-column:auto!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.37 — News Ticker Size Match
   Align the add/edit screen with the size/proportion of System Style
   ========================================================= */

/* Overall page width same family as the System Style screen */
.news-ticker-management{
  max-width:1120px!important;
  margin:0 auto!important;
}

/* Main editor card mirrors the balanced desktop size of Style screen */
.news-ticker-editor-card{
  max-width:1060px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.32fr) 408px!important;
  grid-template-areas:
    "header header"
    "preview fields"
    "preview actions"!important;
  gap:10px 12px!important;
  padding:0 12px 12px!important;
  border-radius:12px!important;
  min-height:430px!important;
}

/* Keep header full width and compact */
.news-ticker-editor-card > header{
  grid-area:header!important;
  margin:0 -12px 0!important;
  min-height:48px!important;
  padding:8px 12px!important;
  border-radius:12px 12px 0 0!important;
}

/* Preview now gets the generous left panel, like Style screen */
.news-ticker-admin-preview{
  grid-area:preview!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  min-height:334px!important;
  height:auto!important;
  margin:10px 0 0!important;
  border:1px solid #d6e2e7!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  overflow:hidden!important;
  position:relative!important;
  padding-top:42px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}

/* Preview heading */
.news-ticker-admin-preview::before{
  content:"معاينة الشريط الإخباري"!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  left:0!important;
  height:41px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  border-bottom:1px solid #dbe6ea!important;
  background:linear-gradient(180deg,#f0f7fa 0%,#e9f3f7 100%)!important;
  color:#1c536b!important;
  font-size:calc(9.4px * var(--font-scale,1))!important;
  font-weight:900!important;
}

.news-ticker-admin-preview > b{
  align-self:start!important;
  min-width:86px!important;
  height:44px!important;
  margin:14px 0 0 0!important;
  border-radius:0 0 0 8px!important;
  padding:0 12px!important;
  display:grid!important;
  place-items:center!important;
}

.news-ticker-admin-preview > div{
  align-self:start!important;
  height:44px!important;
  margin:14px 0 0 0!important;
  display:flex!important;
  align-items:center!important;
  padding:0 14px!important;
  background:#fff!important;
}

.news-ticker-admin-preview span{
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:800!important;
}

/* Controls panel becomes the compact right sidebar */
.news-ticker-editor-grid{
  grid-area:fields!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px 8px!important;
  align-content:start!important;
  padding:10px!important;
  margin-top:10px!important;
  border:1px solid #d7e2e7!important;
  border-radius:12px!important;
  background:#f9fcfd!important;
}

.news-ticker-editor-grid label.full{
  grid-column:1/-1!important;
}

.news-ticker-editor-grid label{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}

.news-ticker-editor-grid label > span{
  font-size:calc(8.15px * var(--font-scale,1))!important;
  line-height:1.2!important;
  color:#4b6d7b!important;
  font-weight:900!important;
}

.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select{
  min-height:31px!important;
  height:31px!important;
  padding:3px 8px!important;
  border-radius:7px!important;
  border:1px solid #c8d7de!important;
  background:#fff!important;
  font-size:calc(9.2px * var(--font-scale,1))!important;
}

.news-ticker-editor-grid textarea{
  min-height:70px!important;
  max-height:90px!important;
  padding:8px 9px!important;
  border-radius:8px!important;
  border:1px solid #c8d7de!important;
  background:#fff!important;
  font-size:calc(9.2px * var(--font-scale,1))!important;
  line-height:1.55!important;
  resize:vertical!important;
}

.news-color-field > div{
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:6px!important;
}

.news-color-field input[type=color]{
  width:36px!important;
  min-width:36px!important;
  height:31px!important;
  min-height:31px!important;
  border-radius:6px!important;
  padding:2px!important;
}

.news-active-check{
  min-height:31px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
}

/* Action area aligned with the right control panel, like style screen buttons */
.news-ticker-editor-card > .modal-actions{
  grid-area:actions!important;
  justify-content:flex-start!important;
  align-self:end!important;
  margin:0!important;
  padding:4px 0 0!important;
  border-top:0!important;
  background:transparent!important;
}

/* Table remains full width under the editor */
.news-ticker-register{
  max-width:1060px!important;
  margin:0 auto!important;
}

/* Responsive fallback */
@media(max-width:1000px){
  .news-ticker-editor-card{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "header"
      "fields"
      "preview"
      "actions"!important;
    min-height:auto!important;
  }
  .news-ticker-admin-preview{
    min-height:160px!important;
    margin-top:0!important;
  }
}

@media(max-width:720px){
  .news-ticker-editor-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.38 — News Ticker Table-Sized Elegant
   Make add/edit screen same width family as the register table
   ========================================================= */

/* Unified width: page, editor, and table all share the same desktop width */
.news-ticker-management,
.news-ticker-editor-card,
.news-ticker-register{
  max-width:1060px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Editor becomes one elegant centered card, not a wide split screen */
.news-ticker-editor-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:
    "header"
    "preview"
    "fields"
    "actions"!important;
  gap:10px!important;
  min-height:auto!important;
  padding:0 12px 12px!important;
  border-radius:12px!important;
}

/* Full-width compact header */
.news-ticker-editor-card > header{
  grid-area:header!important;
  margin:0 -12px 0!important;
  min-height:46px!important;
  padding:8px 12px!important;
  border-radius:12px 12px 0 0!important;
}

/* Elegant horizontal preview bar, same spirit as the actual ticker */
.news-ticker-admin-preview{
  grid-area:preview!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  min-height:78px!important;
  height:78px!important;
  margin:0!important;
  padding-top:34px!important;
  border:1px solid #d7e2e7!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  overflow:hidden!important;
  position:relative!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}

.news-ticker-admin-preview::before{
  content:"معاينة الشريط الإخباري"!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  left:0!important;
  height:33px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 11px!important;
  background:#eef6fa!important;
  border-bottom:1px solid #dbe5e9!important;
  color:#1c5269!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:900!important;
}

.news-ticker-admin-preview > b{
  min-width:86px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 12px!important;
  margin:0!important;
  color:#fff!important;
  font-weight:900!important;
}

.news-ticker-admin-preview > div{
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 14px!important;
  margin:0!important;
  background:#fff!important;
}

.news-ticker-admin-preview span{
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:800!important;
}

/* Form fields under the preview in elegant balanced two columns */
.news-ticker-editor-grid{
  grid-area:fields!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px 10px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

.news-ticker-editor-grid label{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}

.news-ticker-editor-grid label.full{
  grid-column:1/-1!important;
}

.news-ticker-editor-grid label > span{
  font-size:calc(8.2px * var(--font-scale,1))!important;
  line-height:1.2!important;
  color:#4c6d7b!important;
  font-weight:900!important;
}

.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select{
  min-height:32px!important;
  height:32px!important;
  padding:4px 8px!important;
  border-radius:7px!important;
  border:1px solid #c9d7de!important;
  background:#fff!important;
  font-size:calc(9.2px * var(--font-scale,1))!important;
}

.news-ticker-editor-grid textarea{
  min-height:72px!important;
  max-height:96px!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  border:1px solid #c9d7de!important;
  background:#fff!important;
  font-size:calc(9.2px * var(--font-scale,1))!important;
  line-height:1.55!important;
  resize:vertical!important;
}

.news-color-field > div{
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:6px!important;
}

.news-color-field input[type=color]{
  width:36px!important;
  min-width:36px!important;
  height:32px!important;
  min-height:32px!important;
  border-radius:7px!important;
  padding:2px!important;
}

.news-active-check{
  min-height:32px!important;
  padding:3px 8px!important;
  border-radius:7px!important;
  border:1px solid #d3dfe4!important;
  background:#f8fbfc!important;
}

/* Buttons aligned nicely at the bottom */
.news-ticker-editor-card > .modal-actions{
  grid-area:actions!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin:0!important;
  padding:2px 0 0!important;
  background:transparent!important;
  border-top:0!important;
}

/* Keep the register table visually tied to the form size */
.news-ticker-register{
  border-radius:10px!important;
}

.news-ticker-register .table-scroll{
  max-height:280px!important;
  overflow:auto!important;
}

/* Responsive fallback */
@media(max-width:760px){
  .news-ticker-editor-grid{
    grid-template-columns:1fr!important;
  }
  .news-ticker-editor-grid label.full{
    grid-column:auto!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.39 — Single Header News Ticker Screen
   ========================================================= */

/* No standalone page-title card for this screen. */
.news-ticker-management > .page-title{
  display:none!important;
}

/*
  One single row:
  actions | centered title | count
*/
.news-ticker-toolbar-single{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:48px!important;
  padding:6px 10px!important;
  margin:0!important;
}

.news-ticker-toolbar-single .toolbar-actions{
  justify-self:start!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:7px!important;
}

.news-ticker-toolbar-title{
  justify-self:center!important;
  display:grid!important;
  place-items:center!important;
  gap:1px!important;
  min-width:220px!important;
  text-align:center!important;
}

.news-ticker-toolbar-title b{
  color:#174f66!important;
  font-size:calc(13px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.2!important;
}

.news-ticker-toolbar-title small{
  color:#748b95!important;
  font-size:calc(7.8px * var(--font-scale,1))!important;
  font-weight:700!important;
}

.news-ticker-toolbar-single .news-ticker-count{
  justify-self:end!important;
}

/* Editor no longer has its own header/action rows. */
.news-ticker-editor-card{
  grid-template-columns:1fr!important;
  grid-template-areas:
    "preview"
    "fields"!important;
  gap:8px!important;
  padding:10px!important;
  border-radius:10px!important;
}

.news-ticker-editor-card > header,
.news-ticker-editor-card > .modal-actions{
  display:none!important;
}

/* Preview now starts directly at the top of the editor. */
.news-ticker-admin-preview{
  margin:0!important;
}

/* Form follows directly, without an extra full-width action strip. */
.news-ticker-editor-grid{
  margin:0!important;
}

/* Keep list and editor visually aligned. */
.news-ticker-editor-card,
.news-ticker-register,
.news-ticker-toolbar-single{
  width:100%!important;
  max-width:1060px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:820px){
  .news-ticker-toolbar-single{
    grid-template-columns:1fr!important;
  }
  .news-ticker-toolbar-single .toolbar-actions,
  .news-ticker-toolbar-title,
  .news-ticker-toolbar-single .news-ticker-count{
    justify-self:stretch!important;
  }
  .news-ticker-toolbar-title{
    order:-1!important;
  }
  .news-ticker-toolbar-single .toolbar-actions{
    justify-content:center!important;
  }
  .news-ticker-toolbar-single .news-ticker-count{
    justify-content:center!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.40 — News Ticker 4-Field Row Alignment
   Below message field: 4 equal fields per row (2 in each half)
   ========================================================= */

/*
  User requirement:
  after "نص الخبر", keep the same overall card width, but make the remaining
  area denser: each half of the screen contains two aligned fields per row.
  Implementation = 4 equal columns on desktop, while message stays full-width.
*/
.news-ticker-editor-card,
.news-ticker-register,
.news-ticker-toolbar-single{
  max-width:1060px!important;
}

.news-ticker-editor-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px 8px!important;
  align-items:start!important;
}

.news-ticker-editor-grid label.full{
  grid-column:1/-1!important;
}

/* Make every control equal and compact */
.news-ticker-editor-grid label{
  min-width:0!important;
}

.news-ticker-editor-grid label > span{
  font-size:calc(7.9px * var(--font-scale,1))!important;
  line-height:1.15!important;
  margin-bottom:2px!important;
}

.news-ticker-editor-grid input:not([type=color]):not([type=checkbox]),
.news-ticker-editor-grid select{
  min-height:30px!important;
  height:30px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  font-size:calc(8.9px * var(--font-scale,1))!important;
}

.news-ticker-editor-grid textarea{
  min-height:70px!important;
  max-height:92px!important;
  padding:7px 9px!important;
  border-radius:8px!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}

.news-color-field > div{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:5px!important;
}

.news-color-field input[type=color]{
  width:34px!important;
  min-width:34px!important;
  height:30px!important;
  min-height:30px!important;
}

.news-active-check{
  min-height:30px!important;
  padding:3px 7px!important;
  align-self:end!important;
}

/* Keep the activation row tidy at the end */
.news-active-check span{
  font-size:calc(8.3px * var(--font-scale,1))!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* On medium screens, fall back to two columns cleanly */
@media(max-width:980px){
  .news-ticker-editor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Small screens still stack safely */
@media(max-width:760px){
  .news-ticker-editor-grid{
    grid-template-columns:1fr!important;
  }
  .news-ticker-editor-grid label.full{
    grid-column:auto!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.41 — Compact Company Settings
   ========================================================= */

.company-settings-page{
  max-width:1060px!important;
  margin:0 auto!important;
  display:grid!important;
  gap:8px!important;
}

.company-settings-toolbar{
  max-width:1060px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  min-height:48px!important;
  padding:6px 10px!important;
}

.company-settings-toolbar > .primary-button{
  justify-self:end!important;
  min-width:92px!important;
}

.company-settings-toolbar-side{
  min-width:92px!important;
}

.company-settings-title{
  justify-self:center!important;
  display:grid!important;
  place-items:center!important;
  gap:1px!important;
  text-align:center!important;
}

.company-settings-title b{
  color:#174f66!important;
  font-size:calc(13px * var(--font-scale,1))!important;
  font-weight:900!important;
}

.company-settings-title small{
  color:#768b94!important;
  font-size:calc(7.8px * var(--font-scale,1))!important;
}

.company-settings-form{
  max-width:1060px!important;
  margin:0 auto!important;
  padding:10px!important;
  border:1px solid #d3dfe4!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(17,53,72,.04)!important;
}

.company-settings-form .plain-fieldset{
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.company-settings-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}

.company-setting-field{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}

.company-setting-field > span{
  color:#4c6d7a!important;
  font-size:calc(8.2px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.15!important;
}

.company-setting-field input{
  width:100%!important;
  height:31px!important;
  min-height:31px!important;
  padding:3px 8px!important;
  border:1px solid #c8d7de!important;
  border-radius:7px!important;
  background:#fff!important;
  font-size:calc(9px * var(--font-scale,1))!important;
}

/* Balanced spans */
.company-setting-company-name_ar,
.company-setting-company-name_en{
  grid-column:span 2!important;
}

.company-setting-company-address{
  grid-column:span 2!important;
}

.company-setting-company-logo_url{
  grid-column:span 2!important;
}

/* phone/email/tax/timezone naturally share the four-column row */

.company-settings-links{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:10px!important;
  padding:7px 9px!important;
  border:1px solid #d8e3e8!important;
  border-radius:8px!important;
  background:#f8fbfd!important;
}

.company-settings-links > div{
  display:grid!important;
  gap:1px!important;
}

.company-settings-links b{
  color:#315f72!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
}

.company-settings-links span{
  color:#7a8e96!important;
  font-size:calc(7.7px * var(--font-scale,1))!important;
}

.company-settings-links .secondary-button{
  min-height:31px!important;
  padding:0 10px!important;
}

@media(max-width:900px){
  .company-settings-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .company-setting-company-name_ar,
  .company-setting-company-name_en,
  .company-setting-company-address,
  .company-setting-company-logo_url{
    grid-column:span 2!important;
  }
}

@media(max-width:620px){
  .company-settings-toolbar{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .company-settings-toolbar > .primary-button,
  .company-settings-title{
    justify-self:stretch!important;
  }

  .company-settings-toolbar-side{
    display:none!important;
  }

  .company-settings-grid{
    grid-template-columns:1fr!important;
  }

  .company-setting-company-name_ar,
  .company-setting-company-name_en,
  .company-setting-company-address,
  .company-setting-company-logo_url{
    grid-column:auto!important;
  }

  .company-settings-links{
    align-items:stretch!important;
    flex-direction:column!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.42 — New Document Form ONLY
   Scoped exclusively to "تسجيل وثيقة جديدة"
   ========================================================= */

/* Do not alter edit/view/archive forms. */
.enterprise-document-form-new{
  gap:7px!important;
}

/* Make the NEW document modal feel like a desktop form, not a long mobile form. */
.enterprise-document-form-new .enterprise-document-fieldset{
  display:grid!important;
  gap:7px!important;
}

.enterprise-document-form-new .enterprise-document-form-section{
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Compact section headers. */
.enterprise-document-form-new .form-section-title{
  min-height:28px!important;
  margin:0 0 5px!important;
  padding:4px 8px!important;
  border:1px solid #d3dfe4!important;
  border-radius:6px!important;
  background:#eef5f8!important;
  color:#315d70!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  font-weight:900!important;
}

/*
  Core requirement:
  NEW document form uses 4 equal columns.
  This lets each half of the screen carry two aligned fields.
*/
.enterprise-document-form-new .enterprise-document-form-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px 8px!important;
  align-items:start!important;
}

/* Existing "full" fields become intelligently sized ONLY in New mode. */
.enterprise-document-form-new .enterprise-document-form-grid label.full{
  grid-column:span 2!important;
}

/* Subject deserves half-width, not the entire modal. */
.enterprise-document-form-new
.enterprise-document-form-section:first-of-type
.enterprise-document-form-grid label.full{
  grid-column:span 2!important;
}

/* Summary is the only text-heavy field: keep half-width and compact height. */
.enterprise-document-form-new textarea{
  min-height:56px!important;
  max-height:72px!important;
  padding:6px 8px!important;
  border-radius:6px!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  line-height:1.45!important;
}

/* Equal compact controls. */
.enterprise-document-form-new .enterprise-document-form-grid label{
  gap:3px!important;
  min-width:0!important;
}

.enterprise-document-form-new .enterprise-document-form-grid label>span{
  font-size:calc(7.8px * var(--font-scale,1))!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#496a78!important;
}

.enterprise-document-form-new .enterprise-document-form-grid input,
.enterprise-document-form-new .enterprise-document-form-grid select{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  height:30px!important;
  padding:3px 7px!important;
  border:1px solid #c7d5dc!important;
  border-radius:6px!important;
  background:#fff!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
}

/* Make the New modal itself use space efficiently. */
.enterprise-document-form-new{
  padding:0!important;
}

.enterprise-document-form-new + *{
  margin-top:0!important;
}

/* New form bottom actions are compact, but other modes stay unchanged. */
.enterprise-document-form-new .enterprise-document-form-actions{
  min-height:42px!important;
  padding:5px 0 0!important;
  margin:0!important;
  gap:8px!important;
  border-top:1px solid #e0e8ec!important;
}

.enterprise-document-form-new .enterprise-document-form-actions button{
  min-height:32px!important;
  padding:4px 14px!important;
  border-radius:6px!important;
}

/* Responsive fallbacks for NEW form only. */
@media(max-width:1000px){
  .enterprise-document-form-new .enterprise-document-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .enterprise-document-form-new .enterprise-document-form-grid label.full{
    grid-column:1/-1!important;
  }
}

@media(max-width:650px){
  .enterprise-document-form-new .enterprise-document-form-grid{
    grid-template-columns:1fr!important;
  }

  .enterprise-document-form-new .enterprise-document-form-grid label.full{
    grid-column:auto!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.45 — Modal Workspace Bounds Fix
   Modal windows are bounded to the real app workspace.
   ========================================================= */

/*
  JS measures .app-workspace and sets top/right/bottom/left.
  The modal therefore starts BELOW the fixed ribbon/ticker and
  ends ABOVE the fixed status bar.
*/
.modal-backdrop.modal-workspace-bounded{
  inset:auto!important;
  display:grid!important;
  place-items:start center!important;
  align-content:start!important;
  padding:8px 10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

/* Never vertically center a long dialog behind the fixed ribbon. */
.modal-workspace-bounded > .modal-card{
  margin:0!important;
  min-height:0!important;
  max-height:100%!important;
  height:auto!important;
  align-self:start!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

/* Header always remains visible; only body scrolls. */
.modal-workspace-bounded > .modal-card > .modal-header{
  flex:0 0 auto!important;
  min-height:45px!important;
}

.modal-workspace-bounded > .modal-card > .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}

/* Technical design is a long dialog: consume the available workspace safely. */
.modal-workspace-bounded > .modal-card:has(.technical-workspace-form){
  width:min(1040px,100%)!important;
  height:100%!important;
  max-height:100%!important;
}

.modal-workspace-bounded > .modal-card:has(.technical-workspace-form) > .modal-body{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
}

/* Keep action rows reachable at the bottom of long forms. */
.modal-workspace-bounded .technical-workspace-form .modal-actions{
  position:relative!important;
  bottom:auto!important;
}

/* Mobile remains bounded to workspace as well. */
@media(max-width:700px){
  .modal-backdrop.modal-workspace-bounded{
    padding:4px!important;
  }
  .modal-workspace-bounded > .modal-card{
    width:100%!important;
    max-width:100%!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.46 — Modal Fixed Under Ribbon
   ========================================================= */

/* Override the incorrect workspace-bound behavior from .45 */
.modal-backdrop.modal-fixed-under-ribbon{
  position:fixed!important;
  z-index:10000!important;
  top:calc(var(--active-ticker-height,0px) + 70px)!important;
  right:0!important;
  bottom:27px!important;
  left:0!important;
  width:auto!important;
  height:auto!important;
  display:grid!important;
  place-items:start center!important;
  align-content:start!important;
  padding:8px 10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:rgba(7,24,41,.72)!important;
}

/* If ticker is not active, top is only ribbon height. */
.app-shell:not(.has-news-ticker) .modal-backdrop.modal-fixed-under-ribbon{
  top:70px!important;
}

/* Modal card is always anchored at top of available area */
.modal-fixed-under-ribbon > .modal-card{
  margin:0!important;
  align-self:start!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
}

/* Wide dialogs use the available desktop width without touching edges */
.modal-fixed-under-ribbon > .modal-card.modal-wide{
  width:min(1040px,calc(100vw - 24px))!important;
}

/* Header remains visible; content alone scrolls */
.modal-fixed-under-ribbon > .modal-card > .modal-header{
  flex:0 0 auto!important;
  position:relative!important;
  top:auto!important;
  min-height:45px!important;
  z-index:2!important;
}

.modal-fixed-under-ribbon > .modal-card > .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}

/* Technical design occupies the available height */
.modal-fixed-under-ribbon > .modal-card:has(.technical-workspace-form){
  height:100%!important;
  max-height:100%!important;
}

.modal-fixed-under-ribbon > .modal-card:has(.technical-workspace-form) > .modal-body{
  height:auto!important;
  min-height:0!important;
  overflow-y:auto!important;
}

/* Neutralize previous .45 bounds class in case browser retains stale rules */
.modal-backdrop.modal-workspace-bounded{
  top:calc(var(--active-ticker-height,0px) + 70px)!important;
  right:0!important;
  bottom:27px!important;
  left:0!important;
}

@media(max-width:700px){
  .modal-backdrop.modal-fixed-under-ribbon{
    padding:4px!important;
  }
  .modal-fixed-under-ribbon > .modal-card,
  .modal-fixed-under-ribbon > .modal-card.modal-wide{
    width:100%!important;
    max-width:100%!important;
  }
}


/* GreenEco 3.3.16.44.2.47 — PV String automatic sizing status only */
.technical-stage-string-config .technical-pv-string-warning{
  grid-column:1/-1;
  min-height:28px;
  display:flex;
  align-items:center;
  padding:4px 7px;
  border:1px solid #d5bf7a;
  border-radius:4px;
  background:#fff8df;
  color:#715812;
  font-size:calc(8px * var(--font-scale,1));
  font-weight:800;
  line-height:1.35;
}
.technical-stage-string-config .technical-pv-string-warning.ok{
  border-color:#9bc9ad;
  background:#edf8f1;
  color:#21613b;
}


/* =========================================================
   GreenEco 3.3.16.44.2.48 — Technical Numeric Input Fix
   ========================================================= */
.technical-workspace-form .technical-number-input{
  direction:ltr!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
  unicode-bidi:plaintext!important;
}

.technical-workspace-form input[type=number]{
  direction:ltr!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.49 — Technical Header Actions Cleanup
   ========================================================= */

/* Yellow PV message is removed completely from the working screen. */
.technical-workspace-form .technical-pv-string-warning{
  display:none!important;
}

/* The old workflow row is no longer part of the technical design screen. */
.technical-workspace-form .technical-workflow-strip{
  display:none!important;
}

/* All operational actions live in one compact top row. */
.technical-design-header-tools-unified{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  min-width:0!important;
}

.technical-design-header-tools-unified button{
  min-height:31px!important;
  height:31px!important;
  padding:3px 8px!important;
  border-radius:5px!important;
  white-space:nowrap!important;
  font-size:calc(8.4px * var(--font-scale,1))!important;
}

.technical-design-header-tools-unified .technical-header-save{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
}

.technical-design-header-tools-unified .technical-header-print,
.technical-design-header-tools-unified .technical-header-cancel{
  min-width:58px!important;
}

/* No reserved bottom action strip in the technical form. */
.technical-workspace-form > .modal-actions{
  display:none!important;
}

@media(max-width:1100px){
  .technical-design-header-tools-unified{
    gap:3px!important;
  }
  .technical-design-header-tools-unified button{
    padding-inline:6px!important;
    font-size:calc(7.8px * var(--font-scale,1))!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.50 — Technical English Digits
   ========================================================= */

/* Technical numeric values are literal ASCII text, never browser-localized digits. */
.technical-workspace-form .technical-number-input{
  direction:ltr!important;
  text-align:center!important;
  unicode-bidi:isolate!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:0!important;
}

/* Calculated fields use the exact same English-digit presentation. */
.technical-workspace-form .calculated-field .technical-number-input{
  direction:ltr!important;
  text-align:center!important;
}

/* Computed numbers inside technical cards/summaries stay LTR and readable. */
.technical-workspace-form .technical-mini-result b,
.technical-workspace-form .technical-summary-line b,
.technical-workspace-form .technical-load-cards strong,
.technical-workspace-form .technical-stage-calculated input,
.technical-workspace-form .technical-stage-summary b{
  unicode-bidi:isolate!important;
  direction:ltr!important;
  font-variant-numeric:tabular-nums!important;
}

/* Technical designs table numeric cells render consistently. */
.engineering-page .data-table td{
  font-variant-numeric:tabular-nums!important;
}

/* GreenEco 3.3.16.44.2.51 — Engineering Reality Guard */
.engineering-reality-guard{margin:8px 0;border:1px solid #b8c9d0;border-radius:7px;background:#fff;overflow:hidden}
.engineering-reality-guard>header{min-height:34px;padding:5px 9px;display:flex;align-items:center;justify-content:space-between;background:#eef5f8;border-bottom:1px solid #cbd8dd}
.engineering-reality-guard>header strong{color:#194e64;font-size:calc(9.5px * var(--font-scale,1))}
.engineering-reality-guard>header b{padding:3px 8px;border-radius:999px;font-size:calc(8px * var(--font-scale,1))}
.engineering-reality-guard.ready>header b{background:#e4f5ea;color:#17663b}
.engineering-reality-guard.not-ready>header b{background:#fdebea;color:#8b3030}
.engineering-reality-guard>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:7px 9px}
.engineering-reality-guard span{min-height:27px;display:flex;align-items:center;padding:4px 7px;border:1px solid #e0e7ea;border-radius:5px;background:#fafcfd;font-size:calc(7.8px * var(--font-scale,1));line-height:1.35}
.engineering-reality-guard .check-ok{border-color:#b9d8c4;background:#f2faf5;color:#245f3a}
.engineering-reality-guard .check-error{border-color:#e2b7b7;background:#fff4f4;color:#893636}
.engineering-reality-guard .check-info{border-color:#cad8df;background:#f6fafc;color:#566d78}
@media(max-width:800px){.engineering-reality-guard>div{grid-template-columns:1fr}}


/* =========================================================
   GreenEco 3.3.16.44.2.54 — Inline Basic Input Label
   ========================================================= */
.technical-workspace-form .technical-inline-legend{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}

.technical-workspace-form .technical-inline-legend>span{
  margin-inline-start:8px!important;
  padding-inline-start:8px!important;
  border-inline-start:1px solid rgba(0,0,0,.16)!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  font-weight:500!important;
  opacity:.72!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.55 — Basic Input Label No Shade
   ========================================================= */
.technical-workspace-form .technical-inline-legend>span{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
  border-radius:0!important;
  outline:none!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.56 — Use Empty Space Trial
   ========================================================= */
.technical-workspace-form .technical-legend-with-metrics{
  width:calc(100% - 14px)!important;
  min-width:0!important;
}

.technical-workspace-form .technical-inline-legend .technical-inline-label{
  margin-inline-start:8px!important;
  padding-inline-start:8px!important;
  border-inline-start:1px solid rgba(0,0,0,.16)!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  opacity:.72!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  font-weight:500!important;
}

.technical-workspace-form .technical-inline-legend .technical-live-metrics{
  margin-inline-start:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  min-width:0!important;
  opacity:1!important;
}

.technical-workspace-form .technical-live-metrics i{
  font-style:normal!important;
  min-height:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:1px 6px!important;
  border:1px solid #cbd8dd!important;
  border-radius:999px!important;
  background:#f7fafb!important;
  color:#22556a!important;
  font-size:calc(7.7px * var(--font-scale,1))!important;
  font-weight:700!important;
  white-space:nowrap!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  font-variant-numeric:tabular-nums!important;
}

/* Key summary values now use the title-row empty space, so the duplicated summary blocks are hidden. */
.technical-workspace-form .technical-solar-section > .technical-stage-summary,
.technical-workspace-form .technical-battery-section > .technical-stage-summary,
.technical-workspace-form .technical-inverter-section > .technical-stage-summary{
  display:none!important;
}

.technical-workspace-form .technical-solar-section,
.technical-workspace-form .technical-battery-section,
.technical-workspace-form .technical-inverter-section{
  gap:4px!important;
}

@media(max-width:1180px){
  .technical-workspace-form .technical-live-metrics i:nth-child(2){
    display:none!important;
  }
}
@media(max-width:900px){
  .technical-workspace-form .technical-live-metrics{
    display:none!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.58 — Technical Screens Recovery
   ========================================================= */

/* Safe recovery: keep JSX structure intact and hide only redundant
   final-summary stages inside the three intended technical sections. */
.technical-workspace-form .technical-solar-section .technical-stage-summary,
.technical-workspace-form .technical-battery-section .technical-stage-summary,
.technical-workspace-form .technical-inverter-section .technical-stage-summary{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* Ensure no vertical gap remains where the hidden blocks were. */
.technical-workspace-form .technical-solar-section,
.technical-workspace-form .technical-battery-section,
.technical-workspace-form .technical-inverter-section{
  gap:4px!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.59 — Independent Technical Columns
   ========================================================= */
.technical-workspace-form .technical-engineering-groups.technical-independent-columns{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:start!important;
}

.technical-workspace-form .technical-engineering-column{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-width:0!important;
  align-self:start!important;
}

.technical-workspace-form .technical-engineering-column > .technical-engineering-section{
  width:100%!important;
  margin:0!important;
}

@media(max-width:1000px){
  .technical-workspace-form .technical-engineering-groups.technical-independent-columns{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.60 — Swap Sections 03 and 04
   ========================================================= */
/* Layout only:
   column 1: 01 Solar -> 04 Protection
   column 2: 02 Battery -> 03 Inverter
*/


/* =========================================================
   GreenEco 3.3.16.44.2.61 — Universal Print Foundation
   ========================================================= */

@page greenecoGenericPortrait{
  size:A4 portrait;
  margin:9mm 8mm 10mm;
}
@page greenecoGenericLandscape{
  size:A4 landscape;
  margin:8mm 7mm 9mm;
}

@media print{

  body.greeneco-generic-print-mode:not(.greeneco-generic-print-landscape) .page-container{
    page:greenecoGenericPortrait!important;
  }

  body.greeneco-generic-print-mode.greeneco-generic-print-landscape .page-container{
    page:greenecoGenericLandscape!important;
  }

  /* Never print application chrome or interaction-only furniture. */
  body.greeneco-generic-print-mode .app-header,
  body.greeneco-generic-print-mode .ribbon-nav,
  body.greeneco-generic-print-mode .status-bar,
  body.greeneco-generic-print-mode .news-ticker,
  body.greeneco-generic-print-mode .toolbar,
  body.greeneco-generic-print-mode .table-controls,
  body.greeneco-generic-print-mode .table-footer,
  body.greeneco-generic-print-mode .report-actions,
  body.greeneco-generic-print-mode .report-filters,
  body.greeneco-generic-print-mode .filter-strip,
  body.greeneco-generic-print-mode .context-actions,
  body.greeneco-generic-print-mode .modal-actions,
  body.greeneco-generic-print-mode button,
  body.greeneco-generic-print-mode .no-print{
    display:none!important;
  }

  body.greeneco-generic-print-mode,
  body.greeneco-generic-print-mode #root,
  body.greeneco-generic-print-mode .app-shell,
  body.greeneco-generic-print-mode .app-workspace{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  body.greeneco-generic-print-mode .page-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  /* Page title becomes a compact report heading. */
  body.greeneco-generic-print-mode .page-title{
    min-height:0!important;
    margin:0 0 4mm!important;
    padding:2.5mm 11mm 2.5mm 2mm!important;
    border:0!important;
    border-bottom:1.2pt solid #315c6d!important;
    box-shadow:none!important;
    background:#fff!important;
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  body.greeneco-generic-print-mode .page-title h1{
    font-size:14pt!important;
    line-height:1.25!important;
  }
  body.greeneco-generic-print-mode .page-title p{
    font-size:7.5pt!important;
    line-height:1.35!important;
  }
  body.greeneco-generic-print-mode .page-title-icon{
    width:8mm!important;
    height:8mm!important;
  }

  /* All table wrappers must release screen scrolling/clipping. */
  body.greeneco-generic-print-mode .table-panel,
  body.greeneco-generic-print-mode .table-scroll,
  body.greeneco-generic-print-mode .ptr-table-wrap,
  body.greeneco-generic-print-mode .report-sheet{
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    margin:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  body.greeneco-generic-print-mode table.greeneco-print-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
    border-spacing:0!important;
    font-size:7.2pt!important;
    direction:rtl!important;
  }

  /* Screen colgroup widths are not reliable on A4 paper. */
  body.greeneco-generic-print-mode table.greeneco-print-table col{
    width:auto!important;
    min-width:0!important;
  }

  body.greeneco-generic-print-mode table.greeneco-print-table thead{
    display:table-header-group!important;
  }
  body.greeneco-generic-print-mode table.greeneco-print-table tfoot{
    display:table-footer-group!important;
  }
  body.greeneco-generic-print-mode table.greeneco-print-table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.greeneco-generic-print-mode table.greeneco-print-table th,
  body.greeneco-generic-print-mode table.greeneco-print-table td{
    padding:1.2mm 1.35mm!important;
    border:.55pt solid #7d898e!important;
    vertical-align:top!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-height:1.3!important;
    color:#111!important;
    background:#fff!important;
  }
  body.greeneco-generic-print-mode table.greeneco-print-table th{
    font-size:7pt!important;
    font-weight:800!important;
    background:#edf1f3!important;
    color:#173e4e!important;
  }

  /* Wider tables get slightly tighter typography in landscape mode. */
  body.greeneco-generic-print-mode.greeneco-generic-print-landscape table.greeneco-print-table{
    font-size:6.7pt!important;
  }
  body.greeneco-generic-print-mode.greeneco-generic-print-landscape table.greeneco-print-table th,
  body.greeneco-generic-print-mode.greeneco-generic-print-landscape table.greeneco-print-table td{
    padding:1mm 1.1mm!important;
  }

  /* Forms/reports: clean printable values instead of desktop widgets. */
  body.greeneco-generic-print-mode input,
  body.greeneco-generic-print-mode select,
  body.greeneco-generic-print-mode textarea{
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    background:#fff!important;
    border:0!important;
    border-bottom:.5pt solid #a5adb1!important;
    box-shadow:none!important;
    border-radius:0!important;
    font-size:7.5pt!important;
    min-height:auto!important;
    height:auto!important;
    padding:.7mm!important;
  }

  body.greeneco-generic-print-mode section,
  body.greeneco-generic-print-mode article,
  body.greeneco-generic-print-mode fieldset{
    box-shadow:none!important;
  }

  body.greeneco-generic-print-mode h1,
  body.greeneco-generic-print-mode h2,
  body.greeneco-generic-print-mode h3,
  body.greeneco-generic-print-mode h4,
  body.greeneco-generic-print-mode legend{
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }

  /* ---------------------------------------------
     Task report print / selected-only correction
     --------------------------------------------- */
  body.task-report-print-mode .task-report-commandbar,
  body.task-report-print-mode .task-report-filter-panel,
  body.task-report-print-mode .task-report-results .table-controls,
  body.task-report-print-mode .task-report-results .table-footer{
    display:none!important;
  }

  /* Selection checkbox column + action column do not belong in report output. */
  body.task-report-print-mode .task-report-results table th:first-child,
  body.task-report-print-mode .task-report-results table td:first-child,
  body.task-report-print-mode .task-report-results table th:last-child,
  body.task-report-print-mode .task-report-results table td:last-child{
    display:none!important;
  }

  /* "Print selected" now prints selected rendered rows only. */
  body.task-report-selected-print-mode .task-report-results tbody tr:not(.selected-row){
    display:none!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.62 — Company Logo Universal Print
   ========================================================= */

.company-logo-upload-card{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #d3dde1;
  border-radius:4px;
  background:#fbfcfc;
}
.company-logo-preview{
  height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #d5dee2;
  border-radius:4px;
  background:#fff;
}
.company-logo-preview img{
  display:block;
  max-width:100%;
  max-height:58px;
  object-fit:contain;
}
.company-logo-preview span{
  font-size:9px;
  color:#7a888e;
}
.company-logo-upload-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:0;
}
.company-logo-upload-info>b{
  color:#173f50;
  font-size:11px;
}
.company-logo-upload-info>small{
  color:#67777e;
  font-size:9px;
}
.company-logo-upload-button{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  min-height:29px!important;
  padding:4px 10px!important;
}
.company-logo-upload-button input[type="file"]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
}
@media(max-width:700px){
  .company-logo-upload-card{grid-template-columns:1fr}
  .company-logo-preview{width:120px}
}

/* Screen: global print header is invisible. */
.greeneco-global-print-header{
  display:none;
}

@media print{
  /* Any legacy GEC print-brand box now accepts the uploaded company logo. */
  .print-brand{
    overflow:hidden!important;
  }
  .print-brand .greeneco-print-brand-image{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:28mm!important;
    max-height:18mm!important;
    object-fit:contain!important;
    margin:auto!important;
  }

  /* Universal header for screens that do not already own a dedicated print header.
     It is intentionally compact so it does not waste vertical print space. */
  body.greeneco-print-branding-active .greeneco-global-print-header{
    position:fixed!important;
    top:0!important;
    left:8mm!important;
    right:8mm!important;
    z-index:2147483000!important;
    min-height:14mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4mm!important;
    padding:1.5mm 0 1.5mm!important;
    border-bottom:.6pt solid #9aa7ad!important;
    background:#fff!important;
    color:#173f50!important;
    direction:rtl!important;
  }
  body.greeneco-print-branding-active .greeneco-global-print-logo{
    width:25mm!important;
    height:11mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 25mm!important;
  }
  body.greeneco-print-branding-active .greeneco-global-print-logo img{
    display:block!important;
    max-width:25mm!important;
    max-height:11mm!important;
    object-fit:contain!important;
  }
  body.greeneco-print-branding-active .greeneco-global-print-company{
    display:flex!important;
    flex-direction:column!important;
    gap:.5mm!important;
    min-width:0!important;
  }
  body.greeneco-print-branding-active .greeneco-global-print-company b{
    font-size:9pt!important;
    line-height:1.2!important;
  }
  body.greeneco-print-branding-active .greeneco-global-print-company span{
    font-size:6.8pt!important;
    line-height:1.2!important;
    color:#5c6c73!important;
    direction:ltr!important;
    text-align:right!important;
  }

  /* Generic lists/tables need a little room under the fixed logo header. */
  body.greeneco-generic-print-mode.greeneco-print-branding-active .page-container{
    padding-top:16mm!important;
  }

  /* Dedicated sheets already have their own header; avoid a second floating header.
     Their .print-brand placeholder receives the uploaded logo instead. */
  body.meeting-print-mode .greeneco-global-print-header,
  body.meeting-report-print-mode .greeneco-global-print-header,
  body.meeting-followup-print-mode .greeneco-global-print-header,
  body.enterprise-document-print-mode .greeneco-global-print-header,
  body.technical-report-print-mode .greeneco-global-print-header,
  body.engineering-punch-print-mode .greeneco-global-print-header,
  body.engineering-closeout-print-mode .greeneco-global-print-header{
    display:none!important;
  }

  /* Technical design sheet has no legacy print-brand placeholder,
     so keep the universal logo header and reserve space for it. */
  body.technical-design-print-mode.greeneco-print-branding-active .technical-print-sheet{
    padding-top:16mm!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.63 — Universal Branded Print Header
   ========================================================= */

@media print{

  /* One institutional header for EVERY printable screen. */
  body.greeneco-print-branding-active .greeneco-global-print-header{
    display:grid!important;
    grid-template-columns:28mm minmax(0,1fr) 28mm!important;
    align-items:center!important;
    position:fixed!important;
    top:0!important;
    left:7mm!important;
    right:7mm!important;
    z-index:2147483640!important;
    min-height:18mm!important;
    padding:1.5mm 0 1.5mm!important;
    border-bottom:1pt solid #63777f!important;
    background:#fff!important;
    color:#173f50!important;
    direction:rtl!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo{
    grid-column:1!important;
    width:28mm!important;
    height:15mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:none!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo img{
    display:block!important;
    max-width:27mm!important;
    max-height:14mm!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company{
    grid-column:2!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    min-width:0!important;
    gap:.6mm!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company b{
    font-size:11pt!important;
    line-height:1.15!important;
    font-weight:800!important;
    color:#173f50!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company span{
    font-size:7pt!important;
    line-height:1.15!important;
    color:#617178!important;
    direction:ltr!important;
    text-align:center!important;
  }

  /* Reserve a clean area beneath the universal header in all common print sheets. */
  body.greeneco-print-branding-active .page-container,
  body.greeneco-print-branding-active .technical-print-sheet,
  body.greeneco-print-branding-active .report-sheet,
  body.greeneco-print-branding-active .project-technical-report,
  body.greeneco-print-branding-active .meeting-report-full-print-sheet,
  body.greeneco-print-branding-active .meeting-followup-print-sheet,
  body.greeneco-print-branding-active .meeting-issues-print-sheet,
  body.greeneco-print-branding-active .meeting-subject-print-sheet,
  body.greeneco-print-branding-active .meeting-goals-print-sheet,
  body.greeneco-print-branding-active .meeting-topics-print-sheet,
  body.greeneco-print-branding-active .meeting-results-print-sheet,
  body.greeneco-print-branding-active .meeting-preparation-print-sheet,
  body.greeneco-print-branding-active .enterprise-meeting-print-sheet,
  body.greeneco-print-branding-active .enterprise-document-print-sheet,
  body.greeneco-print-branding-active .engineering-punch-print-sheet,
  body.greeneco-print-branding-active .engineering-closeout-print-sheet,
  body.greeneco-print-branding-active .engineering-handover-print-sheet{
    padding-top:22mm!important;
  }

  /*
   Dedicated legacy sheets used "GEC" boxes.
   Hide them while printing so the company logo appears only once,
   in the same position on every report/form/table.
  */
  body.greeneco-print-branding-active .print-brand{
    display:none!important;
  }

  /* Remove the old exceptions introduced in .62:
     the global header now intentionally appears in ALL print modes. */
  body.meeting-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.meeting-report-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.meeting-followup-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.enterprise-document-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.technical-report-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.engineering-punch-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.engineering-closeout-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.technical-design-print-mode.greeneco-print-branding-active .greeneco-global-print-header{
    display:grid!important;
  }

  /* Prevent report headings from colliding with the corporate header. */
  body.greeneco-print-branding-active .print-sheet-header,
  body.greeneco-print-branding-active .project-technical-report-header,
  body.greeneco-print-branding-active .meeting-report-print-header,
  body.greeneco-print-branding-active article>header:first-child{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.64 — Professional Print Layout
   Fixes shrink-to-fit / tiny report output
   ========================================================= */

@media print{

  html,body,#root{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    zoom:1!important;
    transform:none!important;
    background:#fff!important;
  }

  body *{
    box-sizing:border-box!important;
  }

  .app-shell,
  .app-workspace,
  .page-container,
  .report-sheet,
  .project-technical-report,
  .technical-print-sheet,
  .meeting-report-print-area,
  .meeting-report-full-print-sheet,
  .meeting-followup-print-sheet,
  .meeting-subject-print-sheet,
  .meeting-goals-print-sheet,
  .meeting-topics-print-sheet,
  .meeting-results-print-sheet,
  .meeting-issues-print-sheet,
  .meeting-preparation-print-sheet,
  .enterprise-meeting-print-sheet,
  .enterprise-document-print-sheet{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    transform:none!important;
    zoom:1!important;
  }

  /* Corporate print header occupies the page margin, not report body space. */
  body.greeneco-print-branding-active .greeneco-global-print-header{
    position:fixed!important;
    top:4mm!important;
    left:8mm!important;
    right:8mm!important;
    width:auto!important;
    height:19mm!important;
    min-height:19mm!important;
    display:grid!important;
    grid-template-columns:32mm minmax(0,1fr) 32mm!important;
    align-items:center!important;
    gap:3mm!important;
    padding:0 0 2mm!important;
    margin:0!important;
    border-bottom:1.1pt solid #506a75!important;
    background:#fff!important;
    z-index:2147483640!important;
    direction:rtl!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo{
    grid-column:1!important;
    width:32mm!important;
    height:16mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo img{
    width:auto!important;
    height:auto!important;
    max-width:31mm!important;
    max-height:15mm!important;
    object-fit:contain!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company{
    grid-column:2!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company b{
    font-size:12pt!important;
    font-weight:800!important;
    line-height:1.25!important;
    color:#173f50!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company span{
    margin-top:1mm!important;
    font-size:7.5pt!important;
    color:#65757c!important;
    line-height:1.2!important;
  }

  /* Page margin already reserves header space. Remove old artificial padding. */
  body.greeneco-print-branding-active .page-container,
  body.greeneco-print-branding-active .technical-print-sheet,
  body.greeneco-print-branding-active .report-sheet,
  body.greeneco-print-branding-active .project-technical-report,
  body.greeneco-print-branding-active .meeting-report-full-print-sheet,
  body.greeneco-print-branding-active .meeting-followup-print-sheet,
  body.greeneco-print-branding-active .meeting-issues-print-sheet,
  body.greeneco-print-branding-active .meeting-subject-print-sheet,
  body.greeneco-print-branding-active .meeting-goals-print-sheet,
  body.greeneco-print-branding-active .meeting-topics-print-sheet,
  body.greeneco-print-branding-active .meeting-results-print-sheet,
  body.greeneco-print-branding-active .meeting-preparation-print-sheet,
  body.greeneco-print-branding-active .enterprise-meeting-print-sheet,
  body.greeneco-print-branding-active .enterprise-document-print-sheet,
  body.greeneco-print-branding-active .engineering-punch-print-sheet,
  body.greeneco-print-branding-active .engineering-closeout-print-sheet,
  body.greeneco-print-branding-active .engineering-handover-print-sheet{
    padding-top:0!important;
  }

  /* Report title: readable and separated from company header. */
  .page-title,
  .report-sheet>header,
  .project-technical-report-header,
  .meeting-report-print-header,
  .print-sheet-header,
  article>header:first-child{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0 0 4mm!important;
    padding:0 0 2.5mm!important;
    border:0!important;
    border-bottom:.7pt solid #a7b2b7!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .page-title h1,
  .report-sheet>header h1,
  .report-sheet>header h2,
  .project-technical-report-header h2,
  .print-sheet-header h1,
  article>header:first-child h1,
  article>header:first-child h2{
    font-size:13pt!important;
    line-height:1.3!important;
    margin:0!important;
    color:#173f50!important;
  }

  .page-title p,
  .report-sheet>header p,
  .project-technical-report-header p,
  article>header:first-child p{
    font-size:8pt!important;
    line-height:1.3!important;
    margin:1mm 0 0!important;
  }

  /* Critical: release all horizontal screen sizing before print. */
  .table-panel,
  .table-scroll,
  .ptr-table-wrap,
  .report-table,
  .meeting-report-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
  }

  table.greeneco-print-table,
  .data-table,
  .report-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
    border-spacing:0!important;
    transform:none!important;
    zoom:1!important;
  }

  table.greeneco-print-table col,
  .data-table col,
  .report-table col{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }

  table.greeneco-print-table thead,
  .data-table thead,
  .report-table thead{
    display:table-header-group!important;
  }

  table.greeneco-print-table tr,
  .data-table tr,
  .report-table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  table.greeneco-print-table th,
  table.greeneco-print-table td,
  .data-table th,
  .data-table td,
  .report-table th,
  .report-table td{
    height:auto!important;
    min-height:0!important;
    padding:1.6mm 1.4mm!important;
    border:.55pt solid #7b898f!important;
    font-size:8pt!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    overflow:visible!important;
    text-overflow:clip!important;
    vertical-align:middle!important;
    color:#111!important;
    background:#fff!important;
  }

  table.greeneco-print-table th,
  .data-table th,
  .report-table th{
    font-size:7.8pt!important;
    font-weight:800!important;
    background:#e8eef1!important;
    color:#173f50!important;
  }

  body.greeneco-generic-print-landscape table.greeneco-print-table th,
  body.greeneco-generic-print-landscape table.greeneco-print-table td,
  body.greeneco-generic-print-landscape .data-table th,
  body.greeneco-generic-print-landscape .data-table td,
  body.greeneco-generic-print-landscape .report-table th,
  body.greeneco-generic-print-landscape .report-table td{
    font-size:7.6pt!important;
    padding:1.35mm 1.15mm!important;
  }

  /* Never let print-specific elements inherit tiny UI font scaling. */
  .greeneco-global-print-header,
  .greeneco-global-print-header *,
  .page-title,
  .page-title *,
  .report-sheet,
  .report-sheet *,
  .technical-print-sheet,
  .technical-print-sheet *,
  .project-technical-report,
  .project-technical-report *{
    font-size-adjust:none!important;
  }

  /* Hide legacy branding placeholder in favor of the universal corporate header. */
  body.greeneco-print-branding-active .print-brand{
    display:none!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.65 — Task Report Print Hard Reset
   ========================================================= */

@media print{

  /* Absolutely remove all application chrome from paper. */
  body .app-header,
  body .brand-strip,
  body .ribbon-nav,
  body .ribbon,
  body .news-ticker,
  body .system-news-ticker,
  body .ticker-bar,
  body .ticker,
  body .status-bar,
  body .toolbar,
  body .task-report-commandbar,
  body .task-report-filter-panel,
  body .task-report-toolbar,
  body .task-report-filters,
  body .table-controls,
  body .table-footer,
  body nav,
  body aside{
    display:none!important;
    visibility:hidden!important;
  }

  /* Hard reset the task-report page and every wrapper that may carry
     screen sizing / scaling rules. */
  body.task-report-print-mode .task-report-page,
  body.task-report-print-mode .task-report-page *,
  body.greeneco-generic-print-mode .task-report-page,
  body.greeneco-generic-print-mode .task-report-page *{
    transform:none!important;
    scale:none!important;
  }

  body.task-report-print-mode .task-report-page,
  body.greeneco-generic-print-mode .task-report-page{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    zoom:1!important;
    font-size:10pt!important;
    background:#fff!important;
  }

  body.task-report-print-mode .task-report-results,
  body.task-report-print-mode .task-report-results .table-panel,
  body.task-report-print-mode .task-report-results .table-scroll,
  body.greeneco-generic-print-mode .task-report-results,
  body.greeneco-generic-print-mode .task-report-results .table-panel,
  body.greeneco-generic-print-mode .task-report-results .table-scroll{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
    zoom:1!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  /* Give the report itself the full printable landscape width. */
  body.task-report-print-mode .task-report-results table,
  body.greeneco-generic-print-mode .task-report-results table{
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    margin:0!important;
    transform:none!important;
    zoom:1!important;
    font-size:8pt!important;
  }

  body.task-report-print-mode .task-report-results col,
  body.greeneco-generic-print-mode .task-report-results col{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }

  body.task-report-print-mode .task-report-results th,
  body.task-report-print-mode .task-report-results td,
  body.greeneco-generic-print-mode .task-report-results th,
  body.greeneco-generic-print-mode .task-report-results td{
    padding:2mm 1.4mm!important;
    font-size:7.8pt!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    vertical-align:middle!important;
    border:.6pt solid #73838a!important;
    color:#111!important;
    background:#fff!important;
  }

  body.task-report-print-mode .task-report-results th,
  body.greeneco-generic-print-mode .task-report-results th{
    font-size:7.7pt!important;
    font-weight:800!important;
    background:#e5ecef!important;
    color:#163d4c!important;
  }

  /* Strong widths for the important task-report columns.
     First/last columns are hidden elsewhere during task-report print. */
  body.task-report-print-mode .task-report-results th:nth-child(2),
  body.task-report-print-mode .task-report-results td:nth-child(2){
    width:11%!important;
  }
  body.task-report-print-mode .task-report-results th:nth-child(3),
  body.task-report-print-mode .task-report-results td:nth-child(3){
    width:21%!important;
  }
  body.task-report-print-mode .task-report-results th:nth-child(4),
  body.task-report-print-mode .task-report-results td:nth-child(4){
    width:12%!important;
  }
  body.task-report-print-mode .task-report-results th:nth-child(5),
  body.task-report-print-mode .task-report-results td:nth-child(5){
    width:12%!important;
  }

  /* Universal corporate header should be dominant and readable. */
  body.task-report-print-mode.greeneco-print-branding-active .greeneco-global-print-header,
  body.greeneco-generic-print-mode.greeneco-print-branding-active .greeneco-global-print-header{
    top:3mm!important;
    left:8mm!important;
    right:8mm!important;
    height:20mm!important;
    min-height:20mm!important;
    grid-template-columns:34mm minmax(0,1fr) 34mm!important;
    padding:0 0 2mm!important;
    border-bottom:1pt solid #566d77!important;
  }

  body.task-report-print-mode.greeneco-print-branding-active .greeneco-global-print-logo,
  body.greeneco-generic-print-mode.greeneco-print-branding-active .greeneco-global-print-logo{
    width:34mm!important;
    height:17mm!important;
  }

  body.task-report-print-mode.greeneco-print-branding-active .greeneco-global-print-logo img,
  body.greeneco-generic-print-mode.greeneco-print-branding-active .greeneco-global-print-logo img{
    max-width:33mm!important;
    max-height:16mm!important;
  }

  body.task-report-print-mode.greeneco-print-branding-active .greeneco-global-print-company b,
  body.greeneco-generic-print-mode.greeneco-print-branding-active .greeneco-global-print-company b{
    font-size:12.5pt!important;
  }

  body.task-report-print-mode.greeneco-print-branding-active .greeneco-global-print-company span,
  body.greeneco-generic-print-mode.greeneco-print-branding-active .greeneco-global-print-company span{
    font-size:7.8pt!important;
  }

  /* Report title area: no tiny screen styles. */
  body.task-report-print-mode .task-report-page .page-title,
  body.greeneco-generic-print-mode .task-report-page .page-title{
    display:block!important;
    width:100%!important;
    margin:0 0 4mm!important;
    padding:0 0 2.5mm!important;
    border:0!important;
    border-bottom:.7pt solid #a7b2b7!important;
    background:#fff!important;
    min-height:0!important;
    box-shadow:none!important;
  }

  body.task-report-print-mode .task-report-page .page-title h1,
  body.greeneco-generic-print-mode .task-report-page .page-title h1{
    font-size:14pt!important;
    line-height:1.25!important;
    margin:0!important;
  }

  body.task-report-print-mode .task-report-page .page-title p,
  body.greeneco-generic-print-mode .task-report-page .page-title p{
    font-size:8.5pt!important;
    line-height:1.3!important;
    margin:1mm 0 0!important;
  }

  /* Browser is already given landscape A4 by dynamic @page.
     Never re-shrink the content inside the printable area. */
  body.task-report-print-mode .task-report-page,
  body.greeneco-generic-print-mode .task-report-page{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.66 — Dedicated Task Report Print
   ========================================================= */

.task-report-dedicated-sheet{
  display:none;
}

@media print{

  /* Task report printing no longer prints the screen UI at all. */
  body.task-report-print-mode .greeneco-global-print-header{
    display:none!important;
  }

  body.task-report-print-mode .task-report-page > *{
    display:none!important;
  }

  body.task-report-print-mode .task-report-page > .task-report-dedicated-sheet{
    display:block!important;
  }

  body.task-report-print-mode .task-report-page{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  body.task-report-print-mode .task-report-dedicated-sheet{
    direction:rtl!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#111!important;
    background:#fff!important;
    font-family:Tahoma,Arial,sans-serif!important;
  }

  .task-report-print-brand-header{
    display:grid!important;
    grid-template-columns:34mm minmax(0,1fr) 34mm!important;
    align-items:center!important;
    min-height:21mm!important;
    gap:4mm!important;
    padding:0 0 3mm!important;
    margin:0 0 3mm!important;
    border-bottom:1.2pt solid #40606e!important;
  }

  .task-report-print-logo{
    width:34mm!important;
    height:18mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .task-report-print-logo img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:33mm!important;
    max-height:17mm!important;
    object-fit:contain!important;
  }

  .task-report-print-company{
    text-align:center!important;
    min-width:0!important;
  }

  .task-report-print-company h1{
    margin:0!important;
    font-size:13pt!important;
    line-height:1.25!important;
    font-weight:800!important;
    color:#173f50!important;
  }

  .task-report-print-company span{
    display:block!important;
    margin-top:1mm!important;
    font-size:7.5pt!important;
    color:#65767d!important;
    direction:ltr!important;
  }

  .task-report-print-date{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:1mm!important;
    font-size:7.5pt!important;
  }

  .task-report-print-date b{
    font-size:8.5pt!important;
  }

  .task-report-print-title{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:8mm!important;
    padding:0 0 2.5mm!important;
    margin:0 0 3mm!important;
    border-bottom:.7pt solid #b6c0c4!important;
  }

  .task-report-print-title h2{
    margin:0!important;
    font-size:12pt!important;
    color:#173f50!important;
  }

  .task-report-print-title p{
    margin:0!important;
    font-size:7.7pt!important;
    color:#5f6e74!important;
  }

  .task-report-print-stats{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:3mm!important;
    margin:0 0 3mm!important;
  }

  .task-report-print-stats div{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:3mm!important;
    padding:2mm 3mm!important;
    border:.6pt solid #b5c1c6!important;
    background:#f7f9fa!important;
  }

  .task-report-print-stats span{
    font-size:7.5pt!important;
    color:#53656c!important;
  }

  .task-report-print-stats b{
    font-size:10pt!important;
    color:#173f50!important;
  }

  .task-report-print-table{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
    margin:0!important;
    font-size:7.2pt!important;
  }

  .task-report-print-table thead{
    display:table-header-group!important;
  }

  .task-report-print-table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .task-report-print-table th,
  .task-report-print-table td{
    border:.6pt solid #718188!important;
    padding:1.7mm 1.2mm!important;
    font-size:7.2pt!important;
    line-height:1.3!important;
    vertical-align:middle!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    color:#111!important;
    background:#fff!important;
  }

  .task-report-print-table th{
    font-weight:800!important;
    background:#e8eef1!important;
    color:#163d4c!important;
  }

  .task-report-print-table th:nth-child(1),
  .task-report-print-table td:nth-child(1){width:4%!important}
  .task-report-print-table th:nth-child(2),
  .task-report-print-table td:nth-child(2){width:10%!important}
  .task-report-print-table th:nth-child(3),
  .task-report-print-table td:nth-child(3){width:17%!important}
  .task-report-print-table th:nth-child(4),
  .task-report-print-table td:nth-child(4){width:11%!important}
  .task-report-print-table th:nth-child(5),
  .task-report-print-table td:nth-child(5){width:10%!important}
  .task-report-print-table th:nth-child(6),
  .task-report-print-table td:nth-child(6){width:10%!important}
  .task-report-print-table th:nth-child(7),
  .task-report-print-table td:nth-child(7){width:10%!important}
  .task-report-print-table th:nth-child(8),
  .task-report-print-table td:nth-child(8){width:8%!important}
  .task-report-print-table th:nth-child(9),
  .task-report-print-table td:nth-child(9){width:7%!important}
  .task-report-print-table th:nth-child(10),
  .task-report-print-table td:nth-child(10){width:5%!important}
  .task-report-print-table th:nth-child(11),
  .task-report-print-table td:nth-child(11){width:8%!important}
  .task-report-print-table th:nth-child(12),
  .task-report-print-table td:nth-child(12){width:8%!important}

  .task-report-summary-print-table th,
  .task-report-summary-print-table td{
    font-size:8.5pt!important;
    padding:2.3mm!important;
  }

  body.task-report-selected-print-mode .task-report-print-table tbody tr[data-task-selected="0"]{
    display:none!important;
  }

  .task-report-print-footer{
    display:flex!important;
    justify-content:space-between!important;
    margin-top:4mm!important;
    padding-top:2mm!important;
    border-top:.6pt solid #bcc6ca!important;
    font-size:6.8pt!important;
    color:#68777d!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.67 — Isolated A4 Task Report Print
   The task report now prints from a temporary isolated iframe.
   Application CSS is intentionally NOT loaded into that print document.
   ========================================================= */


/* =========================================================
   GreenEco 3.3.16.44.2.68 — Print Logo Only Header
   ========================================================= */

@media print{

  /* Company name is intentionally NOT printed in the paper header. */
  .greeneco-global-print-company,
  .task-report-print-company{
    display:none!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-header{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:18mm!important;
    height:18mm!important;
    padding:0 0 2mm!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo{
    width:34mm!important;
    height:16mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo img{
    max-width:33mm!important;
    max-height:15mm!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.69 — Full Width Logo Print Header
   الشعار المحفوظ = بانر رأس الورقة بعرض كامل داخل هامش 1 سم
   ========================================================= */

@media print{

  body.greeneco-print-branding-active .greeneco-global-print-header{
    position:fixed!important;
    top:10mm!important;
    left:10mm!important;
    right:10mm!important;
    width:auto!important;
    height:27mm!important;
    min-height:27mm!important;
    display:block!important;
    margin:0!important;
    padding:0 0 2mm!important;
    border:0!important;
    border-bottom:.8pt solid #9aa9af!important;
    background:#fff!important;
    z-index:2147483640!important;
    overflow:hidden!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo{
    width:100%!important;
    height:24mm!important;
    max-width:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-logo img{
    display:block!important;
    width:100%!important;
    height:24mm!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  body.greeneco-print-branding-active .greeneco-global-print-company,
  body.greeneco-print-branding-active .print-brand{
    display:none!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.70 — Task Templates Header + Operation Search
   ========================================================= */

.task-templates-titlebar{
  min-height:52px;
  display:grid;
  grid-template-columns:40px minmax(220px,1fr) auto;
  align-items:center;
  gap:8px;
  padding:5px 10px;
  border:1px solid #9fb0b8;
  background:#fff;
}
.task-templates-titlebar>.page-title-icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
}
.task-templates-titlecopy{
  min-width:0;
  text-align:center;
}
.task-templates-titlecopy h1{
  margin:0;
  font-size:calc(18px * var(--font-scale,1));
  line-height:1.15;
  color:#102e3b;
}
.task-templates-titlecopy p{
  margin:2px 0 0;
  font-size:calc(8.5px * var(--font-scale,1));
  color:#728087;
}
.task-templates-title-actions{
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:flex-end;
}
.task-templates-title-actions>.toolbar{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.task-templates-title-actions .toolbar-actions{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
}
.task-templates-title-actions .tool-button{
  min-height:32px!important;
  padding:4px 9px!important;
  white-space:nowrap!important;
}
.task-template-search-button{
  width:34px!important;
  min-width:34px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:1px solid #9bb0b8!important;
  background:#f5fafb!important;
  color:#17677f!important;
  border-radius:2px!important;
  cursor:pointer!important;
}
.task-template-search-button:hover{
  background:#e9f4f6!important;
}

/* Remove the old search/results row from this screen only. */
.task-template-table-host>.table-panel>.table-controls{
  display:none!important;
}
.task-template-table-host>.table-panel{
  margin-top:7px!important;
}

/* Operation search screen */
.operation-search-screen{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:430px;
}
.operation-search-criteria{
  display:grid;
  grid-template-columns:180px minmax(220px,1fr) minmax(160px,.7fr) minmax(160px,.7fr) auto;
  align-items:end;
  gap:7px;
  padding:9px;
  border:1px solid #c7d3d8;
  border-radius:4px;
  background:#f7fafb;
}
.operation-search-criteria label{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.operation-search-criteria label>span{
  font-size:calc(8.5px * var(--font-scale,1));
  font-weight:700;
  color:#53676f;
}
.operation-search-criteria input,
.operation-search-criteria select{
  width:100%;
  min-width:0;
  height:31px;
  padding:3px 7px;
}
.operation-search-value{
  grid-column:span 2;
}
.operation-search-buttons{
  display:flex;
  align-items:center;
  gap:5px;
}
.operation-search-buttons button{
  height:31px!important;
  min-height:31px!important;
  padding:3px 11px!important;
}
.operation-search-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:36px;
  padding:5px 8px;
  border-bottom:1px solid #b9c7cc;
}
.operation-search-results-head>div{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.operation-search-results-head b{
  color:#143d4d;
}
.operation-search-results-head span{
  font-size:calc(8px * var(--font-scale,1));
  color:#748288;
}
.operation-search-results-head strong{
  font-size:calc(9px * var(--font-scale,1));
  color:#17677f;
}
.operation-search-table-wrap{
  flex:1;
  min-height:280px;
  max-height:52vh;
  overflow:auto;
  border:1px solid #bcc9ce;
}
.operation-search-table{
  width:100%;
  min-width:920px;
}
.operation-search-table th,
.operation-search-table td{
  padding:6px 7px!important;
  vertical-align:middle!important;
}
.operation-search-table th:nth-child(1){width:48px}
.operation-search-table th:nth-child(2){width:155px}
.operation-search-table th:nth-child(3){width:150px}
.operation-search-table th:nth-child(4){width:120px}
.operation-search-table th:nth-child(6){width:125px}
.operation-search-table th:nth-child(7){width:90px}
.operation-search-table th:nth-child(8){width:145px}
.operation-search-table td:last-child{
  white-space:nowrap;
}
.operation-search-table td:last-child b{
  display:block;
  color:#155e78;
}
.operation-search-table td:last-child span{
  display:block;
  margin-top:2px;
  font-size:8px;
  color:#74858c;
}
.operation-search-clickable{
  cursor:pointer;
}
.operation-search-clickable:hover td{
  background:#edf7f9!important;
}
.operation-search-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.operation-search-pagination button{
  min-height:28px!important;
  padding:3px 10px!important;
}

@media(max-width:1050px){
  .task-templates-titlebar{
    grid-template-columns:36px minmax(170px,1fr);
  }
  .task-templates-title-actions{
    grid-column:1/-1;
    justify-content:center;
  }
  .operation-search-criteria{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .operation-search-value{
    grid-column:auto;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.72 — Task Templates Remove Heading
   ========================================================= */

.task-templates-titlebar.task-templates-actions-only{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:4px 10px!important;
  gap:6px!important;
}

.task-templates-actions-only .task-templates-title-actions{
  width:auto!important;
  margin:0!important;
  justify-content:flex-end!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.73 — Task Templates Inline Title
   ========================================================= */

.task-templates-titlebar.task-templates-inline-titlebar{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:4px 10px!important;
}

.task-templates-inline-title{
  margin:0!important;
  padding:0 8px 0 0!important;
  font-size:calc(14px * var(--font-scale,1))!important;
  line-height:1!important;
  font-weight:800!important;
  color:#163d4c!important;
  white-space:nowrap!important;
  border-inline-start:1px solid #c8d3d8!important;
}

.task-templates-inline-titlebar .task-templates-title-actions{
  width:auto!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.74 — Task Templates Title Row Spread
   ========================================================= */

.task-templates-titlebar.task-templates-inline-titlebar{
  justify-content:space-between!important;
  width:100%!important;
}

.task-templates-inline-title{
  margin:0!important;
  padding:0!important;
  border:0!important;
  flex:0 0 auto!important;
}

.task-templates-inline-titlebar .task-templates-title-actions{
  margin-inline-start:auto!important;
  flex:0 0 auto!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.75 — Task Templates Table Clarity
   ========================================================= */

/* Cleaner table frame. */
.task-template-table-host > .table-panel{
  border:1px solid #c4d0d5!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.task-template-table-host .table-scroll{
  background:#fff!important;
}

/* Clear, lighter grid lines. */
.task-template-table-host .data-table{
  width:100%!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  background:#fff!important;
}

.task-template-table-host .data-table th,
.task-template-table-host .data-table td{
  border:1px solid #c8d3d8!important;
  box-shadow:none!important;
}

/* Header: clear but not dark/heavy. */
.task-template-table-host .data-table thead th{
  height:30px!important;
  padding:5px 8px!important;
  vertical-align:middle!important;
  background:#edf3f5!important;
  color:#173f50!important;
  font-weight:800!important;
  line-height:1.15!important;
}

/* Body data starts at the top of each row instead of vertical centering. */
.task-template-table-host .data-table tbody td{
  min-height:30px!important;
  height:auto!important;
  padding:5px 8px 7px!important;
  vertical-align:top!important;
  line-height:1.25!important;
  background:#fff!important;
  color:#172d36!important;
}

/* Light alternating rows improve row tracking without dark shading. */
.task-template-table-host .data-table tbody tr:nth-child(even) td{
  background:#f7fafb!important;
}

/* Selected row stays visible but institutional, not heavy. */
.task-template-table-host .data-table tbody tr.selected-row td{
  background:#eaf4f7!important;
}

/* Make row boundaries clearer on hover. */
.task-template-table-host .data-table tbody tr:hover td{
  background:#f0f7f9!important;
}

/* Serial column stays compact and visually centered horizontally. */
.task-template-table-host .data-table th:first-child,
.task-template-table-host .data-table td:first-child{
  width:55px!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
}

/* Footer follows the same light border language. */
.task-template-table-host .table-footer{
  border-top:1px solid #c8d3d8!important;
  background:#f8fafb!important;
  box-shadow:none!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.76 — Full System Style Visual Control
   ========================================================= */

:root{
  --theme-screen-bg:#f4f4f3;
  --theme-panel-bg:#ffffff;

  --theme-inner-border:#c8d3d8;
  --theme-outer-border:#9fb0b8;
  --theme-inner-border-width:1px;
  --theme-outer-border-width:1px;

  --theme-primary-button:#05679a;
  --theme-secondary-button:#eff6fb;
  --theme-danger-button:#fde7e8;
  --theme-button-text:#111c23;

  --theme-table-header-bg:#edf3f5;
  --theme-table-header-text:#173f50;
  --theme-row-odd-bg:#ffffff;
  --theme-row-even-bg:#f7fafb;
  --theme-row-selected-bg:#eaf4f7;
}

/* ------------------------------
   SCREEN / WORKSPACE BACKGROUNDS
   ------------------------------ */
.app-workspace{
  background:
    linear-gradient(
      90deg,
      var(--workspace) 0 max(0px,calc((100vw - 1220px)/2)),
      var(--theme-screen-bg) max(0px,calc((100vw - 1220px)/2))
      calc(100% - max(0px,calc((100vw - 1220px)/2))),
      var(--workspace) calc(100% - max(0px,calc((100vw - 1220px)/2))) 100%
    )!important;
}

.page-title,
.toolbar,
.table-panel,
.modal-card,
.dashboard-panel,
.task-section,
.task-detail-grid>article,
.task-collaboration>article,
.settings-form,
.style-editor,
.report-sheet,
.operation-search-screen,
.technical-engineering-section,
.company-logo-upload-card{
  background-color:var(--theme-panel-bg)!important;
}

/* ------------------------------
   OUTER BORDERS / MAIN FRAMES
   ------------------------------ */
.page-title,
.toolbar,
.table-panel,
.modal-card,
.dashboard-panel,
.task-section,
.task-detail-grid>article,
.task-collaboration>article,
.compact-form-panel,
.settings-form,
.style-editor,
.report-sheet,
.operation-search-table-wrap,
.operation-search-criteria,
.technical-engineering-section,
.company-logo-upload-card,
.task-templates-titlebar{
  border-color:var(--theme-outer-border)!important;
  border-width:var(--theme-outer-border-width)!important;
  border-style:solid!important;
}

/* ------------------------------
   INNER BORDERS
   ------------------------------ */
.data-table th,
.data-table td,
.style-preview table th,
.style-preview table td,
.form-grid input:not([type=checkbox]),
.form-grid select,
.form-grid textarea,
.settings-form input,
.settings-form select,
.settings-form textarea,
.report-filters input,
.report-filters select,
.filter-strip input,
.filter-strip select,
.notification-toolbar input,
.notification-toolbar select{
  border-color:var(--theme-inner-border)!important;
  border-width:var(--theme-inner-border-width)!important;
  border-style:solid!important;
}

/* ------------------------------
   TABLE COLUMNS / ROWS
   ------------------------------ */
.data-table thead th,
.style-preview table thead th,
.style-preview table tbody tr:first-child th{
  background:var(--theme-table-header-bg)!important;
  color:var(--theme-table-header-text)!important;
}

.data-table tbody tr:nth-child(odd)>td{
  background:var(--theme-row-odd-bg)!important;
}
.data-table tbody tr:nth-child(even)>td{
  background:var(--theme-row-even-bg)!important;
}
.data-table tbody tr.selected-row>td,
.data-table tbody tr[aria-selected="true"]>td{
  background:var(--theme-row-selected-bg)!important;
}
.data-table tbody tr:hover>td{
  filter:brightness(.985);
}

/* Force task-template table to obey System Style instead of its old fixed colors. */
.task-template-table-host > .table-panel{
  border-color:var(--theme-outer-border)!important;
  border-width:var(--theme-outer-border-width)!important;
}
.task-template-table-host .data-table th,
.task-template-table-host .data-table td{
  border-color:var(--theme-inner-border)!important;
  border-width:var(--theme-inner-border-width)!important;
}
.task-template-table-host .data-table thead th{
  background:var(--theme-table-header-bg)!important;
  color:var(--theme-table-header-text)!important;
}
.task-template-table-host .data-table tbody tr:nth-child(odd) td{
  background:var(--theme-row-odd-bg)!important;
}
.task-template-table-host .data-table tbody tr:nth-child(even) td{
  background:var(--theme-row-even-bg)!important;
}
.task-template-table-host .data-table tbody tr.selected-row td{
  background:var(--theme-row-selected-bg)!important;
}
.task-template-table-host .table-footer{
  border-color:var(--theme-inner-border)!important;
}

/* ------------------------------
   BUTTON COLORS
   ------------------------------ */
.primary-button{
  background:var(--theme-primary-button)!important;
  border-color:var(--theme-outer-border)!important;
}
.primary-button:hover{
  filter:brightness(.93)!important;
}

.secondary-button,
.tool-button,
.context-actions button,
.report-actions button,
.notification-toolbar button,
.audit-filters button,
.row-actions button,
.reference-tabs button,
.handover-list button,
.table-footer button,
.subsection-heading button,
.archived-page button,
.task-detail-toolbar button,
.task-template-search-button{
  background:var(--theme-secondary-button)!important;
  color:var(--theme-button-text)!important;
  border-color:var(--theme-outer-border)!important;
  border-width:var(--theme-inner-border-width)!important;
}

button.danger,
.tool-button.danger,
.danger-button,
.row-actions button.danger,
.delete-button{
  background:var(--theme-danger-button)!important;
}

/* ------------------------------
   STYLE SYSTEM CONTROL DASHBOARD
   ------------------------------ */
.style-control-dashboard{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

.style-control-card{
  min-width:0!important;
  padding:8px!important;
  border:var(--theme-outer-border-width) solid var(--theme-outer-border)!important;
  border-radius:5px!important;
  background:var(--theme-panel-bg)!important;
}

.style-control-card>h3{
  margin:0 0 7px!important;
  padding:0 0 5px!important;
  border-bottom:var(--theme-inner-border-width) solid var(--theme-inner-border)!important;
  color:#234d5e!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}

.style-control-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px 8px!important;
}

.style-control-grid>label,
.style-font-compact>label{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(120px,1fr) 62px!important;
  align-items:center!important;
  gap:6px!important;
  min-height:31px!important;
  font-size:calc(8.7px * var(--font-scale,1))!important;
  font-weight:700!important;
}

.style-control-grid input[type="color"]{
  width:58px!important;
  height:27px!important;
  padding:1px!important;
  cursor:pointer!important;
  border:var(--theme-inner-border-width) solid var(--theme-inner-border)!important;
  background:#fff!important;
}

.style-control-grid input[type="number"]{
  width:58px!important;
  height:28px!important;
  padding:2px 4px!important;
  text-align:center!important;
  border:var(--theme-inner-border-width) solid var(--theme-inner-border)!important;
  background:#fff!important;
}

.style-control-card-font{
  grid-column:1/-1!important;
}

.style-font-compact{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(200px,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}

.style-font-compact .style-font-select{
  grid-column:auto!important;
  grid-template-columns:130px minmax(0,1fr)!important;
}
.style-font-compact .style-font-select select{
  min-height:31px!important;
}

.style-control-card-font .style-custom-font{
  margin-top:7px!important;
  padding:7px!important;
  border-color:var(--theme-inner-border)!important;
  background:var(--theme-screen-bg)!important;
}

.style-preview-v2{
  border:var(--theme-outer-border-width) solid var(--theme-outer-border)!important;
  background:var(--theme-panel-bg)!important;
}

.style-theme-preview-table{
  width:100%!important;
  border-collapse:collapse!important;
}

@media(max-width:900px){
  .style-control-dashboard{
    grid-template-columns:1fr!important;
  }
  .style-control-card-font{
    grid-column:auto!important;
  }
  .style-control-grid{
    grid-template-columns:1fr!important;
  }
  .style-font-compact{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.77 — Service Directory Second Row
   الصف الأول محفوظ كما هو، الصف الثاني مثل قوالب المهام
   ========================================================= */

.service-directory-second-row{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  gap:10px!important;
  margin-top:7px!important;
  padding:4px 10px!important;
}

.service-directory-second-row .task-templates-inline-title{
  margin:0!important;
  padding:0!important;
  border:0!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

.service-directory-second-row .task-templates-title-actions{
  width:auto!important;
  margin-inline-start:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex:0 0 auto!important;
}

.service-directory-second-row .task-templates-title-actions > .toolbar{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.service-directory-second-row .toolbar-actions{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
}

/* نفس قوالب المهام: لا يوجد صف بحث طويل فوق الجدول. */
.service-directory-table-host > .table-panel > .table-controls{
  display:none!important;
}

.service-directory-table-host > .table-panel{
  margin-top:7px!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.78 — Service Directory Second Row No Title
   ========================================================= */

.service-directory-second-row{
  justify-content:flex-end!important;
}

.service-directory-second-row .task-templates-title-actions{
  margin-inline-start:auto!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.79 — Service Directory Sticky Header
   ========================================================= */

.service-directory-task-style{
  position:relative!important;
}

/* الصف الأول ثابت داخل مساحة العمل */
.service-directory-task-style > .page-title{
  position:sticky!important;
  top:0!important;
  z-index:42!important;
  margin-bottom:0!important;
  background:var(--theme-panel-bg,#fff)!important;
}

/* الصف الثاني ثابت مباشرة أسفل الصف الأول */
.service-directory-task-style > .service-directory-second-row{
  position:sticky!important;
  top:52px!important;
  z-index:41!important;
  margin-top:0!important;
  background:var(--theme-panel-bg,#fff)!important;
  box-shadow:0 1px 0 var(--theme-outer-border,#9fb0b8)!important;
}

/* المحتوى الذي تحت الصفين هو الذي يتحرك مع تمرير مساحة العمل */
.service-directory-task-style > .service-directory-table-host,
.service-directory-task-style > .service-directory-sticky-alert{
  position:relative!important;
  z-index:1!important;
}

/* مسافة بسيطة حتى لا يلتصق الجدول بالصف الثابت */
.service-directory-task-style > .service-directory-table-host{
  margin-top:7px!important;
}

/* عند الشاشات الضيقة إذا زاد ارتفاع الصف الأول نرفع إزاحة الصف الثاني */
@media(max-width:700px){
  .service-directory-task-style > .service-directory-second-row{
    top:58px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.80 — Unified Task Screens
   جميع شاشات المهام بنفس بنية دليل أنواع الخدمات
   ========================================================= */

/*
  Common structure:
  row 1 = page title
  row 2 = commands
  everything else scrolls below them
*/
.task-unified-screen{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
}

/* Reorder safely even when the old component placed alerts/forms before the toolbar. */
.task-unified-screen > *{
  order:2;
}

.task-unified-screen > .page-title{
  order:0!important;
  position:sticky!important;
  top:0!important;
  z-index:52!important;
  flex:0 0 auto!important;
  margin:0!important;
  background:var(--theme-panel-bg,#fff)!important;
}

.task-unified-screen > .task-unified-action-row{
  order:1!important;
  position:sticky!important;
  top:52px!important;
  z-index:51!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:4px 10px!important;
  border:var(--theme-outer-border-width,1px) solid var(--theme-outer-border,#9fb0b8)!important;
  background:var(--theme-panel-bg,#fff)!important;
  box-shadow:0 1px 0 var(--theme-outer-border,#9fb0b8)!important;

  /* RTL: flex-start is the visual right side. */
  direction:rtl!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
}

/* Buttons always start from the RIGHT in the second row. */
.task-unified-screen > .task-unified-action-row .toolbar-actions,
.task-unified-screen > .task-unified-action-row > .toolbar-actions,
.task-unified-screen > .task-unified-action-row .task-templates-title-actions{
  direction:rtl!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
  margin:0!important;
}

/* Filters/selectors remain in the same row but occupy the opposite side. */
.task-unified-screen > .task-unified-action-row .toolbar-extra{
  margin-inline-start:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
}

/* A toolbar generated inside the second-row header must not create a third visual bar. */
.task-unified-screen > .task-unified-action-row .toolbar{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Service Types used older service-specific positioning; common task rules now own it. */
.service-directory-task-style.task-unified-screen > .service-directory-second-row{
  top:52px!important;
  justify-content:flex-start!important;
  margin:0!important;
}

/* Task Types: same two-row architecture as Service Types. */
.task-templates-page.task-unified-screen > .task-unified-action-row{
  justify-content:flex-start!important;
}
.task-templates-page.task-unified-screen .task-templates-title-actions{
  margin:0!important;
}

/* Employee services / Receive: old table search stays in the content area, not in fixed headers. */
.task-unified-screen > .table-panel,
.task-unified-screen > .task-template-table-host,
.task-unified-screen > .service-directory-table-host,
.task-unified-screen > .compact-form-panel,
.task-unified-screen > .approval-review-panel,
.task-unified-screen > .task-report-filter-panel,
.task-unified-screen > .task-report-results,
.task-unified-screen > .form-alert{
  position:relative!important;
  z-index:1!important;
}

/* Reports: command bar is row 2, with buttons on the right. */
.task-report-page.task-unified-screen > .task-report-commandbar.task-unified-action-row{
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.task-report-page.task-unified-screen > .task-report-commandbar.task-unified-action-row > button,
.task-report-page.task-unified-screen > .task-report-commandbar.task-unified-action-row > label{
  flex:0 0 auto!important;
}

/* Keep the dedicated print-only sheet out of screen layout. */
.task-report-page .task-report-dedicated-sheet{
  display:none;
}

/* Mobile / narrower workspace: still fixed, with safe horizontal scrolling for commands. */
@media(max-width:900px){
  .task-unified-screen > .task-unified-action-row{
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .task-unified-screen > .task-unified-action-row .toolbar-actions{
    flex-wrap:nowrap!important;
  }
}

@media(max-width:700px){
  .task-unified-screen > .task-unified-action-row{
    top:58px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.81 — Page Size in Task Action Row
   ========================================================= */

/* خيار "عرض" أصبح جزءاً من صف الأوامر الثابت. */
.task-row-page-size{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  height:30px!important;
  margin:0!important;
  padding:0 6px!important;
  border:var(--theme-inner-border-width,1px) solid var(--theme-inner-border,#c8d3d8)!important;
  border-radius:4px!important;
  background:var(--theme-panel-bg,#fff)!important;
  color:#263d47!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.task-row-page-size>span{
  line-height:1!important;
}

.task-row-page-size>select{
  width:58px!important;
  height:25px!important;
  min-height:25px!important;
  margin:0!important;
  padding:1px 5px!important;
  border:var(--theme-inner-border-width,1px) solid var(--theme-inner-border,#c8d3d8)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#152c36!important;
  font:inherit!important;
  cursor:pointer!important;
}

/* لا نكرر خيار عرض داخل صف البحث القديم. */
.task-unified-screen .table-controls .page-size{
  display:none!important;
}

/* في الصف الثاني يبقى خيار العرض مع الأوامر/الفلاتر بدون زيادة ارتفاع الصف. */
.task-unified-action-row .task-row-page-size{
  align-self:center!important;
}

/* Generic task screens: put page-size after action group in the same fixed row. */
.task-templates-title-actions>.task-row-page-size{
  margin-inline-start:4px!important;
}

/* Z toolbar children use toolbar-extra; keep the new display selector compact. */
.task-unified-action-row>.toolbar-extra .task-row-page-size,
.task-unified-action-row .toolbar-extra .task-row-page-size{
  margin:0!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.82 — Complete System Style Control
   ========================================================= */

:root{
  --theme-page-title-bg:#ffffff;
  --theme-page-title-text:#162f3d;
  --theme-page-subtitle-text:#6b7f88;
  --theme-page-icon-bg:#23b5c9;
  --theme-toolbar-bg:#f6f6f5;

  --theme-field-bg:#ffffff;
  --theme-field-text:#17222a;
  --theme-label-text:#263f4a;
  --theme-focus-color:#43b0bf;

  --theme-primary-button-text:#ffffff;
  --theme-secondary-button-text:#111c23;
  --theme-danger-button-text:#7f2024;

  --theme-table-text:#172d36;
  --theme-row-hover-bg:#f0f7f9;
  --theme-table-footer-bg:#f8fafb;

  --theme-modal-header-bg:#f7fbfc;
  --theme-modal-header-text:#162f3d;
  --theme-modal-body-bg:#ffffff;

  --theme-ribbon-bg:#dbe3f0;
  --theme-ribbon-text:#172330;
  --theme-ribbon-active-bg:#edf4ff;
  --theme-status-bg:#078dcc;
  --theme-status-text:#ffffff;

  --theme-page-width:1180px;
  --theme-panel-radius:4px;
  --theme-field-radius:4px;
  --theme-button-radius:4px;
  --theme-table-cell-pad-y:5px;
}

/* ---------------------------------
   PAGE WIDTH + SCREEN STRUCTURE
   --------------------------------- */
.page-container{
  width:min(var(--theme-page-width,1180px),100%)!important;
}

.app-workspace{
  background:
    linear-gradient(
      90deg,
      var(--workspace) 0 max(0px,calc((100vw - (var(--theme-page-width,1180px) + 40px))/2)),
      var(--theme-screen-bg) max(0px,calc((100vw - (var(--theme-page-width,1180px) + 40px))/2))
      calc(100% - max(0px,calc((100vw - (var(--theme-page-width,1180px) + 40px))/2))),
      var(--workspace) calc(100% - max(0px,calc((100vw - (var(--theme-page-width,1180px) + 40px))/2))) 100%
    )!important;
}

/* ---------------------------------
   PAGE TITLE + COMMAND ROW
   --------------------------------- */
.page-title{
  background:var(--theme-page-title-bg)!important;
  border-radius:var(--theme-panel-radius)!important;
}
.page-title h1{
  color:var(--theme-page-title-text)!important;
}
.page-title p{
  color:var(--theme-page-subtitle-text)!important;
}
.page-title-icon{
  background:var(--theme-page-icon-bg)!important;
}
.toolbar,
.task-unified-action-row,
.task-templates-titlebar{
  background:var(--theme-toolbar-bg)!important;
  border-radius:var(--theme-panel-radius)!important;
}

/* ---------------------------------
   FIELDS + LABELS
   --------------------------------- */
.page-container input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
.page-container select,
.page-container textarea{
  background:var(--theme-field-bg)!important;
  color:var(--theme-field-text)!important;
  border-color:var(--theme-inner-border)!important;
  border-width:var(--theme-inner-border-width)!important;
  border-radius:var(--theme-field-radius)!important;
}

.page-container input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):focus,
.page-container select:focus,
.page-container textarea:focus{
  outline:2px solid var(--theme-focus-color)!important;
  outline-offset:0!important;
}

.form-grid label>span,
.settings-form label>span,
.report-filters label>span,
.filter-strip label>span,
.notification-toolbar label>span,
.style-control-grid label>span,
.style-font-compact label>span,
.style-custom-font>span{
  color:var(--theme-label-text)!important;
}

/* ---------------------------------
   PANEL CORNERS
   --------------------------------- */
.page-title,
.toolbar,
.table-panel,
.modal-card,
.dashboard-panel,
.task-section,
.task-detail-grid>article,
.task-collaboration>article,
.compact-form-panel,
.settings-form,
.style-editor,
.report-sheet,
.operation-search-table-wrap,
.operation-search-criteria,
.technical-engineering-section,
.company-logo-upload-card,
.task-templates-titlebar,
.approval-review-panel{
  border-radius:var(--theme-panel-radius)!important;
}

/* ---------------------------------
   BUTTONS
   --------------------------------- */
.primary-button,
.primary-report-button{
  background:var(--theme-primary-button)!important;
  color:var(--theme-primary-button-text)!important;
  border-radius:var(--theme-button-radius)!important;
}

.secondary-button,
.tool-button,
.context-actions button,
.report-actions button,
.notification-toolbar button,
.audit-filters button,
.row-actions button,
.reference-tabs button,
.handover-list button,
.table-footer button,
.subsection-heading button,
.archived-page button,
.task-detail-toolbar button,
.task-template-search-button{
  background:var(--theme-secondary-button)!important;
  color:var(--theme-secondary-button-text)!important;
  border-radius:var(--theme-button-radius)!important;
}

button.danger,
.tool-button.danger,
.danger-button,
.row-actions button.danger,
.delete-button{
  background:var(--theme-danger-button)!important;
  color:var(--theme-danger-button-text)!important;
  border-radius:var(--theme-button-radius)!important;
}

/* ---------------------------------
   TABLES
   --------------------------------- */
.data-table td{
  color:var(--theme-table-text)!important;
  padding-top:var(--theme-table-cell-pad-y)!important;
  padding-bottom:var(--theme-table-cell-pad-y)!important;
}
.data-table th{
  padding-top:var(--theme-table-cell-pad-y)!important;
  padding-bottom:var(--theme-table-cell-pad-y)!important;
}
.data-table tbody tr:hover>td{
  background:var(--theme-row-hover-bg)!important;
  filter:none!important;
}
.data-table tbody tr.selected-row:hover>td,
.data-table tbody tr[aria-selected="true"]:hover>td{
  background:var(--theme-row-selected-bg)!important;
}
.table-footer{
  background:var(--theme-table-footer-bg)!important;
  border-color:var(--theme-inner-border)!important;
}

/* task-template overrides must follow the same live variables */
.task-template-table-host .data-table tbody tr:hover td{
  background:var(--theme-row-hover-bg)!important;
}
.task-template-table-host .data-table tbody tr.selected-row:hover td{
  background:var(--theme-row-selected-bg)!important;
}

/* ---------------------------------
   MODALS
   --------------------------------- */
.modal-card{
  background:var(--theme-modal-body-bg)!important;
}
.modal-header{
  background:var(--theme-modal-header-bg)!important;
  color:var(--theme-modal-header-text)!important;
}
.modal-header h2{
  color:var(--theme-modal-header-text)!important;
}
.modal-body{
  background:var(--theme-modal-body-bg)!important;
}

/* ---------------------------------
   RIBBON + STATUS BAR
   --------------------------------- */
.ribbon-nav{
  background:var(--theme-ribbon-bg)!important;
}
.ribbon-nav a,
.ribbon-menu-trigger,
.ribbon-notification-item{
  color:var(--theme-ribbon-text)!important;
}
.ribbon-nav a.active,
.ribbon-menu.open .ribbon-menu-trigger,
.ribbon-menu-trigger:hover,
.ribbon-nav a:hover,
.ribbon-notification-item:hover,
.ribbon-notification-item.active{
  background:var(--theme-ribbon-active-bg)!important;
}
.status-bar{
  background:var(--theme-status-bg)!important;
  color:var(--theme-status-text)!important;
}

/* =========================================================
   STYLE SCREEN — NO OVERLAPS
   Full-width controls first, preview below.
   ========================================================= */

.style-editor-v2{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:
    "controls"
    "preview"
    "info"
    "actions"!important;
  gap:10px!important;
  padding:10px!important;
  overflow:visible!important;
}

.style-control-dashboard{
  grid-area:controls!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:8px!important;
}

.style-control-card{
  min-width:0!important;
  width:100%!important;
  padding:8px 9px!important;
  overflow:hidden!important;
  border-radius:var(--theme-panel-radius)!important;
}

.style-control-card>h3{
  margin:0 0 7px!important;
  padding:0 0 6px!important;
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  line-height:1.25!important;
  white-space:normal!important;
}

/* One control per row inside each card = no text/input collision. */
.style-control-grid{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
}

.style-control-grid>label{
  width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 78px!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:2px 0!important;
  overflow:hidden!important;
}

.style-control-grid>label>span{
  min-width:0!important;
  display:block!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:right!important;
}

.style-control-grid input[type="color"]{
  justify-self:end!important;
  width:74px!important;
  min-width:74px!important;
  height:29px!important;
  min-height:29px!important;
  margin:0!important;
  padding:1px!important;
  border-radius:var(--theme-field-radius)!important;
}

.style-control-grid input[type="number"]{
  justify-self:end!important;
  width:74px!important;
  min-width:74px!important;
  height:29px!important;
  min-height:29px!important;
  margin:0!important;
  padding:2px 5px!important;
  text-align:center!important;
  direction:ltr!important;
}

/* Font card spans the full width and remains balanced. */
.style-control-card-font{
  grid-column:1/-1!important;
  overflow:visible!important;
}
.style-font-compact{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr)!important;
  gap:10px!important;
  align-items:end!important;
}
.style-font-compact>label{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}
.style-font-compact .style-font-size>div{
  min-width:0!important;
}
.style-control-card-font .style-custom-font{
  margin-top:8px!important;
}

/* Preview now receives the full page width instead of squeezing controls. */
.style-preview-v2{
  grid-area:preview!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.style-font-info{
  grid-area:info!important;
}
.style-editor-v2>.modal-actions{
  grid-area:actions!important;
}

/* Preview fields also obey the selected field theme. */
.style-preview-v2 .preview-form input{
  background:var(--theme-field-bg)!important;
  color:var(--theme-field-text)!important;
  border-color:var(--theme-inner-border)!important;
  border-radius:var(--theme-field-radius)!important;
}
.style-preview-v2 .preview-form label{
  color:var(--theme-label-text)!important;
}
.style-preview-v2 .preview-form button{
  background:var(--theme-primary-button)!important;
  color:var(--theme-primary-button-text)!important;
  border-radius:var(--theme-button-radius)!important;
}
.style-preview-v2 .preview-header{
  background:var(--theme-page-title-bg)!important;
  color:var(--theme-page-title-text)!important;
  border:var(--theme-inner-border-width) solid var(--theme-inner-border)!important;
}

/* Responsive: 2 cards, then 1 card, without ever squeezing labels. */
@media(max-width:1050px){
  .style-control-dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  .style-control-dashboard{
    grid-template-columns:1fr!important;
  }
  .style-control-card-font{
    grid-column:auto!important;
  }
  .style-font-compact{
    grid-template-columns:1fr!important;
  }
  .style-font-compact>label{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:420px){
  .style-control-grid>label{
    grid-template-columns:1fr 66px!important;
    gap:5px!important;
  }
  .style-control-grid input[type="color"],
  .style-control-grid input[type="number"]{
    width:62px!important;
    min-width:62px!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.83 — Compact System Style Controls
   تقريب الحقول من النصوص وضغط الشاشة بدون تداخل
   ========================================================= */

/* تقليل الفراغ العام بين البطاقات */
.style-editor-v2{
  gap:7px!important;
  padding:7px!important;
}

.style-control-dashboard{
  gap:6px!important;
}

/* بطاقة أكثر ضغطاً */
.style-control-card{
  padding:6px 7px!important;
}

.style-control-card>h3{
  min-height:20px!important;
  margin:0 0 4px!important;
  padding:0 0 4px!important;
  font-size:calc(9.3px * var(--font-scale,1))!important;
}

/* الحقل قريب من النص بدلاً من الذهاب إلى طرف البطاقة */
.style-control-grid{
  gap:2px!important;
}

.style-control-grid>label{
  width:100%!important;
  min-height:29px!important;
  grid-template-columns:minmax(115px,185px) 66px!important;
  justify-content:start!important;
  column-gap:5px!important;
  padding:0!important;
}

.style-control-grid>label>span{
  line-height:1.18!important;
  font-size:calc(8.2px * var(--font-scale,1))!important;
}

/* حقول اللون والأرقام أصغر قليلاً */
.style-control-grid input[type="color"]{
  width:64px!important;
  min-width:64px!important;
  height:25px!important;
  min-height:25px!important;
}

.style-control-grid input[type="number"]{
  width:64px!important;
  min-width:64px!important;
  height:25px!important;
  min-height:25px!important;
  padding:1px 4px!important;
}

/* ضغط قسم الخط كذلك */
.style-font-compact{
  gap:6px!important;
}

.style-font-compact>label{
  min-height:30px!important;
  grid-template-columns:112px minmax(150px,1fr)!important;
  gap:5px!important;
}

.style-font-compact>label>span{
  font-size:calc(8.4px * var(--font-scale,1))!important;
}

.style-font-compact select,
.style-font-compact input{
  min-height:27px!important;
  height:27px!important;
}

.style-control-card-font .style-custom-font{
  margin-top:5px!important;
  padding:5px!important;
}

/* على الشاشات العريضة نستخدم 4 بطاقات في الصف لتقليل طول الشاشة */
@media(min-width:1180px){
  .style-control-dashboard{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .style-control-card-font{
    grid-column:1/-1!important;
  }

  .style-control-grid>label{
    grid-template-columns:minmax(105px,160px) 62px!important;
    column-gap:4px!important;
  }

  .style-control-grid input[type="color"],
  .style-control-grid input[type="number"]{
    width:60px!important;
    min-width:60px!important;
  }
}

/* في العرض المتوسط نبقي 3 أعمدة لكن بنفس الضغط */
@media(min-width:900px) and (max-width:1179px){
  .style-control-dashboard{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* التابلت: عمودان بدون تداخل */
@media(max-width:899px) and (min-width:621px){
  .style-control-dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .style-control-grid>label{
    grid-template-columns:minmax(120px,190px) 66px!important;
  }
}

/* الجوال: عمود واحد مع بقاء الحقول قريبة من النص */
@media(max-width:620px){
  .style-control-dashboard{
    grid-template-columns:1fr!important;
  }

  .style-control-card-font{
    grid-column:auto!important;
  }

  .style-control-grid>label{
    grid-template-columns:minmax(120px,1fr) 64px!important;
    justify-content:stretch!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.86 — Style Center Stage 1
   المسافات والنماذج
   ========================================================= */
:root{
 --theme-screen-pad-x:0px;--theme-screen-pad-top:0px;--theme-screen-pad-bottom:20px;
 --theme-section-gap:7px;--theme-panel-padding:10px;--theme-label-field-gap:8px;
 --theme-form-gap-x:18px;--theme-form-gap-y:9px;--theme-field-height:31px;
 --theme-field-pad-x:9px;--theme-field-pad-y:5px;--theme-page-title-height:52px;
 --theme-page-title-pad-x:54px;--theme-page-title-pad-y:5px;--theme-page-title-gap:8px;
}
.page-container{
 padding-inline:var(--theme-screen-pad-x)!important;
 padding-top:var(--theme-screen-pad-top)!important;
 padding-bottom:var(--theme-screen-pad-bottom)!important;
}
.page-container> :not(.page-title):not(.task-unified-action-row):not(.modal-backdrop){
 margin-block-start:var(--theme-section-gap);
}
.compact-form-panel,.settings-form,.approval-review-panel,.task-section,.task-detail-grid>article,.task-collaboration>article{
 padding:var(--theme-panel-padding)!important;
}
.form-grid{column-gap:var(--theme-form-gap-x)!important;row-gap:var(--theme-form-gap-y)!important}
.form-grid label,.settings-form label,.notification-toolbar label,.report-filters label,.filter-strip label{gap:var(--theme-label-field-gap)!important}
.page-container input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),
.page-container select{
 min-height:var(--theme-field-height)!important;
 height:var(--theme-field-height)!important;
 padding:var(--theme-field-pad-y) var(--theme-field-pad-x)!important;
}
.page-container textarea{padding:var(--theme-field-pad-y) var(--theme-field-pad-x)!important}
.page-title{
 min-height:var(--theme-page-title-height)!important;
 padding:var(--theme-page-title-pad-y) var(--theme-page-title-pad-x)!important;
 gap:var(--theme-page-title-gap)!important;
}
.task-unified-screen>.task-unified-action-row,
.service-directory-task-style.task-unified-screen>.service-directory-second-row{
 top:var(--theme-page-title-height)!important;
}
@media(max-width:700px){
 .task-unified-screen>.task-unified-action-row,
 .service-directory-task-style.task-unified-screen>.service-directory-second-row{top:var(--theme-page-title-height)!important}
}


/* =========================================================
   GreenEco 3.3.16.44.2.87 — Style Center Stage 2
   الأزرار وصفوف الأوامر
   ========================================================= */
:root{--theme-toolbar-height:42px;--theme-toolbar-pad-x:10px;--theme-toolbar-pad-y:4px;--theme-toolbar-gap:5px;--theme-button-height:32px;--theme-button-pad-x:9px;--theme-button-icon-gap:5px}
.task-unified-screen>.task-unified-action-row,
.service-directory-second-row,
.task-templates-titlebar.task-unified-action-row{
 min-height:var(--theme-toolbar-height)!important;
 height:auto!important;
 padding:var(--theme-toolbar-pad-y) var(--theme-toolbar-pad-x)!important;
 gap:var(--theme-toolbar-gap)!important;
}
.toolbar-actions,.toolbar-extra,.task-templates-title-actions{gap:var(--theme-toolbar-gap)!important}
.tool-button,.primary-button,.secondary-button,.primary-report-button,.task-template-search-button{
 min-height:var(--theme-button-height)!important;
 height:var(--theme-button-height)!important;
 padding-inline:var(--theme-button-pad-x)!important;
 gap:var(--theme-button-icon-gap)!important;
}


/* =========================================================
   GreenEco 3.3.16.44.2.88 — Style Center Stage 3
   الجداول والنوافذ
   ========================================================= */
:root{--theme-table-cell-pad-x:7px;--theme-table-row-height:30px;--theme-table-footer-pad-x:10px;--theme-table-footer-pad-y:5px;--theme-table-controls-gap:8px;--theme-modal-header-pad-x:12px;--theme-modal-header-pad-y:7px;--theme-modal-body-padding:14px;--theme-modal-form-gap:12px}
.data-table th,.data-table td{
 padding-left:var(--theme-table-cell-pad-x)!important;
 padding-right:var(--theme-table-cell-pad-x)!important;
 padding-top:var(--theme-table-cell-pad-y)!important;
 padding-bottom:var(--theme-table-cell-pad-y)!important;
 height:var(--theme-table-row-height)!important;
}
.table-footer{padding:var(--theme-table-footer-pad-y) var(--theme-table-footer-pad-x)!important}
.table-controls{gap:var(--theme-table-controls-gap)!important}
.modal-header{padding:var(--theme-modal-header-pad-y) var(--theme-modal-header-pad-x)!important}
.modal-body{padding:var(--theme-modal-body-padding)!important}
.entity-form{gap:var(--theme-modal-form-gap)!important}


/* =========================================================
   GreenEco 3.3.16.44.2.89 — Style Center Stage 4
   بقية الألوان والحالات
   ========================================================= */
:root{
 --theme-success-alert-bg:#e5f8ee;--theme-success-alert-text:#09663e;--theme-warning-alert-bg:#fff8d9;--theme-warning-alert-text:#6c5500;
 --theme-error-alert-bg:#ffe9e9;--theme-error-alert-text:#8c161a;--theme-info-alert-bg:#e8f3fa;--theme-info-alert-text:#174f66;
 --theme-status-neutral-bg:#e8ecef;--theme-status-neutral-text:#25313a;--theme-status-success-bg:#d9f5e6;--theme-status-success-text:#05633a;
 --theme-status-info-bg:#dceffc;--theme-status-info-text:#075d8c;--theme-status-warning-bg:#fff2c8;--theme-status-warning-text:#805c00;
 --theme-status-danger-bg:#ffe2e3;--theme-status-danger-text:#911b20;--theme-tab-bg:#e9edef;--theme-tab-text:#395965;
 --theme-tab-active-bg:#05679a;--theme-tab-active-text:#fff;--theme-disabled-bg:#e9ecef;--theme-disabled-text:#7b868d;--theme-disabled-opacity:.48;
 --theme-notification-unread-bg:#fff8d9;--theme-notification-read-bg:#fff;--theme-notification-accent:#c59b2a;
 --theme-notification-badge-bg:#d94b53;--theme-notification-badge-text:#fff;--theme-ticker-bg:#edf7fa;--theme-ticker-text:#28566a;
 --theme-ticker-label-bg:#246d89;--theme-ticker-label-text:#fff;
}
.form-alert.success{background:var(--theme-success-alert-bg)!important;color:var(--theme-success-alert-text)!important}
.form-alert.warning,.notice-box{background:var(--theme-warning-alert-bg)!important;color:var(--theme-warning-alert-text)!important}
.form-alert.error{background:var(--theme-error-alert-bg)!important;color:var(--theme-error-alert-text)!important}
.form-alert.info{background:var(--theme-info-alert-bg)!important;color:var(--theme-info-alert-text)!important}
.status-badge{background:var(--theme-status-neutral-bg)!important;color:var(--theme-status-neutral-text)!important}
.status-active,.status-completed,.status-approved{background:var(--theme-status-success-bg)!important;color:var(--theme-status-success-text)!important}
.status-in_progress,.status-pending_approval,.status-running{background:var(--theme-status-info-bg)!important;color:var(--theme-status-info-text)!important}
.status-paused,.status-new,.status-not_started,.status-draft{background:var(--theme-status-warning-bg)!important;color:var(--theme-status-warning-text)!important}
.status-overdue,.status-delayed,.status-rejected,.status-failed,.status-cancelled{background:var(--theme-status-danger-bg)!important;color:var(--theme-status-danger-text)!important}
.reference-tabs{background:var(--theme-tab-bg)!important}
.reference-tabs button{background:var(--theme-tab-bg)!important;color:var(--theme-tab-text)!important}
.reference-tabs button.active{background:var(--theme-tab-active-bg)!important;color:var(--theme-tab-active-text)!important}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:var(--theme-disabled-opacity)!important}
button:disabled{background:var(--theme-disabled-bg)!important;color:var(--theme-disabled-text)!important}
.notification-list article.unread{background:var(--theme-notification-unread-bg)!important;border-right-color:var(--theme-notification-accent)!important}
.notification-list article.read{background:var(--theme-notification-read-bg)!important}
.notification-button b,.ribbon-notification-count{background:var(--theme-notification-badge-bg)!important;color:var(--theme-notification-badge-text)!important}
.system-news-ticker,.system-news-ticker.tone-success,.system-news-ticker.tone-warning,.system-news-ticker.tone-critical{background:var(--theme-ticker-bg)!important}
.system-news-ticker-text,.system-news-ticker.tone-critical .system-news-ticker-text{color:var(--theme-ticker-text)!important}
.system-news-ticker-label,.system-news-ticker.tone-success .system-news-ticker-label,.system-news-ticker.tone-warning .system-news-ticker-label,.system-news-ticker.tone-critical .system-news-ticker-label{background:var(--theme-ticker-label-bg)!important;color:var(--theme-ticker-label-text)!important}


/* =========================================================
   GreenEco 3.3.16.44.2.90 — Style Center Stage 5 / FINAL
   تثبيت واختبار الحفظ والاستعادة
   ========================================================= */
.style-center-ready-card{border-style:solid!important}
.style-center-ready{display:grid!important;grid-template-columns:58px 1fr!important;gap:4px 7px!important;align-items:center!important}
.style-center-ready>b{display:grid!important;place-items:center!important;min-height:26px!important;border-radius:4px!important;background:var(--theme-success-alert-bg,#e5f8ee)!important;color:var(--theme-success-alert-text,#09663e)!important}
.style-center-ready>span{font-weight:800!important;line-height:1.35!important}
.style-center-ready>small{grid-column:1/-1!important;color:#63757d!important;line-height:1.4!important}

/* Safe fallbacks keep screens visible even if an old localStorage style is incomplete. */
.page-container{box-sizing:border-box!important}
.page-title,.toolbar,.table-panel,.modal-card{box-sizing:border-box!important}


/* =========================================================
   GreenEco 3.3.16.44.2.91
   System Style — Group Screens
   ========================================================= */

.style-system-page{
  min-width:0!important;
}

/* ---- Main groups screen ---- */
.style-group-home{
  width:100%;
  max-width:var(--theme-page-width,1180px);
  margin:7px auto 0;
  padding:8px;
  background:var(--theme-panel-bg,#fff);
  border:var(--theme-outer-border-width,1px) solid var(--theme-outer-border,#9fb0b8);
  border-radius:var(--theme-panel-radius,4px);
  box-sizing:border-box;
}
.style-group-home-head{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 6px 8px;
  border-bottom:1px solid var(--theme-inner-border,#c8d3d8);
}
.style-group-home-head>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.style-group-home-head b{
  font-size:calc(12px * var(--font-scale,1));
  color:var(--theme-page-title-text,#162f3d);
}
.style-group-home-head span{
  font-size:calc(8.8px * var(--font-scale,1));
  color:var(--theme-page-subtitle-text,#6b7f88);
}
.style-group-ready-badge{
  flex:0 0 auto;
  min-width:90px;
  padding:5px 9px;
  text-align:center;
  border:1px solid var(--theme-inner-border,#c8d3d8);
  background:var(--theme-row-even-bg,#f7fafb);
  border-radius:var(--theme-button-radius,4px);
  color:var(--theme-table-text,#172d36)!important;
  font-weight:700;
}

.style-group-launcher{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:8px 0;
}
.style-group-launch-button{
  width:100%;
  min-width:0;
  min-height:58px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 16px;
  align-items:center;
  gap:7px;
  padding:7px 8px!important;
  border:1px solid var(--theme-inner-border,#c8d3d8)!important;
  border-radius:var(--theme-button-radius,4px)!important;
  background:var(--theme-panel-bg,#fff)!important;
  color:var(--theme-table-text,#172d36)!important;
  text-align:right;
  cursor:pointer;
  box-sizing:border-box;
}
.style-group-launch-button:hover,
.style-group-launch-button:focus-visible{
  background:var(--theme-row-hover-bg,#f0f7f9)!important;
  border-color:var(--theme-focus-color,#43b0bf)!important;
  outline:none!important;
}
.style-group-number{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--theme-page-icon-bg,#23b5c9);
  color:#fff;
  font-weight:700;
  font-size:calc(8px * var(--font-scale,1));
}
.style-group-button-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.2;
}
.style-group-button-copy b{
  display:block;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:calc(9.4px * var(--font-scale,1));
}
.style-group-button-copy small{
  display:block;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  color:var(--theme-page-subtitle-text,#6b7f88);
  font-size:calc(7.7px * var(--font-scale,1));
}
.style-group-open-mark{
  font-size:21px;
  line-height:1;
  color:var(--theme-primary-button,#05679a);
  font-weight:700;
}
.style-group-home-actions{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:7px;
  border-top:1px solid var(--theme-inner-border,#c8d3d8);
}
.style-group-home-actions>span{
  min-width:0;
  color:var(--theme-page-subtitle-text,#6b7f88);
  font-size:calc(8px * var(--font-scale,1));
  white-space:normal;
}

/* ---- Open group screen ---- */
.style-editor-v2.style-group-view{
  width:100%!important;
  max-width:var(--theme-page-width,1180px)!important;
  margin:7px auto 0!important;
  padding:0!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
}
.style-group-detail-head{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:5px 8px;
  margin-bottom:6px;
  background:var(--theme-panel-bg,#fff);
  border:var(--theme-outer-border-width,1px) solid var(--theme-outer-border,#9fb0b8);
  border-radius:var(--theme-panel-radius,4px);
  box-sizing:border-box;
}
.style-group-detail-head>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.style-group-detail-head b{
  white-space:normal;
  overflow-wrap:anywhere;
  color:var(--theme-page-title-text,#162f3d);
  font-size:calc(11px * var(--font-scale,1));
}
.style-group-detail-head span{
  white-space:normal;
  overflow-wrap:anywhere;
  color:var(--theme-page-subtitle-text,#6b7f88);
  font-size:calc(8.2px * var(--font-scale,1));
}
.style-group-back-top{
  flex:0 0 auto;
  min-height:29px;
  padding:4px 10px!important;
  border:1px solid var(--theme-inner-border,#c8d3d8)!important;
  border-radius:var(--theme-button-radius,4px)!important;
  background:var(--theme-secondary-button,#eff6fb)!important;
  color:var(--theme-secondary-button-text,#111c23)!important;
  font-size:calc(8.4px * var(--font-scale,1));
}

/* Only the selected group is rendered visually. */
.style-group-view .style-control-dashboard{
  display:block!important;
  width:100%!important;
}
.style-group-view .style-control-dashboard>.style-control-card{
  display:none!important;
  width:min(100%,900px)!important;
  max-width:900px!important;
  margin:0 auto!important;
  padding:9px 11px!important;
  box-sizing:border-box!important;
}
.style-group-view.style-group-1  .style-control-dashboard>.style-control-card:nth-child(1),
.style-group-view.style-group-2  .style-control-dashboard>.style-control-card:nth-child(2),
.style-group-view.style-group-3  .style-control-dashboard>.style-control-card:nth-child(3),
.style-group-view.style-group-4  .style-control-dashboard>.style-control-card:nth-child(4),
.style-group-view.style-group-5  .style-control-dashboard>.style-control-card:nth-child(5),
.style-group-view.style-group-6  .style-control-dashboard>.style-control-card:nth-child(6),
.style-group-view.style-group-7  .style-control-dashboard>.style-control-card:nth-child(7),
.style-group-view.style-group-8  .style-control-dashboard>.style-control-card:nth-child(8),
.style-group-view.style-group-9  .style-control-dashboard>.style-control-card:nth-child(9),
.style-group-view.style-group-10 .style-control-dashboard>.style-control-card:nth-child(10),
.style-group-view.style-group-11 .style-control-dashboard>.style-control-card:nth-child(11),
.style-group-view.style-group-12 .style-control-dashboard>.style-control-card:nth-child(12),
.style-group-view.style-group-13 .style-control-dashboard>.style-control-card:nth-child(13),
.style-group-view.style-group-14 .style-control-dashboard>.style-control-card:nth-child(14),
.style-group-view.style-group-16 .style-control-dashboard>.style-control-card:nth-child(16){
  display:block!important;
}

/* Selected group fields: two tidy control columns, no text/input overlap. */
.style-group-view .style-control-card>h3{
  position:static!important;
  min-height:24px!important;
  margin:0 0 7px!important;
  padding:0 0 6px!important;
  font-size:calc(10px * var(--font-scale,1))!important;
}
.style-group-view .style-control-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:18px!important;
  row-gap:3px!important;
}
.style-group-view .style-control-grid>label{
  width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  display:grid!important;
  grid-template-columns:minmax(130px,1fr) 92px!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:7px!important;
  padding:2px 0!important;
  box-sizing:border-box!important;
}
.style-group-view .style-control-grid>label>span{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.25!important;
  font-size:calc(8.8px * var(--font-scale,1))!important;
}
.style-group-view .style-control-grid input[type="color"],
.style-group-view .style-control-grid input[type="number"]{
  justify-self:end!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  height:28px!important;
  min-height:28px!important;
  box-sizing:border-box!important;
}
.style-group-view .style-font-compact{
  max-width:700px!important;
  margin:0 auto!important;
}
.style-group-view.style-group-16 .style-preview-v2{
  display:block!important;
  width:min(100%,900px)!important;
  max-width:900px!important;
  margin:7px auto 0!important;
}
.style-group-view:not(.style-group-16) .style-preview-v2,
.style-group-view .style-font-info{
  display:none!important;
}

/* Per-group save controls */
.style-group-savebar{
  width:min(100%,900px);
  min-height:44px;
  margin:7px auto 0;
  padding:6px 8px;
  display:flex;
  direction:rtl;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  background:var(--theme-panel-bg,#fff);
  border:var(--theme-outer-border-width,1px) solid var(--theme-outer-border,#9fb0b8);
  border-radius:var(--theme-panel-radius,4px);
  box-sizing:border-box;
}
.style-group-savebar button{
  min-width:128px;
}

/* The old informational readiness card is intentionally not a launcher group. */
.style-group-view .style-control-dashboard>.style-center-ready-card{
  display:none!important;
}

@media(max-width:900px){
  .style-group-launcher{grid-template-columns:repeat(2,minmax(0,1fr));}
  .style-group-view .style-control-card{max-width:100%!important;}
  .style-group-view .style-control-grid{grid-template-columns:1fr!important;}
  .style-group-view .style-control-grid>label{
    grid-template-columns:minmax(150px,1fr) 92px!important;
  }
}
@media(max-width:620px){
  .style-group-launcher{grid-template-columns:1fr;}
  .style-group-home-head,
  .style-group-home-actions,
  .style-group-detail-head{
    align-items:stretch;
    flex-direction:column;
  }
  .style-group-ready-badge{align-self:flex-start;}
  .style-group-back-top{align-self:flex-start;}
  .style-group-view .style-control-grid>label{
    grid-template-columns:minmax(120px,1fr) 86px!important;
  }
  .style-group-view .style-control-grid input[type="color"],
  .style-group-view .style-control-grid input[type="number"]{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }
  .style-group-savebar{
    flex-wrap:wrap;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.96 — Stable Workforce integration
   ========================================================= */
.app-workspace{position:relative!important}
.workforce-workspace-host{
  position:absolute!important;
  inset:0!important;
  z-index:35!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  background:var(--theme-screen-bg,#f4f4f3)!important;
  overflow:hidden!important;
}
.workforce-workspace-frame{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
}
.workforce-ribbon-symbol{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  font-size:21px;
  line-height:1;
}
.workforce-planning-submenu{min-width:250px!important}
.workforce-planning-submenu>a{
  min-height:31px!important;
  white-space:normal!important;
  line-height:1.25!important;
}


/* GreenEco workforce structure + employee import enhancement (2026-08-25) */
.page-title-actions{
  position:absolute;
  left:8px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  z-index:2;
}
.team-import-title-button{
  min-height:31px;
  padding:5px 11px;
  border:1px solid #2b7b96;
  background:#eff7fa;
  color:#174f66;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:800;
  cursor:pointer;
}
.team-import-title-button svg{color:#14aeb1}
.team-import-title-button:hover{background:#e1f2f6}

.employee-import-screen{
  direction:rtl;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.employee-import-topline{
  border:1px solid #7f8990;
  background:#fff;
  min-height:38px;
  padding:6px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.employee-import-topline strong{
  flex:1;
  text-align:center;
  font-size:calc(14px * var(--font-scale,1));
}
.employee-import-topline span{
  white-space:nowrap;
  color:#52656e;
}
.employee-import-toolbar{
  border:1px solid #c6cdd1;
  background:#f3f3f2;
  min-height:44px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  flex-wrap:wrap;
}
.employee-import-data-panel{
  border:1px solid #aab7c0;
  background:#f8fafb;
  padding:7px;
}
.employee-import-data-panel>header{
  min-height:28px;
  padding:4px 9px;
  border-top:8px solid #9dbbd4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.employee-import-data-panel>header span{
  color:#52656e;
  font-size:calc(11px * var(--font-scale,1));
}
.employee-import-actions{
  display:grid;
  grid-template-columns:minmax(240px,1.2fr) minmax(220px,1fr) minmax(190px,1fr);
  gap:9px;
  padding:7px 10px;
  background:#a8bed2;
}
.employee-import-actions button{
  min-height:34px;
}
.employee-import-table-wrap{
  border:1px solid #7f8990;
  background:#f6f6f6;
  min-height:330px;
  max-height:58vh;
  overflow:auto;
}
.employee-import-table{
  width:100%;
  min-width:1760px;
  table-layout:fixed;
  margin:0;
}
.employee-import-table th{
  position:sticky;
  top:0;
  z-index:1;
  white-space:nowrap;
}
.employee-import-table th:nth-child(1){width:58px}
.employee-import-table th:nth-child(2){width:48px}
.employee-import-table th:nth-child(3){width:120px}
.employee-import-table th:nth-child(4){width:190px}
.employee-import-table th:nth-child(5){width:160px}
.employee-import-table th:nth-child(6){width:175px}
.employee-import-table th:nth-child(7){width:175px}
.employee-import-table th:nth-child(8){width:160px}
.employee-import-table th:nth-child(9){width:140px}
.employee-import-table th:nth-child(10){width:210px}
.employee-import-table th:nth-child(11){width:180px}
.employee-import-table th:nth-child(12){width:95px}
.employee-import-table th:nth-child(13){width:180px}
.employee-import-table th:nth-child(14){width:240px}
.employee-import-table td{
  padding:3px 4px;
  vertical-align:top;
}
.employee-import-table td input:not([type=checkbox]),
.employee-import-table td select{
  width:100%;
  min-height:29px;
  border:1px solid #aab5bb;
  background:#fff;
  padding:3px 6px;
  font:inherit;
}
.employee-import-table td input:focus,
.employee-import-table td select:focus{
  outline:2px solid color-mix(in srgb,var(--theme-focus-color,#43b0bf) 35%,transparent);
  border-color:var(--theme-focus-color,#43b0bf);
}
.employee-import-row-error>td{background:#fff0f0!important}
.employee-import-row-warning>td{background:#fff9e3!important}
.employee-import-row-edited>td{background:#eef7fb!important}
.employee-import-row-saved>td{background:#eef9f2!important}
.employee-import-validation{
  min-width:220px;
}
.employee-import-validation b{
  display:block;
  margin-bottom:3px;
}
.employee-import-validation small{
  display:block;
  color:#64757d;
  white-space:normal;
  line-height:1.45;
}
.employee-import-row-error .employee-import-validation b{color:#9d1d24}
.employee-import-row-warning .employee-import-validation b{color:#7e6000}
.employee-import-row-saved .employee-import-validation b{color:#087445}

@media(max-width:860px){
  .page-title{
    padding-left:8px;
    padding-right:44px;
    flex-direction:column;
    align-items:center;
  }
  .page-title-actions{
    position:static;
    transform:none;
    margin-top:5px;
  }
  .employee-import-actions{
    grid-template-columns:1fr;
  }
}
/* GreenEco Team table: content-driven columns and compact rows */
.data-table.team-work-table{
  table-layout:auto;
  width:max-content;
  min-width:100%;
}
.data-table.team-work-table col{
  width:auto !important;
}
.data-table.team-work-table th,
.data-table.team-work-table td{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  vertical-align:top;
  height:30px;
  line-height:20px;
  padding:4px 10px;
}
.data-table.team-work-table th{
  text-align:center;
}
.data-table.team-work-table td{
  text-align:right;
}
/* GreenEco advanced entity search + unified toolbar */
.toolbar.entity-toolbar-unified{
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 12px;
}
.toolbar.entity-toolbar-unified .toolbar-actions{
  flex:0 0 auto;
}
.toolbar.entity-toolbar-unified .toolbar-extra{
  flex:1 1 520px;
  min-width:0;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.entity-toolbar-quick-search{
  display:flex;
  align-items:center;
  gap:6px;
  flex:1 1 280px;
  max-width:520px;
  min-width:220px;
}
.entity-toolbar-quick-search input{
  width:100%;
  height:31px;
  min-width:0;
  border:1px solid #87969c;
  background:#eef8f3;
  padding:4px 10px;
  font-size:calc(12px * var(--font-scale,1));
}
.entity-toolbar-results{
  margin:0;
  white-space:nowrap;
}
.task-templates-title-actions .entity-toolbar-quick-search{
  min-width:210px;
  max-width:420px;
}
.advanced-entity-search{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.advanced-search-note{
  margin:0;
  padding:8px 10px;
  border:1px solid #b8d4d8;
  background:#eefafa;
  color:#32454b;
  font-size:calc(12px * var(--font-scale,1));
}
.advanced-search-mode{
  display:flex;
  align-items:center;
  gap:10px;
}
.advanced-search-mode span{
  font-weight:700;
  white-space:nowrap;
}
.advanced-search-mode select{
  min-height:32px;
  min-width:260px;
  border:1px solid #87969c;
  background:#fff;
  padding:4px 8px;
}
.advanced-search-rules{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.advanced-search-rule{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(145px,.8fr) minmax(180px,1.4fr) 36px;
  gap:8px;
  align-items:center;
  padding:8px;
  border:1px solid #c6d0d5;
  background:#f8fbfc;
}
.advanced-search-rule select,
.advanced-search-rule input{
  width:100%;
  min-width:0;
  min-height:33px;
  border:1px solid #87969c;
  background:#fff;
  padding:4px 8px;
}
.advanced-search-rule input:disabled{
  background:#eceff1;
}
.advanced-search-remove{
  width:34px;
  height:33px;
  border:1px solid #c98d8d;
  background:#fff1f1;
  color:#b02323;
  font-size:20px;
  line-height:1;
}
.advanced-search-footer{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding-top:4px;
}
@media (max-width:760px){
  .toolbar.entity-toolbar-unified .toolbar-extra{
    flex-basis:100%;
  }
  .entity-toolbar-quick-search{
    max-width:none;
    min-width:100%;
  }
  .advanced-search-rule{
    grid-template-columns:1fr;
  }
  .advanced-search-remove{
    width:100%;
  }
  .advanced-search-mode{
    align-items:stretch;
    flex-direction:column;
  }
  .advanced-search-mode select{
    min-width:0;
    width:100%;
  }
}
/* GreenEco meetings search dialog */
.meeting-search-tool-button{
  min-width:76px;
}
.meeting-record-search{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.meeting-search-permission-note{
  padding:8px 10px;
  border:1px solid #b7d3d8;
  background:#eefafa;
  color:#30484e;
  font-size:calc(12px * var(--font-scale,1));
}
.meeting-search-mode{
  margin:0;
}
.meeting-search-rule{
  grid-template-columns:minmax(190px,1.15fr) minmax(150px,.8fr) minmax(210px,1.35fr) 38px;
}
.meeting-search-results{
  margin-top:4px;
  border:1px solid #b9c7cc;
  background:#fff;
}
.meeting-search-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border-bottom:1px solid #b9c7cc;
  background:#eef6f7;
}
.meeting-search-results-head span{
  white-space:nowrap;
}
.meeting-search-result-table{
  table-layout:auto;
  width:max-content;
  min-width:100%;
}
.meeting-search-result-table th,
.meeting-search-result-table td{
  white-space:nowrap;
  vertical-align:top;
  padding:5px 8px;
}
.meeting-search-result-table .meeting-search-title-cell{
  min-width:240px;
  max-width:480px;
  white-space:normal;
}
.meeting-search-pick{
  min-height:30px;
  padding:4px 12px;
}
.meeting-search-limit-note{
  display:block;
  padding:7px 10px;
  color:#6b7377;
  border-top:1px solid #d6dfe2;
}
@media (max-width:760px){
  .meeting-search-rule{
    grid-template-columns:1fr;
  }
  .meeting-search-results{
    overflow:hidden;
  }
}
/* GreenEco meeting minutes readiness */
.meeting-minutes-readiness{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:8px 0 10px;
  padding:10px 12px;
  border:1px solid #c6d1d5;
  background:#f8fbfc;
}
.meeting-minutes-readiness.ready{
  border-color:#9ccdb3;
  background:#f1faf5;
}
.meeting-minutes-readiness.incomplete{
  border-color:#d7c7a4;
  background:#fffaf0;
}
.meeting-minutes-readiness-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.meeting-minutes-readiness-head>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-minutes-readiness-head b{
  font-size:calc(13px * var(--font-scale,1));
}
.meeting-minutes-readiness-head small{
  color:#5f6b70;
}
.meeting-readiness-summary{
  padding:4px 10px;
  border:1px solid currentColor;
  border-radius:999px;
  white-space:nowrap;
  font-weight:700;
}
.meeting-minutes-readiness.ready .meeting-readiness-summary{
  color:#197345;
  background:#e7f7ee;
}
.meeting-minutes-readiness.incomplete .meeting-readiness-summary{
  color:#8a5a0a;
  background:#fff2d2;
}
.meeting-minutes-readiness-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:8px;
}
.meeting-readiness-item{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  padding:8px 9px;
  border:1px solid #d5dde0;
  background:#fff;
}
.meeting-readiness-item.complete{
  border-color:#b5d9c6;
}
.meeting-readiness-item.missing{
  border-color:#e2c8b5;
}
.meeting-readiness-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:50%;
  font-weight:900;
  line-height:1;
}
.meeting-readiness-item.complete .meeting-readiness-icon{
  background:#dff4e8;
  color:#147142;
}
.meeting-readiness-item.missing .meeting-readiness-icon{
  background:#fde8e3;
  color:#b23a2c;
}
.meeting-readiness-item>div{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.meeting-readiness-item b{
  white-space:nowrap;
}
.meeting-readiness-item small{
  color:#667277;
  white-space:nowrap;
}
@media (max-width:900px){
  .meeting-minutes-readiness-grid{
    grid-template-columns:repeat(2,minmax(140px,1fr));
  }
}
@media (max-width:520px){
  .meeting-minutes-readiness-grid{
    grid-template-columns:1fr;
  }
}
/* GreenEco move employee attendance to preparation screen */
.meeting-prep-head-title{
  min-width:0;
  text-align:center;
}
.meeting-prep-title-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.meeting-prep-title-row h1{
  margin:0;
}
.meeting-prep-attendance-head-button{
  flex:0 0 auto;
  white-space:nowrap;
}
.meeting-prep-attendance-register{
  margin-top:10px;
}
.meeting-prep-attendance-register-head{
  min-height:32px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #bac5ca;
  background:#eef7f3;
}
.meeting-prep-attendance-register-head b{
  color:#245c48;
  font-size:calc(10px * var(--font-scale,1));
}
.meeting-prep-attendance-register-head span{
  color:#667a71;
  font-size:calc(8px * var(--font-scale,1));
  white-space:nowrap;
}
.meeting-prep-attendance-register .table-scroll{
  max-height:330px;
  overflow:auto;
}
.meeting-prep-attendance-register .data-table{
  min-width:900px;
}
.meeting-prep-attendance-register th,
.meeting-prep-attendance-register td{
  vertical-align:top;
}
.meeting-prep-attendance-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  min-height:22px;
  padding:2px 7px;
  border:1px solid #abb8bd;
  background:#f6f8f9;
  font-weight:700;
  white-space:nowrap;
}
.meeting-prep-attendance-badge.attendance-attended{
  border-color:#9bc8ac;
  background:#eaf7ef;
  color:#1b7044;
}
.meeting-prep-attendance-badge.attendance-absent{
  border-color:#d7aaa2;
  background:#fff0ed;
  color:#9b3f31;
}
.meeting-prep-attendance-badge.attendance-excused{
  border-color:#d8c38e;
  background:#fff8e5;
  color:#7d611d;
}
.meeting-prep-attendance-badge.attendance-invited{
  border-color:#a9c5d1;
  background:#eef7fb;
  color:#2f657b;
}
@media(max-width:700px){
  .meeting-prep-title-row{
    justify-content:flex-start;
  }
}
/* GreenEco safe independent employee attendance screen */
.attendance-independent-screen{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.attendance-independent-summary{
  display:grid;
  grid-template-columns:minmax(300px,2fr) repeat(2,minmax(120px,1fr));
  gap:8px;
}
.attendance-independent-summary>div{
  min-width:0;
  padding:8px 10px;
  border:1px solid #b9c7cc;
  background:#f7fbfc;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.attendance-independent-summary span{
  color:#65757b;
  font-size:calc(9px * var(--font-scale,1));
}
.attendance-independent-summary b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.attendance-independent-table{
  width:max-content;
  min-width:100%;
  table-layout:auto;
}
.attendance-independent-table th,
.attendance-independent-table td{
  white-space:nowrap;
  vertical-align:top;
  padding:5px 8px;
}
.attendance-independent-table tbody tr{
  cursor:pointer;
}
.attendance-independent-table tbody tr.selected-row{
  background:#eaf6fb;
  outline:2px solid #1177a6;
  outline-offset:-2px;
}
.attendance-toolbar-search{
  min-width:280px;
  max-width:500px;
}
.attendance-toolbar-search input{
  width:100%;
}
@media(max-width:760px){
  .attendance-independent-summary{
    grid-template-columns:1fr;
  }
}
/* GreenEco employee attendance access button */
.meeting-prep-title-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.meeting-prep-title-row h1{
  margin:0;
}
.meeting-prep-attendance-open-button{
  flex:0 0 auto;
  min-height:32px;
  padding-inline:12px;
  white-space:nowrap;
  font-weight:800;
}
@media(max-width:700px){
  .meeting-prep-title-row{
    justify-content:flex-start;
  }
}

/* GreenEco attendance toolbar + bulk attendance by organization */
.meeting-attendance-page-head{
  position:relative;min-height:56px;margin:0 0 8px;padding:6px 120px 6px 48px;
  border:1px solid #7f8990;background:#fff;display:flex;align-items:center;justify-content:center
}
.meeting-attendance-page-head .page-title-icon{right:7px}
.meeting-attendance-head-main{display:flex;align-items:center;justify-content:center;gap:16px;min-width:0;width:100%}
.meeting-attendance-head-main h1{margin:0;font-size:calc(20px * var(--font-scale,1));white-space:nowrap}
.meeting-attendance-head-subject{min-width:260px;max-width:620px;flex:1 1 460px}
.meeting-attendance-head-subject .meeting-toolbar-subject{width:100%;display:flex;align-items:center;gap:8px}
.meeting-attendance-head-subject .meeting-toolbar-subject>span{white-space:nowrap;font-weight:800}
.meeting-attendance-head-subject select{min-width:0;width:100%;height:32px}
.meeting-attendance-head-exit{position:absolute;left:8px}
.attendance-one-row-toolbar{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.attendance-one-row-toolbar .toolbar{width:max-content;min-width:100%;flex-wrap:nowrap!important;justify-content:center}
.attendance-one-row-toolbar .toolbar-actions,.attendance-one-row-toolbar .toolbar-extra{flex-wrap:nowrap!important;flex:0 0 auto}
.attendance-one-row-toolbar .tool-button,.attendance-one-row-toolbar .results-count{white-space:nowrap}
.attendance-one-row-toolbar .attendance-toolbar-search{min-width:230px;max-width:320px;flex:0 0 280px}
.attendance-bulk-button{padding-inline:10px}
.attendance-bulk-dialog{display:flex;flex-direction:column;gap:10px}
.attendance-bulk-filter,.attendance-bulk-org-filters label{display:flex;align-items:center;gap:8px}
.attendance-bulk-filter>span,.attendance-bulk-org-filters label>span{min-width:90px;font-weight:800;white-space:nowrap}
.attendance-bulk-filter select{min-width:280px;min-height:34px}
.attendance-bulk-org-filters{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(320px,1.3fr);gap:10px}
.attendance-bulk-org-filters select{width:100%;min-width:0;min-height:34px}
.attendance-bulk-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px;border:1px solid #c4cfd3;background:#f6f9fa}
.attendance-bulk-search{display:flex;align-items:center;gap:6px;min-width:220px;flex:1 1 260px}
.attendance-bulk-search input{width:100%;min-width:0;height:32px}
.attendance-bulk-count{white-space:nowrap}
.attendance-bulk-table-scroll{max-height:430px;overflow:auto}
.attendance-bulk-table{width:max-content;min-width:100%;table-layout:auto}
.attendance-bulk-table th,.attendance-bulk-table td{white-space:nowrap;vertical-align:top;padding:4px 7px}
.attendance-bulk-status{min-width:100px;min-height:30px}
.attendance-bulk-note{min-width:180px;height:30px}
.attendance-bulk-actions{padding-top:3px}
@media(max-width:850px){
 .meeting-attendance-page-head{padding:8px 46px 8px 8px}
 .meeting-attendance-head-main{flex-direction:column;gap:6px;align-items:stretch}
 .meeting-attendance-head-main h1{text-align:center}
 .meeting-attendance-head-subject{max-width:none;min-width:0;width:100%}
 .meeting-attendance-head-exit{position:static;margin-inline-start:8px}
 .attendance-bulk-org-filters{grid-template-columns:1fr}
}
/* GreenEco persistent preparation sidebar */
.meeting-prep-shell{
  display:grid;
  grid-template-columns:205px minmax(0,1fr);
  gap:10px;
  align-items:start;
  direction:rtl;
}
.meeting-prep-sidebar{
  grid-column:1;
  position:sticky;
  top:8px;
  z-index:8;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:8px;
  border:1px solid #8aa0aa;
  background:#eef5f7;
  max-height:calc(100vh - 175px);
  overflow:auto;
}
.meeting-prep-sidebar-head{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:6px 7px 8px;
  border-bottom:1px solid #aab9bf;
  margin-bottom:2px;
}
.meeting-prep-sidebar-head b{
  font-size:calc(12px * var(--font-scale,1));
  color:#173d4b;
}
.meeting-prep-sidebar-head small{
  font-size:calc(8px * var(--font-scale,1));
  color:#6d7a80;
}
.meeting-prep-side-button{
  width:100%;
  min-height:34px;
  border:1px solid #81949c;
  background:#fff;
  color:#18323d;
  text-align:right;
  padding:6px 10px;
  font-weight:700;
  cursor:pointer;
}
.meeting-prep-side-button:hover:not(:disabled){
  background:#e4f4f8;
}
.meeting-prep-side-button.active{
  border-color:#0b718f;
  background:#dff3f8;
  color:#075c75;
  box-shadow:inset -3px 0 0 #0b718f;
}
.meeting-prep-side-button.danger{
  color:#9f3737;
  border-color:#d3a0a0;
}
.meeting-prep-side-button.attendance-link{
  background:#e9f8f1;
  border-color:#84bca3;
  color:#185c3e;
}
.meeting-prep-side-button:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.meeting-prep-sidebar-divider{
  height:1px;
  background:#b7c3c8;
  margin:3px 0;
}
.meeting-prep-workspace{
  grid-column:2;
  min-width:0;
  direction:rtl;
}
.meeting-prep-work-card{
  border:1px solid #aabac0;
  background:#fff;
  min-height:310px;
}
.meeting-prep-work-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:38px;
  padding:7px 10px;
  border-bottom:1px solid #b5c2c7;
  background:#edf7f8;
}
.meeting-prep-work-card-head b{
  color:#17495a;
}
.meeting-prep-work-card-head span{
  color:#69787d;
  font-size:calc(9px * var(--font-scale,1));
}
.meeting-prep-work-card .entity-form{
  padding:14px;
}
.meeting-prep-inline-actions{
  display:flex;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  padding-top:10px;
}
.meeting-prep-inline-branch-select{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:12px;
}
.meeting-prep-inline-branch-select label{
  display:flex;
  align-items:center;
  gap:8px;
}
.meeting-prep-inline-branch-select label span{
  font-weight:800;
  white-space:nowrap;
}
.meeting-prep-inline-branch-select select{
  min-width:280px;
  min-height:34px;
}
.meeting-prep-inline-count{
  padding:6px 9px;
  border:1px solid #bdcbd0;
  background:#f6f9fa;
  white-space:nowrap;
}
.meeting-prep-inline-search{
  display:flex;
  align-items:center;
  gap:7px;
  margin:12px;
  padding:5px 8px;
  border:1px solid #9caeb5;
  background:#f7fbfc;
}
.meeting-prep-inline-search input{
  width:100%;
  min-width:0;
  height:34px;
  border:0;
  outline:0;
  background:transparent;
}
.meeting-prep-shell .meeting-prep-register,
.meeting-prep-shell .meeting-prep-overview{
  margin-top:0;
}
@media(max-width:900px){
  .meeting-prep-shell{
    grid-template-columns:175px minmax(0,1fr);
    gap:6px;
  }
  .meeting-prep-sidebar{
    padding:6px;
  }
  .meeting-prep-side-button{
    padding-inline:7px;
    font-size:calc(9px * var(--font-scale,1));
  }
}

.meeting-prep-toolbar{display:none!important;}
/* GreenEco prepare subject + advanced search row */
.meeting-prep-page-head-title-only{
  grid-template-columns:1fr;
  justify-items:center;
}
.meeting-prep-page-head-title-only .meeting-prep-head-title{
  justify-self:center;
}
.meeting-prep-subject-search-row{
  display:grid;
  grid-template-columns:minmax(330px,1fr) auto minmax(220px,.8fr);
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:5px 8px;
}
.meeting-prep-register-subject{
  min-width:0;
}
.meeting-prep-register-subject .meeting-toolbar-subject{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
}
.meeting-prep-register-subject .meeting-toolbar-subject>span{
  flex:0 0 auto;
  white-space:nowrap;
  font-weight:800;
}
.meeting-prep-register-subject .meeting-toolbar-subject select{
  width:100%;
  min-width:0;
  min-height:32px;
}
.meeting-prep-register-search{
  display:flex;
  align-items:center;
}
.meeting-prep-register-search .meeting-search-tool-button{
  min-height:32px;
  min-width:82px;
  white-space:nowrap;
}
.meeting-prep-register-hint{
  justify-self:end;
  color:#65777d;
  font-size:calc(8px * var(--font-scale,1));
  white-space:normal;
}
.meeting-attendance-head-actions{
  position:absolute;
  left:8px;
  display:flex;
  align-items:center;
  gap:6px;
}
.meeting-attendance-head-actions .meeting-attendance-head-back,
.meeting-attendance-head-actions .meeting-attendance-head-exit{
  position:static;
  min-width:72px;
  white-space:nowrap;
}
@media(max-width:900px){
  .meeting-prep-subject-search-row{
    grid-template-columns:minmax(260px,1fr) auto;
  }
  .meeting-prep-register-hint{
    grid-column:1/-1;
    justify-self:start;
  }
}
@media(max-width:650px){
  .meeting-prep-subject-search-row{
    grid-template-columns:1fr;
  }
  .meeting-prep-register-search{
    justify-content:flex-start;
  }
  .meeting-attendance-head-actions{
    position:static;
  }
}
/* GreenEco centered preparation header */
.meeting-prep-page-head.meeting-prep-page-head-title-only{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:6px 110px 6px 110px;
}
.meeting-prep-page-head-title-only .meeting-prep-head-title{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:calc(100% - 240px);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.meeting-prep-page-head-title-only .meeting-prep-head-title h1{
  margin:0;
  text-align:center;
}
.meeting-prep-page-head-title-only .meeting-prep-head-title small{
  text-align:center;
}
.meeting-prep-page-head-title-only .meeting-prep-head-exit{
  position:absolute;
  left:10px;
  right:auto;
  min-width:82px;
}
@media(max-width:650px){
  .meeting-prep-page-head.meeting-prep-page-head-title-only{
    padding-inline:82px;
  }
  .meeting-prep-page-head-title-only .meeting-prep-head-title{
    max-width:calc(100% - 180px);
  }
  .meeting-prep-page-head-title-only .meeting-prep-head-exit{
    left:6px;
    min-width:70px;
  }
}
/* GreenEco issues number + risk fields */
.meeting-issue-grid select{
  width:100%;
  min-width:0;
  min-height:34px;
}
.meeting-issue-grid input{
  width:100%;
  min-width:0;
  min-height:34px;
}
/* GreenEco exact issue add grid */
.meeting-issue-exact-table{table-layout:fixed;min-width:860px}
.meeting-issue-exact-table th:nth-child(1),
.meeting-issue-exact-table td:nth-child(1){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
}
.meeting-issue-exact-table th:nth-child(2),
.meeting-issue-exact-table td:nth-child(2){width:43%}
.meeting-issue-exact-table th:nth-child(3),
.meeting-issue-exact-table td:nth-child(3){width:10%}
.meeting-issue-exact-table th:nth-child(4),
.meeting-issue-exact-table td:nth-child(4){width:auto}
.meeting-issue-exact-table input,
.meeting-issue-exact-table select,
.meeting-issue-exact-table textarea{width:100%;min-width:0}
.meeting-issue-exact-table input,
.meeting-issue-exact-table select{min-height:34px}
.meeting-issue-exact-table textarea{min-height:64px;resize:vertical}
/* GreenEco issue column width tuning */
.meeting-issue-exact-table td:nth-child(1) input{
  text-align:center;
  padding-inline:6px;
}
.meeting-issue-exact-table td:nth-child(3) select{
  padding-inline:6px;
}
/* GreenEco compact issue number column */
.meeting-issue-exact-table th:nth-child(1),
.meeting-issue-exact-table td:nth-child(1){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  padding-inline:4px !important;
  text-align:center;
}
.meeting-issue-exact-table td:nth-child(1) input{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  margin:0 auto;
  text-align:center;
  padding-inline:2px;
  font-weight:700;
}
/* GreenEco true compact issue number column */
.meeting-issue-exact-table{
  table-layout:fixed !important;
  width:100% !important;
  min-width:0 !important;
}
.meeting-issue-exact-table col.issue-col-number{
  width:58px !important;
}
.meeting-issue-exact-table col.issue-col-problem{
  width:41% !important;
}
.meeting-issue-exact-table col.issue-col-risk{
  width:105px !important;
}
.meeting-issue-exact-table col.issue-col-solution{
  width:auto !important;
}
.meeting-issue-exact-table th:nth-child(1),
.meeting-issue-exact-table td:nth-child(1){
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  padding-inline:4px !important;
}
.meeting-issue-exact-table td:nth-child(1) input{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  box-sizing:border-box;
  margin:0 auto;
}
.meeting-issue-exact-table th:nth-child(3),
.meeting-issue-exact-table td:nth-child(3){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}
/* GreenEco FINAL exact issue column sizing */
.meeting-issue-exact-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}

/* الرقم: نفس حجم الحقل تقريباً ولا يتمدد */
.meeting-issue-exact-table col.issue-col-number{
  width:56px !important;
}

/* درجة المخاطر */
.meeting-issue-exact-table col.issue-col-risk{
  width:105px !important;
}

/* كل المساحة الباقية تقسم بالتساوي بين المشكلة والحلول */
.meeting-issue-exact-table col.issue-col-problem,
.meeting-issue-exact-table col.issue-col-solution{
  width:calc((100% - 161px) / 2) !important;
}

.meeting-issue-exact-table th:nth-child(1),
.meeting-issue-exact-table td:nth-child(1){
  width:56px !important;
  min-width:56px !important;
  max-width:56px !important;
  box-sizing:border-box !important;
  padding-left:4px !important;
  padding-right:4px !important;
  text-align:center !important;
}

.meeting-issue-exact-table td:nth-child(1) input{
  display:block !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  box-sizing:border-box !important;
  margin:0 auto !important;
  padding-left:2px !important;
  padding-right:2px !important;
  text-align:center !important;
}

.meeting-issue-exact-table th:nth-child(3),
.meeting-issue-exact-table td:nth-child(3){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
  box-sizing:border-box !important;
}

.meeting-issue-exact-table th:nth-child(2),
.meeting-issue-exact-table td:nth-child(2),
.meeting-issue-exact-table th:nth-child(4),
.meeting-issue-exact-table td:nth-child(4){
  min-width:0 !important;
  max-width:none !important;
}
/* GreenEco HARD compact number + risk columns */
.meeting-issue-exact-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}

/* الرقم */
.meeting-issue-exact-table col.issue-col-number{
  width:64px !important;
}
.meeting-issue-exact-table th:nth-child(1),
.meeting-issue-exact-table td:nth-child(1){
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
  padding-left:4px !important;
  padding-right:4px !important;
  box-sizing:border-box !important;
}
.meeting-issue-exact-table td:nth-child(1) input{
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  margin:0 auto !important;
  display:block !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

/* درجة المخاطر */
.meeting-issue-exact-table col.issue-col-risk{
  width:125px !important;
}
.meeting-issue-exact-table th:nth-child(3),
.meeting-issue-exact-table td:nth-child(3){
  width:125px !important;
  min-width:125px !important;
  max-width:125px !important;
  padding-left:4px !important;
  padding-right:4px !important;
  box-sizing:border-box !important;
}
.meeting-issue-exact-table td:nth-child(3) select{
  width:115px !important;
  min-width:115px !important;
  max-width:115px !important;
  margin:0 auto !important;
  display:block !important;
  box-sizing:border-box !important;
}

/* المشاكل والحلول والمقترحات يتقاسمان الباقي */
.meeting-issue-exact-table col.issue-col-problem,
.meeting-issue-exact-table col.issue-col-solution{
  width:auto !important;
}
.meeting-issue-exact-table th:nth-child(2),
.meeting-issue-exact-table td:nth-child(2),
.meeting-issue-exact-table th:nth-child(4),
.meeting-issue-exact-table td:nth-child(4){
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

/* منع قواعد الجدول العامة من إعادة توسيع العمودين */
.meeting-batch-table.meeting-issue-exact-table th:nth-child(1),
.meeting-batch-table.meeting-issue-exact-table td:nth-child(1){
  width:64px !important;
}
.meeting-batch-table.meeting-issue-exact-table th:nth-child(3),
.meeting-batch-table.meeting-issue-exact-table td:nth-child(3){
  width:125px !important;
}
/* GreenEco issue entry fixed grid */
.meeting-issue-entry-grid{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 120px minmax(0,1fr);
  gap:0;
  width:100%;
  direction:rtl;
}
.meeting-issue-entry-grid-head{
  border-top:1px solid #4e5960;
  border-right:1px solid #4e5960;
  background:#b5f3cf;
  font-weight:800;
}
.meeting-issue-entry-grid-head>div{
  min-height:34px;
  padding:7px 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid #4e5960;
  border-bottom:1px solid #4e5960;
  box-sizing:border-box;
  white-space:nowrap;
}
.meeting-issue-entry-grid-body{
  width:100%;
}
.meeting-issue-entry-grid-row{
  border-right:1px solid #9aa7ad;
}
.meeting-issue-entry-grid-row>div{
  min-width:0;
  padding:7px 8px;
  border-left:1px solid #9aa7ad;
  border-bottom:1px solid #9aa7ad;
  box-sizing:border-box;
  background:#fff;
}
.meeting-issue-entry-grid-row:nth-child(even)>div{
  background:#f7fafb;
}

/* الرقم: العمود نفسه بحجم الحقل تقريباً */
.meeting-issue-entry-number{
  width:58px;
  padding-left:5px!important;
  padding-right:5px!important;
}
.meeting-issue-entry-number input{
  display:block;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:32px;
  margin:0 auto;
  padding:2px!important;
  box-sizing:border-box;
  text-align:center;
  font-weight:700;
}

/* درجة المخاطر: العمود نفسه بحجم القائمة */
.meeting-issue-entry-risk{
  width:120px;
  padding-left:5px!important;
  padding-right:5px!important;
}
.meeting-issue-entry-risk select{
  display:block;
  width:108px!important;
  min-width:108px!important;
  max-width:108px!important;
  height:38px;
  margin:0 auto;
  padding-inline:5px;
  box-sizing:border-box;
}

/* المساحتان الكبيرتان */
.meeting-issue-entry-problem textarea,
.meeting-issue-entry-solution textarea{
  width:100%;
  min-width:0;
  min-height:52px;
  box-sizing:border-box;
  resize:vertical;
}

.meeting-issue-exact-entry .meeting-add-line-button{
  margin-top:8px;
}

@media(max-width:760px){
  .meeting-issue-entry-grid{
    grid-template-columns:54px minmax(180px,1fr) 108px minmax(180px,1fr);
    min-width:650px;
  }
  .meeting-issue-exact-entry{
    overflow-x:auto;
  }
}
/* GreenEco equal auto-growing issue rows */
.meeting-issue-entry-grid-row{
  align-items:stretch !important;
  grid-auto-rows:auto;
}
.meeting-issue-entry-grid-row>div{
  height:100%;
  min-height:70px;
  display:flex;
  align-items:stretch;
  box-sizing:border-box;
}
.meeting-issue-entry-number,
.meeting-issue-entry-risk{
  align-items:center !important;
  justify-content:center;
}
.meeting-issue-entry-problem textarea,
.meeting-issue-entry-solution textarea{
  display:block;
  width:100%;
  height:56px;
  min-height:56px;
  overflow:hidden;
  resize:none;
  box-sizing:border-box;
}
.meeting-issue-entry-number input,
.meeting-issue-entry-risk select{
  align-self:center;
}
/* GreenEco compact Excel-like issue rows */
.meeting-issue-entry-grid{
  grid-template-columns:56px minmax(0,1fr) 92px minmax(0,1fr) !important;
}

/* رأس الجدول مضغوط */
.meeting-issue-entry-grid-head>div{
  min-height:27px !important;
  height:27px !important;
  padding:3px 5px !important;
  line-height:1.15 !important;
  box-sizing:border-box !important;
}

/* صف البيانات يبدأ صغيراً مثل الإكسل */
.meeting-issue-entry-grid-row{
  align-items:stretch !important;
  grid-auto-rows:auto !important;
}

.meeting-issue-entry-grid-row>div{
  min-height:32px !important;
  height:auto !important;
  padding:3px 5px !important;
  display:flex !important;
  align-items:stretch !important;
  box-sizing:border-box !important;
}

/* عمود الرقم */
.meeting-issue-entry-number{
  width:56px !important;
  min-width:56px !important;
  max-width:56px !important;
  align-items:center !important;
  justify-content:center !important;
}

.meeting-issue-entry-number input{
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:26px !important;
  min-height:26px !important;
  margin:auto !important;
  padding:1px 3px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

/* عمود درجة المخاطر */
.meeting-issue-entry-risk{
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  align-items:center !important;
  justify-content:center !important;
}

.meeting-issue-entry-risk select{
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;
  height:27px !important;
  min-height:27px !important;
  margin:auto !important;
  padding:1px 4px !important;
  box-sizing:border-box !important;
}

/* المشاكل والحلول: سطر صغير أولاً ويتمددان فقط عند زيادة النص */
.meeting-issue-entry-problem textarea,
.meeting-issue-entry-solution textarea{
  width:100% !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 6px !important;
  line-height:1.35 !important;
  overflow:hidden !important;
  resize:none !important;
  box-sizing:border-box !important;
}

/* الخلية كلها تتمدد مع أكبر حقل في الصف */
.meeting-issue-entry-problem,
.meeting-issue-entry-solution{
  align-items:stretch !important;
}

/* حدود أنظف وأقرب لشكل الإكسل */
.meeting-issue-entry-grid-head{
  border-top:1px solid #2f383d !important;
  border-right:1px solid #2f383d !important;
}
.meeting-issue-entry-grid-head>div{
  border-left:1px solid #2f383d !important;
  border-bottom:1px solid #2f383d !important;
}
.meeting-issue-entry-grid-row{
  border-right:1px solid #5e686d !important;
}
.meeting-issue-entry-grid-row>div{
  border-left:1px solid #5e686d !important;
  border-bottom:1px solid #5e686d !important;
}
/* GreenEco meeting issue assignment workflow */
.meeting-issue-workflow-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,520px) auto;
  align-items:center;
  gap:8px;
}
.meeting-issue-workflow-toolbar .toolbar-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.meeting-issue-workflow-subject .meeting-toolbar-subject{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
}
.meeting-issue-workflow-subject select{
  width:100%;
  min-width:0;
}
.meeting-issue-workflow-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:8px;
  margin:8px 0;
}
.meeting-issue-workflow-summary article{
  border:1px solid #b6c6cc;
  background:#f7fbfc;
  padding:8px 10px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-issue-workflow-summary article.success{
  background:#f0faf4;
  border-color:#a9ccb7;
}
.meeting-issue-workflow-summary span{
  color:#66777d;
  font-size:calc(9px * var(--font-scale,1));
}
.meeting-issue-workflow-summary b{
  font-size:calc(17px * var(--font-scale,1));
}
.meeting-issue-workflow-head{
  min-height:38px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #b9c7cc;
  background:#edf7f8;
}
.meeting-issue-workflow-head span{
  color:#65777d;
  font-size:calc(9px * var(--font-scale,1));
}
.meeting-issue-workflow-table{
  width:max-content;
  min-width:100%;
  table-layout:auto;
}
.meeting-issue-workflow-table th,
.meeting-issue-workflow-table td{
  white-space:nowrap;
  vertical-align:top;
  padding:5px 7px;
}
.meeting-issue-workflow-table tbody tr{
  cursor:pointer;
}
.meeting-issue-workflow-table tbody tr.selected-row{
  outline:2px solid #1177a6;
  outline-offset:-2px;
  background:#edf8fc;
}
.meeting-issue-workflow-problem,
.meeting-issue-workflow-solution{
  min-width:220px;
  max-width:420px;
  white-space:normal!important;
}
.issue-assignment-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  padding:2px 7px;
  border-radius:10px;
  border:1px solid #b9c5ca;
  background:#f4f7f8;
}
.issue-assignment-state.assigned{background:#eef6fb;border-color:#aac9da}
.issue-assignment-state.in_progress{background:#fff8df;border-color:#d8c77d}
.issue-assignment-state.resolved{background:#edf9f1;border-color:#9fc9ad}
.issue-assignment-state.transferred{background:#fff0f0;border-color:#d6a5a5}
.issue-assignment-state.suspended{background:#f6f1fa;border-color:#c7b1d7}
.issue-assignment-history .data-table td{
  white-space:normal;
  vertical-align:top;
}
@media(max-width:900px){
  .meeting-issue-workflow-toolbar{
    grid-template-columns:1fr;
  }
  .meeting-issue-workflow-summary{
    grid-template-columns:repeat(2,minmax(130px,1fr));
  }
}
/* GreenEco stable isolated issue workflow */
.meeting-issue-workflow-schema-alert{
  margin:8px 0;
  font-weight:700;
}
.meeting-issue-workflow-table tbody tr.selected-row td{
  background:#e8f6fb !important;
}
.meeting-issue-workflow-table tbody tr:hover td{
  background:#f3fafc;
}
.meeting-issue-workflow-table tbody tr.selected-row:hover td{
  background:#e8f6fb !important;
}
/* GreenEco unified meeting follow-up sources */
.meeting-followup-source{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  padding:3px 8px;
  border:1px solid #aebdc3;
  border-radius:12px;
  white-space:nowrap;
  font-weight:700;
}
.meeting-followup-source.issue{
  background:#fff7de;
  border-color:#d7c37d;
}
.meeting-followup-source.result{
  background:#edf7fb;
  border-color:#9fc2d2;
}
.meeting-followup-result-cell{
  min-width:260px;
  max-width:520px;
  white-space:normal!important;
}
/* GreenEco compact approval archive screen */

/* عنوان الصفحة */
.meeting-approval-page .page-title{
  min-height:42px !important;
  padding:5px 9px !important;
  margin-bottom:4px !important;
}
.meeting-approval-page .page-title-icon{
  width:28px !important;
  height:28px !important;
}
.meeting-approval-page .page-title h1{
  margin:0 !important;
  line-height:1.15 !important;
}
.meeting-approval-page .page-title p{
  margin:1px 0 0 !important;
  line-height:1.1 !important;
}

/* الشريط العلوي */
.meeting-approval-page .toolbar{
  min-height:38px !important;
  padding:4px 7px !important;
  margin-bottom:4px !important;
}
.meeting-approval-page .meeting-toolbar-subject select{
  min-height:29px !important;
  height:29px !important;
}
.meeting-approval-page .tool-button,
.meeting-approval-page .secondary-button,
.meeting-approval-page .primary-button,
.meeting-approval-page .danger-inline{
  min-height:29px !important;
  padding:3px 8px !important;
}

/* مراحل الاعتماد: شريط واحد منخفض */
.meeting-approval-page .meeting-approval-stagebar{
  min-height:42px !important;
  margin:4px 0 !important;
  padding:4px 8px !important;
  border-radius:6px !important;
}
.meeting-approval-page .meeting-approval-step{
  grid-template-columns:24px 1fr !important;
  grid-template-rows:15px 13px !important;
  column-gap:5px !important;
  padding:1px 8px !important;
  min-height:32px !important;
}
.meeting-approval-page .meeting-approval-step i{
  width:23px !important;
  height:23px !important;
  font-size:calc(9px * var(--font-scale,1)) !important;
}
.meeting-approval-page .meeting-approval-step b{
  line-height:1.05 !important;
  font-size:calc(9px * var(--font-scale,1)) !important;
}
.meeting-approval-page .meeting-approval-step span{
  line-height:1 !important;
  font-size:calc(7.5px * var(--font-scale,1)) !important;
}
.meeting-approval-page .meeting-approval-step:not(:last-child)::after{
  top:7px !important;
  height:27px !important;
}

/* بطاقة معلومات المحضر */
.meeting-approval-page .meeting-approval-overview,
.meeting-approval-page .meeting-approval-workflow,
.meeting-approval-page .meeting-approval-history{
  margin-bottom:4px !important;
  border-radius:5px !important;
}
.meeting-approval-page .meeting-approval-status-row>div{
  min-height:34px !important;
  padding:3px 6px !important;
  gap:0 !important;
}
.meeting-approval-page .meeting-approval-status-row span{
  font-size:calc(7.5px * var(--font-scale,1)) !important;
  line-height:1.05 !important;
}
.meeting-approval-page .meeting-approval-status-row b{
  font-size:calc(9.5px * var(--font-scale,1)) !important;
  line-height:1.1 !important;
}
.meeting-approval-page .meeting-approval-status-main .meeting-approval-status-value{
  font-size:calc(10.5px * var(--font-scale,1)) !important;
}

.meeting-approval-page .meeting-approval-meta-table th,
.meeting-approval-page .meeting-approval-meta-table td{
  height:25px !important;
  min-height:25px !important;
  padding:3px 6px !important;
  line-height:1.15 !important;
  font-size:calc(8.5px * var(--font-scale,1)) !important;
}
.meeting-approval-page .meeting-approval-meta-table th{
  width:88px !important;
}

/* النسخة الموقعة */
.meeting-approval-page .meeting-approval-file-row{
  min-height:31px !important;
  margin:3px 5px !important;
  padding:3px 6px !important;
  gap:6px !important;
}
.meeting-approval-page .meeting-approval-file-row>div{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
}
.meeting-approval-page .meeting-approval-file-row span,
.meeting-approval-page .meeting-approval-file-row b,
.meeting-approval-page .meeting-approval-file-row small{
  line-height:1.1 !important;
}

/* الإجراء المتاح */
.meeting-approval-page .form-section-title{
  min-height:27px !important;
  padding:4px 8px !important;
  line-height:1.1 !important;
}
.meeting-approval-page .meeting-approval-workflow-body{
  padding:4px 6px !important;
  gap:4px !important;
}
.meeting-approval-page .meeting-approval-buttons{
  min-height:30px !important;
  gap:5px !important;
}
.meeting-approval-page .meeting-approval-note{
  gap:2px !important;
}
.meeting-approval-page .meeting-approval-note textarea{
  min-height:44px !important;
  max-height:72px !important;
  padding:4px 6px !important;
  line-height:1.25 !important;
}
.meeting-approval-page .meeting-approval-hint{
  min-height:26px !important;
  margin:0 !important;
  padding:4px 7px !important;
  line-height:1.2 !important;
}

/* سجل الأرشفة */
.meeting-approval-page .meeting-approval-history .table-scroll{
  max-height:190px !important;
  overflow:auto !important;
}
.meeting-approval-page .meeting-approval-history .data-table th,
.meeting-approval-page .meeting-approval-history .data-table td{
  min-height:26px !important;
  height:auto !important;
  padding:3px 5px !important;
  line-height:1.2 !important;
  font-size:calc(8.5px * var(--font-scale,1)) !important;
}
.meeting-approval-page .meeting-approval-history .secondary-button{
  min-height:24px !important;
  height:24px !important;
  padding:2px 6px !important;
}

/* أوامر الأرشيف */
.meeting-archive-edit-button,
.meeting-archive-delete-button{
  white-space:nowrap !important;
}

@media(max-width:900px){
  .meeting-approval-page .meeting-approval-status-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .meeting-approval-page .meeting-approval-file-row>div{
    flex-wrap:wrap !important;
  }
}
/* GreenEco SAFE meeting archive phase 1 */

/* سجل الأرشفة انتقل بصرياً إلى الشاشة المستقلة.
   لا نحذف كوده من شاشة الاعتماد حفاظاً على الاستقرار. */
.meeting-approval-page .meeting-approval-history{
  display:none !important;
}

.meeting-archive-safe-record{
  display:grid;
  grid-template-columns:120px 120px minmax(260px,1fr) 90px 145px 150px 155px;
  gap:1px;
  padding:1px;
  margin:5px 0;
  border:1px solid #8eb8c1;
  background:#8eb8c1;
}
.meeting-archive-safe-record>div{
  min-width:0;
  min-height:39px;
  padding:4px 7px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#f7fbfc;
}
.meeting-archive-safe-record>div.wide{
  grid-column:span 2;
}
.meeting-archive-safe-record span{
  color:#66767c;
  font-size:calc(7.8px * var(--font-scale,1));
  line-height:1.05;
}
.meeting-archive-safe-record b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.15;
}

.meeting-archive-safe-workspace{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:5px;
  min-height:300px;
  padding:5px;
  margin-bottom:5px;
  border:1px solid #8eb8c1;
  background:#d9eff2;
}
.meeting-archive-safe-preview,
.meeting-archive-safe-files{
  min-width:0;
  border:1px solid #8aa8ae;
  background:#fff;
}
.meeting-archive-safe-preview>header,
.meeting-archive-safe-files>header{
  min-height:30px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid #8aa8ae;
  font-weight:800;
}
.meeting-archive-safe-filebox{
  min-height:155px;
  margin:7px;
  padding:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
  border:1px solid #9aa9ad;
  background:#f9fcfc;
}
.meeting-archive-safe-filebox b{
  max-width:100%;
  overflow-wrap:anywhere;
}
.meeting-archive-safe-note{
  margin:7px;
  padding:7px;
  border:1px solid #c1cdd0;
  background:#f7fafb;
}
.meeting-archive-safe-note span{
  display:block;
  margin-bottom:3px;
  font-weight:800;
}
.meeting-archive-safe-note p{
  margin:0;
  line-height:1.35;
}
.meeting-archive-safe-files .table-scroll{
  max-height:330px;
  overflow:auto;
}
.meeting-archive-safe-table{
  min-width:820px;
}
.meeting-archive-safe-table th,
.meeting-archive-safe-table td{
  padding:4px 5px !important;
  line-height:1.15 !important;
  vertical-align:middle;
}
.meeting-archive-safe-filename{
  min-width:180px;
  max-width:300px;
  white-space:normal !important;
  overflow-wrap:anywhere;
}
.meeting-archive-safe-notes{
  min-width:140px;
  max-width:260px;
  white-space:normal !important;
}
.meeting-archive-safe-open{
  min-height:24px !important;
  height:24px !important;
  padding:2px 7px !important;
}
.meeting-archive-safe-events{
  margin-bottom:5px;
}
.meeting-archive-safe-events .form-section-title{
  min-height:29px;
  padding:4px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.meeting-archive-safe-events .table-scroll{
  max-height:190px;
  overflow:auto;
}
.meeting-archive-safe-events .data-table th,
.meeting-archive-safe-events .data-table td{
  padding:3px 5px !important;
  line-height:1.15 !important;
}

@media(max-width:1050px){
  .meeting-archive-safe-record{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .meeting-archive-safe-workspace{
    grid-template-columns:1fr;
  }
}
/* GreenEco standalone meeting archive */
.meeting-archive-standalone-page{
  --archive-border:#8eb7c0;
  --archive-soft:#daf0f3;
}
.meeting-archive-standalone-title{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 10px;
  margin-bottom:5px;
  border:1px solid var(--archive-border);
  background:#e4f4f6;
}
.meeting-archive-standalone-title h1{
  margin:0;
  font-size:calc(18px * var(--font-scale,1));
}
.meeting-archive-standalone-title p{
  margin:1px 0 0;
  color:#62747a;
}
.meeting-archive-standalone-toolbar{
  min-height:39px;
  padding:4px 7px;
  margin-bottom:5px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid var(--archive-border);
  background:#b8e2e7;
}
.meeting-archive-standalone-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.meeting-archive-standalone-actions button{
  min-height:29px!important;
  padding:3px 8px!important;
}
.meeting-archive-standalone-search{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(300px,520px);
  gap:6px;
  padding:5px 7px;
  margin-bottom:5px;
  border:1px solid var(--archive-border);
  background:#eef8f9;
}
.meeting-archive-standalone-search form{
  display:flex;
  gap:4px;
  min-width:0;
}
.meeting-archive-standalone-search input,
.meeting-archive-standalone-search select{
  min-height:29px;
  height:29px;
}
.meeting-archive-standalone-search input{
  flex:1;
  min-width:0;
}
.meeting-archive-standalone-search button{
  min-height:29px!important;
  padding:3px 8px!important;
}
.meeting-archive-standalone-record{
  display:grid;
  grid-template-columns:110px 120px minmax(260px,1fr) 90px 145px 150px 160px;
  gap:1px;
  padding:1px;
  margin-bottom:5px;
  border:1px solid var(--archive-border);
  background:var(--archive-border);
}
.meeting-archive-standalone-record>div{
  min-width:0;
  min-height:38px;
  padding:4px 7px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#f8fbfc;
}
.meeting-archive-standalone-record>div.wide{
  grid-column:span 2;
}
.meeting-archive-standalone-record span{
  color:#66777d;
  font-size:calc(7.8px * var(--font-scale,1));
  line-height:1.05;
}
.meeting-archive-standalone-record b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.15;
}
.meeting-archive-standalone-workspace{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:5px;
  min-height:335px;
  padding:5px;
  margin-bottom:5px;
  border:1px solid var(--archive-border);
  background:var(--archive-soft);
}
.meeting-archive-standalone-upload,
.meeting-archive-standalone-documents{
  min-width:0;
  border:1px solid #8daab0;
  background:#fff;
}
.meeting-archive-standalone-upload>header,
.meeting-archive-standalone-documents>header{
  min-height:30px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  border-bottom:1px solid #8daab0;
  font-weight:800;
}
.meeting-archive-upload-controls{
  padding:7px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.meeting-archive-upload-controls label{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-archive-upload-controls textarea{
  min-height:52px;
  resize:vertical;
}
.meeting-archive-selected-preview{
  min-height:105px;
  margin:0 7px 7px;
  padding:7px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid #a1afb3;
  background:#f9fcfc;
  text-align:center;
}
.meeting-archive-selected-preview b{
  max-width:100%;
  overflow-wrap:anywhere;
}
.meeting-archive-standalone-documents .table-scroll{
  max-height:390px;
  overflow:auto;
}
.meeting-archive-standalone-table{
  min-width:940px;
}
.meeting-archive-standalone-table th,
.meeting-archive-standalone-table td{
  padding:4px 5px!important;
  line-height:1.15!important;
  vertical-align:middle;
}
.meeting-archive-standalone-table tbody tr{
  cursor:pointer;
}
.meeting-archive-standalone-table tbody tr.selected-row td{
  background:#dceef7!important;
}
.meeting-archive-doc-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:2px 6px;
  border:1px solid #a7bec4;
  border-radius:10px;
  white-space:nowrap;
}
.meeting-archive-doc-type.official{
  background:#eaf6ed;
  border-color:#93b99d;
}
.meeting-archive-doc-type.related{
  background:#eef7fb;
  border-color:#9dbecb;
}
.meeting-archive-doc-name{
  min-width:180px;
  max-width:300px;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.meeting-archive-doc-notes{
  min-width:145px;
  max-width:260px;
  white-space:normal!important;
}
.archive-action-button{
  min-height:23px;
  padding:2px 6px;
  border:1px solid #7f949a;
  background:#fff;
  cursor:pointer;
}
.archive-action-button.danger{
  color:#a20c0c;
  border-color:#c78d8d;
  background:#fff1f1;
}
.meeting-archive-standalone-events{
  margin-bottom:5px;
}
.meeting-archive-standalone-events .form-section-title{
  min-height:29px;
  padding:4px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.meeting-archive-standalone-events .table-scroll{
  max-height:190px;
  overflow:auto;
}
.meeting-archive-standalone-events .data-table th,
.meeting-archive-standalone-events .data-table td{
  padding:3px 5px!important;
  line-height:1.15!important;
}
@media(max-width:1050px){
  .meeting-archive-standalone-search{
    grid-template-columns:1fr;
  }
  .meeting-archive-standalone-record{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .meeting-archive-standalone-workspace{
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .meeting-archive-standalone-record{
    grid-template-columns:1fr 1fr;
  }
}
@media print{
  body.meeting-archive-standalone-print .app-header,
  body.meeting-archive-standalone-print .app-sidebar,
  body.meeting-archive-standalone-print .meeting-archive-standalone-toolbar,
  body.meeting-archive-standalone-print .meeting-archive-standalone-search,
  body.meeting-archive-standalone-print .meeting-archive-standalone-upload,
  body.meeting-archive-standalone-print .archive-action-button{
    display:none!important;
  }
  body.meeting-archive-standalone-print .meeting-archive-standalone-workspace{
    display:block!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
  }
  body.meeting-archive-standalone-print .meeting-archive-standalone-documents .table-scroll,
  body.meeting-archive-standalone-print .meeting-archive-standalone-events .table-scroll{
    max-height:none!important;
    overflow:visible!important;
  }
}
/* GreenEco force standalone meeting archive main-nav visibility */
.ribbon-nav .meeting-archive-main-link{
  display:flex !important;
  flex:0 0 auto;
}
.ribbon-nav .meeting-archive-main-link > span{
  white-space:nowrap;
}
/* GreenEco hide approval log from standalone meeting archive */
.meeting-archive-standalone-page .meeting-archive-standalone-events{
  display:none !important;
}
/* GreenEco hide approval date and notes from standalone archive */
.meeting-archive-standalone-record > div:nth-child(7),
.meeting-archive-standalone-record > div:nth-child(8){
  display:none !important;
}

/* Archive is now accessed from the Meetings menu; no standalone ribbon styling required. */
/* GreenEco meeting archive in-system popup */
.meeting-submenu-popup-button{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:right;
  cursor:pointer;
  padding:0;
}
.meeting-submenu-popup-button>span{
  width:100%;
  display:flex;
  align-items:center;
  gap:7px;
}

.meeting-archive-popup-backdrop{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(9,27,34,.46);
  backdrop-filter:blur(1px);
}

.meeting-archive-popup-card{
  width:min(1540px,97vw);
  height:min(900px,94vh);
  min-width:760px;
  min-height:520px;
  overflow:hidden;
  border:1px solid #6c8e98;
  border-radius:8px;
  background:#f5fafb;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
}

.meeting-archive-popup-content{
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:7px !important;
  overflow:auto !important;
  box-sizing:border-box !important;
}

.meeting-archive-popup-content .meeting-archive-standalone-title{
  position:sticky;
  top:-7px;
  z-index:5;
}

@media(max-width:820px){
  .meeting-archive-popup-backdrop{
    padding:5px;
  }
  .meeting-archive-popup-card{
    width:99vw;
    height:97vh;
    min-width:0;
    min-height:0;
  }
}
/* GreenEco draggable + resizable meeting archive popup */
.meeting-archive-popup-backdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:10050 !important;
  display:block !important;
  padding:0 !important;
  background:rgba(9,27,34,.42) !important;
  backdrop-filter:blur(1px);
  overflow:hidden !important;
}
.meeting-archive-popup-backdrop.is-minimized{
  pointer-events:none;
  background:transparent !important;
  backdrop-filter:none;
}
.meeting-archive-popup-card{
  position:fixed !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:520px !important;
  min-height:360px !important;
  margin:0 !important;
  overflow:hidden !important;
  border:1px solid #557d88 !important;
  border-radius:8px !important;
  background:#f5fafb !important;
  box-shadow:0 18px 55px rgba(0,0,0,.30) !important;
  transform:none !important;
  transition:
    width .18s ease,
    height .18s ease,
    left .18s ease,
    top .18s ease,
    bottom .18s ease,
    box-shadow .18s ease !important;
  pointer-events:auto;
}
.meeting-archive-popup-card.is-dragging,
.meeting-archive-popup-card.is-resizing{
  transition:none !important;
  user-select:none !important;
}
.meeting-archive-popup-card.is-dragging{
  box-shadow:0 22px 65px rgba(0,0,0,.36) !important;
}
.meeting-archive-popup-card.is-maximized{
  border-radius:5px !important;
}
.meeting-archive-popup-card.is-minimized{
  min-width:300px !important;
  min-height:44px !important;
  border-radius:7px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.26) !important;
}

.meeting-archive-popup-windowbar{
  flex:0 0 40px;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 7px 0 12px;
  border-bottom:1px solid #6f969f;
  background:linear-gradient(180deg,#d9f1f4,#b7dde2);
  cursor:move;
  user-select:none;
}
.meeting-archive-popup-card.is-minimized .meeting-archive-popup-windowbar{
  height:44px;
  min-height:44px;
  border-bottom:0;
  cursor:default;
}
.meeting-archive-popup-windowtitle{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.meeting-archive-popup-windowtitle b{
  white-space:nowrap;
}
.meeting-archive-popup-windowtitle small{
  overflow:hidden;
  color:#526a70;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.meeting-archive-popup-windowcontrols{
  direction:ltr;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:3px;
}
.popup-window-control{
  width:32px;
  height:27px;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #79969d;
  border-radius:4px;
  background:#f7fbfc;
  color:#17343b;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.popup-window-control:hover{
  background:#e7f4f6;
}
.popup-window-control.close:hover{
  border-color:#b55d5d;
  background:#c83d3d;
  color:#fff;
}

.meeting-archive-popup-body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.meeting-archive-popup-body .meeting-archive-popup-content{
  height:100% !important;
  overflow:auto !important;
}

.archive-resize-handle{
  position:absolute;
  z-index:30;
  display:block;
}
.archive-resize-handle.n{
  top:-4px; left:10px; right:10px; height:8px; cursor:n-resize;
}
.archive-resize-handle.s{
  bottom:-4px; left:10px; right:10px; height:8px; cursor:s-resize;
}
.archive-resize-handle.e{
  right:-4px; top:10px; bottom:10px; width:8px; cursor:e-resize;
}
.archive-resize-handle.w{
  left:-4px; top:10px; bottom:10px; width:8px; cursor:w-resize;
}
.archive-resize-handle.ne,
.archive-resize-handle.nw,
.archive-resize-handle.se,
.archive-resize-handle.sw{
  width:16px;
  height:16px;
  z-index:31;
}
.archive-resize-handle.ne{top:-5px;right:-5px;cursor:ne-resize}
.archive-resize-handle.nw{top:-5px;left:-5px;cursor:nw-resize}
.archive-resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}
.archive-resize-handle.sw{bottom:-5px;left:-5px;cursor:sw-resize}

@media(max-width:820px){
  .meeting-archive-popup-card:not(.is-minimized){
    min-width:0 !important;
    min-height:0 !important;
  }
  .meeting-archive-popup-windowtitle small{
    display:none;
  }
}

@media print{
  .meeting-archive-popup-windowbar,
  .archive-resize-handle{
    display:none !important;
  }
}
/* GreenEco persistent open screens taskbar */
.greeneco-open-screens-bar{
  position:relative;
  z-index:10100;
  flex:0 0 auto;
  width:100%;
  height:29px;
  min-height:29px;
  padding:2px 4px;
  box-sizing:border-box;
  overflow:hidden;
  border-top:1px solid #5a6f89;
  border-bottom:1px solid #7488a0;
  background:#172c4c;
  direction:rtl;
}
.greeneco-open-screens-scroll{
  width:100%;
  height:100%;
  display:flex;
  align-items:stretch;
  gap:3px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}
.greeneco-open-screen-tab{
  flex:0 0 auto;
  min-width:145px;
  max-width:245px;
  height:24px;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  border:1px solid #526985;
  border-radius:1px;
  background:#203958;
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.greeneco-open-screen-tab.active{
  border-color:#d8b548;
  background:#2e496d;
  box-shadow:inset 0 -2px #e9c34f;
}
.greeneco-open-screen-activate{
  flex:1 1 auto;
  min-width:0;
  height:100%;
  padding:0 7px;
  display:flex;
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:11px;
  cursor:pointer;
}
.greeneco-open-screen-activate span{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.greeneco-open-screen-icon{
  flex:0 0 auto;
  width:10px;
  height:10px;
  border:1px solid #e2e8ee;
  background:linear-gradient(135deg,#f5bd31 0 48%,#1d79c7 49% 100%);
}
.greeneco-open-screen-close{
  flex:0 0 23px;
  width:23px;
  height:100%;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-right:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.12);
  color:#f5f7fa;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.greeneco-open-screen-close:hover{
  background:#b93535;
  color:#fff;
}
.greeneco-open-screen-tab.active .greeneco-open-screen-activate{
  font-weight:800;
}

/* Floating archive behaves as a modeless desktop window.
   The official ribbon and taskbar remain clickable. */
.meeting-archive-popup-backdrop{
  pointer-events:none !important;
  background:transparent !important;
  backdrop-filter:none !important;
}
.meeting-archive-popup-card{
  pointer-events:auto !important;
  z-index:10050 !important;
}

@media(max-width:720px){
  .greeneco-open-screen-tab{
    min-width:125px;
    max-width:190px;
  }
}
@media print{
  .greeneco-open-screens-bar{
    display:none !important;
  }
}
/* GreenEco dropdowns above open-screens taskbar */
.greeneco-open-screens-bar{
  z-index:900 !important;
}

/* Main ribbon dropdowns / flyouts must always render above the open-screens bar. */
.ribbon-nav,
.ribbon-menu,
.ribbon-dropdown,
.ribbon-flyout,
.meetings-submenu,
.administration-submenu,
.studies-projects-submenu,
.enterprise-documents-submenu,
[class*="ribbon"][class*="menu"],
[class*="ribbon"][class*="dropdown"],
[class*="submenu"]{
  position:relative;
  z-index:1200 !important;
}

/* Preserve the floating archive window above normal page content. */
.meeting-archive-popup-card{
  z-index:1300 !important;
}
/* GreenEco root stacking fix: ribbon dropdowns above open screens */

/*
  Layer order:
  10000 = news ticker
   6500 = ribbon dropdowns
   6000 = complete official header/ribbon stacking context
   4000 = open-screens taskbar
   3500 = movable archive window
      1 = page workspace
*/
.app-header{
  position:relative !important;
  z-index:6000 !important;
  overflow:visible !important;
}

.app-header .ribbon-nav{
  position:relative !important;
  z-index:6100 !important;
  overflow-y:visible !important;
}

.app-header .ribbon-menu{
  position:relative !important;
  z-index:6200 !important;
}

/*
  Important: an earlier generic selector changed *submenu elements
  to position:relative. Restore the actual ribbon flyout behavior
  on desktop so it is not trapped/in-flow below the taskbar.
*/
@media (min-width:769px){
  .app-header .ribbon-submenu{
    position:fixed !important;
    z-index:6500 !important;
    overflow:visible !important;
  }

  .app-header .ribbon-menu.open .ribbon-submenu{
    display:grid !important;
    z-index:6500 !important;
  }
}

/* Open screens stay above page content, but below all official menus. */
.greeneco-open-screens-bar{
  position:relative !important;
  z-index:4000 !important;
}

/* Movable archive remains below the taskbar/header so both stay usable. */
.meeting-archive-popup-card{
  z-index:3500 !important;
}

/* News ticker remains the absolute top system layer. */
.app-shell.has-news-ticker .professional-news-ticker,
.system-news-ticker.professional-news-ticker{
  z-index:10000 !important;
}

/* Mobile keeps the original in-flow menu behavior. */
@media (max-width:768px){
  .app-header .ribbon-submenu{
    position:static !important;
    z-index:auto !important;
  }
}
/* GreenEco final fix: open screens lives inside header */

/*
  The open-screens bar is now a child of .app-header.
  Ribbon dropdowns and taskbar therefore share one stacking context:
    dropdowns = 9000
    taskbar   = 100
*/
.app-header{
  overflow:visible !important;
  z-index:6000 !important;
}

.app-header .greeneco-open-screens-bar{
  position:relative !important;
  z-index:100 !important;
  flex:0 0 auto !important;
}

/* All primary ribbon flyouts always cover the taskbar area. */
@media (min-width:769px){
  .app-header .ribbon-submenu{
    position:fixed !important;
    z-index:9000 !important;
    overflow:visible !important;
  }

  .app-header .ribbon-menu.open > .ribbon-submenu{
    display:grid !important;
    z-index:9000 !important;
    pointer-events:auto !important;
    visibility:visible !important;
  }

  .app-header .administration-submenu,
  .app-header .meetings-submenu,
  .app-header .studies-projects-submenu,
  .app-header .enterprise-documents-submenu{
    z-index:9000 !important;
  }
}

/* The bar remains visually under the icons and above page content. */
.app-workspace{
  position:relative !important;
  z-index:1 !important;
}

/* Floating archive stays usable but below official ribbon menus. */
.meeting-archive-popup-card{
  z-index:3500 !important;
}
/* GreenEco managed generic popup screens */

/* Generic popup is below the official header/taskbar, above workspace. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  z-index:3500 !important;
}

/* Keep the open-screen bar and ribbon fully clickable. */
.app-header{
  z-index:6000 !important;
}
.app-header .greeneco-open-screens-bar{
  z-index:100 !important;
}

/* Generic modal itself stays above page content. */
.greeneco-managed-modal-card{
  position:relative;
  z-index:1;
}

/* Minimize-to-taskbar control added to every shared modal. */
.modal-taskbar-minimize{
  flex:0 0 auto;
  width:32px;
  height:30px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #8ca0a7;
  border-radius:3px;
  background:#f5fafb;
  color:#17343b;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.modal-taskbar-minimize:hover{
  background:#deedf0;
}

/* The taskbar must stay operable while a generic popup is open. */
.greeneco-open-screens-bar{
  pointer-events:auto !important;
}


/* GreenEco 3.3.16.44.2.405 — Detailed single-meeting institutional report */
.meeting-report-detailed-print-sheet{
  display:none;
}

@page meetingDetailedReport{
  size:A4 portrait;
  margin:9mm;
}

@media print{
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet,
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet *{
    visibility:visible!important;
  }

  body.meeting-report-print-mode .meeting-report-detailed-print-sheet{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    page:meetingDetailedReport!important;
    background:#fff!important;
    color:#111!important;
    direction:rtl!important;
    font-family:Arial,Tahoma,sans-serif!important;
    font-size:8pt!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body.meeting-report-print-mode .meeting-detail-report-head{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    padding-bottom:7px!important;
    margin-bottom:6px!important;
    border-bottom:2px solid #24596c!important;
  }
  body.meeting-report-print-mode .meeting-detail-report-head h1{
    margin:0!important;
    color:#173e4e!important;
    font-size:15pt!important;
    line-height:1.2!important;
  }
  body.meeting-report-print-mode .meeting-detail-report-head h2{
    margin:2px 0 0!important;
    font-size:9.5pt!important;
    font-weight:700!important;
  }
  body.meeting-report-print-mode .meeting-detail-report-ref{
    display:grid!important;
    gap:2px!important;
    text-align:left!important;
    font-size:7.5pt!important;
    min-width:80px!important;
  }
  body.meeting-report-print-mode .meeting-detail-report-ref b{
    font-size:9pt!important;
    color:#173e4e!important;
  }

  body.meeting-report-print-mode .meeting-detail-meta{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
    margin:0 0 5px!important;
  }
  body.meeting-report-print-mode .meeting-detail-meta>div{
    min-height:32px!important;
    border:1px solid #96a4aa!important;
    padding:3px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:1px!important;
    background:#fff!important;
  }
  body.meeting-report-print-mode .meeting-detail-meta span{
    color:#697980!important;
    font-size:6.6pt!important;
  }
  body.meeting-report-print-mode .meeting-detail-meta b{
    color:#1f333c!important;
    font-size:7.4pt!important;
    overflow-wrap:anywhere!important;
  }

  body.meeting-report-print-mode .meeting-detail-summary{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    gap:2px!important;
    margin:0 0 6px!important;
  }
  body.meeting-report-print-mode .meeting-detail-summary>div{
    min-height:30px!important;
    border:1px solid #a8b3b8!important;
    background:#f4f7f8!important;
    padding:3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  body.meeting-report-print-mode .meeting-detail-summary span{
    font-size:5.8pt!important;
    color:#68777d!important;
    line-height:1.2!important;
  }
  body.meeting-report-print-mode .meeting-detail-summary b{
    margin-top:1px!important;
    color:#173e4e!important;
    font-size:9pt!important;
  }

  body.meeting-report-print-mode .meeting-detail-section{
    margin:0 0 6px!important;
  }
  body.meeting-report-print-mode .meeting-detail-section h3{
    margin:0!important;
    padding:4px 6px!important;
    border:1px solid #8fa0a7!important;
    background:#eaf1f3!important;
    color:#1d4e61!important;
    font-size:8.4pt!important;
    line-height:1.3!important;
  }
  body.meeting-report-print-mode .meeting-detail-section ol{
    margin:0!important;
    padding:5px 22px 5px 5px!important;
    border:1px solid #aebbc0!important;
    border-top:0!important;
    font-size:7.5pt!important;
    line-height:1.5!important;
  }
  body.meeting-report-print-mode .meeting-detail-section ol li{
    margin:0 0 2px!important;
  }
  body.meeting-report-print-mode .meeting-detail-minutes,
  body.meeting-report-print-mode .meeting-detail-empty{
    margin:0!important;
    padding:5px 6px!important;
    border:1px solid #aebbc0!important;
    border-top:0!important;
    background:#fff!important;
    white-space:pre-wrap!important;
    line-height:1.55!important;
    font-size:7.5pt!important;
  }

  body.meeting-report-print-mode .meeting-report-detailed-print-sheet table{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
    font-size:6.6pt!important;
  }
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet thead{
    display:table-header-group!important;
  }
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet th,
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet td{
    border:1px solid #777!important;
    padding:3px!important;
    vertical-align:top!important;
    color:#111!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
    line-height:1.35!important;
  }
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet th{
    background:#edf2f3!important;
    font-weight:800!important;
  }
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet td:first-child,
  body.meeting-report-print-mode .meeting-report-detailed-print-sheet th:first-child{
    width:5%!important;
    text-align:center!important;
  }

  body.meeting-report-print-mode .meeting-detail-approval{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.meeting-report-print-mode .meeting-detail-approval-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    border-right:1px solid #aebbc0!important;
    border-bottom:1px solid #aebbc0!important;
  }
  body.meeting-report-print-mode .meeting-detail-approval-grid>div{
    min-height:31px!important;
    padding:3px 5px!important;
    border-left:1px solid #aebbc0!important;
    border-top:1px solid #aebbc0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:1px!important;
  }
  body.meeting-report-print-mode .meeting-detail-approval-grid span,
  body.meeting-report-print-mode .meeting-detail-approval-note span{
    font-size:6.3pt!important;
    color:#6a7980!important;
  }
  body.meeting-report-print-mode .meeting-detail-approval-grid b,
  body.meeting-report-print-mode .meeting-detail-approval-note b{
    font-size:7.1pt!important;
    color:#243941!important;
    overflow-wrap:anywhere!important;
  }
  body.meeting-report-print-mode .meeting-detail-approval-note{
    grid-column:1/-1!important;
    min-height:34px!important;
  }

  body.meeting-report-print-mode .meeting-detail-footer{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:8px!important;
    padding-top:6px!important;
    border-top:1px solid #87969d!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.meeting-report-print-mode .meeting-detail-footer>div{
    min-height:46px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    font-size:7pt!important;
  }
  body.meeting-report-print-mode .meeting-detail-footer span{
    color:#697980!important;
  }
  body.meeting-report-print-mode .meeting-detail-footer b{
    color:#213c47!important;
  }
  body.meeting-report-print-mode .meeting-detail-footer i{
    margin-top:auto!important;
    font-style:normal!important;
    color:#485b63!important;
  }
  body.meeting-report-print-mode .meeting-detail-print-info{
    text-align:left!important;
  }
}


/* GreenEco 3.3.16.44.2.406 — Visible detailed meeting report preview */
.meeting-detail-preview-panel{
  margin:10px 0 14px;
  border:1px solid #b9c8ce;
  border-radius:6px;
  background:#f3f7f8;
  overflow:hidden;
}
.meeting-detail-preview-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border-bottom:1px solid #c9d5da;
  background:#eaf1f3;
}
.meeting-detail-preview-toolbar>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-detail-preview-toolbar b{
  color:#173e4e;
  font-size:13px;
}
.meeting-detail-preview-toolbar span{
  color:#65777f;
  font-size:10px;
}
.meeting-report-detailed-preview-sheet{
  margin:10px;
  padding:14px;
  border:1px solid #c7d2d6;
  border-radius:4px;
  background:#fff;
  color:#1d3038;
  direction:rtl;
  box-shadow:0 2px 7px rgba(28,62,76,.08);
}
.meeting-report-detailed-preview-sheet .meeting-detail-report-head{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding-bottom:9px;
  margin-bottom:8px;
  border-bottom:2px solid #24596c;
}
.meeting-report-detailed-preview-sheet .meeting-detail-report-head h1{
  margin:0;
  color:#173e4e;
  font-size:18px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-report-head h2{
  margin:3px 0 0;
  font-size:13px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-report-ref{
  display:grid;
  gap:3px;
  text-align:left;
  min-width:100px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-meta{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  margin-bottom:7px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-meta>div,
.meeting-report-detailed-preview-sheet .meeting-detail-approval-grid>div{
  border:1px solid #c0ccd1;
  padding:6px 7px;
  min-height:42px;
  display:flex;
  flex-direction:column;
  gap:2px;
  justify-content:center;
}
.meeting-report-detailed-preview-sheet .meeting-detail-meta span,
.meeting-report-detailed-preview-sheet .meeting-detail-approval-grid span{
  color:#6a7b82;
  font-size:9px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-meta b,
.meeting-report-detailed-preview-sheet .meeting-detail-approval-grid b{
  font-size:10.5px;
  overflow-wrap:anywhere;
}
.meeting-report-detailed-preview-sheet .meeting-detail-summary{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:4px;
  margin-bottom:8px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-summary>div{
  min-height:44px;
  border:1px solid #c8d3d7;
  background:#f5f8f9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:4px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-summary span{
  color:#6b7a80;
  font-size:8px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-summary b{
  color:#173e4e;
  font-size:13px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-section{
  margin:0 0 8px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-section h3{
  margin:0;
  padding:6px 8px;
  border:1px solid #aebbc0;
  background:#edf3f5;
  color:#1d4e61;
  font-size:11px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-section ol,
.meeting-report-detailed-preview-sheet .meeting-detail-minutes,
.meeting-report-detailed-preview-sheet .meeting-detail-empty{
  margin:0;
  padding:7px 24px 7px 8px;
  border:1px solid #c1ccd0;
  border-top:0;
  background:#fff;
  white-space:pre-wrap;
  line-height:1.55;
  font-size:10px;
}
.meeting-report-detailed-preview-sheet table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:9px;
}
.meeting-report-detailed-preview-sheet th,
.meeting-report-detailed-preview-sheet td{
  border:1px solid #aeb9be;
  padding:5px;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.meeting-report-detailed-preview-sheet th{
  background:#f0f4f5;
  color:#294956;
}
.meeting-report-detailed-preview-sheet .meeting-detail-approval-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.meeting-report-detailed-preview-sheet .meeting-detail-approval-note{
  grid-column:1/-1;
}
.meeting-report-detailed-preview-sheet .meeting-detail-footer{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid #aab7bc;
}
.meeting-report-detailed-preview-sheet .meeting-detail-footer>div{
  min-height:58px;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:9px;
}
.meeting-report-detailed-preview-sheet .meeting-detail-footer i{
  margin-top:auto;
  font-style:normal;
  color:#596b72;
}
@media(max-width:1100px){
  .meeting-report-detailed-preview-sheet .meeting-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meeting-report-detailed-preview-sheet .meeting-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media print{
  body.meeting-report-print-mode .meeting-report-detailed-preview-sheet{
    display:none!important;
    visibility:hidden!important;
  }
}


/* GreenEco 3.3.16.44.2.407 — Meetings reports: "All" consolidated preview */
.meeting-reports-all-preview{
  display:grid;
  gap:12px;
  margin:10px 0 14px;
}
.meeting-reports-all-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  border:1px solid #b9c8ce;
  border-radius:6px;
  background:#eaf1f3;
}
.meeting-reports-all-preview-head>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-reports-all-preview-head b{
  color:#173e4e;
  font-size:13px;
}
.meeting-reports-all-preview-head span{
  color:#65777f;
  font-size:10px;
}
.meeting-reports-all-preview-head strong{
  min-width:72px;
  text-align:center;
  padding:5px 8px;
  border:1px solid #aebdc3;
  border-radius:4px;
  background:#fff;
  color:#173e4e;
  font-size:11px;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet{
  display:block;
  position:relative;
  inset:auto;
  width:100%;
  margin:0;
  padding:12px;
  border:1px solid #c2cdd1;
  border-radius:6px;
  background:#fff;
  color:#1d3038;
  direction:rtl;
  box-shadow:0 2px 7px rgba(28,62,76,.06);
}
.meeting-reports-all-preview .meeting-report-full-print-sheet>header{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding-bottom:7px;
  margin-bottom:7px;
  border-bottom:2px solid #24596c;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet h1{
  margin:0;
  color:#173e4e;
  font-size:15px;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet h2{
  margin:2px 0 0;
  font-size:11px;
}
.meeting-reports-all-preview .meeting-report-full-print-period{
  display:grid;
  gap:2px;
  text-align:left;
  font-size:9px;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet table{
  width:100%;
  border-collapse:collapse;
  font-size:10px;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet th,
.meeting-reports-all-preview .meeting-report-full-print-sheet td{
  border:1px solid #c4cdd1;
  padding:4px;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet th{
  background:#edf2f3;
  white-space:nowrap;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet footer{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-top:6px;
  padding-top:5px;
  border-top:1px solid #c7d0d4;
  font-size:9px;
}
.meeting-reports-all-print{
  display:none;
}

@media print{
  body.meeting-report-print-mode .meeting-reports-all-preview{
    display:none!important;
    visibility:hidden!important;
  }
  body.meeting-report-print-mode .meeting-reports-all-print{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body.meeting-report-print-mode .meeting-reports-all-print .meeting-report-full-print-sheet{
    display:block!important;
    visibility:visible!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    page-break-after:always!important;
    break-after:page!important;
  }
  body.meeting-report-print-mode .meeting-reports-all-print .meeting-report-full-print-sheet:last-child{
    page-break-after:auto!important;
    break-after:auto!important;
  }
}


/* GreenEco 3.3.16.44.2.411 — Meetings reports: Detailed / Summary display modes */
.meeting-report-toolbar-controls label.report-view-mode{
  min-width:190px;
}
.meeting-report-view-badge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border:1px solid #aebdc3;
  border-radius:10px;
  background:#eef4f6;
  color:#24596c!important;
  font-weight:800;
}

.meeting-report-summary-sheet{
  direction:rtl;
  color:#1d3038;
}
.meeting-report-summary-preview{
  display:block;
  margin:10px 0 14px;
  padding:14px;
  border:1px solid #b9c8ce;
  border-radius:6px;
  background:#fff;
  box-shadow:0 2px 7px rgba(28,62,76,.06);
}
.meeting-report-summary-print{
  display:none;
}
.meeting-report-summary-head{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding-bottom:9px;
  margin-bottom:9px;
  border-bottom:2px solid #24596c;
}
.meeting-report-summary-head h1{
  margin:0;
  color:#173e4e;
  font-size:17px;
}
.meeting-report-summary-head h2{
  margin:3px 0 0;
  color:#52666f;
  font-size:11px;
}
.meeting-report-summary-period{
  display:grid;
  gap:2px;
  min-width:150px;
  text-align:left;
  font-size:9px;
}
.meeting-report-summary-period span,
.meeting-report-summary-period small{
  color:#6c7d84;
}
.meeting-report-summary-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
  padding:8px 10px;
  border:1px solid #c5d0d4;
  background:#f2f6f7;
}
.meeting-report-summary-intro>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-report-summary-intro b{
  color:#173e4e;
  font-size:12px;
}
.meeting-report-summary-intro span{
  color:#667981;
  font-size:9px;
}
.meeting-report-summary-intro strong{
  min-width:90px;
  text-align:center;
  padding:5px 8px;
  border:1px solid #adbdc3;
  background:#fff;
  color:#173e4e;
  font-size:11px;
}
.meeting-report-summary-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-bottom:10px;
}
.meeting-report-summary-card{
  min-height:74px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:7px;
  border:1px solid #c1ccd0;
  background:#f8fafb;
  text-align:center;
}
.meeting-report-summary-card span{
  color:#667980;
  font-size:9px;
  font-weight:800;
}
.meeting-report-summary-card b{
  color:#173e4e;
  font-size:19px;
}
.meeting-report-summary-card small{
  color:#73838a;
  font-size:8px;
}
.meeting-report-summary-breakdown{
  margin-top:4px;
}
.meeting-report-summary-breakdown h3{
  margin:0 0 5px;
  color:#173e4e;
  font-size:11px;
}
.meeting-report-summary-breakdown table{
  width:100%;
  border-collapse:collapse;
  font-size:9px;
}
.meeting-report-summary-breakdown th,
.meeting-report-summary-breakdown td{
  border:1px solid #c2ccd0;
  padding:5px 6px;
  text-align:right;
  vertical-align:top;
}
.meeting-report-summary-breakdown th{
  background:#edf2f3;
  color:#294955;
  font-weight:800;
}
.meeting-report-summary-breakdown th:nth-child(2),
.meeting-report-summary-breakdown td:nth-child(2){
  width:90px;
  text-align:center;
  font-weight:800;
}
.meeting-report-summary-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  padding-top:6px;
  border-top:1px solid #c8d1d4;
  color:#697a81;
  font-size:8px;
}

@media(max-width:1100px){
  .meeting-report-toolbar-controls label.report-view-mode{min-width:165px}
  .meeting-report-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .meeting-report-summary-head{grid-template-columns:42px minmax(0,1fr)}
  .meeting-report-summary-period{grid-column:1/-1;text-align:right}
  .meeting-report-summary-cards{grid-template-columns:1fr 1fr}
  .meeting-report-summary-intro{align-items:stretch;flex-direction:column}
}
@media(max-width:480px){
  .meeting-report-summary-cards{grid-template-columns:1fr}
}

@media print{
  body.meeting-report-print-mode .meeting-report-summary-preview{
    display:none!important;
    visibility:hidden!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-print,
  body.meeting-report-print-mode .meeting-report-summary-print *{
    visibility:visible!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-print{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-head{
    grid-template-columns:46px 1fr auto!important;
    gap:7px!important;
    padding-bottom:6px!important;
    margin-bottom:7px!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-head h1{font-size:14pt!important}
  body.meeting-report-print-mode .meeting-report-summary-head h2{font-size:8pt!important}
  body.meeting-report-print-mode .meeting-report-summary-period{font-size:7pt!important}
  body.meeting-report-print-mode .meeting-report-summary-intro{
    padding:6px 8px!important;
    margin-bottom:7px!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-cards{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
    margin-bottom:8px!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-card{
    min-height:55px!important;
    padding:5px!important;
    break-inside:avoid!important;
  }
  body.meeting-report-print-mode .meeting-report-summary-card span{font-size:7pt!important}
  body.meeting-report-print-mode .meeting-report-summary-card b{font-size:14pt!important}
  body.meeting-report-print-mode .meeting-report-summary-card small{font-size:6pt!important}
  body.meeting-report-print-mode .meeting-report-summary-breakdown table{font-size:7pt!important}
  body.meeting-report-print-mode .meeting-report-summary-breakdown th,
  body.meeting-report-print-mode .meeting-report-summary-breakdown td{padding:4px!important}
  body.meeting-report-print-mode .meeting-report-summary-footer{font-size:6.5pt!important}
}


/* GreenEco 3.3.16.44.2.411 — Keep report panels visible in summary mode */
.meeting-report-summary-preview{
  display:block!important;
  visibility:visible!important;
  position:relative!important;
  opacity:1!important;
  min-height:180px;
}
.meeting-reports-all-summary-preview{
  display:grid!important;
  visibility:visible!important;
  gap:12px;
  margin:10px 0 16px;
}
.meeting-reports-all-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  border:1px solid #b9c8ce;
  border-radius:6px;
  background:#f4f8f9;
}
.meeting-reports-all-summary-head>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-reports-all-summary-head b{
  color:#173e4e;
  font-size:12px;
}
.meeting-reports-all-summary-head span{
  color:#667981;
  font-size:9px;
}
.meeting-reports-all-summary-head strong{
  white-space:nowrap;
  color:#24596c;
  font-size:10px;
}
.meeting-reports-all-summary-section{
  display:block!important;
  visibility:visible!important;
}
.meeting-reports-all-summary-section .meeting-report-summary-preview{
  margin:0;
}
@media print{
  body.meeting-report-print-mode .meeting-reports-all-summary-print{
    display:block!important;
    visibility:visible!important;
    position:relative!important;
    width:100%!important;
  }
  body.meeting-report-print-mode .meeting-reports-all-summary-print .meeting-reports-all-summary-section{
    display:block!important;
    visibility:visible!important;
    break-after:page;
    page-break-after:always;
  }
  body.meeting-report-print-mode .meeting-reports-all-summary-print .meeting-reports-all-summary-section:last-child{
    break-after:auto;
    page-break-after:auto;
  }
}


/* GreenEco 3.3.16.44.2.411 — Summary is additive; detailed report screens remain mounted */
.meeting-reports-all-summary-preview,
.meeting-report-summary-preview{
  flex:none!important;
}
.meeting-reports-all-summary-preview + .meeting-reports-all-preview,
.meeting-report-summary-preview + .meeting-report-print-area,
.meeting-report-summary-preview + .meeting-detail-preview-panel{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}


/* GreenEco 3.3.16.44.2.411 — crash-safe meetings summary */
.meeting-report-safe-summary-preview{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:10px 0 14px;
  padding:12px;
  border:1px solid #b9c8ce;
  border-radius:6px;
  background:#fff;
}
.meeting-report-safe-summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  margin-bottom:8px;
  border:1px solid #c4d0d4;
  background:#f3f7f8;
}
.meeting-report-safe-summary-head>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.meeting-report-safe-summary-head b{
  color:#173e4e;
  font-size:12px;
}
.meeting-report-safe-summary-head span,
.meeting-report-safe-summary-head small{
  color:#657981;
  font-size:9px;
}
.meeting-report-safe-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.meeting-report-safe-summary-grid article{
  min-height:62px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:6px;
  border:1px solid #c3ced2;
  background:#f9fbfb;
  text-align:center;
}
.meeting-report-safe-summary-grid article span{
  color:#667980;
  font-size:9px;
  font-weight:800;
}
.meeting-report-safe-summary-grid article b{
  color:#173e4e;
  font-size:18px;
}
.meeting-report-safe-summary-note{
  margin-top:8px;
  padding:6px 8px;
  border:1px dashed #b9c8ce;
  background:#f8fafb;
  color:#657981;
  font-size:9px;
}
.meeting-report-safe-summary-print{display:none}
@media(max-width:900px){
  .meeting-report-safe-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  body.meeting-report-print-mode .meeting-report-safe-summary-print,
  body.meeting-report-print-mode .meeting-report-safe-summary-print *{
    visibility:visible!important;
  }
  body.meeting-report-print-mode .meeting-report-safe-summary-print{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
  }
  body.meeting-report-print-mode .meeting-report-safe-summary-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}


/* GreenEco 3.3.16.44.2.412 — Meetings reports compact single-row command bar */
.toolbar:has(.meeting-report-toolbar-controls){
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:flex-end;
  justify-content:flex-start;
  gap:4px;
  min-height:42px;
  margin:0 0 4px;
  padding:3px 5px;
}
.toolbar:has(.meeting-report-toolbar-controls) .toolbar-actions{
  display:flex;
  flex:0 0 auto;
  flex-wrap:nowrap;
  align-items:flex-end;
  justify-content:flex-start;
  gap:4px;
}
.toolbar:has(.meeting-report-toolbar-controls) .toolbar-actions .tool-button{
  height:30px;
  min-height:30px;
  padding:3px 8px;
  gap:4px;
  white-space:nowrap;
  font-size:calc(9px * var(--font-scale,1));
}
.toolbar:has(.meeting-report-toolbar-controls) .toolbar-actions .tool-button svg{
  width:15px;
  height:15px;
}
.toolbar:has(.meeting-report-toolbar-controls) .toolbar-extra{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  display:block;
}
.meeting-report-toolbar-controls{
  display:grid;
  grid-template-columns:
    minmax(120px,1.35fr)
    minmax(118px,1.25fr)
    minmax(88px,.86fr)
    minmax(88px,.86fr)
    minmax(92px,.9fr)
    minmax(92px,.9fr)
    auto auto auto;
  align-items:end;
  gap:4px;
  width:100%;
  min-width:0;
  flex-wrap:nowrap;
}
.meeting-report-toolbar-controls label,
.meeting-report-toolbar-controls label.report-type,
.meeting-report-toolbar-controls label.report-view-mode{
  min-width:0;
  width:100%;
  margin:0;
  gap:1px;
}
.meeting-report-toolbar-controls label>span{
  line-height:1.05;
  margin:0;
  font-size:calc(7.4px * var(--font-scale,1));
}
.meeting-report-toolbar-controls select,
.meeting-report-toolbar-controls input{
  width:100%;
  height:29px;
  min-width:0;
  padding:2px 4px;
  font-size:calc(8.2px * var(--font-scale,1));
}
.meeting-report-toolbar-controls button{
  height:29px;
  min-height:29px;
  min-width:0!important;
  margin:0;
  padding:3px 8px;
  font-size:calc(9px * var(--font-scale,1));
}
.meeting-report-toolbar-controls .report-more-button{min-width:82px!important}
.meeting-report-toolbar-controls .report-run-button{min-width:88px!important}

/* Keep the optional filters as one compact command row too. */
.meeting-report-more-options{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-end;
  gap:4px;
  margin:0 0 4px;
  padding:4px 5px;
  min-height:39px;
}
.meeting-report-more-options label{
  flex:1 1 120px;
  min-width:95px;
  max-width:none;
  gap:1px;
  margin:0;
}
.meeting-report-more-options label.meeting{
  flex:2 1 240px;
}
.meeting-report-more-options label>span{
  line-height:1.05;
  margin:0;
  font-size:calc(7.4px * var(--font-scale,1));
}
.meeting-report-more-options select,
.meeting-report-more-options input{
  height:29px;
  min-width:0;
  padding:2px 4px;
  font-size:calc(8.2px * var(--font-scale,1));
}
.meeting-report-more-options button{
  flex:0 0 auto;
  height:29px;
  min-height:29px;
  margin:0;
  padding:3px 8px;
}

/* Remove spare vertical space around the report command area. */
.toolbar:has(.meeting-report-toolbar-controls) + .meeting-report-context-line,
.meeting-report-context-line{
  margin-bottom:4px;
}
.meeting-report-context-line{
  min-height:27px;
  padding:3px 6px;
}
.meeting-report-table,
.meeting-report-summary-preview,
.meeting-report-all-preview{
  margin-top:0;
}

/* On ordinary desktop widths keep the full command bar on one line.
   Only very narrow windows are allowed to scroll horizontally instead of creating empty rows. */
@media (min-width:761px){
  .toolbar:has(.meeting-report-toolbar-controls){
    overflow-x:auto;
    overflow-y:hidden;
  }
  .toolbar:has(.meeting-report-toolbar-controls) .toolbar-extra{
    min-width:760px;
  }
  .meeting-report-toolbar-controls{
    min-width:760px;
  }
  .meeting-report-more-options{
    overflow-x:auto;
    overflow-y:hidden;
  }
}
@media (max-width:760px){
  .toolbar:has(.meeting-report-toolbar-controls){
    flex-direction:column;
    align-items:stretch;
    overflow:visible;
  }
  .toolbar:has(.meeting-report-toolbar-controls) .toolbar-actions{
    width:100%;
  }
  .toolbar:has(.meeting-report-toolbar-controls) .toolbar-actions .tool-button{
    flex:1 1 0;
  }
  .meeting-report-toolbar-controls{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .meeting-report-toolbar-controls button{
    width:100%;
  }
  .meeting-report-more-options{
    flex-wrap:wrap;
  }
}


/* GreenEco 3.3.16.44.2.413 — Meetings reports command placement + compact close */
.meeting-reports-page-title{
  position:relative!important;
  justify-content:center!important;
  padding-left:44px!important;
  padding-right:44px!important;
}
.meeting-reports-page-title>div{
  text-align:center;
}
.meeting-reports-head-close{
  position:absolute!important;
  left:7px!important;
  right:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:29px!important;
  min-width:29px!important;
  height:29px!important;
  min-height:29px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #8798a0!important;
  border-radius:4px!important;
  background:#f4f7f8!important;
  color:#294b5a!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
}
.meeting-reports-head-close:hover,
.meeting-reports-head-close:focus-visible{
  background:#e8f1f4!important;
  border-color:#356f84!important;
  outline:none!important;
}

/* The run button is the first report-control item, immediately before report type. */
.meeting-report-toolbar-controls{
  grid-template-columns:
    auto
    minmax(120px,1.35fr)
    minmax(118px,1.25fr)
    minmax(88px,.86fr)
    minmax(88px,.86fr)
    minmax(92px,.9fr)
    minmax(92px,.9fr)
    auto!important;
}
.meeting-report-toolbar-controls .report-run-button{
  order:0!important;
  min-width:90px!important;
  white-space:nowrap!important;
}
.meeting-report-toolbar-controls .report-type{order:1!important}
.meeting-report-toolbar-controls .report-view-mode{order:2!important}
.meeting-report-toolbar-controls .report-more-button{white-space:nowrap!important}

@media(max-width:760px){
  .meeting-reports-page-title{
    padding-left:40px!important;
    padding-right:40px!important;
  }
  .meeting-report-toolbar-controls{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .meeting-report-toolbar-controls .report-run-button{
    grid-column:auto!important;
  }
}


/* GreenEco 3.3.16.44.2.414 — Sticky meetings reports title + command rows
   The application workspace is the vertical scroll container. Keep the report
   title at its top and the command toolbar directly beneath it while report
   content scrolls normally. */
.meeting-reports-page-title{
  position:sticky!important;
  top:0!important;
  z-index:320!important;
  height:46px!important;
  min-height:46px!important;
  margin:0 0 3px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
  background:#fff!important;
  box-shadow:0 2px 4px rgba(19,48,61,.10)!important;
}
.meeting-reports-page-title h1{
  font-size:calc(15px * var(--font-scale,1))!important;
  line-height:1.1!important;
}
.meeting-reports-page-title p{
  margin-top:1px!important;
  font-size:calc(8.5px * var(--font-scale,1))!important;
  line-height:1.05!important;
}

/* The report command bar sticks below the 46px title + 3px gap. */
.toolbar:has(.meeting-report-toolbar-controls){
  position:sticky!important;
  top:49px!important;
  z-index:310!important;
  margin-top:0!important;
  background:#f6f6f5!important;
  box-shadow:0 2px 5px rgba(19,48,61,.12)!important;
}

/* Avoid a visual gap between the two sticky rows while they are pinned. */
.meeting-reports-page-title + .toolbar:has(.meeting-report-toolbar-controls){
  margin-top:0!important;
}

/* Do not carry sticky positioning into print output. */
@media print{
  .meeting-reports-page-title,
  .toolbar:has(.meeting-report-toolbar-controls){
    position:static!important;
    top:auto!important;
    box-shadow:none!important;
  }
}


/* GreenEco 3.3.16.44.2.415 — Meetings reports: remove instructional rows
   and keep only the report-type caption above each table. */
.meeting-report-print-area{
  margin-top:3px!important;
}
.meeting-reports-all-preview{
  gap:6px!important;
  margin:3px 0 8px!important;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet{
  padding:7px 9px!important;
}
.meeting-report-table-caption{
  display:flex!important;
  align-items:center!important;
  min-height:27px!important;
  margin:0 0 4px!important;
  padding:3px 7px!important;
  border:0!important;
  border-bottom:1px solid #b9cbd2!important;
  background:#f7fafb!important;
  box-sizing:border-box!important;
}
.meeting-report-table-caption h2{
  margin:0!important;
  padding:0!important;
  color:#214f62!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.2!important;
}

/* Older preview rules used a three-column branded document header.
   The new caption is deliberately a single compact explanatory line. */
.meeting-reports-all-preview .meeting-report-full-print-sheet>header.meeting-report-table-caption{
  display:flex!important;
  grid-template-columns:none!important;
  gap:0!important;
  padding:3px 7px!important;
  margin:0 0 4px!important;
  border:0!important;
  border-bottom:1px solid #b9cbd2!important;
}
.meeting-reports-all-preview .meeting-report-full-print-sheet>header.meeting-report-table-caption h2{
  margin:0!important;
  font-size:calc(10.5px * var(--font-scale,1))!important;
}

/* No placeholder spacing remains for the removed guidance rows. */
.meeting-report-print-area + .meeting-report-pagination,
.meeting-reports-all-preview + .meeting-report-pagination{
  margin-top:4px!important;
}

@media print{
  body.meeting-report-print-mode .meeting-report-table-caption,
  body.meeting-report-print-mode .meeting-report-full-print-sheet>header.meeting-report-table-caption{
    display:block!important;
    grid-template-columns:none!important;
    min-height:0!important;
    margin:0 0 5px!important;
    padding:2px 0 4px!important;
    border:0!important;
    border-bottom:1px solid #777!important;
    background:#fff!important;
  }
  body.meeting-report-print-mode .meeting-report-table-caption h2,
  body.meeting-report-print-mode .meeting-report-full-print-sheet>header.meeting-report-table-caption h2{
    margin:0!important;
    color:#111!important;
    font-size:9pt!important;
    font-weight:700!important;
  }
}


/* =========================================================
   GreenEco 3.3.16.44.2.416 — Meeting Subject sheet-style form
   Mirrors the approved compact table layout:
   access scope on the left, basic data + schedule on the right.
   ========================================================= */

.modal-card:has(.meeting-subject-sheet-form) .modal-body{
  padding:8px 10px 10px!important;
}

.meeting-subject-sheet-form{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
}

.meeting-subject-sheet-layout{
  width:100%!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:0!important;
  direction:ltr!important;
  align-items:stretch!important;
  border:0!important;
  background:#fff!important;
}

.meeting-subject-sheet-access,
.meeting-subject-sheet-main{
  min-width:0!important;
  direction:rtl!important;
  box-sizing:border-box!important;
}

.meeting-subject-sheet-access{
  display:grid!important;
  grid-template-rows:29px minmax(0,1fr)!important;
  border:1px solid #606060!important;
  border-left:1px solid #606060!important;
  background:#fff!important;
}

.meeting-subject-sheet-access-title{
  min-height:29px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:2px 6px!important;
  border-bottom:1px solid #606060!important;
  background:#c6d9f1!important;
  color:#111!important;
  font-size:calc(11px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-align:center!important;
}

.meeting-subject-sheet-access-body{
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  padding:6px 5px!important;
  background:#fff!important;
}

.meeting-subject-sheet-access-icon{
  display:block!important;
  margin:0!important;
  color:#111!important;
  font-size:calc(15px * var(--font-scale,1))!important;
  line-height:1!important;
}

.meeting-subject-sheet-access-body select{
  width:100%!important;
  min-width:0!important;
  height:29px!important;
  min-height:29px!important;
  margin:0!important;
  padding:2px 5px!important;
  border:0!important;
  border-bottom:1px solid #9b9b9b!important;
  border-radius:0!important;
  outline:none!important;
  background:#fff!important;
  color:#111!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:800!important;
  text-align:center!important;
  text-align-last:center!important;
  box-shadow:none!important;
}

.meeting-subject-sheet-access-body small{
  margin-top:2px!important;
  color:#6f6f6f!important;
  font-size:calc(8px * var(--font-scale,1))!important;
  line-height:1.3!important;
  text-align:center!important;
}

.meeting-subject-sheet-main{
  border-top:1px solid #606060!important;
  border-right:1px solid #606060!important;
  background:#fff!important;
}

.meeting-subject-sheet-section-title{
  min-height:29px!important;
  height:29px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:2px 8px!important;
  border-left:1px solid #606060!important;
  border-bottom:1px solid #606060!important;
  background:#92d050!important;
  color:#000!important;
  font-size:calc(11.5px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-align:center!important;
}

.meeting-subject-sheet-row{
  display:grid!important;
  grid-template-columns:135px minmax(0,1fr) 135px minmax(0,1fr)!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  direction:rtl!important;
  background:#fff!important;
}

.meeting-subject-sheet-row > *{
  min-width:0!important;
  box-sizing:border-box!important;
  border-left:1px solid #606060!important;
  border-bottom:1px solid #606060!important;
  border-top:0!important;
  border-right:0!important;
  border-radius:0!important;
  margin:0!important;
}

.meeting-subject-sheet-label{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:3px 7px!important;
  background:#f7f7f7!important;
  color:#000!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}

.meeting-subject-sheet-control{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  padding:3px 7px!important;
  background:#fff!important;
  color:#111!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-family:inherit!important;
  line-height:1.2!important;
  outline:none!important;
  box-shadow:none!important;
}

.meeting-subject-sheet-control:focus{
  background:#fffef1!important;
  box-shadow:inset 0 0 0 2px rgba(66,137,189,.18)!important;
}

.meeting-subject-sheet-wide{
  grid-column:span 3!important;
}

.meeting-subject-sheet-notes-row{
  min-height:48px!important;
}

.meeting-subject-sheet-notes-row .meeting-subject-sheet-label{
  align-items:flex-start!important;
  padding-top:7px!important;
}

.meeting-subject-sheet-notes-row textarea{
  height:48px!important;
  min-height:48px!important;
  max-height:80px!important;
  resize:vertical!important;
  padding-top:6px!important;
}

.meeting-subject-sheet-secret{
  grid-column:span 2!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:3px 7px!important;
  background:#fff!important;
  color:#000!important;
  font-size:calc(10px * var(--font-scale,1))!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.meeting-subject-sheet-secret input{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#1f6f8e!important;
}

.meeting-subject-sheet-secret span{
  white-space:nowrap!important;
}

.meeting-subject-sheet-form .meeting-subject-actions-bottom{
  margin:0!important;
  min-height:38px!important;
  padding:4px 8px!important;
  border:1px solid #c5cdd0!important;
  background:#f7f9fa!important;
}

.meeting-subject-sheet-form .meeting-subject-actions-bottom button{
  min-height:30px!important;
  height:30px!important;
}

/* Keep the editable table broad like the reference sheet. */
.modal-card:has(.meeting-subject-sheet-form){
  width:min(92vw,1180px)!important;
  max-width:min(92vw,1180px)!important;
}

@media(max-width:820px){
  .meeting-subject-sheet-layout{
    grid-template-columns:150px minmax(650px,1fr)!important;
    overflow-x:auto!important;
  }
  .meeting-subject-sheet-row{
    grid-template-columns:120px minmax(180px,1fr) 120px minmax(180px,1fr)!important;
  }
}

@media(max-width:620px){
  .meeting-subject-sheet-layout{
    display:flex!important;
    flex-direction:column!important;
    direction:rtl!important;
  }
  .meeting-subject-sheet-access{
    grid-template-rows:29px auto!important;
  }
  .meeting-subject-sheet-access-body{
    flex-direction:row!important;
    justify-content:center!important;
    padding:5px!important;
  }
  .meeting-subject-sheet-access-body select{
    width:min(320px,75vw)!important;
  }
  .meeting-subject-sheet-row{
    grid-template-columns:110px minmax(0,1fr)!important;
  }
  .meeting-subject-sheet-row > .meeting-subject-sheet-wide{
    grid-column:2!important;
  }
  .meeting-subject-sheet-secret{
    grid-column:1 / -1!important;
  }
}


/* GreenEco 417 — meeting subject modal: popup, flexible, no access icon */
.meeting-subject-sheet-access-icon{
  display:none!important;
}

.modal-backdrop:has(.meeting-subject-sheet-form){
  place-items:center!important;
  padding:14px!important;
  background:rgba(7,24,41,.68)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}

.modal-card:has(.meeting-subject-sheet-form){
  width:min(88vw,1160px)!important;
  max-width:calc(100vw - 28px)!important;
  min-width:min(760px,calc(100vw - 28px))!important;
  min-height:390px!important;
  max-height:calc(100vh - 42px)!important;
  margin:auto!important;
  border:1px solid #5f747e!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:0 22px 70px rgba(0,0,0,.48)!important;
  resize:both!important;
  overflow:hidden!important;
}

.modal-card:has(.meeting-subject-sheet-form) > .modal-header{
  flex:0 0 auto!important;
}

.modal-card:has(.meeting-subject-sheet-form) > .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:8px 10px 10px!important;
}

.modal-card:has(.meeting-subject-sheet-form) .meeting-subject-sheet-form{
  min-width:0!important;
  width:100%!important;
}

.modal-card:has(.meeting-subject-sheet-form) .meeting-subject-sheet-layout{
  min-width:680px!important;
}

@media (max-width:820px){
  .modal-backdrop:has(.meeting-subject-sheet-form){
    padding:7px!important;
  }
  .modal-card:has(.meeting-subject-sheet-form){
    width:calc(100vw - 14px)!important;
    min-width:0!important;
    max-width:calc(100vw - 14px)!important;
    height:auto!important;
    max-height:calc(100vh - 14px)!important;
    min-height:0!important;
    resize:none!important;
    border-radius:5px!important;
  }
  .modal-card:has(.meeting-subject-sheet-form) .meeting-subject-sheet-layout{
    min-width:0!important;
    grid-template-columns:1fr!important;
  }
  .modal-card:has(.meeting-subject-sheet-form) .meeting-subject-sheet-access{
    grid-template-rows:29px auto!important;
  }
  .modal-card:has(.meeting-subject-sheet-form) .meeting-subject-sheet-access-body{
    min-height:auto!important;
  }
}

@media (max-height:620px){
  .modal-card:has(.meeting-subject-sheet-form){
    min-height:0!important;
    max-height:calc(100vh - 20px)!important;
  }
}


/* GreenEco 418 — move meeting duration metrics under access scope.
   On desktop the metrics row is pinned to the same vertical band as the end-time row. */
.meeting-subject-sheet-access-body{
  position:relative!important;
}

.meeting-subject-sheet-access-metrics{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:34px!important;
  height:34px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  direction:rtl!important;
  margin:0!important;
  padding:0!important;
  border-top:1px solid #606060!important;
  border-bottom:1px solid #606060!important;
  background:#fff!important;
}

.meeting-subject-sheet-access-metric{
  min-width:0!important;
  height:33px!important;
  display:grid!important;
  grid-template-rows:14px 1fr!important;
  align-items:center!important;
  justify-items:center!important;
  padding:1px 3px 2px!important;
  margin:0!important;
  border-left:1px solid #606060!important;
  background:#fff!important;
  line-height:1!important;
}

.meeting-subject-sheet-access-metric:last-child{
  border-left:0!important;
}

.meeting-subject-sheet-access-metric span{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#222!important;
  font-size:calc(7.2px * var(--font-scale,1))!important;
  font-weight:800!important;
  line-height:1!important;
}

.meeting-subject-sheet-access-metric b{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#1d5b71!important;
  font-size:calc(9px * var(--font-scale,1))!important;
  font-weight:900!important;
  line-height:1!important;
}

/* The old header metric boxes are intentionally no longer rendered. */
@media (max-width:820px){
  .meeting-subject-sheet-access-metrics{
    position:static!important;
    width:100%!important;
    height:34px!important;
    margin-top:5px!important;
  }
}


/* Meeting goals/topics classic register table - 419 */
.meeting-goals-register,
.meeting-topics-register{
  border:1px solid #333 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  margin-top:8px !important;
  overflow:hidden !important;
}
.meeting-goals-register .meeting-structure-register-head,
.meeting-topics-register .meeting-structure-register-head{
  padding:6px 10px !important;
  background:#f4f4f4 !important;
  border-bottom:1px solid #333 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}
.meeting-goals-register .meeting-structure-register-head b,
.meeting-topics-register .meeting-structure-register-head b{
  font-size:14px !important;
  font-weight:800 !important;
  color:#222 !important;
}
.meeting-goals-register .meeting-structure-register-head span,
.meeting-topics-register .meeting-structure-register-head span{
  font-size:12px !important;
  color:#555 !important;
}
.meeting-goals-register .table-scroll,
.meeting-topics-register .table-scroll{
  overflow:auto !important;
  background:#fff !important;
}
.meeting-goals-register table.data-table,
.meeting-topics-register table.data-table{
  width:100% !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  table-layout:auto !important;
  background:#fff !important;
}
.meeting-goals-register table.data-table thead th,
.meeting-topics-register table.data-table thead th{
  background:#ead8c7 !important;
  color:#111 !important;
  border:1px solid #333 !important;
  padding:6px 8px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-weight:800 !important;
}
.meeting-goals-register table.data-table tbody td,
.meeting-topics-register table.data-table tbody td{
  border:1px solid #333 !important;
  padding:4px 6px !important;
  font-size:13px !important;
  line-height:1.25 !important;
  vertical-align:middle !important;
  background:#fff !important;
}
.meeting-goals-register table.data-table tbody tr:nth-child(even) td,
.meeting-topics-register table.data-table tbody tr:nth-child(even) td{
  background:#fcfcfc !important;
}
.meeting-goals-register table.data-table tbody tr.selected-row td,
.meeting-topics-register table.data-table tbody tr.selected-row td{
  background:#fff7d6 !important;
}
.meeting-goals-register table.data-table tbody td:first-child,
.meeting-topics-register table.data-table tbody td:first-child{
  width:44px !important;
  min-width:44px !important;
  text-align:center !important;
  font-weight:700 !important;
}
.meeting-goals-register table.data-table tbody td,
.meeting-topics-register table.data-table tbody td{
  text-align:center !important;
}
.meeting-goals-register table.data-table tbody td:nth-child(2),
.meeting-topics-register table.data-table tbody td:nth-child(2),
.meeting-goals-register table.data-table tbody td:nth-child(3),
.meeting-topics-register table.data-table tbody td:nth-child(3){
  text-align:right !important;
}
.meeting-goals-summary,
.meeting-topics-summary{
  margin-bottom:8px !important;
}



/* Unified classic layout for all meeting screens - 420 */
.meeting-subject-register,
.meeting-goals-register,
.meeting-topics-register,
.meeting-prep-register,
.meeting-issues-register,
.meeting-results-register{
  border:1px solid #333 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  overflow:hidden !important;
  margin-top:8px !important;
}

.meeting-subject-register > .table-scroll,
.meeting-goals-register .table-scroll,
.meeting-topics-register .table-scroll,
.meeting-prep-register .table-scroll,
.meeting-issues-register .table-scroll,
.meeting-results-register .table-scroll{
  overflow:auto !important;
  background:#fff !important;
}

.meeting-goals-register .meeting-structure-register-head,
.meeting-topics-register .meeting-structure-register-head,
.meeting-issues-register .meeting-structure-register-head,
.meeting-results-register .meeting-structure-register-head,
.meeting-prep-register .meeting-prep-register-head{
  padding:6px 10px !important;
  background:#f4f4f4 !important;
  border-bottom:1px solid #333 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  min-height:auto !important;
}

.meeting-goals-register .meeting-structure-register-head b,
.meeting-topics-register .meeting-structure-register-head b,
.meeting-issues-register .meeting-structure-register-head b,
.meeting-results-register .meeting-structure-register-head b,
.meeting-prep-register .meeting-prep-register-head b{
  font-size:14px !important;
  font-weight:800 !important;
  color:#222 !important;
}

.meeting-goals-register .meeting-structure-register-head span,
.meeting-topics-register .meeting-structure-register-head span,
.meeting-issues-register .meeting-structure-register-head span,
.meeting-results-register .meeting-structure-register-head span,
.meeting-prep-register .meeting-prep-register-head span,
.meeting-prep-register .meeting-prep-register-hint{
  font-size:12px !important;
  color:#555 !important;
}

.meeting-subject-register table.data-table,
.meeting-goals-register table.data-table,
.meeting-topics-register table.data-table,
.meeting-prep-register table.data-table,
.meeting-issues-register table.data-table,
.meeting-results-register table.data-table{
  width:100% !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  table-layout:auto !important;
  background:#fff !important;
}

.meeting-subject-register table.data-table thead th,
.meeting-goals-register table.data-table thead th,
.meeting-topics-register table.data-table thead th,
.meeting-prep-register table.data-table thead th,
.meeting-issues-register table.data-table thead th,
.meeting-results-register table.data-table thead th{
  background:#ead8c7 !important;
  color:#111 !important;
  border:1px solid #333 !important;
  padding:6px 8px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-weight:800 !important;
}

.meeting-subject-register table.data-table tbody td,
.meeting-goals-register table.data-table tbody td,
.meeting-topics-register table.data-table tbody td,
.meeting-prep-register table.data-table tbody td,
.meeting-issues-register table.data-table tbody td,
.meeting-results-register table.data-table tbody td{
  border:1px solid #333 !important;
  padding:4px 6px !important;
  font-size:13px !important;
  line-height:1.25 !important;
  vertical-align:middle !important;
  background:#fff !important;
  text-align:center !important;
}

.meeting-subject-register table.data-table tbody tr:nth-child(even) td,
.meeting-goals-register table.data-table tbody tr:nth-child(even) td,
.meeting-topics-register table.data-table tbody tr:nth-child(even) td,
.meeting-prep-register table.data-table tbody tr:nth-child(even) td,
.meeting-issues-register table.data-table tbody tr:nth-child(even) td,
.meeting-results-register table.data-table tbody tr:nth-child(even) td{
  background:#fcfcfc !important;
}

.meeting-subject-register table.data-table tbody tr.selected-row td,
.meeting-goals-register table.data-table tbody tr.selected-row td,
.meeting-topics-register table.data-table tbody tr.selected-row td,
.meeting-prep-register table.data-table tbody tr.selected-row td,
.meeting-issues-register table.data-table tbody tr.selected-row td,
.meeting-results-register table.data-table tbody tr.selected-row td{
  background:#fff7d6 !important;
}

.meeting-subject-register table.data-table tbody td:first-child,
.meeting-goals-register table.data-table tbody td:first-child,
.meeting-topics-register table.data-table tbody td:first-child,
.meeting-prep-register table.data-table tbody td:first-child,
.meeting-issues-register table.data-table tbody td:first-child,
.meeting-results-register table.data-table tbody td:first-child{
  width:44px !important;
  min-width:44px !important;
  text-align:center !important;
  font-weight:700 !important;
}

.meeting-subject-register table.data-table tbody td:nth-child(2),
.meeting-goals-register table.data-table tbody td:nth-child(2),
.meeting-goals-register table.data-table tbody td:nth-child(3),
.meeting-topics-register table.data-table tbody td:nth-child(2),
.meeting-topics-register table.data-table tbody td:nth-child(3),
.meeting-prep-register table.data-table tbody td:nth-child(2),
.meeting-prep-register table.data-table tbody td:nth-child(3),
.meeting-issues-register table.data-table tbody td:nth-child(2),
.meeting-issues-register table.data-table tbody td:nth-child(3),
.meeting-results-register table.data-table tbody td:nth-child(2),
.meeting-results-register table.data-table tbody td:nth-child(3){
  text-align:right !important;
}

.meeting-subject-register .pagination-bar,
.meeting-goals-register .pagination-bar,
.meeting-topics-register .pagination-bar,
.meeting-prep-register .pagination-bar,
.meeting-issues-register .pagination-bar,
.meeting-results-register .pagination-bar{
  padding:6px 8px !important;
  border-top:1px solid #ddd !important;
  background:#fff !important;
}

.meeting-subject-register .empty-state,
.meeting-goals-register .empty-state,
.meeting-topics-register .empty-state,
.meeting-prep-register .empty-state,
.meeting-issues-register .empty-state,
.meeting-results-register .empty-state{
  margin:0 !important;
  border:1px solid #333 !important;
  border-top:0 !important;
  border-radius:0 !important;
  background:#fff !important;
}



/* Meeting follow-up single-row commands + filters - 421 */
.meeting-followup-inline-filters{
  display:flex !important;
  flex:1 1 auto !important;
  align-items:flex-end !important;
  flex-wrap:nowrap !important;
  gap:5px !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 !important;
  scrollbar-width:thin;
}
.meeting-followup-inline-filters > label{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  gap:2px !important;
  margin:0 !important;
  min-width:88px !important;
  max-width:150px !important;
  flex:0 0 auto !important;
}
.meeting-followup-inline-filters > label.meeting-followup-meeting-filter{
  width:210px !important;
  max-width:210px !important;
}
.meeting-followup-inline-filters > label > span{
  font-size:11px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.meeting-followup-inline-filters select,
.meeting-followup-inline-filters input[type="date"]{
  height:30px !important;
  min-height:30px !important;
  padding:2px 5px !important;
  font-size:12px !important;
  margin:0 !important;
}
.meeting-followup-inline-filters > label.meeting-followup-overdue-check{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:95px !important;
  height:30px !important;
  gap:4px !important;
  padding:0 5px !important;
}
.meeting-followup-inline-filters .meeting-followup-clear,
.meeting-followup-inline-filters .meeting-followup-inline-exit{
  flex:0 0 auto !important;
  height:30px !important;
  min-height:30px !important;
  padding:3px 9px !important;
  white-space:nowrap !important;
  margin:0 !important;
}
.meeting-followup-filterbar{
  display:none !important;
}
@media (min-width:1100px){
  .meeting-followup-inline-filters{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
  }
}
@media (max-width:1099px){
  .meeting-followup-inline-filters{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
  }
}



/* Meeting follow-up ultra-compact one-row toolbar - 422 */
.meeting-followup-inline-filters{
  gap:3px !important;
  align-items:flex-end !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  padding:0 !important;
  min-width:0 !important;
}

.meeting-followup-inline-filters > label{
  min-width:72px !important;
  max-width:105px !important;
  width:auto !important;
  gap:1px !important;
}

.meeting-followup-inline-filters > label.meeting-followup-meeting-filter{
  min-width:155px !important;
  width:155px !important;
  max-width:155px !important;
}

.meeting-followup-inline-filters > label > span{
  font-size:10px !important;
  line-height:1 !important;
}

.meeting-followup-inline-filters select,
.meeting-followup-inline-filters input[type="date"]{
  height:27px !important;
  min-height:27px !important;
  padding:1px 4px !important;
  font-size:11px !important;
  line-height:1.1 !important;
}

.meeting-followup-inline-filters > label.meeting-followup-overdue-check{
  min-width:76px !important;
  width:76px !important;
  height:27px !important;
  padding:0 3px !important;
  font-size:10px !important;
}

.meeting-followup-inline-filters .meeting-followup-clear{
  height:27px !important;
  min-height:27px !important;
  padding:2px 6px !important;
  font-size:10px !important;
  min-width:auto !important;
}

.meeting-followup-inline-filters .meeting-followup-inline-exit{
  width:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  height:27px !important;
  min-height:27px !important;
  padding:0 !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Tighten native action buttons on follow-up screen only */
.page-container .toolbar:has(.meeting-followup-inline-filters){
  gap:4px !important;
  padding:4px 6px !important;
  align-items:flex-end !important;
  flex-wrap:nowrap !important;
}

.page-container .toolbar:has(.meeting-followup-inline-filters) .toolbar-actions{
  gap:3px !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
}

.page-container .toolbar:has(.meeting-followup-inline-filters) .tool-button{
  min-width:auto !important;
  height:27px !important;
  min-height:27px !important;
  padding:2px 6px !important;
  gap:3px !important;
  font-size:10px !important;
  white-space:nowrap !important;
}

.page-container .toolbar:has(.meeting-followup-inline-filters) .tool-button svg{
  width:14px !important;
  height:14px !important;
}



/* Meeting follow-up sticky title/commands + raised exit X - 423 */

/* Keep the follow-up page title visible while scrolling */
.page-container:has(.meeting-followup-inline-filters) > .page-title{
  position:sticky !important;
  top:0 !important;
  z-index:120 !important;
  background:#fff !important;
  margin-bottom:7px !important;
}

/* Keep the commands + filters row immediately below the title */
.page-container:has(.meeting-followup-inline-filters) > .toolbar:has(.meeting-followup-inline-filters){
  position:sticky !important;
  top:50px !important;
  z-index:119 !important;
  background:#f6f6f5 !important;
  margin-bottom:7px !important;
  padding-left:38px !important;
  box-shadow:0 2px 4px rgba(0,0,0,.08) !important;
}

/* Raise the compact exit button to the first command row and keep it always visible */
.page-container:has(.meeting-followup-inline-filters) .meeting-followup-inline-exit{
  position:absolute !important;
  left:6px !important;
  top:5px !important;
  z-index:125 !important;
  width:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  height:27px !important;
  min-height:27px !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

/* The exit X is no longer part of the horizontal-scrolling filter width */
.page-container:has(.meeting-followup-inline-filters) .meeting-followup-inline-filters{
  padding-left:0 !important;
}

/* Printing must remain normal, not sticky */
@media print{
  .page-container:has(.meeting-followup-inline-filters) > .page-title,
  .page-container:has(.meeting-followup-inline-filters) > .toolbar:has(.meeting-followup-inline-filters){
    position:static !important;
    top:auto !important;
    box-shadow:none !important;
  }
  .page-container:has(.meeting-followup-inline-filters) .meeting-followup-inline-exit{
    display:none !important;
  }
}



/* Follow-up title-row exit X + sticky rows - 424 */
.meeting-followup-page-title{
  position:sticky !important;
  top:0 !important;
  z-index:130 !important;
  background:#fff !important;
  margin-bottom:7px !important;
}

.meeting-followup-head-close{
  position:absolute !important;
  left:7px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  padding:0 !important;
  border:1px solid #87939b !important;
  background:#f7f7f7 !important;
  color:#111 !important;
  font-size:19px !important;
  font-weight:800 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  border-radius:2px !important;
}

.page-container:has(.meeting-followup-page-title) > .toolbar:has(.meeting-followup-inline-filters){
  position:sticky !important;
  top:50px !important;
  z-index:129 !important;
  background:#f6f6f5 !important;
  margin-bottom:7px !important;
  padding-left:6px !important;
  box-shadow:0 2px 4px rgba(0,0,0,.08) !important;
}

/* Remove all old toolbar-exit positioning from 423 */
.page-container:has(.meeting-followup-page-title) .meeting-followup-inline-exit{
  display:none !important;
}

@media print{
  .meeting-followup-page-title,
  .page-container:has(.meeting-followup-page-title) > .toolbar:has(.meeting-followup-inline-filters){
    position:static !important;
    top:auto !important;
    box-shadow:none !important;
  }
  .meeting-followup-head-close{
    display:none !important;
  }
}



/* Phase 2 — Meetings command screens as flexible popups - 425 */

/* Remaining inline command workspaces in Meeting Preparation become modal popups. */
.meeting-prep-work-card{
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:2200 !important;
  width:min(980px,calc(100vw - 48px)) !important;
  max-width:980px !important;
  max-height:calc(100vh - 86px) !important;
  min-height:180px !important;
  overflow:auto !important;
  background:#fff !important;
  border:1px solid #66747d !important;
  border-radius:3px !important;
  box-shadow:
    0 18px 60px rgba(0,0,0,.42),
    0 0 0 100vmax rgba(7,24,41,.58) !important;
  margin:0 !important;
  padding:0 12px 12px !important;
  resize:both !important;
}

.meeting-prep-work-card-head{
  position:sticky !important;
  top:0 !important;
  z-index:4 !important;
  min-height:43px !important;
  background:#f7fbfc !important;
  border-bottom:1px solid #8b979f !important;
  margin:0 -12px 10px !important;
  padding:6px 46px 6px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}

.meeting-prep-work-card-head > b{
  font-size:16px !important;
  text-align:center !important;
}

.meeting-prep-work-card-head > span{
  font-size:11px !important;
}

.meeting-prep-popup-close{
  position:absolute !important;
  left:7px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  padding:0 !important;
  border:1px solid #87939b !important;
  background:#fff !important;
  color:#111 !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
}

/* Keep command forms usable inside a resized popup. */
.meeting-prep-work-card .form-grid,
.meeting-prep-work-card .meeting-prep-person-form,
.meeting-prep-work-card .meeting-prep-meeting-form{
  min-width:0 !important;
}

.meeting-prep-work-card .table-scroll{
  max-height:50vh !important;
  overflow:auto !important;
}

/* Standardize all existing meetings command modals: flexible and centered. */
.modal-card:has(.meeting-subject-form),
.modal-card:has(.meeting-goal-form),
.modal-card:has(.meeting-topic-form),
.modal-card:has(.meeting-issue-form),
.modal-card:has(.meeting-minutes-form),
.modal-card:has(.meeting-result-form),
.modal-card:has(.meeting-followup-edit-form),
.modal-card:has(.attendance-bulk-dialog),
.modal-card:has(.advanced-entity-search){
  width:min(980px,calc(100vw - 48px)) !important;
  max-width:980px !important;
  max-height:calc(100vh - 48px) !important;
  overflow:hidden !important;
  resize:both !important;
}

.modal-card:has(.meeting-subject-form) .modal-body,
.modal-card:has(.meeting-goal-form) .modal-body,
.modal-card:has(.meeting-topic-form) .modal-body,
.modal-card:has(.meeting-issue-form) .modal-body,
.modal-card:has(.meeting-minutes-form) .modal-body,
.modal-card:has(.meeting-result-form) .modal-body,
.modal-card:has(.meeting-followup-edit-form) .modal-body,
.modal-card:has(.attendance-bulk-dialog) .modal-body,
.modal-card:has(.advanced-entity-search) .modal-body{
  min-height:0 !important;
  overflow:auto !important;
}

/* Small screens: popup remains inside the visible workspace and reflows. */
@media (max-width:760px){
  .meeting-prep-work-card{
    width:calc(100vw - 20px) !important;
    max-width:none !important;
    max-height:calc(100vh - 28px) !important;
    resize:none !important;
    padding:0 8px 8px !important;
  }

  .meeting-prep-work-card-head{
    margin:0 -8px 8px !important;
  }

  .meeting-prep-work-card .form-grid{
    grid-template-columns:1fr !important;
  }

  .modal-card:has(.meeting-subject-form),
  .modal-card:has(.meeting-goal-form),
  .modal-card:has(.meeting-topic-form),
  .modal-card:has(.meeting-issue-form),
  .modal-card:has(.meeting-minutes-form),
  .modal-card:has(.meeting-result-form),
  .modal-card:has(.meeting-followup-edit-form),
  .modal-card:has(.attendance-bulk-dialog),
  .modal-card:has(.advanced-entity-search){
    width:calc(100vw - 20px) !important;
    max-width:none !important;
    max-height:calc(100vh - 28px) !important;
    resize:none !important;
  }
}

@media print{
  .meeting-prep-work-card{
    position:static !important;
    transform:none !important;
    box-shadow:none !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    resize:none !important;
  }
  .meeting-prep-popup-close{
    display:none !important;
  }
}



/* Phase 2.1 — Keep meeting command popups below the open-screens bar - 426 */

/*
  The app header is a higher stacking context than the workspace.
  Therefore simply increasing popup z-index cannot reliably place a workspace
  popup above the open-screens bar. Keep meeting dialogs inside the usable
  workspace below the ribbon/taskbar instead.
*/

/* Managed meeting modals: normal header, without open-screens taskbar. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-subject-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-goal-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-topic-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-issue-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-minutes-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-result-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-followup-edit-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.attendance-bulk-dialog),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 76px) !important;
  bottom:31px !important;
  height:auto !important;
  max-height:none !important;
  padding:8px 10px !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* When the persistent open-screens bar exists, reserve its 29px + spacing. */
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-subject-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-goal-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-topic-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-issue-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-minutes-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-result-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-followup-edit-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.attendance-bulk-dialog),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 106px) !important;
}

/* Every meeting modal must fit inside the reserved workspace. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-subject-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-goal-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-topic-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-issue-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-minutes-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-result-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-followup-edit-form) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.attendance-bulk-dialog) .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.advanced-entity-search) .greeneco-managed-modal-card{
  max-height:100% !important;
  height:auto !important;
  margin:0 auto !important;
  overflow:hidden !important;
}

/* Create/edit meeting can use most of the available height but never exceed it. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-subject-form) .greeneco-managed-modal-card{
  height:100% !important;
  min-height:0 !important;
}

/* Remaining inline Preparation command popups use the same safe workspace. */
.meeting-prep-work-card{
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  max-height:calc(100vh - var(--active-ticker-height,0px) - 116px) !important;
  z-index:2200 !important;
}

body:has(.greeneco-open-screens-bar) .meeting-prep-work-card{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  max-height:calc(100vh - var(--active-ticker-height,0px) - 146px) !important;
}

/* Keep popup title/actions visible while its body scrolls. */
.meeting-prep-work-card-head,
.greeneco-managed-modal-card .modal-header{
  flex:0 0 auto !important;
}

.greeneco-managed-modal-card .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* Narrow screens: still reserve the system header/taskbar, but use full width. */
@media (max-width:760px){
  .meeting-prep-work-card{
    left:10px !important;
    right:10px !important;
    width:auto !important;
    transform:none !important;
  }
}

@media print{
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
  body:has(.greeneco-open-screens-bar)
    .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
  }

  .meeting-prep-work-card,
  body:has(.greeneco-open-screens-bar) .meeting-prep-work-card{
    top:auto !important;
    max-height:none !important;
  }
}



/* 427 — Normalize top clearance for all meetings popups under the ribbon/open-screens bar */

/* Subject popup already had safe top spacing; extend the same behavior to all meeting dialogs. */
.modal-overlay:has(.meeting-goal-form),
.modal-overlay:has(.meeting-topic-form),
.modal-overlay:has(.meeting-issue-form),
.modal-overlay:has(.meeting-minutes-form),
.modal-overlay:has(.meeting-result-form),
.modal-overlay:has(.meeting-followup-edit-form),
.modal-overlay:has(.attendance-bulk-dialog),
.modal-overlay:has(.advanced-entity-search){
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:54px !important;
  padding-bottom:18px !important;
  box-sizing:border-box !important;
  overflow-y:auto !important;
}

/* Use the same safe height model as the good "موضوع الاجتماع" popup. */
.modal-card:has(.meeting-goal-form),
.modal-card:has(.meeting-topic-form),
.modal-card:has(.meeting-issue-form),
.modal-card:has(.meeting-minutes-form),
.modal-card:has(.meeting-result-form),
.modal-card:has(.meeting-followup-edit-form),
.modal-card:has(.attendance-bulk-dialog),
.modal-card:has(.advanced-entity-search){
  height:calc(100vh - 92px) !important;
  max-height:calc(100vh - 92px) !important;
  min-height:180px !important;
  overflow:hidden !important;
}

/* Under the managed modal/ribbon mode, every meetings popup gets the same clearance.
   This prevents the first row from sliding behind the open-screens strip. */
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-goal-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-topic-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-issue-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-minutes-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-result-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-followup-edit-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.attendance-bulk-dialog),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 106px) !important;
  padding-top:8px !important;
}

/* Keep modal headers fully visible and prevent body content from jumping upward. */
.modal-card:has(.meeting-goal-form) .modal-header,
.modal-card:has(.meeting-topic-form) .modal-header,
.modal-card:has(.meeting-issue-form) .modal-header,
.modal-card:has(.meeting-minutes-form) .modal-header,
.modal-card:has(.meeting-result-form) .modal-header,
.modal-card:has(.meeting-followup-edit-form) .modal-header,
.modal-card:has(.attendance-bulk-dialog) .modal-header,
.modal-card:has(.advanced-entity-search) .modal-header{
  flex:0 0 auto !important;
  position:relative !important;
  z-index:2 !important;
}

/* And the form body scrolls inside the card instead of escaping upward. */
.modal-card:has(.meeting-goal-form) .modal-body,
.modal-card:has(.meeting-topic-form) .modal-body,
.modal-card:has(.meeting-issue-form) .modal-body,
.modal-card:has(.meeting-minutes-form) .modal-body,
.modal-card:has(.meeting-result-form) .modal-body,
.modal-card:has(.meeting-followup-edit-form) .modal-body,
.modal-card:has(.attendance-bulk-dialog) .modal-body,
.modal-card:has(.advanced-entity-search) .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-top:10px !important;
}

@media (max-width:760px){
  .modal-overlay:has(.meeting-goal-form),
  .modal-overlay:has(.meeting-topic-form),
  .modal-overlay:has(.meeting-issue-form),
  .modal-overlay:has(.meeting-minutes-form),
  .modal-overlay:has(.meeting-result-form),
  .modal-overlay:has(.meeting-followup-edit-form),
  .modal-overlay:has(.attendance-bulk-dialog),
  .modal-overlay:has(.advanced-entity-search){
    padding-top:14px !important;
    padding-bottom:10px !important;
  }

  .modal-card:has(.meeting-goal-form),
  .modal-card:has(.meeting-topic-form),
  .modal-card:has(.meeting-issue-form),
  .modal-card:has(.meeting-minutes-form),
  .modal-card:has(.meeting-result-form),
  .modal-card:has(.meeting-followup-edit-form),
  .modal-card:has(.attendance-bulk-dialog),
  .modal-card:has(.advanced-entity-search){
    height:calc(100vh - 28px) !important;
    max-height:calc(100vh - 28px) !important;
  }
}



/* 428 — Fix only first-row overlap with persistent open-screens bar.
   Do NOT enlarge meeting popups. Keep their normal size; move their start down. */

/* Revert the 427 height expansion for non-subject meeting dialogs. */
.modal-card:has(.meeting-goal-form),
.modal-card:has(.meeting-topic-form),
.modal-card:has(.meeting-issue-form),
.modal-card:has(.meeting-minutes-form),
.modal-card:has(.meeting-result-form),
.modal-card:has(.meeting-followup-edit-form),
.modal-card:has(.attendance-bulk-dialog),
.modal-card:has(.advanced-entity-search){
  height:auto !important;
  min-height:0 !important;
  max-height:calc(100vh - 36px) !important;
}

/* Normal position when no open-screens bar exists. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-goal-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-topic-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-issue-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-minutes-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-result-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-followup-edit-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.attendance-bulk-dialog),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 76px) !important;
  padding-top:8px !important;
  bottom:31px !important;
}

/* When the open-screens bar is visible, reserve only its actual row.
   The popup size stays the same; only its first visible row moves below the bar. */
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-goal-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-topic-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-issue-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-minutes-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-result-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.meeting-followup-edit-form),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.attendance-bulk-dialog),
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:
  has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 76px) !important;
  padding-top:38px !important; /* 29px taskbar + safe gap */
  bottom:31px !important;
}

/* Card keeps its designed width/height and simply starts after the reserved top gap. */
body:has(.greeneco-open-screens-bar)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
  .greeneco-managed-modal-card{
  margin-top:0 !important;
}

/* Subject meeting popup remains untouched because it is already correct. */

@media print{
  body:has(.greeneco-open-screens-bar)
    .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    padding-top:0 !important;
  }
}



/* 429 — All meeting command dialogs use the same safe top position as "بيانات الاجتماع".
   This is a POSITION fix only; popup dimensions are not enlarged. */

/* Base position for managed meeting dialogs when the open-screens strip is absent. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-subject-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-goal-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-topic-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-minutes-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-result-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-followup-edit-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search){
  position:fixed !important;
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  right:0 !important;
  bottom:27px !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* With the persistent open-screens strip, start AFTER it.
   108px matches the working "بيانات الاجتماع" popup model. */
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-subject-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-goal-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-topic-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-minutes-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-result-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-followup-edit-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  padding-top:0 !important;
}

/* Do not stretch dialogs: keep their own designed dimensions, only constrain to available workspace. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-subject-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-goal-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-topic-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-minutes-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-result-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-followup-edit-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search) > .greeneco-managed-modal-card{
  margin:0 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

/* "موضوع الاجتماع" already has a taller intentional editor layout; preserve its own height. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-subject-form) > .greeneco-managed-modal-card{
  height:min(100%,calc(100vh - 150px)) !important;
}

/* Body scrolls inside; header and first row remain visible. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-subject-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-goal-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-topic-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-minutes-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-result-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-followup-edit-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search) .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* Preparation custom popups already look correct; keep the exact same safe start. */
body:has(.greeneco-open-screens-bar) .meeting-prep-work-card{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
}

/* Printing ignores screen taskbar spacing. */
@media print{
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
  }
}



/* 430 — Assignment + employee-attendance dialogs use the same safe popup position */

/* All remaining assignment/processing dialogs. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-assign-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-progress-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-transfer-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-history-dialog),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-result-build-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-attendance-single-form),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog),
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search){
  position:fixed !important;
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  right:0 !important;
  bottom:27px !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* When the open-screens strip is present, every one of these popups starts below it. */
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-assign-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-progress-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-transfer-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-history-dialog),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-result-build-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-attendance-single-form),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog),
body:has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search){
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  padding-top:0 !important;
}

/* Keep designed dimensions; only constrain to remaining visible workspace. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-assign-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-progress-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-transfer-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-history-dialog) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-result-build-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-attendance-single-form) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search) > .greeneco-managed-modal-card{
  margin:0 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

/* Wide list dialogs may use their existing wide width but never escape under the taskbar. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-history-dialog) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog) > .greeneco-managed-modal-card,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search) > .greeneco-managed-modal-card{
  width:min(1040px,calc(100vw - 28px)) !important;
  max-width:1040px !important;
}

/* Keep popup header visible; only content body scrolls. */
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-assign-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-progress-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-transfer-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-history-dialog) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-result-build-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-attendance-single-form) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog) .modal-body,
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search) .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* Bulk employee preparation table scrolls internally, not behind the open-screens bar. */
.attendance-bulk-dialog .attendance-bulk-table-scroll{
  max-height:calc(100vh - 330px) !important;
  overflow:auto !important;
}

@media (max-width:760px){
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-assign-form) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-progress-form) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-transfer-form) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-history-dialog) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-issue-result-build-form) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.meeting-attendance-single-form) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-bulk-dialog) > .greeneco-managed-modal-card,
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.advanced-entity-search) > .greeneco-managed-modal-card{
    width:calc(100vw - 20px) !important;
    max-width:none !important;
  }
}

@media print{
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
  }
}



/* 431 — Searchable employee combobox in issue assignment */
.meeting-issue-assign-form .meeting-employee-combobox-label{
  overflow:visible !important;
}
.meeting-issue-assign-form .meeting-employee-combobox{
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}
.meeting-issue-assign-form .meeting-employee-combobox > input{
  width:100% !important;
  min-height:34px !important;
  padding:5px 34px 5px 9px !important;
  background:#fff !important;
}
.meeting-issue-assign-form .meeting-employee-combobox > input:focus{
  outline:2px solid #43b0bf !important;
  outline-offset:-1px !important;
}
.meeting-employee-combobox-clear{
  position:absolute !important;
  left:5px !important;
  top:5px !important;
  z-index:4 !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  background:transparent !important;
  color:#8a2f2f !important;
  font-size:17px !important;
  font-weight:900 !important;
}
.meeting-employee-combobox-menu{
  position:absolute !important;
  top:calc(100% + 3px) !important;
  right:0 !important;
  left:0 !important;
  z-index:5000 !important;
  max-height:230px !important;
  overflow:auto !important;
  padding:3px !important;
  border:1px solid #81949d !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
}
.meeting-employee-combobox-option{
  width:100% !important;
  min-height:38px !important;
  padding:5px 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:2px !important;
  border:0 !important;
  border-bottom:1px solid #e3e9ec !important;
  background:#fff !important;
  color:#17272e !important;
  text-align:right !important;
}
.meeting-employee-combobox-option:last-child{
  border-bottom:0 !important;
}
.meeting-employee-combobox-option:hover,
.meeting-employee-combobox-option:focus{
  background:#eaf5f8 !important;
  outline:0 !important;
}
.meeting-employee-combobox-option b{
  width:100% !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.meeting-employee-combobox-option small{
  width:100% !important;
  color:#667982 !important;
  font-size:10px !important;
}
.meeting-employee-combobox-empty{
  padding:10px !important;
  color:#7a5555 !important;
  text-align:center !important;
  font-size:11px !important;
}
.meeting-employee-combobox-selected{
  display:block !important;
  margin-top:3px !important;
  color:#276d49 !important;
  font-size:10px !important;
  font-weight:700 !important;
}

/* Dropdown must not be clipped by the form grid or modal body. */
.meeting-issue-assign-form .form-grid{
  overflow:visible !important;
}
.modal-card:has(.meeting-issue-assign-form) .modal-body{
  overflow:visible !important;
}



/* 432 — Keep employee dropdown selection active beside search */
.meeting-issue-assign-form .meeting-employee-combobox > input{
  padding-left:62px !important;
}
.meeting-employee-combobox-toggle{
  position:absolute !important;
  left:5px !important;
  top:5px !important;
  z-index:5 !important;
  width:25px !important;
  height:24px !important;
  min-width:25px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-right:1px solid #d1dade !important;
  background:#fff !important;
  color:#294b59 !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.meeting-employee-combobox-clear{
  left:32px !important;
  top:5px !important;
}
.meeting-employee-combobox-option.selected{
  background:#e1f1f5 !important;
  box-shadow:inset -3px 0 #1689a1 !important;
}
.meeting-employee-combobox-option.selected b::after{
  content:"  ✓";
  color:#16835f;
  font-weight:900;
}



/* 433 — Assignment scope filters (branch / section) + employee name only */
.meeting-issue-assign-form .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:10px !important;
  row-gap:8px !important;
}
.meeting-issue-assign-form .meeting-issue-assign-scope-field{
  min-width:0 !important;
  width:100% !important;
}
.meeting-issue-assign-form .meeting-issue-assign-scope-field > span{
  white-space:nowrap !important;
}
.meeting-issue-assign-form .meeting-issue-assign-scope-field select{
  width:100% !important;
  min-width:0 !important;
}
.meeting-issue-assign-form .meeting-employee-combobox-label{
  grid-column:1 / -1 !important;
}
.meeting-issue-assign-form .meeting-employee-combobox-option{
  min-height:34px !important;
  padding:5px 9px !important;
  justify-content:center !important;
}
.meeting-issue-assign-form .meeting-employee-combobox-option b{
  font-size:12px !important;
  font-weight:800 !important;
}
.meeting-issue-assign-form .meeting-employee-combobox-option small{
  display:none !important;
}
@media (max-width:680px){
  .meeting-issue-assign-form .form-grid{
    grid-template-columns:1fr !important;
  }
  .meeting-issue-assign-form .meeting-employee-combobox-label{
    grid-column:auto !important;
  }
}



/* 434 — Task unit popups start below the persistent open-screens bar.
   Position-only fix: do not enlarge task dialogs. */

body:has(.task-unified-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
body:has(.task-detail-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  position:fixed !important;
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  right:0 !important;
  bottom:27px !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
}

body:has(.task-unified-screen):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
body:has(.task-detail-page):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  padding-top:0 !important;
}

body:has(.task-unified-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card,
body:has(.task-detail-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card{
  margin:0 auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

body:has(.task-unified-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header,
body:has(.task-detail-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header{
  flex:0 0 auto !important;
}

body:has(.task-unified-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body,
body:has(.task-detail-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

body:has(.task-unified-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll,
body:has(.task-detail-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll{
  max-height:calc(100vh - var(--active-ticker-height,0px) - 210px) !important;
  overflow:auto !important;
}

@media print{
  body:has(.task-unified-screen)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
  body:has(.task-detail-page)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
    padding-top:0 !important;
  }
}



/* 435 — Field Studies + Administrative Requests popups below open-screens bar.
   Position-only: preserve each dialog's natural width and height. */

body:has(.field-studies-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
body:has(.administrative-requests-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  position:fixed !important;
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  right:0 !important;
  bottom:27px !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
}

body:has(.field-studies-page):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
body:has(.administrative-requests-page):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  padding-top:0 !important;
}

body:has(.field-studies-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card,
body:has(.administrative-requests-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card{
  margin:0 auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

body:has(.field-studies-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header,
body:has(.administrative-requests-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header{
  flex:0 0 auto !important;
}

body:has(.field-studies-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body,
body:has(.administrative-requests-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

body:has(.field-studies-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll,
body:has(.administrative-requests-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll{
  max-height:calc(100vh - var(--active-ticker-height,0px) - 210px) !important;
  overflow:auto !important;
}

body:has(.administrative-requests-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.ar-details-modal{
  min-height:0 !important;
}

@media print{
  body:has(.field-studies-page)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
  body:has(.administrative-requests-page)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
    padding-top:0 !important;
  }
}



/* 436 — Studies & Projects + Enterprise Documents:
   all command dialogs start below the persistent open-screens bar.
   POSITION ONLY: preserve natural popup width and height. */

/* Managed modal dialogs opened anywhere inside Studies & Projects or Documents. */
body:has(.studies-projects-unit-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  position:fixed !important;
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  right:0 !important;
  bottom:27px !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
}

/* When the open-screens strip is visible, place the popup directly below it. */
body:has(.studies-projects-unit-page):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
body:has(.enterprise-documents-page):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  padding-top:0 !important;
}

/* Do not enlarge the card. Only cap it to the remaining visible workspace. */
body:has(.studies-projects-unit-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card{
  margin:0 auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

/* Header stays fully visible; long content scrolls inside the body. */
body:has(.studies-projects-unit-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header{
  flex:0 0 auto !important;
}

body:has(.studies-projects-unit-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* Tables/lists inside details dialogs scroll inside the popup. */
body:has(.studies-projects-unit-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll{
  max-height:calc(100vh - var(--active-ticker-height,0px) - 210px) !important;
  overflow:auto !important;
}

/* Technical Design uses three custom fixed side windows instead of the common Modal.
   Keep their original widths; only move their top edge below the open-screens strip. */
body:has(.technical-designs-page):has(.greeneco-open-screens-bar) .technical-bom-side-panel,
body:has(.technical-designs-page):has(.greeneco-open-screens-bar) .technical-review-panel,
body:has(.technical-designs-page):has(.greeneco-open-screens-bar) .technical-sld-panel{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
}

/* Keep the custom technical panel header visible and scroll only its body/content. */
body:has(.technical-designs-page) .technical-bom-side-panel,
body:has(.technical-designs-page) .technical-review-panel,
body:has(.technical-designs-page) .technical-sld-panel{
  overflow:hidden !important;
}

/* Enterprise-document long form/detail areas stay within the visible dialog. */
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.enterprise-document-form-new,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.enterprise-document-archive-form,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.enterprise-document-attachments,
body:has(.enterprise-documents-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.enterprise-document-versions{
  min-height:0 !important;
}

/* Printing ignores application chrome spacing. */
@media print{
  body:has(.studies-projects-unit-page)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop,
  body:has(.enterprise-documents-page)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
    padding-top:0 !important;
  }
}



/* 437 — Invoice / quotation: move first-row commands only to a right sidebar */
.document-page .document-register-with-command-sidebar{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 178px !important;
  gap:8px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
}

.document-page .document-command-sidebar{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  border:1px solid var(--line-soft) !important;
  background:#f6f6f5 !important;
  padding:4px !important;
  overflow:hidden !important;
}

.document-page .document-register-main{
  grid-column:1 !important;
  grid-row:1 !important;
  min-width:0 !important;
}

.document-page .document-command-sidebar .toolbar{
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.document-page .document-command-sidebar .toolbar-actions,
.document-page .document-command-sidebar .toolbar-extra,
.document-page .document-command-sidebar .context-actions{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:3px !important;
  width:100% !important;
}

.document-page .document-command-sidebar .toolbar-extra{
  margin-top:3px !important;
}

.document-page .document-command-sidebar .tool-button,
.document-page .document-command-sidebar .context-actions button{
  width:100% !important;
  min-width:0 !important;
  min-height:34px !important;
  margin:0 !important;
  padding:5px 8px !important;
  justify-content:flex-start !important;
  white-space:nowrap !important;
}

/* Nothing else in the invoice/quotation screen is changed. */
@media (max-width:760px){
  .document-page .document-register-with-command-sidebar{
    grid-template-columns:minmax(0,1fr) 148px !important;
  }
}



/* GreenEco 3.3.16.44.2.457
   Organizational Structure — all popup screens below the title/open-screens bar.
   Position only: preserve the popup's existing width and normal size. */

body:has(.organization-structure-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  position:fixed !important;
  top:calc(var(--active-ticker-height,0px) + 78px) !important;
  right:0 !important;
  bottom:27px !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
}

/* Persistent open-screens/title bar is 29px high: start immediately below it. */
body:has(.organization-structure-page):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
  padding-top:0 !important;
}

/* Preserve the existing modal width/shape. Only cap overflow to the visible area. */
body:has(.organization-structure-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
> .greeneco-managed-modal-card{
  margin:0 auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

/* Keep popup title/header and the first form row visible. */
body:has(.organization-structure-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-header{
  flex:0 0 auto !important;
}

body:has(.organization-structure-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* Employee import/export review is one of the largest organization dialogs. */
body:has(.organization-structure-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.employee-import-table-wrap{
  max-height:calc(100vh - var(--active-ticker-height,0px) - 300px) !important;
  overflow:auto !important;
}

/* Advanced search / list content remains inside the same popup. */
body:has(.organization-structure-page)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop
.table-scroll{
  max-height:calc(100vh - var(--active-ticker-height,0px) - 230px) !important;
  overflow:auto !important;
}

@media print{
  body:has(.organization-structure-page)
  .modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop{
    top:0 !important;
    bottom:0 !important;
    padding-top:0 !important;
  }
}



/* GreenEco 3.3.16.44.2.458
   Meeting Preparation — make the right command sidebar match the invoice sidebar.
   Same width, spacing, button height, sticky behavior and internal scroll.
   No command/function/content changes. */

.meeting-prep-shell{
  grid-template-columns:165px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:start !important;
}

.meeting-prep-sidebar{
  grid-column:1 !important;
  position:sticky !important;
  top:0 !important;
  z-index:8 !important;

  width:165px !important;
  min-width:165px !important;
  max-width:165px !important;
  box-sizing:border-box !important;

  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  align-items:stretch !important;

  gap:4px !important;
  margin:0 !important;
  padding:5px !important;

  border:1px solid #bec5c9 !important;
  background:#f4f4f3 !important;

  max-height:calc(100vh - var(--active-ticker-height,0px) - 150px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
}

/* Keep the existing preparation heading, but compact it into the same column width. */
.meeting-prep-sidebar-head{
  margin:0 0 2px !important;
  padding:4px 5px 5px !important;
  gap:1px !important;
  border-bottom:1px solid #bec5c9 !important;
}

.meeting-prep-sidebar-head b{
  font-size:calc(10px * var(--font-scale,1)) !important;
}

.meeting-prep-sidebar-head small{
  font-size:calc(7.5px * var(--font-scale,1)) !important;
  line-height:1.25 !important;
}

/* Same physical button specification used in invoice sidebar. */
.meeting-prep-sidebar .meeting-prep-side-button{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:35px !important;
  min-height:35px !important;
  max-height:35px !important;

  margin:0 !important;
  padding:4px 8px !important;
  box-sizing:border-box !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  border:1px solid #7d8b93 !important;
  background:#fff !important;
  text-align:right !important;
  white-space:nowrap !important;
  font-weight:900 !important;
}

/* Preserve state meaning while keeping invoice-style geometry. */
.meeting-prep-sidebar .meeting-prep-side-button.active{
  border-color:#0b718f !important;
  background:#dff3f8 !important;
  color:#075c75 !important;
  box-shadow:inset -3px 0 0 #0b718f !important;
}

.meeting-prep-sidebar .meeting-prep-side-button.danger{
  color:#a50d15 !important;
  background:#fff0f0 !important;
}

.meeting-prep-sidebar .meeting-prep-side-button.attendance-link{
  color:#075c35 !important;
  background:#e5f7ed !important;
}

.meeting-prep-sidebar .meeting-prep-side-button:disabled{
  opacity:.48 !important;
}

.meeting-prep-sidebar-divider{
  margin:2px 0 !important;
}

/* Do not widen the sidebar on smaller screens. */
@media(max-width:900px){
  .meeting-prep-shell{
    grid-template-columns:165px minmax(0,1fr) !important;
    gap:8px !important;
  }

  .meeting-prep-sidebar{
    width:165px !important;
    min-width:165px !important;
    max-width:165px !important;
    padding:5px !important;
  }

  .meeting-prep-sidebar .meeting-prep-side-button{
    padding:4px 8px !important;
    font-size:calc(9px * var(--font-scale,1)) !important;
  }
}



/* GreenEco 3.3.16.44.2.459
   Meeting Preparation — move the existing 165px command sidebar
   to the extreme right edge like the invoice sidebar.
   Keep all 458 sidebar dimensions/behavior unchanged. */

/* Break only the preparation workspace out of the centered content width.
   The classic full-bleed margins make its right edge reach the workspace edge
   without changing the meeting title/header above it. */
body:has(.meeting-prep-shell) .meeting-prep-shell{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-right:0 !important;
  padding-left:8px !important;
  box-sizing:border-box !important;

  /* Keep the 458 layout: in RTL grid column 1 is the physical right column. */
  grid-template-columns:165px minmax(0,1fr) !important;
  gap:8px !important;
}

/* Sidebar itself is flush to the far-right edge; all 458 sizing remains. */
body:has(.meeting-prep-shell) .meeting-prep-sidebar{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:stretch !important;
  margin-right:0 !important;
  margin-left:0 !important;
}

/* Main preparation workspace consumes all remaining space to the left. */
body:has(.meeting-prep-shell) .meeting-prep-workspace{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

/* Avoid viewport-width expansion in print. */
@media print{
  body:has(.meeting-prep-shell) .meeting-prep-shell{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
}



/* GreenEco 3.3.16.44.2.460
   Meeting Preparation sidebar — elegant typography + icon/text buttons.
   Geometry and command behavior from 458/459 stay unchanged. */

/* Column title */
.meeting-prep-sidebar-head{
  padding:7px 7px 8px !important;
  margin:0 0 3px !important;
  text-align:right !important;
  background:linear-gradient(180deg,#ffffff 0%,#eef3f5 100%) !important;
}

.meeting-prep-sidebar-head b{
  display:block !important;
  margin:0 !important;
  font-family:Tahoma,Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  color:#173f50 !important;
}

.meeting-prep-sidebar-head small{
  display:block !important;
  margin-top:2px !important;
  font-family:Tahoma,Arial,sans-serif !important;
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#6b7c84 !important;
}

/* Button typography */
.meeting-prep-sidebar .meeting-prep-side-button{
  position:relative !important;
  gap:0 !important;
  padding:4px 9px 4px 34px !important;
  font-family:Tahoma,Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  color:#17242b !important;
  text-align:right !important;
  transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease !important;
}

/* Icon tile aligned consistently on the left side of each RTL button. */
.meeting-prep-sidebar .meeting-prep-side-button::before{
  content:"•";
  position:absolute !important;
  left:7px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:20px !important;
  height:20px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #b8c5cb !important;
  border-radius:4px !important;
  background:#f5f8f9 !important;
  color:#315b6b !important;
  font-family:Arial,Tahoma,sans-serif !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-sizing:border-box !important;
}

/* Command symbols */
.meeting-prep-sidebar .meeting-prep-btn-register::before{content:"▣" !important;}
.meeting-prep-sidebar .meeting-prep-btn-meeting::before{content:"▤" !important;}
.meeting-prep-sidebar .meeting-prep-btn-add::before{content:"＋" !important;}
.meeting-prep-sidebar .meeting-prep-btn-edit::before{content:"✎" !important;}
.meeting-prep-sidebar .meeting-prep-btn-branch::before{content:"♟" !important;}
.meeting-prep-sidebar .meeting-prep-btn-search::before{content:"⌕" !important;}
.meeting-prep-sidebar .meeting-prep-btn-remove::before{content:"×" !important;}
.meeting-prep-sidebar .meeting-prep-btn-invite::before{content:"✉" !important;}
.meeting-prep-sidebar .meeting-prep-btn-token::before{content:"⌁" !important;}
.meeting-prep-sidebar .meeting-prep-btn-attendance::before{content:"✓" !important;}
.meeting-prep-sidebar .meeting-prep-btn-refresh::before{content:"↻" !important;}
.meeting-prep-sidebar .meeting-prep-btn-print-portrait::before{content:"▯" !important;}
.meeting-prep-sidebar .meeting-prep-btn-print-landscape::before{content:"▭" !important;}

/* Hover / focus */
.meeting-prep-sidebar .meeting-prep-side-button:not(:disabled):hover{
  background:#f3f8fa !important;
  border-color:#7f9aa5 !important;
  color:#0e536d !important;
}

.meeting-prep-sidebar .meeting-prep-side-button:not(:disabled):hover::before{
  border-color:#7f9aa5 !important;
  background:#e9f4f7 !important;
  color:#0b617d !important;
}

.meeting-prep-sidebar .meeting-prep-side-button:focus-visible{
  outline:2px solid #1780a5 !important;
  outline-offset:1px !important;
}

/* Active command */
.meeting-prep-sidebar .meeting-prep-side-button.active{
  border-color:#167696 !important;
  background:#e6f3f7 !important;
  color:#075b76 !important;
  box-shadow:inset -3px 0 0 #167696 !important;
}

.meeting-prep-sidebar .meeting-prep-side-button.active::before{
  border-color:#167696 !important;
  background:#167696 !important;
  color:#fff !important;
}

/* Destructive action */
.meeting-prep-sidebar .meeting-prep-side-button.danger{
  border-color:#caa0a2 !important;
  background:#fff6f6 !important;
  color:#9c2026 !important;
}

.meeting-prep-sidebar .meeting-prep-side-button.danger::before{
  border-color:#d29b9e !important;
  background:#fff0f0 !important;
  color:#b71921 !important;
}

/* Attendance shortcut */
.meeting-prep-sidebar .meeting-prep-side-button.attendance-link{
  border-color:#8fc1a4 !important;
  background:#f0faf4 !important;
  color:#14663c !important;
}

.meeting-prep-sidebar .meeting-prep-side-button.attendance-link::before{
  border-color:#7eb995 !important;
  background:#e4f5eb !important;
  color:#167044 !important;
}

/* Disabled remains readable but clearly inactive. */
.meeting-prep-sidebar .meeting-prep-side-button:disabled{
  opacity:.52 !important;
  filter:saturate(.65) !important;
  cursor:not-allowed !important;
}

/* Divider */
.meeting-prep-sidebar-divider{
  height:1px !important;
  margin:3px 2px !important;
  background:#d5dee2 !important;
  border:0 !important;
}

/* Keep the same elegant proportions at smaller widths. */
@media(max-width:900px){
  .meeting-prep-sidebar .meeting-prep-side-button{
    font-size:11px !important;
    padding-left:32px !important;
  }

  .meeting-prep-sidebar .meeting-prep-side-button::before{
    left:6px !important;
    width:19px !important;
    height:19px !important;
    font-size:12px !important;
  }
}



/* GreenEco 3.3.16.44.2.462
   Meeting Preparation — correction: shift the command sidebar 1cm LEFT.
   Built from 460 directly, so the wrong 461 right-shift is not included. */

body:has(.meeting-prep-shell) .meeting-prep-sidebar{
  transform:translateX(-10mm) !important;
}

/* Give visual room on the left side for the shifted sidebar without changing its size. */
body:has(.meeting-prep-shell) .meeting-prep-shell{
  width:calc(100vw + 10mm) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-left:calc(50% - 50vw - 10mm) !important;
}

/* Printing remains unchanged. */
@media print{
  body:has(.meeting-prep-shell) .meeting-prep-sidebar{
    transform:none !important;
  }

  body:has(.meeting-prep-shell) .meeting-prep-shell{
    width:100% !important;
    margin:0 !important;
  }
}



/* GreenEco 3.3.16.44.2.463
   Meeting Preparation — reduce ONLY the preparation register/table
   by 1cm from each side. Sidebar position from 462 stays untouched. */

body:has(.meeting-prep-shell)
.meeting-prep-workspace
.meeting-prep-register{
  width:calc(100% - 20mm) !important;
  max-width:calc(100% - 20mm) !important;
  margin-right:10mm !important;
  margin-left:10mm !important;
  box-sizing:border-box !important;
}

/* Keep the table/scroller fitted inside the narrowed register. */
body:has(.meeting-prep-shell)
.meeting-prep-workspace
.meeting-prep-register > .table-scroll{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Preserve print layout. */
@media print{
  body:has(.meeting-prep-shell)
  .meeting-prep-workspace
  .meeting-prep-register{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
}


/* GreenEco 3.3.16.44.2.465 */
.meeting-attendance-verification-panel{margin:8px 0!important;padding:8px!important;border:1px solid #c9d4d9!important;background:#f8fbfc!important;border-radius:6px!important}
.meeting-attendance-verification-head{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:8px!important}
.meeting-attendance-verification-options{display:grid!important;grid-template-columns:repeat(3,minmax(180px,1fr))!important;gap:8px!important}
.meeting-attendance-verification-options>label{display:flex!important;flex-direction:column!important;gap:4px!important;font-weight:800!important}
@media(max-width:900px){.meeting-attendance-verification-options{grid-template-columns:1fr!important}}

/* GreenEco 3.3.16.44.2.468 attendance invitation preparation */


/* GreenEco 3.3.16.44.2.470 — meeting attendance invitation records */
.attendance-invite-dialog{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.attendance-invite-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  gap:8px!important;
}
.attendance-invite-grid>label{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  font-weight:800!important;
}
.attendance-invite-channels{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.attendance-invite-channels>label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:145px!important;
  font-weight:900!important;
}
.attendance-invite-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(120px,1fr))!important;
  gap:7px!important;
}
.attendance-invite-summary>div{
  border:1px solid #cbd6da!important;
  background:#f7fafb!important;
  padding:7px 9px!important;
  border-radius:5px!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.attendance-invite-summary span{font-weight:800!important}
.attendance-invite-summary b{font-size:15px!important}
.attendance-invite-preview{max-height:280px!important}
.attendance-invite-preview table{min-width:820px!important}
.attendance-invitation-tracking{margin-bottom:8px!important}
.attendance-invitation-table{min-width:920px!important}
.attendance-invitation-status{font-weight:900!important}
.attendance-invite-button{font-weight:900!important}
@media(max-width:900px){
  .attendance-invite-grid{grid-template-columns:1fr!important}
  .attendance-invite-summary{grid-template-columns:repeat(2,minmax(120px,1fr))!important}
}


/* gre473-attendance-delivery-settings */
.attendance-delivery-settings{display:flex;flex-direction:column;gap:12px}
.attendance-delivery-status{display:flex;flex-wrap:wrap;gap:8px}
.attendance-delivery-status span{padding:7px 10px;border:1px solid #c9d4cf;border-radius:999px;background:#f4f7f5;font-weight:800}
.attendance-delivery-status .ready{background:#e8f7ee;border-color:#a9d8b9;color:#17643a}
.attendance-delivery-status .not-ready{background:#fff3e8;border-color:#edc49d;color:#8a4b12}
.attendance-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.attendance-delivery-grid label{display:flex;flex-direction:column;gap:5px;font-weight:800}
.attendance-delivery-grid label.wide{grid-column:1/-1}
.attendance-delivery-grid input,.attendance-delivery-grid select,.attendance-delivery-test input{
 width:100%;min-height:38px;border:1px solid #b9c7c1;border-radius:7px;padding:7px 9px;background:#fff
}
.attendance-delivery-grid small{font-weight:400;color:#5f716a}
.attendance-delivery-test{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.attendance-delivery-settings-button{font-weight:900!important}
@media(max-width:720px){
 .attendance-delivery-grid{grid-template-columns:1fr}
 .attendance-delivery-test{grid-template-columns:1fr}
}


/* gre474-attendance-invite-feedback */
.attendance-invite-feedback{
 border:1px solid #cbd5d1;
 border-radius:8px;
 padding:10px 12px;
 margin-top:10px;
 background:#f5f8f7;
 font-weight:700;
}
.attendance-invite-feedback.info{background:#eef6fb;border-color:#b8d3e6;color:#254d66}
.attendance-invite-feedback.success{background:#eaf8ef;border-color:#a9d5b7;color:#17633b}
.attendance-invite-feedback.error{background:#fff0ef;border-color:#e7b3ae;color:#9b2822}
.attendance-invite-feedback > b{display:block;margin-bottom:5px}
.attendance-invite-result-table{margin-top:8px;max-height:180px;overflow:auto}


/* gre475-attendance-verification */
.attendance-local-test-link{
 min-height:28px!important;
 padding:3px 9px!important;
 border:1px solid #7b9b8e!important;
 border-radius:5px!important;
 background:#eef7f3!important;
 color:#185b3d!important;
 font-weight:900!important;
 white-space:nowrap!important;
}
.attendance-invitation-tracking .attendance-invitation-table th,
.attendance-invitation-tracking .attendance-invitation-table td{
 white-space:nowrap!important;
}


/* gre476-local-link-actions */
.attendance-local-link-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
a.attendance-local-test-link{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 text-decoration:none!important;
}
.attendance-local-copy-link{
 min-height:28px!important;
 padding:3px 8px!important;
 border:1px solid #aebdb7!important;
 border-radius:5px!important;
 background:#fff!important;
 color:#294b3f!important;
 font-weight:800!important;
 white-space:nowrap!important;
}


/* gre477-photo-chair-approval */
.attendance-invite-photo-mode{display:flex;flex-direction:column;gap:5px;margin-top:8px;font-weight:900}
.attendance-invite-photo-mode select{min-height:38px;border:1px solid #b9c7c1;border-radius:7px;padding:6px 9px;background:#fff}
.attendance-invite-photo-mode small{font-weight:400;color:#61746c}
.attendance-approval-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important}
.attendance-approval-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.attendance-approval-actions,.attendance-row-approval-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.attendance-row-approval-actions button{min-height:27px;padding:3px 8px;border-radius:5px;font-weight:900}
.attendance-approve-one{border:1px solid #7eb494;background:#e9f7ef;color:#17623a}
.attendance-reject-one{border:1px solid #d6a39f;background:#fff0ef;color:#922820}
.attendance-invitation-tracking input[type="checkbox"]{width:16px;height:16px}


/* gre481-independent-attendance-invitation */
.attendance-invitation-independent-screen{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;padding:6px 8px 10px}
.attendance-invitation-screen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #c8d2ce;background:#f7faf8;border-radius:8px;padding:10px 12px}
.attendance-invitation-screen-head h2{margin:0;font-size:20px;color:#155c40}
.attendance-invitation-screen-head p{margin:3px 0 0;color:#63746e;font-weight:700}
.attendance-invitation-subject-picker{min-width:min(460px,100%);max-width:620px;flex:1}
.attendance-invitation-summary{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(120px,1fr));gap:8px}
.attendance-invitation-summary article{display:flex;flex-direction:column;gap:4px;border:1px solid #cad5d0;background:#fff;border-radius:8px;padding:9px 11px}
.attendance-invitation-summary article span{font-size:12px;color:#64766f}.attendance-invitation-summary article b{font-size:16px;color:#173f31}
.attendance-invitation-command-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid #cbd5d1;background:#f7f8f7;border-radius:7px;padding:7px}
.attendance-invitation-command-bar button{min-height:34px;font-weight:900}
.attendance-invitation-delivery-indicator{margin-inline-start:auto;font-weight:800;color:#52675f}
.attendance-invitation-verification-panel{margin:0!important}
.meeting-prep-btn-attendance-invitation::before{content:"✉"!important}
@media(max-width:900px){.attendance-invitation-summary{grid-template-columns:1fr 1fr}.attendance-invitation-summary .wide{grid-column:1/-1}.attendance-invitation-delivery-indicator{margin-inline-start:0;width:100%}}


/* gre483-attendance-evidence-review */
.attendance-review-evidence{
 min-height:27px;padding:3px 8px;border:1px solid #7d9d90;border-radius:5px;
 background:#eef7f3;color:#185b3d;font-weight:900
}
.attendance-evidence-review{display:flex;flex-direction:column;gap:12px}
.attendance-evidence-error{padding:10px 12px;border:1px solid #e1aaa5;border-radius:8px;background:#fff0ef;color:#982820;font-weight:800}
.attendance-evidence-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.attendance-evidence-summary article,.attendance-evidence-meta-grid label{
 display:flex;flex-direction:column;gap:4px;border:1px solid #cbd5d1;background:#f8faf9;border-radius:8px;padding:9px 10px
}
.attendance-evidence-summary span,.attendance-evidence-meta-grid span{font-size:12px;color:#66776f}
.attendance-evidence-location,.attendance-evidence-device,.attendance-evidence-images section{
 border:1px solid #ccd6d2;border-radius:9px;background:#fff;padding:10px
}
.attendance-evidence-location h3,.attendance-evidence-device h3,.attendance-evidence-images h3{margin:0 0 9px;color:#175a40}
.attendance-evidence-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.attendance-evidence-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.attendance-evidence-images img{display:block;width:100%;max-height:360px;object-fit:contain;border:1px solid #d1dad6;border-radius:8px;background:#f7f8f7}
.attendance-evidence-placeholder{min-height:180px;display:flex;align-items:center;justify-content:center;border:1px dashed #b7c5bf;border-radius:8px;background:#f7f8f7;color:#6d7d77;font-weight:800}
.attendance-evidence-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
@media(max-width:900px){
 .attendance-evidence-summary{grid-template-columns:1fr}
 .attendance-evidence-meta-grid{grid-template-columns:1fr 1fr}
 .attendance-evidence-images{grid-template-columns:1fr}
}


/* gre484-whatsapp-cloud-api */
.attendance-settings-section-title{
 margin-top:10px;padding:7px 10px;border-inline-start:4px solid #2e7d5a;
 background:#eef6f2;border-radius:6px;font-weight:950;color:#17563d
}
.attendance-delivery-grid.whatsapp{margin-top:8px}
.attendance-delivery-tests{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.attendance-delivery-tests .attendance-delivery-test{flex:1;min-width:300px;margin:0}
.whatsapp-test-button{min-height:36px;white-space:nowrap}
.attendance-invitation-status-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.attendance-resend-invite{
 padding:2px 7px;min-height:25px;border:1px solid #8ca69b;border-radius:5px;
 background:#f3f8f5;color:#185c40;font-size:11px;font-weight:900
}


/* gre487-location-mode */
.attendance-invite-location-mode,
.attendance-invite-photo-mode{
 display:flex;flex-direction:column;gap:5px;
 margin-top:8px;padding:9px 10px;border:1px solid #ccd7d2;
 border-radius:8px;background:#f8faf9;font-weight:800
}
.attendance-invite-location-mode select,
.attendance-invite-photo-mode select{min-height:36px}
.attendance-invite-location-mode small,
.attendance-invite-photo-mode small{font-weight:600;color:#65776f}


/* ===================================================================
   GreenEco 3.3.16.44.2.488
   دعوة حضور — إعادة تنسيق الشاشة والجداول والنوافذ المنبثقة
   نطاق التغيير محصور في وحدة دعوة حضور.
   =================================================================== */

/* ---------- Main screen frame ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-independent-screen{
  width:calc(100% - 24px) !important;
  max-width:1320px !important;
  margin:10px auto 18px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  font-family:Tahoma,Arial,sans-serif !important;
  box-sizing:border-box !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head{
  display:grid !important;
  grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr) !important;
  align-items:center !important;
  gap:18px !important;
  min-height:78px !important;
  padding:13px 16px !important;
  border:1px solid #b8c9c2 !important;
  border-top:4px solid #146b4b !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 2px 8px rgba(21,57,43,.06) !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:3px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head h2{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  color:#154d39 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head p{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.55 !important;
  color:#65766f !important;
  font-weight:700 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-subject-picker{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  justify-self:stretch !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-subject-picker label,
body:has(.attendance-invitation-independent-screen) .attendance-invitation-subject-picker select{
  min-height:36px !important;
}

/* ---------- KPI summary ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary{
  display:grid !important;
  grid-template-columns:minmax(320px,2.2fr) repeat(3,minmax(130px,1fr)) !important;
  gap:9px !important;
  margin:0 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article{
  min-height:62px !important;
  padding:9px 12px !important;
  border:1px solid #c6d3ce !important;
  border-radius:7px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7faf8 100%) !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:3px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article span{
  font-size:11px !important;
  color:#718079 !important;
  font-weight:800 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article b{
  font-size:17px !important;
  line-height:1.25 !important;
  color:#173f31 !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article.wide b{
  font-size:15px !important;
}

/* ---------- Verification policy strip ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-verification-panel{
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #c1d0ca !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-head{
  min-height:38px !important;
  margin:0 !important;
  padding:7px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  background:#eef5f2 !important;
  border-bottom:1px solid #d3ddd9 !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-head b{
  font-size:13px !important;
  color:#174c39 !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-head span{
  font-size:11px !important;
  color:#63746d !important;
  font-weight:700 !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  padding:0 !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options > label{
  min-height:56px !important;
  padding:8px 11px !important;
  border-inline-end:1px solid #e0e7e4 !important;
  background:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:3px !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options > label:last-child{
  border-inline-end:0 !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options span{
  color:#74817c !important;
  font-size:10px !important;
  font-weight:800 !important;
}

body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options b{
  color:#1b4636 !important;
  font-size:12px !important;
  font-weight:950 !important;
}

/* ---------- Command bar ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-command-bar{
  min-height:48px !important;
  padding:6px 8px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  border:1px solid #c3d0cb !important;
  border-radius:7px !important;
  background:#f8faf9 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-command-bar button{
  min-height:34px !important;
  padding:5px 13px !important;
  border-radius:5px !important;
  font-size:12px !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-command-bar .primary-button{
  min-width:142px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-delivery-indicator{
  margin-inline-start:auto !important;
  padding:5px 9px !important;
  border:1px solid #d2dbd7 !important;
  border-radius:5px !important;
  background:#fff !important;
  color:#52665e !important;
  font-size:11px !important;
  font-weight:850 !important;
}

/* ---------- Tracking table card ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-tracking{
  margin:0 !important;
  border:1px solid #b9c9c3 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 2px 8px rgba(17,54,40,.04) !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-approval-head{
  min-height:50px !important;
  margin:0 !important;
  padding:7px 10px !important;
  border-bottom:1px solid #cbd6d1 !important;
  background:#f4f8f6 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-approval-head > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  gap:1px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-approval-head b{
  font-size:13px !important;
  color:#184b39 !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-approval-head span{
  font-size:10px !important;
  color:#6c7b75 !important;
  font-weight:700 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-approval-actions{
  gap:6px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-approval-actions button{
  min-height:31px !important;
  padding:4px 10px !important;
  border-radius:5px !important;
  font-size:11px !important;
  font-weight:950 !important;
}

/* IMPORTANT: do not squeeze 13 columns. Scroll horizontally instead. */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-tracking > .table-scroll{
  width:100% !important;
  max-width:100% !important;
  max-height:min(390px,calc(100vh - 455px)) !important;
  min-height:220px !important;
  overflow:auto !important;
  background:#fff !important;
  scrollbar-gutter:stable !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table{
  width:100% !important;
  min-width:1480px !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  font-family:Tahoma,Arial,sans-serif !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table thead{
  position:sticky !important;
  top:0 !important;
  z-index:4 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th{
  height:35px !important;
  padding:5px 7px !important;
  background:#e8f1ed !important;
  color:#173f31 !important;
  border-left:1px solid #c3d0cb !important;
  border-bottom:1px solid #aebfb8 !important;
  font-size:10.5px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  text-align:center !important;
  white-space:nowrap !important;
  vertical-align:middle !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td{
  height:38px !important;
  padding:5px 7px !important;
  border-left:1px solid #e0e7e4 !important;
  border-bottom:1px solid #e2e8e5 !important;
  color:#253f35 !important;
  background:#fff !important;
  font-size:11px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  text-align:center !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table tbody tr:nth-child(even) td{
  background:#fafcfb !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table tbody tr:hover td{
  background:#edf6f2 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-table tbody tr.selected-row td{
  background:#e4f2ec !important;
  box-shadow:inset 0 1px 0 #bdd5ca,inset 0 -1px 0 #bdd5ca !important;
}

/* Column widths */
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(1),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(1){width:48px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(2),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(2){width:210px !important;text-align:right !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(3),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(3){width:105px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(4),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(4){width:220px !important;text-align:left !important;direction:ltr !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(5),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(5){width:84px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(6),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(6){width:105px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(7),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(7){width:80px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(8),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(8){width:70px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(9),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(9){width:105px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(10),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(10){width:95px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(11),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(11){width:82px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(12),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(12){width:150px !important}
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table th:nth-child(13),
body:has(.attendance-invitation-independent-screen) .attendance-invitation-table td:nth-child(13){width:205px !important}

/* Table action buttons */
body:has(.attendance-invitation-independent-screen) .attendance-row-approval-actions,
body:has(.attendance-invitation-independent-screen) .attendance-invitation-status-actions{
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:4px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-row-approval-actions button,
body:has(.attendance-invitation-independent-screen) .attendance-resend-invite,
body:has(.attendance-invitation-independent-screen) .attendance-review-evidence{
  min-height:25px !important;
  padding:2px 7px !important;
  border-radius:4px !important;
  font-size:10px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
}

/* ---------- Module popups ---------- */
body:has(.attendance-invitation-independent-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-invite-dialog),
body:has(.attendance-invitation-independent-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-delivery-settings),
body:has(.attendance-invitation-independent-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-evidence-review){
  position:fixed !important;
  right:0 !important;
  left:0 !important;
  bottom:28px !important;
  padding:10px 14px !important;
  box-sizing:border-box !important;
  display:grid !important;
  place-items:start center !important;
  align-content:start !important;
  overflow:hidden !important;
}

body:has(.attendance-invitation-independent-screen):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-invite-dialog),
body:has(.attendance-invitation-independent-screen):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-delivery-settings),
body:has(.attendance-invitation-independent-screen):has(.greeneco-open-screens-bar)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-evidence-review){
  top:calc(var(--active-ticker-height,0px) + 108px) !important;
}

body:has(.attendance-invitation-independent-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-invite-dialog)
> .greeneco-managed-modal-card,
body:has(.attendance-invitation-independent-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-delivery-settings)
> .greeneco-managed-modal-card,
body:has(.attendance-invitation-independent-screen)
.modal-backdrop.modal-fixed-under-ribbon.greeneco-managed-modal-backdrop:has(.attendance-evidence-review)
> .greeneco-managed-modal-card{
  width:min(1100px,calc(100vw - 34px)) !important;
  max-width:1100px !important;
  max-height:100% !important;
  min-height:0 !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border:1px solid #9fb5ac !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(16,45,34,.20) !important;
  resize:none !important;
}

body:has(.attendance-invitation-independent-screen)
.greeneco-managed-modal-card:has(.attendance-invite-dialog) .modal-header,
body:has(.attendance-invitation-independent-screen)
.greeneco-managed-modal-card:has(.attendance-delivery-settings) .modal-header,
body:has(.attendance-invitation-independent-screen)
.greeneco-managed-modal-card:has(.attendance-evidence-review) .modal-header{
  min-height:44px !important;
  padding:8px 13px !important;
  flex:0 0 auto !important;
  background:#edf5f1 !important;
  border-bottom:1px solid #c2d1cb !important;
  color:#174d39 !important;
  font-size:14px !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen)
.greeneco-managed-modal-card:has(.attendance-invite-dialog) .modal-body,
body:has(.attendance-invitation-independent-screen)
.greeneco-managed-modal-card:has(.attendance-delivery-settings) .modal-body,
body:has(.attendance-invitation-independent-screen)
.greeneco-managed-modal-card:has(.attendance-evidence-review) .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding:13px 15px !important;
  background:#fbfcfb !important;
}

/* ---------- Send invitation popup ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invite-dialog{
  display:flex !important;
  flex-direction:column !important;
  gap:11px !important;
  color:#263d34 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  padding:10px !important;
  border:1px solid #cfdbd6 !important;
  border-radius:7px !important;
  background:#fff !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-grid label,
body:has(.attendance-invitation-independent-screen) .attendance-invite-proof-settings label{
  font-size:11px !important;
  color:#40554c !important;
  font-weight:900 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-grid select,
body:has(.attendance-invitation-independent-screen) .attendance-invite-proof-settings select{
  min-height:36px !important;
  padding:5px 8px !important;
  border:1px solid #aebfb8 !important;
  border-radius:5px !important;
  background:#fff !important;
  color:#263f35 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-channels{
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  padding:8px 10px !important;
  border:1px solid #d3ddd9 !important;
  border-radius:7px !important;
  background:#f7faf8 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-channels label{
  min-width:170px !important;
  padding:5px 9px !important;
  border:1px solid #d3ddd9 !important;
  border-radius:5px !important;
  background:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-summary{
  gap:7px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-summary > div{
  min-height:43px !important;
  padding:7px 9px !important;
  border-radius:6px !important;
  background:#f5f8f7 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-summary span{
  font-size:10px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-summary b{
  font-size:14px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-preview{
  max-height:230px !important;
  border:1px solid #ccd8d3 !important;
  border-radius:7px !important;
  background:#fff !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-preview table{
  min-width:900px !important;
  font-size:11px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-preview th{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  height:32px !important;
  background:#eaf2ee !important;
  font-size:10px !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-preview td{
  height:33px !important;
  font-size:10.5px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-proof-settings{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:9px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-location-mode,
body:has(.attendance-invitation-independent-screen) .attendance-invite-photo-mode{
  margin:0 !important;
  padding:9px 10px !important;
  min-height:94px !important;
  border:1px solid #c9d6d1 !important;
  border-radius:7px !important;
  background:#fff !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-location-mode small,
body:has(.attendance-invitation-independent-screen) .attendance-invite-photo-mode small{
  color:#6f7e78 !important;
  font-size:10px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-feedback{
  margin:0 !important;
  border-radius:7px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-result-table{
  max-height:190px !important;
  border:1px solid #d0dad6 !important;
  border-radius:6px !important;
}

/* ---------- Delivery settings popup ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-delivery-settings{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-status{
  gap:6px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-status span{
  padding:5px 9px !important;
  border-radius:5px !important;
  font-size:10.5px !important;
  font-weight:900 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-settings-section-title{
  margin:3px 0 0 !important;
  padding:7px 10px !important;
  border-inline-start:4px solid #1b7554 !important;
  border-radius:4px !important;
  background:#eaf3ef !important;
  color:#174c39 !important;
  font-size:12px !important;
  font-weight:950 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:9px 12px !important;
  padding:10px !important;
  border:1px solid #cfdbd6 !important;
  border-radius:7px !important;
  background:#fff !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-grid label{
  gap:4px !important;
  font-size:10.5px !important;
  font-weight:900 !important;
  color:#40554c !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-grid input,
body:has(.attendance-invitation-independent-screen) .attendance-delivery-grid select,
body:has(.attendance-invitation-independent-screen) .attendance-delivery-test input{
  min-height:35px !important;
  padding:5px 8px !important;
  border:1px solid #aebfb8 !important;
  border-radius:5px !important;
  font-size:11.5px !important;
  background:#fff !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-grid small{
  font-size:9.5px !important;
  line-height:1.4 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-delivery-tests{
  margin:0 !important;
  padding:8px !important;
  border:1px solid #d1dcd7 !important;
  border-radius:7px !important;
  background:#f7faf8 !important;
}

/* ---------- Evidence review popup ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-evidence-review{
  gap:10px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-summary{
  grid-template-columns:1.6fr 1fr 1fr !important;
  gap:8px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-summary article,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-meta-grid label{
  padding:8px 9px !important;
  border-radius:6px !important;
  background:#f7faf8 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-location,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-device,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-images section{
  padding:10px !important;
  border-radius:7px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-location h3,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-device h3,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-images h3{
  margin:0 0 7px !important;
  padding-bottom:6px !important;
  border-bottom:1px solid #d9e2de !important;
  font-size:12px !important;
  color:#174d39 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-meta-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:6px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-images{
  gap:8px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-evidence-images img{
  max-height:300px !important;
}

/* ---------- Modal footer/buttons ---------- */
body:has(.attendance-invitation-independent-screen) .attendance-invite-dialog .modal-actions,
body:has(.attendance-invitation-independent-screen) .attendance-delivery-settings .modal-actions,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-actions{
  position:sticky !important;
  bottom:0 !important;
  z-index:3 !important;
  min-height:47px !important;
  margin-top:3px !important;
  padding:7px 0 0 !important;
  border-top:1px solid #d7e0dc !important;
  background:#fbfcfb !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invite-dialog .modal-actions button,
body:has(.attendance-invitation-independent-screen) .attendance-delivery-settings .modal-actions button,
body:has(.attendance-invitation-independent-screen) .attendance-evidence-actions button{
  min-width:88px !important;
  min-height:33px !important;
  border-radius:5px !important;
  font-size:11px !important;
  font-weight:950 !important;
}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  body:has(.attendance-invitation-independent-screen) .attendance-invitation-independent-screen{
    width:calc(100% - 14px) !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary{
    grid-template-columns:1fr 1fr !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article.wide{
    grid-column:1/-1 !important;
  }

  body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options{
    grid-template-columns:1fr 1fr !important;
  }

  body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options > label:nth-child(2){
    border-inline-end:0 !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-invite-grid,
  body:has(.attendance-invitation-independent-screen) .attendance-invite-proof-settings,
  body:has(.attendance-invitation-independent-screen) .attendance-delivery-grid{
    grid-template-columns:1fr !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-evidence-summary,
  body:has(.attendance-invitation-independent-screen) .attendance-evidence-meta-grid,
  body:has(.attendance-invitation-independent-screen) .attendance-evidence-images{
    grid-template-columns:1fr !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-invitation-delivery-indicator{
    width:100% !important;
    margin-inline-start:0 !important;
  }
}

@media(max-width:640px){
  body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary{
    grid-template-columns:1fr !important;
  }

  body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options{
    grid-template-columns:1fr !important;
  }

  body:has(.attendance-invitation-independent-screen) .meeting-attendance-verification-options > label{
    border-inline-end:0 !important;
    border-bottom:1px solid #e0e7e4 !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-approval-head{
    align-items:flex-start !important;
  }

  body:has(.attendance-invitation-independent-screen) .attendance-approval-actions{
    width:100% !important;
  }
}


/* GreenEco 3.3.16.44.2.490
   Safe compact header for دعوة حضور. No structural selector hacks. */

body:has(.attendance-invitation-independent-screen) .attendance-invitation-independent-screen{
  gap:7px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head{
  min-height:54px !important;
  padding:7px 10px !important;
  grid-template-columns:minmax(260px,.72fr) minmax(430px,1.28fr) !important;
  gap:10px !important;
  border-top-width:3px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head h2{
  font-size:17px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head p{
  font-size:10px !important;
  line-height:1.25 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-subject-picker label,
body:has(.attendance-invitation-independent-screen) .attendance-invitation-subject-picker select{
  min-height:31px !important;
  height:31px !important;
  font-size:10.5px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary{
  margin-top:-4px !important;
  grid-template-columns:minmax(285px,2fr) repeat(3,minmax(105px,.72fr)) !important;
  gap:6px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article{
  min-height:43px !important;
  height:43px !important;
  padding:5px 9px !important;
  border-radius:6px !important;
  gap:0 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article span{
  font-size:9.5px !important;
  line-height:1.15 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article b{
  font-size:14px !important;
  line-height:1.15 !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary article.wide b{
  font-size:13px !important;
}

body:has(.attendance-invitation-independent-screen) .attendance-invitation-command-bar{
  min-height:42px !important;
  padding:4px 7px !important;
}

@media(max-width:980px){
  body:has(.attendance-invitation-independent-screen) .attendance-invitation-screen-head{
    grid-template-columns:1fr !important;
  }
  body:has(.attendance-invitation-independent-screen) .attendance-invitation-summary{
    grid-template-columns:1fr 1fr !important;
    margin-top:0 !important;
  }
}


/* GreenEco 3.3.16.44.2.491
   نافذة إرسال الدعوات: واتساب + البريد + GPS + الصورة في صف واحد */
body:has(.attendance-invitation-independent-screen) .attendance-invite-options-row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:7px !important;
  align-items:stretch !important;
  margin:0 !important;
}
body:has(.attendance-invitation-independent-screen) .attendance-invite-option-card{
  min-height:56px !important;
  margin:0 !important;
  padding:6px 8px !important;
  border:1px solid #cbd7d2 !important;
  border-radius:6px !important;
  background:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:4px !important;
  box-sizing:border-box !important;
  font-size:10.5px !important;
  font-weight:900 !important;
  color:#30483e !important;
}
body:has(.attendance-invitation-independent-screen) .attendance-invite-option-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:6px !important;
}
body:has(.attendance-invitation-independent-screen) .attendance-invite-option-card small{
  font-size:9px !important;
  line-height:1.2 !important;
  color:#6c7a75 !important;
  font-weight:600 !important;
}
body:has(.attendance-invitation-independent-screen) .attendance-invite-option-card select{
  width:100% !important;
  min-height:29px !important;
  height:29px !important;
  padding:3px 6px !important;
  border:1px solid #acbdb6 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#263e34 !important;
  font-size:10.5px !important;
  font-weight:800 !important;
}
body:has(.attendance-invitation-independent-screen) .attendance-invite-option-card input[type="checkbox"]{
  width:15px !important;
  height:15px !important;
  margin:0 !important;
}
body:has(.attendance-invitation-independent-screen) .attendance-invite-location-mode,
body:has(.attendance-invitation-independent-screen) .attendance-invite-photo-mode{
  min-height:56px !important;
}
@media(max-width:900px){
  body:has(.attendance-invitation-independent-screen) .attendance-invite-options-row{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:560px){
  body:has(.attendance-invitation-independent-screen) .attendance-invite-options-row{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   GreenEco 3.3.16.44.2.492 — Tasks / Workforce visual parity
   واجهة وحدة المهام بنفس بنية العرض المرئية للتخطيط الوظيفي.
   الوظائف، المسارات، الصلاحيات وواجهات API تبقى بدون تغيير.
   ========================================================= */

/* Workforce uses a compact, centered working sheet over the workspace. */
:is(.task-unified-screen,.task-detail-page){
  width:min(1180px,calc(100% - 14px))!important;
  min-width:0!important;
  min-height:320px!important;
  margin:7px auto!important;
  padding:0 0 20px!important;
  background:#f4f4f3!important;
  border:0!important;
  box-sizing:border-box!important;
}

/* Row 1: title panel — same visual frame as Workforce embedded screens. */
:is(.task-unified-screen,.task-detail-page) > .page-title{
  order:0!important;
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  width:100%!important;
  min-height:46px!important;
  height:auto!important;
  margin:0 0 6px!important;
  padding:5px 54px!important;
  background:#fff!important;
  border:1px solid #9fb0b8!important;
  border-radius:0!important;
  box-shadow:none!important;
}

:is(.task-unified-screen,.task-detail-page) > .page-title h1{
  margin:0!important;
  color:#17212b!important;
  font-size:22px!important;
  line-height:1.25!important;
}

:is(.task-unified-screen,.task-detail-page) > .page-title p{
  margin:2px 0 0!important;
  color:#68737b!important;
  font-size:11px!important;
  line-height:1.25!important;
}

/* Keep the screen close control inside the title without changing its behavior. */
:is(.task-unified-screen,.task-detail-page) > .page-title #greeneco-native-screen-close{
  left:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}

/* Row 2: task commands — same proportions and spacing as Workforce toolbar. */
.task-unified-screen > .task-unified-action-row,
.task-detail-page > .task-detail-toolbar{
  order:1!important;
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  width:100%!important;
  min-height:42px!important;
  height:auto!important;
  margin:0 0 6px!important;
  padding:5px 7px!important;
  gap:6px!important;
  overflow:visible!important;
  background:#f1f1f1!important;
  border:1px solid #c9c9c9!important;
  border-radius:0!important;
  box-shadow:none!important;
  direction:rtl!important;
}

/* Existing task groups/filters remain in the same command row. */
.task-unified-screen > .task-unified-action-row .toolbar-actions,
.task-unified-screen > .task-unified-action-row > .toolbar-actions,
.task-unified-screen > .task-unified-action-row .task-templates-title-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:0!important;
}

.task-unified-screen > .task-unified-action-row .toolbar-extra{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-inline-start:auto!important;
}

.task-unified-screen > .task-unified-action-row .toolbar{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Workforce command buttons. No event handler or disabled rule is changed. */
:is(.task-unified-screen,.task-detail-page) .tool-button,
.task-detail-page .task-detail-toolbar button,
.task-unified-screen .task-report-commandbar > button,
.task-unified-screen .primary-report-button,
.task-unified-screen .secondary-button,
.task-unified-screen .primary-button,
.task-unified-screen .task-template-search-button{
  min-width:95px!important;
  min-height:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#17212b!important;
  background:#fff!important;
  border:1px solid #8b8b8b!important;
  border-radius:0!important;
  box-shadow:none!important;
}

:is(.task-unified-screen,.task-detail-page) .tool-button:hover:not(:disabled),
.task-detail-page .task-detail-toolbar button:hover:not(:disabled),
.task-unified-screen .task-report-commandbar > button:hover:not(:disabled),
.task-unified-screen .primary-report-button:hover:not(:disabled),
.task-unified-screen .secondary-button:hover:not(:disabled),
.task-unified-screen .primary-button:hover:not(:disabled),
.task-unified-screen .task-template-search-button:hover:not(:disabled){
  background:#e8f8f8!important;
}

:is(.task-unified-screen,.task-detail-page) .tool-button.success,
.task-detail-page .task-detail-toolbar button.success,
.task-unified-screen .primary-button,
.task-unified-screen .primary-report-button{
  background:#e6fff1!important;
}

:is(.task-unified-screen,.task-detail-page) .tool-button.danger,
.task-detail-page .task-detail-toolbar button.danger{
  background:#fff0f0!important;
}

.task-detail-page .task-detail-toolbar button.warning{
  background:#fff8dc!important;
}

:is(.task-unified-screen,.task-detail-page) button:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

/* Page-size control follows Workforce field proportions. */
.task-unified-screen .task-row-page-size{
  min-height:34px!important;
  height:34px!important;
  padding:0 7px!important;
  gap:5px!important;
  background:#fff!important;
  border:1px solid #8b8b8b!important;
  border-radius:0!important;
  color:#17212b!important;
  font-size:12px!important;
}

.task-unified-screen .task-row-page-size > select{
  height:27px!important;
  min-height:27px!important;
  border:1px solid #6d7a82!important;
  border-radius:0!important;
  background:#fff!important;
}

/* Workforce-style filter/form panels while keeping every original field and binding. */
.task-unified-screen > .compact-form-panel,
.task-unified-screen > .approval-review-panel,
.task-unified-screen > .task-report-filter-panel,
.task-unified-screen .task-report-filter-panel,
.task-unified-screen .task-report-filters,
.task-unified-screen .filter-strip{
  width:100%!important;
  margin:0 0 6px!important;
  padding:8px 10px!important;
  background:#fff!important;
  border:1px solid #c4c4c4!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.task-unified-screen .compact-form-panel .form-grid,
.task-unified-screen .approval-review-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px 10px!important;
  align-items:end!important;
}

.task-unified-screen .compact-form-panel .form-grid > label,
.task-unified-screen .approval-review-grid > label,
.task-unified-screen .task-report-filter-panel label,
.task-unified-screen .filter-strip label{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
}

.task-unified-screen .compact-form-panel .form-grid > label > span,
.task-unified-screen .approval-review-grid > label > span,
.task-unified-screen .task-report-filter-panel label > span,
.task-unified-screen .filter-strip label > span{
  width:100%!important;
  min-width:0!important;
  text-align:right!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:700!important;
}

.task-unified-screen .compact-form-panel input:not([type=checkbox]):not([type=radio]),
.task-unified-screen .compact-form-panel select,
.task-unified-screen .approval-review-grid input:not([type=checkbox]):not([type=radio]),
.task-unified-screen .approval-review-grid select,
.task-unified-screen .task-report-filter-panel input:not([type=checkbox]):not([type=radio]),
.task-unified-screen .task-report-filter-panel select,
.task-unified-screen .filter-strip input:not([type=checkbox]):not([type=radio]),
.task-unified-screen .filter-strip select{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:3px 8px!important;
  color:#17212b!important;
  background:#bde9ec!important;
  border:1px solid #6d7a82!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  font-family:Tahoma,Arial,sans-serif!important;
  font-size:12px!important;
}

.task-unified-screen .compact-form-panel textarea,
.task-unified-screen .approval-review-grid textarea,
.task-unified-screen .task-report-filter-panel textarea{
  width:100%!important;
  min-width:0!important;
  min-height:62px!important;
  padding:5px 8px!important;
  background:#bde9ec!important;
  border:1px solid #6d7a82!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

/* Full-width form fields retain their original semantics. */
.task-unified-screen .compact-form-panel .full-field,
.task-unified-screen .approval-review-grid .full-field{
  grid-column:1 / -1!important;
}

/* Workforce-style register/table frame. */
.task-unified-screen > .table-panel,
.task-unified-screen > .task-template-table-host > .table-panel,
.task-unified-screen > .service-directory-table-host > .table-panel,
.task-unified-screen .task-report-results .table-panel,
.task-detail-page .table-panel,
.task-detail-page .task-section{
  width:100%!important;
  margin-top:6px!important;
  background:#fff!important;
  border:1px solid #777!important;
  border-radius:0!important;
  box-shadow:none!important;
}

:is(.task-unified-screen,.task-detail-page) .table-scroll{
  width:100%!important;
  overflow:auto!important;
  max-height:calc(100vh - 170px)!important;
  background:#fff!important;
}

:is(.task-unified-screen,.task-detail-page) .data-table{
  width:100%!important;
  min-width:900px!important;
  border-collapse:collapse!important;
  table-layout:auto!important;
  background:#fff!important;
}

:is(.task-unified-screen,.task-detail-page) .data-table th,
:is(.task-unified-screen,.task-detail-page) .data-table td{
  height:auto!important;
  min-height:30px!important;
  padding:6px 7px!important;
  border:1px solid #999!important;
  vertical-align:middle!important;
  font-size:12px!important;
}

:is(.task-unified-screen,.task-detail-page) .data-table th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  color:#fff!important;
  background:#727272!important;
  text-align:center!important;
  white-space:nowrap!important;
}

:is(.task-unified-screen,.task-detail-page) .data-table tbody tr:nth-child(even){
  background:#f5f5f5!important;
}

:is(.task-unified-screen,.task-detail-page) .data-table tbody tr:hover,
:is(.task-unified-screen,.task-detail-page) .data-table tbody tr.selected-row{
  background:#d8f0f8!important;
}

/* Search/footer remain functional but adopt Workforce register styling. */
.task-unified-screen .table-controls{
  min-height:42px!important;
  padding:5px 7px!important;
  gap:8px!important;
  background:#fff!important;
  border-bottom:1px solid #aaa!important;
}

.task-unified-screen .table-search input{
  height:34px!important;
  min-height:34px!important;
  background:#bde9ec!important;
  border:1px solid #6d7a82!important;
  border-radius:0!important;
}

.task-unified-screen .table-footer{
  min-height:38px!important;
  padding:5px 9px!important;
  background:#f5f5f5!important;
  border-top:1px solid #aaa!important;
}

/* Detail screen cards follow the same white bordered Workforce panels. */
.task-detail-page .task-summary-grid article,
.task-detail-page .task-detail-grid > article,
.task-detail-page .task-collaboration > article{
  background:#fff!important;
  border:1px solid #a8b2bb!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.task-detail-page .task-overdue-alert{
  margin:0 0 6px!important;
  border-radius:0!important;
}

.task-detail-page .task-detail-grid,
.task-detail-page .task-summary-grid,
.task-detail-page .task-collaboration{
  margin-bottom:6px!important;
}

/* Alerts belong below the command row exactly as content, never as a sticky header. */
.task-unified-screen > .form-alert{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  margin:0 0 6px!important;
}

/* Task Reports keep their dedicated print implementation unchanged. */
.task-report-page .task-report-dedicated-sheet{
  display:none!important;
}

/* Compact desktop fallback equivalent to Workforce. */
@media(max-width:1180px){
  .task-unified-screen .compact-form-panel .form-grid,
  .task-unified-screen .approval-review-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  :is(.task-unified-screen,.task-detail-page){
    width:calc(100% - 10px)!important;
    margin:5px auto!important;
  }

  .task-unified-screen > .task-unified-action-row,
  .task-detail-page > .task-detail-toolbar{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
  }

  .task-unified-screen > .task-unified-action-row .toolbar-actions{
    flex-wrap:nowrap!important;
  }

  .task-unified-screen .compact-form-panel .form-grid,
  .task-unified-screen .approval-review-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  :is(.task-unified-screen,.task-detail-page) .table-scroll{
    max-height:none!important;
  }
}

@media(max-width:620px){
  .task-unified-screen .compact-form-panel .form-grid,
  .task-unified-screen .approval-review-grid{
    grid-template-columns:1fr!important;
  }

  .task-unified-screen .compact-form-panel .full-field,
  .task-unified-screen .approval-review-grid .full-field{
    grid-column:auto!important;
  }
}

/* Print remains behaviorally identical; remove screen-only framing. */
@media print{
  :is(.task-unified-screen,.task-detail-page){
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }

  .task-unified-screen > .task-unified-action-row,
  .task-detail-page > .task-detail-toolbar,
  .task-unified-screen .table-controls,
  .task-unified-screen .table-footer{
    display:none!important;
  }

  :is(.task-unified-screen,.task-detail-page) .table-scroll{
    max-height:none!important;
    overflow:visible!important;
  }

  :is(.task-unified-screen,.task-detail-page) .data-table th{
    position:static!important;
    background:#555!important;
    color:#fff!important;
  }
}

