:root{--body:#f7f7f7;--text:#2a3f54;--muted:#73879c;--border:#e6e9ed;--green:#26b99a;--blue:#337ab7;--cyan:#00c0ef;--orange:#f0ad4e;--red:#d9534f}*{box-sizing:border-box}body{margin:0;background:var(--body);font-family:Arial,Helvetica,sans-serif;color:var(--text);font-size:14px}.php-header{height:96px;background:#fff;border-bottom:1px solid #ddd;display:flex;align-items:center;padding:0 18px;gap:24px}.brand{display:flex;align-items:center;gap:9px;min-width:140px}.brand .logo{width:42px;height:42px;border:1px solid #111;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#111;background:#fff}.brand .name{font-size:15px;color:#111}.top-icon-row{display:flex;gap:12px}.icon-btn{width:48px;height:48px;background:#fafafa;border:0;border-radius:5px;color:#111;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:21px;cursor:pointer;position:relative}.icon-btn:hover{background:#f3f3f3}.page-title{font-size:24px;font-weight:bold;color:#73879c;flex:1}.user-zone{display:flex;align-items:center;gap:10px;position:relative}.avatar-link{display:flex;align-items:center;gap:9px;color:#5a738e;text-decoration:none;font-size:18px}.avatar-small{width:46px;height:46px;border-radius:50%;background:#d9dde2;color:#2a3f54;display:inline-flex;align-items:center;justify-content:center;font-weight:bold}.notif-count{position:absolute;right:3px;top:3px;background:#1abb9c;color:#fff;border-radius:10px;min-width:17px;height:17px;line-height:17px;font-size:11px}.dropdown-menu{display:none;position:absolute;right:52px;top:54px;width:210px;background:#fff;border:1px solid #ddd;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:100}.dropdown-menu.open{display:block}.dropdown-menu a{display:block;padding:9px 13px;text-decoration:none;color:#5a738e}.dropdown-menu a:hover{background:#f5f5f5}.notif-modal{display:none;position:fixed;right:86px;top:84px;width:380px;background:#fff;border:1px solid #ddd;box-shadow:0 5px 20px rgba(0,0,0,.18);z-index:101}.notif-modal.open{display:block}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #eee}.notif-head button{border:0;background:#fff;font-size:20px}.notif-foot{padding:10px;text-align:right;border-top:1px solid #eee}.content{padding:16px}.x_panel{background:#fff;border:1px solid #e6e9ed;margin-bottom:18px;padding:17px 18px;position:relative}.x_title{border-bottom:2px solid #e6e9ed;padding:1px 5px 8px;margin-bottom:10px;display:flex;align-items:center}.x_title h2{margin:5px 0 6px;font-size:21px;font-weight:400;color:#73879c;flex:1}.panel_toolbox{display:flex;gap:8px;align-items:center}.label{display:inline-block;border-radius:10px;font-size:12px;font-weight:bold;padding:4px 7px;color:#fff}.label-success{background:#26b99a}.label-primary{background:#00c0ef}.btn{display:inline-block;border:1px solid #ccc;background:#fff;color:#337ab7;border-radius:4px;padding:8px 13px;text-decoration:none;cursor:pointer}.btn-success{background:#26b99a;color:#fff;border-color:#169f85}.btn-info{background:#5bc0de;color:#fff;border-color:#46b8da}.btn-warning{background:#f0ad4e;color:#fff;border-color:#eea236}.btn-primary{background:#337ab7;color:#fff;border-color:#2e6da4}.btn-danger{background:#d9534f;color:#fff;border-color:#d43f3a}.toolbar{display:flex;align-items:center;gap:6px;justify-content:space-between}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;gap:6px;align-items:center}.toolbar input,.toolbar select{height:39px;border:1px solid #ccc;padding:7px 10px;min-width:160px}.viewbtn{font-size:20px;padding:7px 12px}.tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.task-col .x_panel{height:390px;overflow:hidden}.task-col .x_content{height:318px;overflow-y:auto;padding-right:4px}.widget_tally{list-style:none;margin:0;padding:0}.widget_tally li{border-bottom:1px solid #eee;padding:7px 0}.widget_tally a{display:grid;grid-template-columns:62px 85px 1fr 90px;gap:8px;align-items:center;text-decoration:none;color:#5a738e}.widget_tally a.red{color:#d9534f}.count{font-weight:bold;color:#3498db}.month{font-size:13px;color:#00c0ef}.firm small{display:block;font-weight:bold;text-transform:uppercase;color:#5a738e}.work_user small{text-align:right;display:block}.eye{cursor:pointer;color:#73879c;margin-right:5px}.status-badge{display:inline-block;padding:5px 8px;color:#fff;border-radius:4px;font-weight:bold}.table-wrap{overflow:auto;background:#fff;border:1px solid #ddd}.task-table{border-collapse:collapse;width:100%;min-width:1500px;background:#fff}.task-table th,.task-table td{border:1px solid #ddd;padding:8px 9px;vertical-align:top}.task-table th{background:#f1f3f5;font-weight:bold;white-space:nowrap}.task-table a{color:#337ab7;text-decoration:none}.gray-pill{background:#f0f0f0;border-radius:12px;padding:3px 8px;display:inline-block}.task-head h2{margin:0;color:#2a3f54}.action-panel{display:flex;align-items:center;gap:26px}.action-panel input{height:37px;border:1px solid #ddd;border-radius:4px;padding:5px 10px}.action-buttons{margin-left:auto;display:flex;gap:0}.action-buttons .btn{min-width:190px;text-align:center;border-radius:0}.switch-label{font-size:12px;color:#73879c}.switch{display:block;margin-top:6px}.switch input{display:none}.switch i{display:block;width:40px;height:22px;background:#aaa;border-radius:20px;position:relative}.switch i:before{content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;background:#fff;border-radius:50%}.switch input:checked+i{background:#26b99a}.switch input:checked+i:before{left:20px}.tabs{border-bottom:1px solid #ddd;margin:10px 0 0}.tabs a{display:inline-block;padding:11px 16px;border:1px solid #ddd;border-bottom:none;margin-right:4px;background:#f7f7f7;text-decoration:none;color:#337ab7;border-radius:4px 4px 0 0}.tabs a.active{background:#fff;color:#2a3f54;font-weight:bold}.tab-count{background:#00c0ef;color:#fff;font-size:11px;border-radius:10px;padding:2px 6px}.tab-pane{display:none;background:#fff;border:1px solid #e6e9ed;border-top:0;padding:18px}.tab-pane.active{display:block}.form-card-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.form-card{background:#fff;border:1px solid #e6e9ed;padding:20px}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.field label{font-weight:bold;display:block;margin-bottom:6px;color:#5a738e}.field input,.field select,.field textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:8px;background:#fff}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.editor-card{border:1px solid #e6e9ed;background:#fff;padding:20px}.editor-card h3{color:#73879c;font-size:18px;font-weight:400;border-bottom:1px solid #e6e9ed;padding-bottom:14px}.fake-editor-toolbar{border:1px solid #ccc;border-bottom:0;background:#fbfbfb;color:#555;font-size:13px;line-height:30px;padding:4px 8px}.fake-editor-toolbar button{height:32px;min-width:34px;border:1px solid #ddd;background:#fff;margin-right:-1px}.rich-text{min-height:260px;border-radius:0!important}.file-add{margin-top:18px}.bottom-buttons{margin:18px 0;display:flex;gap:6px}.discussion-list{max-width:1000px}.discussion-item{display:flex;gap:12px;padding:12px;border-bottom:1px solid #eee}.discussion-avatar{width:42px;height:42px;border-radius:50%;background:#5bc0de;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold}.discussion-body{background:#fff;border:1px solid #e6e9ed;border-radius:8px;padding:10px;flex:1}.discussion-meta{display:flex;justify-content:space-between;color:#73879c}.discussion-text{font-size:15px;margin-top:6px}.discussion-form{display:flex;gap:8px;margin-top:16px}.discussion-form textarea{height:54px;width:460px;border:1px solid #ddd;border-radius:4px;padding:8px}.empty{border:1px dashed #ddd;padding:18px;color:#999}.notif-list{background:#fff;border:1px solid #ddd}.notif{padding:12px;border-bottom:1px solid #eee}.profile-card{background:#fff;border:1px solid #ddd;padding:18px;max-width:1100px}.profile-grid{display:grid;grid-template-columns:1fr 2fr;gap:20px}.modal{position:fixed;right:20px;top:110px;width:420px;background:#fff;border:1px solid #ddd;box-shadow:0 4px 18px rgba(0,0,0,.2);padding:15px;display:none;z-index:50}.modal.active{display:block}.modal .close{float:right;cursor:pointer}.quick-title{font-weight:bold;font-size:18px;margin-bottom:8px}.settings-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.settings-tabs a{padding:9px 13px;background:#fff;border:1px solid #ddd;text-decoration:none;color:#337ab7}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-list{max-height:360px;overflow:auto}.admin-row{padding:8px;border-bottom:1px solid #eee;display:flex;justify-content:space-between}@media(max-width:1000px){.tasks,.form-card-grid,.editor-grid,.profile-grid,.admin-grid{grid-template-columns:1fr}.toolbar{display:block}.toolbar-left,.toolbar-center,.toolbar-right{margin-bottom:8px}.php-header{height:auto;align-items:flex-start;gap:10px;flex-wrap:wrap}.page-title{font-size:20px}.icon-btn{width:42px;height:42px}.action-panel{display:block}.action-buttons{margin-top:10px}}

/* Внутренние вкладки как в ispmanager: одно окно браузера, много вкладок внутри системы */
.workspace-tabs{height:42px;background:#2f2f2f;border-top:1px solid #3b3b3b;border-bottom:1px solid #242424;display:flex;align-items:center;gap:6px;padding:0 14px;overflow-x:auto;white-space:nowrap;position:sticky;top:0;z-index:90}
.workspace-tab{height:30px;display:inline-flex;align-items:center;gap:8px;background:#444;color:#ddd;border-radius:7px;padding:0 10px;text-decoration:none;font-weight:600;min-width:110px;max-width:220px;flex:0 0 auto;border:1px solid rgba(255,255,255,.05)}
.workspace-tab:hover{background:#505050;color:#fff}.workspace-tab.active{background:#6b6b6b;color:#fff}.workspace-tab-icon{opacity:.95}.workspace-tab-title{overflow:hidden;text-overflow:ellipsis}.workspace-tab-close{margin-left:auto;border:0;background:transparent;color:#ddd;font-size:16px;line-height:1;cursor:pointer;padding:0 1px}.workspace-tab-close:hover{color:#fff;background:rgba(255,255,255,.12);border-radius:50%}
body.has-workspace-tabs .php-header{border-bottom:0}.content{min-height:calc(100vh - 138px)}
@media(max-width:1000px){.workspace-tabs{height:40px;padding:0 8px}.workspace-tab{min-width:92px;max-width:160px;font-size:12px}}
/* v6 task form fixes */
.workspace-tabs{display:none;height:40px;background:#2f2f2f;border-bottom:1px solid #202020;align-items:center;gap:6px;padding:0 14px;overflow-x:auto;white-space:nowrap;position:relative;z-index:120}.workspace-tabs.has-tabs{display:flex}.workspace-tab{height:29px;display:inline-flex;align-items:center;gap:8px;background:#464646;color:#ddd;border-radius:6px;padding:0 10px;text-decoration:none;font-weight:600;min-width:115px;max-width:220px;flex:0 0 auto}.workspace-tab.active{background:#6a6a6a;color:#fff}.workspace-tab-close{margin-left:auto;border:0;background:transparent;color:#ddd;font-size:18px;cursor:pointer}.workspace-tab-close:hover{color:#fff}.workspace-tab-icon{font-size:15px}.workspace-tab-title{overflow:hidden;text-overflow:ellipsis}
.form-top-panel{padding:17px 18px}.form-top-grid{display:grid;grid-template-columns:260px 260px 1fr;gap:18px;align-items:start}.head-buttons{display:flex;justify-content:center;align-items:end;padding-top:22px}.head-buttons .btn{min-width:160px;text-align:center;border-radius:0}.cancel-reason-inline{display:none;margin-top:8px}.cancel-reason-inline.visible{display:block}.deadline-field input{height:38px}.readonly-input{background:#f8f8f8!important;color:#73879c}.priority-field select,.priority-1{color:#5a738e!important}.priority-field select.prio-2,.priority-2{color:#00c0ef!important}.priority-field select.prio-3,.priority-3{color:#f0ad4e!important}.priority-field select.prio-4,.priority-4{color:#d9534f!important}.priority-4 .count,.priority-4 a{color:#d9534f!important}.priority-3 .count,.priority-3 a{color:#f0ad4e!important}.priority-2 .count,.priority-2 a{color:#00c0ef!important}.priority-1 .count,.priority-1 a{color:#5a738e!important}.editor-toolbar{border:1px solid #ccc;border-bottom:0;background:#fbfbfb;padding:7px}.editor-toolbar button{height:32px;min-width:34px;border:1px solid #ddd;background:#fff;margin-right:-1px;cursor:pointer}.rich-editor{min-height:280px;border:1px solid #ccc;background:#fff;padding:12px;line-height:1.45;overflow:auto;white-space:pre-wrap}.rich-editor a{color:#337ab7;text-decoration:underline}.editor-hidden{display:none}.field select option.prio-1{color:#5a738e}.field select option.prio-2{color:#00c0ef}.field select option.prio-3{color:#f0ad4e}.field select option.prio-4{color:#d9534f}@media(max-width:1000px){.form-top-grid{grid-template-columns:1fr}.head-buttons{justify-content:flex-start;padding-top:0}}

/* v7 refinements from review */
.php-header{height:86px;padding:0 16px;gap:14px}.brand{min-width:134px}.page-title{font-size:22px;white-space:nowrap}.workspace-tabs{display:none;position:static;top:auto;z-index:auto;flex:1;min-width:260px;max-width:none;height:38px;background:#f5f5f5;border:1px solid #ddd;border-radius:2px;padding:4px 6px;margin:0 4px;overflow-x:auto}.workspace-tabs.has-tabs{display:flex}.workspace-tab{height:28px;min-width:120px;max-width:210px;background:#fff;color:#5a738e;border:1px solid #ddd;border-radius:3px;font-weight:500}.workspace-tab.active{background:#2a3f54;color:#fff;border-color:#2a3f54}.workspace-tab-close{color:inherit}.left-icons{margin-left:0}.task-head{display:none!important}.task-form>.tabs{margin-top:0;background:#fff;border:1px solid #e6e9ed;border-bottom:0;padding:8px 12px 0}.task-form>.tabs a{padding:9px 14px}.tab-pane{padding:14px 16px}.form-top-panel{border-top:0;margin-bottom:12px;padding:12px 14px}.form-top-grid.compact-task-actions{grid-template-columns:220px 220px minmax(390px,1fr);gap:12px;align-items:start}.head-buttons{justify-content:flex-end;padding-top:22px;gap:0}.head-buttons .btn{min-width:130px;height:38px;line-height:20px}.cancel-reason-inline{position:absolute;width:220px;margin-top:6px;background:#fff;z-index:2}.status-field{position:relative}.form-card-grid{grid-template-columns:1fr 1fr 1fr;gap:14px}.form-card{padding:14px}.form-grid.two{gap:10px}.field input,.field select{height:38px}.prioritets select{font-weight:600}.prioritets select option:nth-child(2),.prioritets .prio-2{color:#00c0ef}.prioritets select option:nth-child(3),.prioritets .prio-3{color:#f0ad4e}.prioritets select option:nth-child(4),.prioritets .prio-4{color:#d9534f}.php-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.php-editor-panel{background:#fff;border:1px solid #e6e9ed;padding:0}.php-editor-panel>label{display:block;margin:0;padding:10px 12px;border-bottom:1px solid #e6e9ed;color:#5a738e;font-weight:bold}.php-editor-toolbar{height:36px;border-bottom:1px solid #ddd;background:#f7f7f7;display:flex;align-items:center;padding:3px 6px}.php-editor-toolbar button{height:28px;min-width:32px;border:1px solid #ccc;background:#fff;margin-right:4px;border-radius:2px;cursor:pointer;color:#2a3f54}.php-rich-editor{min-height:310px;border:0;background:#fff;padding:12px;line-height:1.45;overflow:auto;white-space:pre-wrap;font-size:14px;outline:none}.php-rich-editor:focus{box-shadow:inset 0 0 0 1px #66afe9}.php-rich-editor a{color:#337ab7;text-decoration:underline}.file-add{margin-top:12px}.bottom-buttons{display:none!important}.form-card .field.priority-field select{font-size:14px}.tasks{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start}.task-col .x_panel{height:390px}.task-col .x_content{height:315px;overflow-y:auto}
@media(max-width:1100px){.form-top-grid.compact-task-actions,.form-card-grid,.php-editor-grid{grid-template-columns:1fr}.head-buttons{justify-content:flex-start;padding-top:0}.workspace-tabs{order:3;width:100%;flex-basis:100%}.php-header{height:auto;min-height:86px;padding:10px}}

/* v8 requested fixes */
.brand{color:#111;text-decoration:none}.brand:hover{text-decoration:none;color:#111}
.form-top-grid.compact-task-actions.v8-actions{grid-template-columns:220px 220px 260px minmax(390px,1fr);align-items:start}.v8-actions .cancel-reason-inline{display:none!important;position:static!important;width:auto!important;margin:0!important;background:transparent!important}.v8-actions .cancel-reason-inline.visible{display:block!important}.v8-actions .head-buttons{justify-content:flex-end;padding-top:22px;white-space:nowrap}.v8-actions .head-buttons .btn{min-width:130px}
.priority-1 .count,.priority-1 .month,.priority-1 .firm small,.priority-1 .work_user small{color:#5a738e!important}.priority-2 .count,.priority-2 .month,.priority-2 .firm small,.priority-2 .work_user small{color:#00c0ef!important}.priority-3 .count,.priority-3 .month,.priority-3 .firm small,.priority-3 .work_user small{color:#f0ad4e!important}.priority-4 .count,.priority-4 .month,.priority-4 .firm small,.priority-4 .work_user small{color:#d9534f!important}.task-table tr.priority-1 td,.task-table tr.priority-1 a{color:#5a738e}.task-table tr.priority-2 td,.task-table tr.priority-2 a{color:#00c0ef}.task-table tr.priority-3 td,.task-table tr.priority-3 a{color:#f0ad4e}.task-table tr.priority-4 td,.task-table tr.priority-4 a{color:#d9534f}
.kanban-scroll{height:315px;overflow-y:auto!important}.task-col .x_panel{height:390px!important}.task-col .x_content{height:315px!important;overflow-y:auto!important}.toolbar-right:empty{display:none}.toolbar{justify-content:flex-start}.toolbar-center{flex:1}.toolbar-left{margin-right:8px}
.discussion-list{max-width:none;border:1px solid #e6e9ed;background:#fafafa;min-height:180px;max-height:420px;overflow-y:auto;padding:8px}.discussion-item{padding:10px 8px}.discussion-body{box-shadow:0 1px 2px rgba(0,0,0,.03)}.discussion-form{display:block;margin-top:14px}.discussion-editor-wrap{border:1px solid #ccc;background:#fff}.discussion-editor{min-height:150px;width:100%;padding:12px;outline:none;background:#fff;line-height:1.45;white-space:pre-wrap}.discussion-editor:empty:before{content:attr(placeholder);color:#999}.discussion-form .btn{margin-top:8px}.file-upload-form{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.file-upload-form input input select{height:38px;border:1px solid #ccc;padding:7px 10px}.files-table{min-width:800px}
@media(max-width:1100px){.form-top-grid.compact-task-actions.v8-actions{grid-template-columns:1fr}.v8-actions .head-buttons{justify-content:flex-start;padding-top:0}.discussion-editor{min-height:120px}}

/* v9 corrections */
.page-title{display:none!important}
.php-header{gap:12px!important}.workspace-tabs{flex:1 1 auto!important}.user-zone{margin-left:auto}.header-quick-icons{display:flex;gap:8px;margin:0 2px}.header-quick-icons .icon-btn{width:44px;height:44px;font-size:20px}
.notif-count:empty{display:none}.notif.unread{background:#eefaf7;border-left:3px solid #26b99a}.notif-foot{display:flex;justify-content:space-between;gap:10px}.notif-page-head{display:flex;justify-content:space-between;align-items:center}.notifications-table{min-width:900px}.notifications-table th:nth-child(1){width:180px}.notifications-table th:nth-child(2){width:190px}.unread-row{background:#eefaf7}.pagination-row{margin-top:12px;display:flex;gap:12px;align-items:center;justify-content:flex-end}
.toolbar{gap:8px}.toolbar-center{display:flex;align-items:center;gap:6px;flex:1}.toolbar-center input{min-width:170px}.view-mode-buttons{display:inline-flex;gap:4px;margin-left:auto}.view-mode-buttons .viewbtn{width:43px;height:39px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;padding:0}.toolbar-left .btn-success{height:39px;line-height:21px}
.form-top-grid.compact-task-actions.v8-actions{display:grid!important;grid-template-columns:220px 220px 260px minmax(300px,1fr)!important;gap:10px!important;align-items:start!important}.v8-actions .head-buttons{justify-self:end!important;display:flex!important;flex-wrap:nowrap!important;gap:0!important;padding-top:22px!important}.v8-actions .head-buttons .btn{min-width:112px!important;max-width:148px!important;height:38px!important;padding:8px 9px!important;white-space:nowrap!important;font-size:13px!important}.v8-actions .cancel-reason-inline{grid-column:3!important;grid-row:1!important}
@media(max-width:1260px){.form-top-grid.compact-task-actions.v8-actions{grid-template-columns:200px 200px 220px minmax(260px,1fr)!important}.v8-actions .head-buttons .btn{min-width:104px!important;font-size:12px!important;padding-left:6px!important;padding-right:6px!important}}
.quick-close{float:right;width:44px;height:44px;border:none;background:#fafafa;border-radius:5px;color:#111;font-size:28px;line-height:40px;cursor:pointer}.quick-close:hover{background:#f3f3f3}
#quickModal{width:520px;max-width:calc(100vw - 40px);z-index:250}.modal.active{display:block}
.discussion-list{max-width:none!important;min-height:260px!important;max-height:52vh!important}.discussion-form{display:block!important}.discussion-editor-wrap{width:100%!important}.discussion-editor{min-height:170px!important;font-size:14px!important}.discussion-form .btn{min-width:130px}.discussion-meta b{color:#2a3f54}.discussion-avatar{flex:0 0 42px}.discussion-body{min-width:0}.discussion-text a{color:#337ab7;text-decoration:underline}
.discussion-avatar-img{object-fit:cover;border:0}.editor-readonly .php-rich-editor{background:#f7f8fa;color:#5a738e;cursor:default}.numeric-input:invalid{border-color:#d9534f}.field .numeric-input[readonly]{cursor:not-allowed}
.task-form>.tabs{position:relative;z-index:5}
.chat-shell .brand .logo,.php-header .brand .logo{width:42px!important;height:42px!important;border:1px solid #111!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#111!important;background:#fff!important;font-size:14px!important;margin:0!important}.php-header .brand .name{display:block!important;color:#111!important;font-size:15px!important}.chat-shell{height:calc(100vh - 125px)!important}
@media(max-width:1100px){.form-top-grid.compact-task-actions.v8-actions{grid-template-columns:1fr!important}.v8-actions .cancel-reason-inline{grid-column:auto!important;grid-row:auto!important}.v8-actions .head-buttons{justify-self:start!important;padding-top:0!important;flex-wrap:wrap!important}.view-mode-buttons{margin-left:0}.toolbar-center{flex-wrap:wrap}}

/* v10 fixes */
.form-top-grid.compact-task-actions.v8-actions{display:flex!important;align-items:flex-end!important;gap:10px!important;width:100%!important;flex-wrap:nowrap!important}
.form-top-grid.compact-task-actions.v8-actions .deadline-field{flex:0 0 220px!important}.form-top-grid.compact-task-actions.v8-actions .status-field{flex:0 0 220px!important}.form-top-grid.compact-task-actions.v8-actions .cancel-reason-inline{flex:0 0 260px!important;grid-column:auto!important;grid-row:auto!important}.form-top-grid.compact-task-actions.v8-actions .head-buttons{margin-left:auto!important;display:flex!important;justify-content:flex-end!important;align-items:flex-end!important;gap:0!important;flex:0 0 auto!important;padding-top:0!important}.v8-actions .head-buttons .btn{min-width:132px!important;max-width:none!important;height:38px!important;padding:8px 10px!important;white-space:nowrap!important;font-size:13px!important}.v8-actions .head-buttons .btn.btn-success{min-width:168px!important}
@media(max-width:1150px){.form-top-grid.compact-task-actions.v8-actions{flex-wrap:wrap!important}.form-top-grid.compact-task-actions.v8-actions .head-buttons{margin-left:0!important;width:100%!important;justify-content:flex-start!important}}
.instant-tooltip{position:fixed;z-index:9999;background:#2a3f54;color:#fff;border-radius:3px;padding:5px 8px;font-size:12px;line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.25);pointer-events:none;max-width:260px;white-space:nowrap}.notif-head button,.quick-close{width:44px!important;height:44px!important;border:none!important;background:#fafafa!important;border-radius:5px!important;color:#111!important;font-size:28px!important;line-height:40px!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important}.notif-head button:hover,.quick-close:hover{background:#f3f3f3!important}.kanban-deadline{font-size:12px;display:block}.priority-1 .count,.priority-1 .month,.priority-1 .kanban-deadline,.priority-1 .firm small,.priority-1 .work_user small,.task-table tr.priority-1 td{color:#5a738e}.priority-2 .count,.priority-2 .month,.priority-2 .kanban-deadline,.priority-2 .firm small,.priority-2 .work_user small,.task-table tr.priority-2 td{color:#26b99a}.priority-3 .count,.priority-3 .month,.priority-3 .kanban-deadline,.priority-3 .firm small,.priority-3 .work_user small,.task-table tr.priority-3 td{color:#f0ad4e}.priority-4 .count,.priority-4 .month,.priority-4 .kanban-deadline,.priority-4 .firm small,.priority-4 .work_user small,.task-table tr.priority-4 td{color:#d9534f}.widget_tally a{grid-template-columns:62px 96px 1fr 90px!important}

/* v11 modal alerts, file preview, discussion file tools */
.app-alert-modal .modal-inner{background:#fff;width:430px;max-width:calc(100vw - 40px);margin:12vh auto;padding:18px;border:1px solid #ddd;box-shadow:0 6px 24px rgba(0,0,0,.25);position:relative}.app-alert-text{font-size:14px;line-height:1.45;margin:14px 0}.modal-actions{text-align:right;margin-top:14px}.modal-input{width:100%;height:38px;border:1px solid #ccc;padding:7px 10px}.image-modal-inner{width:auto!important;max-width:90vw!important;margin:6vh auto!important;padding:12px!important;text-align:center}.image-modal-inner img{max-width:86vw;max-height:82vh}.file-suggest{display:none;position:absolute;background:#fff;border:1px solid #ddd;padding:8px;margin-top:4px;box-shadow:0 3px 12px rgba(0,0,0,.16);z-index:20}.discussion-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.file-label{display:inline-flex;align-items:center;cursor:pointer}.files-table .btn{height:30px;line-height:14px;padding:7px 10px;margin-right:4px}.task-table th a{color:#2a3f54;text-decoration:none}.task-table th a:hover{text-decoration:underline}.instant-tooltip{transition:none!important;animation:none!important}.instant-tooltip:empty{display:none}.chat-shell .bi{font-family:'bootstrap-icons'!important}.view-mode-buttons .bi-kanban:before{content:'\F3E2'}.view-mode-buttons .bi-list-ul:before{content:'\F478'}

/* v13 file notes and modern centered modals */
.file-note{background:#f7fbff;border:1px solid #d9edf7;color:#31708f;border-radius:4px;padding:9px 12px;margin:0 0 8px 0;line-height:1.4}.muted-note{background:#fafafa;border-color:#e6e9ed;color:#73879c}.file-size-human{white-space:nowrap}.app-alert-modal.active,.image-preview-modal.active{display:flex!important;position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;height:auto!important;background:rgba(0,0,0,.38)!important;z-index:10000!important;align-items:center!important;justify-content:center!important;padding:20px!important}.app-alert-modal .modal-inner{margin:0!important;position:relative!important;border-radius:6px!important}.image-preview-modal .image-modal-inner{margin:0!important;background:#fff!important;max-width:min(1100px,94vw)!important;max-height:92vh!important;border-radius:6px!important;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative!important}.image-preview-modal .image-modal-inner img{display:block;max-width:92vw!important;max-height:86vh!important;width:auto;height:auto;object-fit:contain}.image-preview-modal .quick-close,.app-alert-modal .quick-close{position:absolute;right:10px;top:8px;z-index:3;width:34px;height:34px;border:0;background:#fff;border-radius:50%;font-size:26px;line-height:30px;box-shadow:0 1px 6px rgba(0,0,0,.25);cursor:pointer}.editor-file-suggest,.file-suggest{max-height:260px;overflow:auto;min-width:260px}.file-suggest-item{padding:7px 9px;cursor:pointer;border-bottom:1px solid #eee}.file-suggest-item:hover{background:#eef7ff}.chat-shell .chat-modal.open{display:block!important;position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;right:auto!important;width:440px!important;max-width:calc(100vw - 30px)!important;background:#fff!important;border:1px solid #ddd!important;box-shadow:0 8px 30px rgba(0,0,0,.25)!important;z-index:9999!important;padding:18px!important;border-radius:6px!important}.chat-shell .chat-modal select,.chat-shell .chat-modal input{width:100%;margin:8px 0;border:1px solid #ccc;border-radius:4px;padding:8px}.chat-shell #newChat{background:#26b99a!important;border-radius:50%!important;color:#fff!important;border:0!important;width:42px!important;height:42px!important;font-size:26px!important;line-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important}.chat-tabs-actions{display:flex;gap:6px}.msg-actions{display:none;gap:5px;margin-top:4px}.msg:hover .msg-actions{display:flex}.msg-action-btn{border:0;background:#eef2f7;color:#337ab7;border-radius:3px;font-size:12px;padding:2px 5px;cursor:pointer}.msg-forward-note{border-left:3px solid #26b99a;padding-left:7px;color:#73879c;font-size:12px;margin-bottom:4px}.pending-card .pending-remove{border:0;background:#d9534f;color:#fff;border-radius:50%;width:22px;height:22px;line-height:18px;margin-left:8px}.group-info-modal-lite.open{display:block!important}.member-row{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #eee}.member-avatar{width:32px;height:32px;border-radius:50%;background:#5bc0de;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold}.member-name{flex:1}.member-remove-btn{border:0;background:#d9534f;color:#fff;border-radius:4px;width:26px;height:26px;font-size:18px;line-height:20px}.group-info-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.folder-bar{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid #e6e9ed}.folder-tab{border:1px solid #ddd;background:#fff;border-radius:16px;padding:5px 12px;color:#337ab7}.folder-tab.active{background:#26b99a;color:#fff;border-color:#169f85}

/* v14 */
.image-preview-modal.active{display:flex!important;align-items:center!important;justify-content:center!important}
.image-modal-inner{max-width:94vw!important;max-height:90vh!important;display:flex;align-items:center;justify-content:center;padding:18px!important}
.image-modal-inner img{max-width:90vw!important;max-height:82vh!important;object-fit:contain!important}
.image-modal-inner video{max-width:90vw!important;max-height:82vh!important;background:#000;border-radius:8px}
.file-inline-link{color:#1d65b7;text-decoration:underline;font-weight:600;cursor:pointer}
.discussion-actions-inline{margin-left:12px;display:inline-flex;gap:8px}.link-btn{border:0;background:transparent;color:#1d65b7;cursor:pointer;font-size:12px;padding:0}.api-key-created{background:#eaf7ef;border:1px solid #98d8af;padding:10px;margin:10px 0;border-radius:6px}.api-key-created code{display:block;margin-top:6px;font-size:13px;word-break:break-all}.api-key-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.api-key-form input[name=name]{height:34px;min-width:280px}
.file-inline-link{color:#1b66b1;text-decoration:underline;font-weight:600}.file-suggest{z-index:99999}.file-suggest-item{cursor:pointer}.api-key-created code{user-select:all}.workspace-tab.active .workspace-tab-title{font-weight:600}
.advanced-filters{display:none;gap:8px;flex-wrap:wrap;width:100%;padding-top:8px;border-top:1px solid #e5e5e5;margin-top:8px}.advanced-filters.open{display:flex}.filter-toggle{padding:6px 10px}.php-rich-editor,.discussion-editor{white-space:pre-wrap}.php-rich-editor a,.discussion-editor a,.discussion-text a{color:#1e73be;text-decoration:underline}.file-suggest{z-index:99999}.view-mode-buttons .bi-kanban{font-size:16px}

/* v21 */
.view-mode-buttons .bi-kanban:before{content:''!important}.view-mode-buttons .bi-kanban{font-family:'bootstrap-icons'!important}.view-mode-buttons .bi-kanban:after{content:'\f3e6';font-family:'bootstrap-icons'!important}

/* v22 fixes */
.view-mode-buttons .bi-kanban:before,.view-mode-buttons .bi-kanban:after{content:none!important}.view-mode-buttons .bi-columns-gap{font-size:17px}.list-totals{display:flex;gap:28px;align-items:center;margin-bottom:8px;padding:10px 16px;color:#2a3f54}.list-totals span{font-size:14px}.list-scroll-wrap{max-height:calc(100vh - 260px);overflow:auto}.list-loader{text-align:center;color:#73879c;padding:12px;background:#fff;border-top:1px solid #eee}.chat-modal .checkbox-user-list{max-height:360px;overflow:auto;background:#fff;border:1px solid #e6e9ed;border-radius:4px;margin:10px 0;padding:6px}.chat-modal .checkbox-user-row{display:flex!important;align-items:center!important;gap:10px!important;color:#2a3f54!important;background:#fff!important;padding:8px 10px!important;border-bottom:1px solid #eee!important;min-height:44px!important;line-height:1.3!important}.chat-modal .checkbox-user-row input{width:auto!important;margin:0!important;flex:0 0 auto!important}.chat-modal .checkbox-user-row .member-name{display:block!important;color:#2a3f54!important;font-size:14px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.chat-modal .checkbox-user-row.selected{background:#eefaf7!important}.chat-modal .selected-count,.chat-modal .modal-hint{color:#73879c!important;font-size:13px!important;margin:6px 0!important}.chat-modal #groupNameInput{color:#2a3f54!important;background:#fff!important}

/* v23 filters and mentions */
.toolbar{align-items:flex-start!important}.toolbar-left{align-self:flex-start}.toolbar-center{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-left .btn-success{white-space:nowrap;min-width:92px}.advanced-filters-horizontal{order:3;flex-basis:100%;margin-left:0!important;padding:8px 0 0 0!important;border-top:1px solid #e6e9ed!important;align-items:center}.advanced-filters-horizontal label{display:flex;align-items:center;gap:5px;color:#2a3f54;font-size:12px}.advanced-filters-horizontal input[type=date]{height:32px;border:1px solid #ccc;border-radius:3px;padding:4px 6px}.user-suggest{display:none;position:absolute;background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:100000;min-width:240px;max-height:260px;overflow:auto}.user-suggest-item{display:flex;justify-content:space-between;gap:14px;padding:8px 9px;border-bottom:1px solid #eee;cursor:pointer}.user-suggest-item:hover{background:#eef7ff}.user-suggest-item small{color:#73879c}.mention{color:#1e73be;font-weight:600;background:#eef7ff;border-radius:3px;padding:1px 3px}.history-field-label{font-weight:500}

/* v24 compact filters and users */
.toolbar{display:flex;gap:10px!important;align-items:flex-start!important;flex-wrap:wrap!important}.toolbar-left{flex:0 0 auto!important}.toolbar-center{display:grid!important;grid-template-columns:minmax(110px,auto) minmax(180px,1.2fr) repeat(4,minmax(135px,1fr)) auto auto auto!important;gap:7px!important;align-items:center!important;flex:1!important}.toolbar-center input,.toolbar-center select{min-width:0!important;width:100%!important}.toolbar-center .view-mode-buttons{white-space:nowrap!important}.advanced-filters-horizontal{display:none!important;grid-column:1/-1!important;grid-template-columns:repeat(6,minmax(150px,1fr))!important;gap:7px!important;background:#f9fbfd!important;border:1px solid #e6e9ed!important;border-radius:4px!important;padding:9px!important;margin-top:3px!important;width:100%!important}.advanced-filters-horizontal.open{display:grid!important}.advanced-filters-horizontal select,.advanced-filters-horizontal input{width:100%!important}.advanced-filters-horizontal label{display:grid!important;grid-template-columns:auto 1fr!important;gap:5px!important;align-items:center!important;margin:0!important}.user-suggest-item small{display:none!important}.users-toolbar .user-filter-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.users-toolbar input,.users-toolbar select{height:34px;border:1px solid #ccc;border-radius:3px;padding:6px 8px}.user-edit-form{max-width:980px}.checkbox-field{display:flex;align-items:center}.checkbox-field label{display:flex!important;align-items:center;gap:8px;margin-top:24px}.user-form-buttons{justify-content:flex-end!important}.login-page{background:#f5f7fa;display:flex;align-items:center;justify-content:center;height:100vh}.login-box{width:380px}.login-logo{text-align:center;font-size:28px;font-weight:700;color:#2a3f54;margin-bottom:14px}.login-box form{background:#fff;border:1px solid #ddd;box-shadow:0 2px 12px rgba(0,0,0,.08);border-radius:5px;padding:22px}.login-box label{display:block;margin:10px 0 4px}.login-box input{width:100%;height:38px;border:1px solid #ccc;border-radius:3px;padding:7px 9px}.login-box button{width:100%;margin-top:16px}.form-error{background:#f2dede;color:#a94442;border:1px solid #ebccd1;padding:8px;border-radius:3px}.hint{font-size:12px;color:#73879c;margin-top:12px}
@media(max-width:1200px){.toolbar-center{grid-template-columns:minmax(110px,auto) minmax(180px,1fr) repeat(2,minmax(135px,1fr)) auto!important}.advanced-filters-horizontal{grid-template-columns:repeat(3,minmax(150px,1fr))!important}}
.mini-check{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.muted-row{opacity:.55}.php-user-form{max-width:1100px;margin:0 auto}.task-form-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.php-form-section{border:1px solid #d9e2ec;background:#fff;border-radius:4px;margin:12px 0;padding:12px}.php-section-title{font-weight:700;color:#305c86;border-bottom:1px solid #e6edf5;padding-bottom:8px;margin-bottom:12px}.status-access-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:8px 14px}.status-access-item{display:flex;gap:8px;align-items:center;border:1px solid #e6edf5;background:#f8fbff;padding:7px 9px;border-radius:4px;font-size:13px}.hint{font-size:12px;color:#6c7785;margin-top:8px}@media(max-width:900px){.status-access-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.task-form-topline{align-items:flex-start;flex-direction:column}}

/* v26 access/users fixes */
.user-edit-form input[type="checkbox"], .users-toolbar input[type="checkbox"], .status-access-item input[type="checkbox"], .mini-check input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;flex:0 0 auto!important;accent-color:#26b99a}
.checkbox-field input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important}
.multi-access-select{width:100%;min-height:170px;border:1px solid #ccd6e0;border-radius:4px;background:#fff;padding:6px;color:#2a3f54}
.multi-access-select option{padding:5px 7px}
.access-denied-panel{max-width:760px;margin:40px auto;text-align:left}.access-denied-panel h2{margin-top:0;color:#d9534f}.task-table td:nth-child(6),.task-table td:nth-child(7){max-width:260px;white-space:normal;word-break:break-word}
/* v28 realtime notifications */
.notif{position:relative;cursor:default;padding-right:38px}.notif-click{cursor:pointer}.notif-click:hover b{text-decoration:underline}.notif-read-one{position:absolute;right:8px;top:8px;width:24px;height:24px;border:1px solid #cfd8dc;background:#fff;border-radius:50%;color:#26b99a;cursor:pointer;font-weight:700}.notif-read-one:hover{background:#eefaf7}.discussion-target-flash{animation:tmTargetFlash 2.2s ease}@keyframes tmTargetFlash{0%{box-shadow:0 0 0 4px rgba(38,185,154,.35);background:#eefaf7}100%{box-shadow:none;background:transparent}}

/* v29 notifications: read items fade from bell modal after mark-read */
.notif-read-fading{opacity:.45;transition:opacity .2s ease}
.workspace-tabs-close-all{height:28px;min-width:28px;border:1px solid #d6d6d6;background:#fff;color:#d9534f;border-radius:3px;font-size:19px;line-height:1;cursor:pointer;flex:0 0 auto}.workspace-tabs-close-all:hover{background:#fff0f0;border-color:#d9534f}.history-created-text{white-space:pre-wrap;line-height:1.45}.history-created-text a{color:#337ab7;text-decoration:underline}
.workspace-tabs-close-all{height:28px;min-width:28px;border:1px solid #d6d6d6;background:#fff;color:#d9534f;border-radius:3px;font-size:19px;line-height:1;cursor:pointer;flex:0 0 auto}.workspace-tabs-close-all:hover{background:#fff0f0;border-color:#d9534f}.history-created-text{white-space:pre-wrap;line-height:1.45}.history-created-text a{color:#337ab7;text-decoration:underline}
/* v34 admin dictionaries, errors, avatar */
.avatar-img{object-fit:cover;border-radius:50%}.profile-avatar-box{margin-bottom:12px}.profile-avatar-img,.profile-avatar-placeholder{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#2a3f54;color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700}.avatar-upload-form{border:1px solid #e6edf5;background:#f8fbff;padding:10px;border-radius:4px;margin:8px 0 16px}.avatar-upload-form input{display:block;margin:8px 0}.inline-edit-form{display:flex;gap:8px;align-items:center}.inline-edit-form input{height:32px;border:1px solid #ccd6e0;border-radius:3px;padding:5px 7px;min-width:260px}.btn.danger,.danger{color:#d9534f}.wrap-cell{max-width:360px;white-space:normal!important;word-break:break-word}.json-pre{white-space:pre-wrap;word-break:break-word;background:#f7f9fb;border:1px solid #e2e8ef;border-radius:4px;padding:12px;max-height:420px;overflow:auto}.errors-table td{vertical-align:top}.error-detail-table th{width:220px}.field textarea{width:100%;min-height:90px;border:1px solid #ccd6e0;border-radius:4px;padding:8px;color:#2a3f54}

/* v35: errors page, user error access and API docs */
.error-access-check{display:inline-flex!important;max-width:360px}.error-list-wrap{max-height:calc(100vh - 210px);overflow:auto}.btn-small{padding:4px 8px;font-size:12px;white-space:nowrap}.error-message-cell{min-width:260px}.api-doc-hero{background:linear-gradient(135deg,#24384d,#2a3f54);color:#fff}.api-doc-hero h2{color:#fff;margin-top:0}.api-doc-hero p{max-width:900px;color:#e8eef4}.api-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.api-badges span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:20px;padding:6px 10px;font-size:12px}.api-doc-section h3{margin-top:0;color:#2a3f54}.api-doc-section p{line-height:1.55}.api-doc-section .json-pre{font-size:13px;line-height:1.45;background:#0f1720;color:#eaf2f8;border-color:#0f1720}.head-buttons form{display:inline-block;margin:0}
/* v36 errors/api/avatar refinements */
.user-cell{display:flex;align-items:center;gap:10px}.error-task-link{display:inline-block;margin-top:6px;font-weight:700;color:#d9534f!important}.api-doc-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.api-doc-nav{position:sticky;top:112px;display:flex;flex-direction:column;gap:8px}.api-doc-nav a{padding:8px 10px;border-radius:4px;text-decoration:none;color:#337ab7}.api-doc-nav a:hover{background:#eef7ff}.api-doc-hero h2{margin-top:0}.api-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.api-badges span{background:#eef7ff;border:1px solid #cfe8ff;color:#2a3f54;border-radius:16px;padding:5px 10px;font-weight:700}.api-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compact-api-table{min-width:0}.compact-api-table th,.compact-api-table td{white-space:normal}.api-method-list{display:grid;gap:8px}.api-method-list div{border:1px solid #e6e9ed;background:#fbfcfe;border-radius:4px;padding:10px}.api-method-list span{display:block;color:#73879c;margin-top:4px}@media(max-width:1000px){.api-doc-layout,.api-two-col{grid-template-columns:1fr}.api-doc-nav{position:static}}

/* v39 responsive hardening: phones/tablets/desktops and major browsers */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;overflow-x:hidden}.content{max-width:100%;overflow-x:hidden}.php-header{min-height:72px}.php-header,.user-zone,.top-icon-row,.toolbar,.toolbar-left,.toolbar-center,.toolbar-right,.panel_toolbox,.bottom-buttons,.action-buttons,.head-buttons,.form-actions{min-width:0}.brand,.icon-btn,.btn{flex:0 0 auto}.page-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-tabs{min-width:160px;flex:1 1 240px}.user-zone{flex:0 1 auto}.avatar-link{min-width:0}.avatar-link span:last-child{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn,.icon-btn,button,input,select,textarea{-webkit-tap-highlight-color:rgba(38,185,154,.18)}.btn,button,.icon-btn{touch-action:manipulation}.x_panel,.form-card,.editor-card,.profile-card,.php-form-section{max-width:100%}.x_title{gap:10px;min-width:0}.x_title h2{min-width:0;overflow:hidden;text-overflow:ellipsis}.panel_toolbox,.head-buttons{flex-wrap:wrap;justify-content:flex-end}.table-wrap,.error-list-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.task-table{min-width:1100px}.errors-table{min-width:1180px}.compact-api-table{min-width:720px}.task-table th,.task-table td{overflow-wrap:anywhere}.json-pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.form-grid.two,.form-card-grid,.editor-grid,.profile-grid,.api-two-col,.admin-grid{min-width:0}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.users-toolbar input,.users-toolbar select,.multi-access-select{max-width:100%}.status-access-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tabs,.settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;display:flex;flex-wrap:nowrap}.tabs a,.settings-tabs a{flex:0 0 auto}.discussion-form{flex-wrap:wrap}.discussion-form textarea{flex:1 1 320px;max-width:100%}.modal,.notif-modal{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto}.image-modal-inner img,.image-modal-inner video{max-width:90vw;max-height:80vh}.inline-edit-form{flex-wrap:wrap}.inline-edit-form input{min-width:220px;flex:1 1 220px}.user-cell{min-width:0}.user-cell a{overflow:hidden;text-overflow:ellipsis}.avatar-small{flex:0 0 46px}.tasks{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.task-col .x_panel{height:auto;min-height:360px}.task-col .x_content{height:auto;max-height:62vh}.widget_tally a{grid-template-columns:58px 76px minmax(0,1fr) 78px}.firm,.work_user{min-width:0}.firm small,.work_user small{overflow-wrap:anywhere}.api-doc-layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}

@media (max-width:1366px){.content{padding:14px}.task-table{min-width:1200px}.toolbar-center{grid-template-columns:minmax(100px,auto) minmax(160px,1fr) repeat(2,minmax(125px,1fr)) auto!important}.avatar-link span:last-child{max-width:120px}.icon-btn{width:44px;height:44px}.btn{padding:7px 11px}.x_title h2{font-size:19px}}

@media (max-width:1180px){.php-header{gap:10px;padding:10px 12px}.brand{min-width:auto}.brand .name{display:none}.workspace-tabs{order:3;flex:1 0 100%;height:38px}.page-title{display:none}.user-zone{margin-left:auto;gap:7px}.header-quick-icons{gap:7px}.toolbar{display:flex!important;flex-direction:column;align-items:stretch!important}.toolbar-left,.toolbar-center,.toolbar-right{width:100%;flex-wrap:wrap}.toolbar-center{display:grid!important;grid-template-columns:repeat(3,minmax(130px,1fr))!important}.advanced-filters-horizontal.open{grid-template-columns:repeat(2,minmax(150px,1fr))!important}.form-card-grid,.editor-grid,.profile-grid,.admin-grid,.api-doc-layout,.api-two-col{grid-template-columns:1fr}.api-doc-nav{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap}.action-panel{display:flex;flex-wrap:wrap;gap:12px}.action-buttons{margin-left:0;flex-wrap:wrap}.action-buttons .btn{min-width:150px}.notif-modal{right:12px;top:80px}.modal{right:12px;top:84px}.task-form-topline{flex-direction:column;align-items:stretch}}

@media (max-width:900px){body{font-size:13px}.content{padding:10px}.php-header{align-items:center}.top-icon-row{flex-wrap:wrap}.user-zone{width:100%;justify-content:flex-end;flex-wrap:wrap}.avatar-link span:last-child{max-width:105px}.icon-btn{width:40px;height:40px;font-size:18px}.workspace-tabs{order:5;flex-basis:100%;padding:0 8px}.x_panel{padding:12px}.x_title{align-items:flex-start;flex-direction:column}.panel_toolbox{width:100%;justify-content:flex-start}.toolbar-center{grid-template-columns:repeat(2,minmax(130px,1fr))!important}.advanced-filters-horizontal.open{grid-template-columns:1fr!important}.tasks{grid-template-columns:1fr}.task-col .x_content{max-height:none}.task-table{min-width:980px}.errors-table{min-width:1040px}.form-grid.two{grid-template-columns:1fr}.bottom-buttons,.head-buttons,.user-form-buttons{flex-wrap:wrap}.btn{white-space:normal;text-align:center}.btn-small{white-space:nowrap}.tabs,.settings-tabs{margin-left:-2px;margin-right:-2px}.tabs a,.settings-tabs a{padding:9px 11px}.profile-card{padding:12px}.discussion-item{gap:8px}.discussion-meta{display:block}.status-access-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.error-detail-table th{width:160px}.login-box{width:min(380px,calc(100vw - 28px))}}

@media (max-width:640px){.content{padding:8px}.php-header{padding:8px;gap:8px}.brand .logo{width:36px;height:36px;font-size:12px}.user-zone{justify-content:flex-start}.avatar-link{font-size:14px}.avatar-small{width:38px;height:38px;flex-basis:38px}.icon-btn{width:38px;height:38px}.notif-count{right:0;top:0}.workspace-tabs{height:36px}.workspace-tab{height:28px;max-width:180px}.x_panel{padding:10px;margin-bottom:10px}.x_title h2{font-size:17px}.toolbar-left,.toolbar-center,.toolbar-right,.users-toolbar .user-filter-form{display:grid!important;grid-template-columns:1fr!important;gap:7px;width:100%}.toolbar-center{grid-template-columns:1fr!important}.toolbar input,.toolbar select,.users-toolbar input,.users-toolbar select,.toolbar .btn,.users-toolbar .btn{width:100%;min-width:0}.view-mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.view-mode-buttons .btn{width:100%}.task-table{min-width:860px}.errors-table{min-width:940px}.compact-api-table{min-width:620px}.form-card,.editor-card,.php-form-section{padding:10px}.status-access-grid{grid-template-columns:1fr}.multi-access-select{min-height:130px}.bottom-buttons,.action-buttons,.head-buttons{display:grid;width:100%;grid-template-columns:1fr;gap:7px}.bottom-buttons .btn,.action-buttons .btn,.head-buttons .btn,.head-buttons form,.head-buttons form button{width:100%;min-width:0}.discussion-form{display:grid;grid-template-columns:1fr}.discussion-form textarea{width:100%;flex-basis:auto}.discussion-avatar{width:36px;height:36px;flex:0 0 36px}.notif-modal{left:8px;right:8px;top:72px;width:auto}.modal{left:8px;right:8px;top:72px;width:auto}.dropdown-menu{right:8px;top:54px}.error-detail-table,.error-detail-table tbody,.error-detail-table tr,.error-detail-table th,.error-detail-table td{display:block;width:100%}.error-detail-table th{background:#f1f3f5}.api-doc-nav{gap:6px}.api-doc-nav a{padding:7px 9px}.api-badges span{font-size:11px}.login-page{align-items:flex-start;padding-top:36px;height:auto;min-height:100vh}}

@media (max-width:420px){body{font-size:12px}.content{padding:6px}.php-header{padding:6px}.brand .logo{width:34px;height:34px}.avatar-link span:last-child{display:none}.icon-btn{width:36px;height:36px;font-size:17px}.header-quick-icons{gap:5px}.x_panel{padding:8px}.btn{padding:7px 9px}.task-table{min-width:760px}.errors-table{min-width:860px}.tabs a,.settings-tabs a{padding:8px 9px}.widget_tally a{grid-template-columns:50px 64px minmax(0,1fr);gap:6px}.widget_tally .work_user{grid-column:1/-1}.form-card,.editor-card,.php-form-section{padding:8px}.json-pre{font-size:12px;padding:8px}.profile-avatar-img,.profile-avatar-placeholder{width:80px;height:80px;font-size:30px}}

@media (orientation:landscape) and (max-height:520px){.php-header{position:relative}.workspace-tabs{position:relative;top:auto}.notif-modal,.modal{top:58px;max-height:calc(100vh - 68px)}.task-col .x_content{max-height:50vh}.login-page{align-items:flex-start;padding-top:16px}}

@supports (-webkit-touch-callout:none){select,input,textarea{font-size:16px}@media (min-width:900px){select,input,textarea{font-size:14px}}.workspace-tabs,.table-wrap,.tabs,.settings-tabs{-webkit-overflow-scrolling:touch}}


/* v47 targeted layout fixes */
.error-task-existing,.errors-table .error-task-existing{background:#337ab7!important;border-color:#2e6da4!important;color:#fff!important;text-shadow:none!important;font-weight:700!important;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px}
.error-task-existing:visited,.error-task-existing:hover,.error-task-existing:focus{color:#fff!important;background:#286090!important;text-decoration:none!important}
.tasks{grid-template-columns:repeat(3,minmax(280px,1fr))!important}
@media (max-width:1200px){.tasks{grid-template-columns:repeat(2,minmax(280px,1fr))!important}}
@media (max-width:760px){.tasks{grid-template-columns:1fr!important}}

/* v47 client update banner */
.tm-update-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:99999;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;background:#1f2d3d;color:#fff;box-shadow:0 12px 36px rgba(0,0,0,.25);font-size:14px}.tm-update-banner span{opacity:.86}.tm-update-banner button{border:0;border-radius:10px;background:#fff;color:#1f2d3d;font-weight:700;padding:10px 14px;cursor:pointer;white-space:nowrap}@media(max-width:640px){.tm-update-banner{flex-direction:column;align-items:stretch}.tm-update-banner button{width:100%}}

/* v47 notification modal fixed header/footer with internal scroll */
.notif-modal{display:none;flex-direction:column;max-height:min(78vh,620px)!important;overflow:hidden!important}.notif-modal.open{display:flex!important}.notif-head{flex:0 0 auto;position:sticky;top:0;background:#fff;z-index:2}.notif-foot{flex:0 0 auto;position:sticky;bottom:0;background:#fff;z-index:2;display:flex!important;justify-content:space-between!important;align-items:center!important}#notifBody{overflow-y:auto;max-height:432px;min-height:80px}.notif{min-height:64px}.chat-footer.no-chat{display:none!important}


/* v51 notification modal: fixed header/footer, internal list scroll after about six cards */
.notif-modal{display:none;flex-direction:column!important;max-height:min(78vh,640px)!important;overflow:hidden!important}
.notif-modal.open{display:flex!important}
.notif-head{flex:0 0 auto!important;position:relative!important;background:#fff!important;z-index:3!important}
.notif-foot{flex:0 0 auto!important;position:relative!important;background:#fff!important;z-index:3!important;display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:center!important}
#notifBody{flex:0 1 auto!important;overflow-y:auto!important;max-height:432px!important;min-height:80px!important;overscroll-behavior:contain!important}
#notifBody .notif{min-height:64px!important}
.login-brand-logo{display:flex;justify-content:center;margin-bottom:14px}.login-brand-logo .logo{width:58px;height:58px;border:1px solid #111;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#111;background:#fff;font-weight:700;font-size:18px}.login-links{text-align:center;margin-top:12px}.login-links a{color:#337ab7;text-decoration:none}.form-success{background:#dff0d8;color:#3c763d;border:1px solid #d6e9c6;padding:8px;border-radius:3px;margin-bottom:8px}
.login-brand-logo{display:flex;justify-content:center;margin-bottom:14px}.login-brand-logo .logo{width:58px;height:58px;border:1px solid #111;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#111;background:#fff;font-weight:700;font-size:18px}.login-links{text-align:center;margin-top:12px}.login-links a{color:#337ab7;text-decoration:none}.form-success{background:#dff0d8;color:#3c763d;border:1px solid #d6e9c6;padding:8px;border-radius:3px;margin-bottom:8px}
.login-brand-logo{display:flex;justify-content:center;margin-bottom:14px}.login-brand-logo .logo{width:58px;height:58px;border:1px solid #111;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#111;background:#fff;font-weight:700;font-size:18px}.login-links{text-align:center;margin-top:12px}.login-links a{color:#337ab7;text-decoration:none}.form-success{background:#dff0d8;color:#3c763d;border:1px solid #d6e9c6;padding:8px;border-radius:3px;margin-bottom:8px}
/* v60 */
.login-brand-logo{align-items:center;gap:12px}.login-brand-name{font-size:24px;font-weight:700;color:#2a3f54;letter-spacing:.5px}.muted-line{color:#73879c;font-size:12px;margin-top:3px}.discussion-list{max-height:56vh;overflow-y:auto;scroll-behavior:smooth}

/* v61: mobile chat header: only logo, notifications, kanban and chat */
@media (max-width: 768px){
  body.page-chat .php-header{min-height:58px!important;padding:8px 10px!important;gap:8px!important}
  body.page-chat .brand .name,
  body.page-chat .workspace-tabs,
  body.page-chat .page-title,
  body.page-chat .avatar-link,
  body.page-chat .user-zone > a.icon-btn[href="/logout"],
  body.page-chat .user-zone > button.icon-btn[onclick*="toggleMenu"],
  body.page-chat #userMenu{display:none!important}
  body.page-chat .user-zone{margin-left:auto!important;display:flex!important;align-items:center!important;gap:6px!important}
  body.page-chat .header-quick-icons{display:flex!important;gap:6px!important}
  body.page-chat .header-quick-icons a[href="/errors"]{display:none!important}
  body.page-chat .chat-shell{height:calc(100vh - 82px)!important}
}


/* v62: compact one-line mobile header on chat page */
@media (max-width: 768px){
  body.page-chat .php-header{
    height:52px!important;
    min-height:52px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:6px 8px!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  body.page-chat .brand{
    flex:0 0 auto!important;
    min-width:36px!important;
    margin:0!important;
  }
  body.page-chat .brand .logo{width:34px!important;height:34px!important;font-size:11px!important}
  body.page-chat .user-zone{
    flex:0 0 auto!important;
    width:auto!important;
    margin-left:auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
  }
  body.page-chat .header-quick-icons{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:5px!important;
  }
  body.page-chat .icon-btn{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    font-size:17px!important;
    padding:0!important;
  }
  body.page-chat .notif-count{right:-2px!important;top:-2px!important}
  body.page-chat .content{padding:4px!important}
  body.page-chat .chat-shell{height:calc(100vh - 60px)!important}
}
