:root{--primary:#2f7fba;--accent:#30343b;--sidebar:#eef1f4;--line:#d5dce3;--text:#243142}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#f4f6f8}a{color:#2677b8}.app-topbar{min-height:48px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:20}.brand{color:#fff;text-decoration:none;font-size:20px;white-space:nowrap}.top-actions{align-self:stretch;display:flex;align-items:center;gap:1px}.top-action,.user-menu,.project-switcher select{height:100%;display:flex;align-items:center;border:0;border-left:1px solid rgba(255,255,255,.25);border-radius:0;background:transparent;color:#fff;padding:0 14px;text-decoration:none}.top-action.primary{background:var(--primary);font-weight:700}.project-switcher{height:100%}.project-switcher select{appearance:auto;min-width:150px}.project-switcher option{color:#111;background:#fff}.user-menu{gap:7px}.user-menu small{opacity:.75}.app-shell{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 48px)}.sidebar{background:var(--sidebar);border-right:1px solid #cbd2d9;position:sticky;top:48px;height:calc(100vh - 48px);overflow-y:auto}.menu-toggle{width:100%;border:0;border-bottom:1px solid #cbd2d9;background:#dfe4e8;color:#39434d;border-radius:0;padding:12px;text-align:left;font-weight:700}.side-section{border-bottom:1px solid #cbd2d9}.side-heading{padding:12px 14px 7px;color:#697582;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.side-link{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 13px;color:#3e4a55;text-decoration:none;border-left:4px solid transparent}.side-link:hover{background:#fff}.side-link.active{background:#fff;color:var(--primary);border-left-color:var(--primary);font-weight:700}.side-icon{display:inline-flex;width:22px;justify-content:center;font-size:18px}.admin-menu summary{display:flex;align-items:center;gap:10px;padding:12px 13px;cursor:pointer;font-weight:700;border-bottom:1px solid #cbd2d9}.admin-menu .side-link{padding-left:28px;font-size:14px}.main-content{min-width:0;padding:10px 18px 30px}.context-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#e4f1f8;border-radius:4px;padding:9px 12px;margin-bottom:10px;color:#337eb3}.role-chip{display:inline-block;background:#aebbc5;color:#fff;padding:4px 10px;margin-left:6px;font-size:12px;font-weight:700}.issue-jump{display:flex;gap:5px}.issue-jump input{width:125px}.issue-jump button{padding:7px 10px}.page-heading{border-bottom:1px dotted #ccd3da;margin:0 0 15px;padding:2px 4px 10px}.page-heading h1{margin:0;color:#2677b8;font-size:27px;font-weight:500}.public-wrap{max-width:900px;margin:0 auto;padding:25px}.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-width:0;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:3px;padding:15px;box-shadow:0 1px 2px rgba(16,24,40,.035)}.card>h1:first-child,.card>h2:first-child{background:var(--primary);color:#fff;font-weight:500;font-size:20px;margin:-15px -15px 14px;padding:9px 12px}.card h3{color:#2c6f9e;border-bottom:1px solid #dde3e8;padding-bottom:7px}.stat{font-size:30px;font-weight:700;color:var(--primary)}.muted{color:#6c7885}.btn,a.btn,button{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:4px;padding:8px 12px;text-decoration:none;cursor:pointer;display:inline-block}.btn.secondary{background:#fff;color:#3979aa;border-color:#8db6d5}.btn.danger{background:#c93e3e;border-color:#c93e3e}input,select,textarea{width:100%;padding:9px;border:1px solid #bcc8d3;border-radius:3px;background:#fff;color:#263442}textarea{min-height:110px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.form-full{margin-bottom:14px}label{font-weight:700;font-size:13px;margin-bottom:5px;display:block;color:#34495e}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}th,td{text-align:left;border-bottom:1px solid #dfe4e8;padding:9px;vertical-align:top}th{background:#eaf1f5;color:#2473ad;font-size:13px}tbody tr:nth-child(even){background:#fafbfc}tbody tr:hover{background:#edf6fb}.badge{display:inline-block;border-radius:4px;padding:3px 8px;background:#e2e8f0;font-size:12px}.flash{padding:12px;border-radius:4px;margin-bottom:14px}.flash.success{background:#dcfce7;border:1px solid #9dddaf}.flash.error{background:#fee2e2;border:1px solid #efaaaa}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:end;margin-bottom:14px;background:#eef1f3;border:1px solid var(--line);padding:10px}.toolbar>div{min-width:145px;flex:1}.toolbar button,.toolbar .btn{white-space:nowrap}.issue-title{font-size:26px;margin:0 0 8px}.comment{border-top:1px solid #e5eaf2;padding:12px 0}.internal{background:#fff7ed;border-left:4px solid #f97316;padding-left:10px}.split{display:grid;grid-template-columns:2fr 1fr;gap:16px}.thumb{max-width:120px;max-height:80px;border:1px solid #dce3ee;border-radius:4px}.menu-collapsed .app-shell{grid-template-columns:58px minmax(0,1fr)}.menu-collapsed .sidebar .side-link span:last-child,.menu-collapsed .sidebar .side-heading,.menu-collapsed .sidebar summary span:last-child,.menu-collapsed .menu-toggle span{display:none}.menu-collapsed .side-link,.menu-collapsed .admin-menu summary{justify-content:center;padding-left:8px;padding-right:8px}.menu-collapsed .admin-menu .side-link{padding-left:8px}@media(max-width:1000px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions .user-menu small{display:none}}@media(max-width:760px){.app-topbar{align-items:flex-start;flex-direction:column;padding:10px}.top-actions{width:100%;height:auto;flex-wrap:wrap}.top-action,.user-menu,.project-switcher select{height:38px;border:0;padding:0 8px}.app-shell{display:block}.sidebar{position:static;height:auto;max-height:none}.sidebar .side-section,.sidebar .side-heading,.sidebar .admin-menu{display:none}.sidebar .menu-toggle{display:block}.menu-collapsed .sidebar .side-section,.menu-collapsed .sidebar .side-heading,.menu-collapsed .sidebar .admin-menu{display:block}.main-content{padding:10px}.context-bar{align-items:flex-start;flex-direction:column}.grid.cols-4,.grid.cols-2,.split,.form-row{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar>div{width:100%}.card{padding:12px}.card>h1:first-child,.card>h2:first-child{margin:-12px -12px 12px}.page-heading h1{font-size:23px}}
:root{--tooltip-bg:#263442}@media(min-width:761px){.menu-collapsed .admin-menu .side-link{display:none}.menu-collapsed .side-link,.menu-collapsed .admin-menu summary{position:relative}.menu-collapsed .side-link:hover::after,.menu-collapsed .admin-menu summary:hover::after{content:attr(data-label);position:fixed;left:62px;z-index:1000;background:var(--tooltip-bg);color:#fff;border-radius:4px;padding:7px 10px;font-size:13px;font-weight:400;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.22)}}
:root{--panel-blue:#5797c4}.filter-panel{background:#fff;border:1px solid #8db6d5;margin-bottom:16px}.filter-panel>summary{list-style:none;cursor:pointer;background:var(--panel-blue);color:#fff;padding:9px 12px;font-size:20px}.filter-panel>summary::-webkit-details-marker{display:none}.filter-panel>summary small{font-size:12px;opacity:.85;margin-left:10px}.filter-panel:not([open])>summary span{display:inline-block;transform:rotate(-90deg)}.filter-panel-body{padding:12px}.filter-panel-body>.toolbar:last-child{margin-bottom:0}.issue-summary-grid,.issue-work-grid{grid-template-columns:1fr}.upload-panel{background:#f7fafc;border:2px dashed #91b8d5;border-radius:4px;padding:15px;margin-bottom:16px}.upload-drop{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;color:#357dae;padding:10px}.upload-drop input{max-width:480px;background:#fff}.upload-panel button{margin-right:10px}.issue-summary-grid aside p{display:inline-block;width:calc(33.333% - 12px);margin:6px 8px 6px 0}@media(max-width:900px){.issue-summary-grid aside p{width:calc(50% - 12px)}}@media(max-width:600px){.issue-summary-grid aside p{display:block;width:100%}.filter-panel>summary small{display:block;margin:3px 0 0}}
.column-picker{margin:0}.column-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 18px;margin-bottom:12px}.column-options label{display:flex;align-items:center;gap:7px;font-weight:500;margin:0}.column-options input,.select-cell input{width:auto}.column-actions{display:flex;gap:8px}.issue-table-wrap{width:100%;overflow-x:auto}.issue-grid{font-size:13px;white-space:nowrap}.issue-grid th,.issue-grid td{padding:7px 8px}.issue-grid th a{color:inherit;text-decoration:none}.issue-grid th a:hover{text-decoration:underline}.issue-grid .col-title{min-width:260px;white-space:normal}.issue-grid .col-category{min-width:120px}.issue-grid .col-status{min-width:125px}.issue-grid .select-cell{width:28px;text-align:center}.issue-id,.issue-summary{font-weight:600}.priority-marker,.status-marker{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}.priority-marker{width:6px;height:24px}.issue-grid .col-status small{display:block;margin:3px 0 0 16px;color:#687786}.issue-grid tbody tr{border-left:3px solid transparent}.issue-grid tbody tr:hover{border-left-color:var(--primary)}@media(max-width:600px){.column-options{grid-template-columns:1fr 1fr}.column-actions{flex-wrap:wrap}.issue-grid{font-size:12px}}
.issue-form-attachments{background:#f7fafc;border:1px solid #c9dbe8;padding:12px}.issue-form-attachments>.upload-drop,.upload-panel>.upload-drop{border:2px dashed #91b8d5;border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s}.upload-drop.drag-active{background:#e3f3fc;border-color:var(--primary)}.file-selection{display:block;color:#245f8a;font-weight:700;margin-top:4px}.existing-attachments{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid #d7e3ec}.existing-attachments span{font-weight:400}
.mantis-issue-card{padding-top:15px}.issue-quick-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.issue-quick-actions form{display:inline}.issue-detail-table th{background:#eaf2f6;color:#111;font-weight:700;width:15%}.issue-detail-table td{background:#fff;white-space:normal}.summary-tabs{display:flex;border-bottom:1px solid #bfd0dc;margin-bottom:16px}.summary-tabs a,.summary-tabs span{padding:11px 16px;border:1px solid #bfd0dc;border-bottom:0;text-decoration:none;background:#f5f5f5}.summary-tabs .active{background:#fff;border-top:3px solid var(--primary)}.summary-board{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.summary-panel{background:#fff;border:1px solid #b9cbd8;overflow-x:auto}.summary-panel h2{margin:0;background:var(--panel-blue);color:#fff;padding:9px 12px;font-size:19px;font-weight:500}.summary-panel table{border:0}.summary-panel th{background:#f1f1f1;color:#65717b}.danger-zone{max-width:900px;border-color:#d55}.danger-zone>h2:first-child{background:#b42318}@media(max-width:900px){.summary-board{grid-template-columns:1fr}.issue-detail-table{min-width:760px}}
.export-only,.export-report-meta{display:none}@page{size:landscape;margin:10mm}@media print{.app-topbar,.sidebar,.context-bar,.filter-panel,.card+.card{display:none!important}.app-shell{display:block}.main-content{padding:0}.page-heading{border:0}.card{border:0;box-shadow:none;padding:0;overflow:visible}.card>h2:first-child{margin:0 0 8px;background:#fff;color:#111;padding:0}.export-only{display:table-cell}.export-report-meta{display:block;margin:0 0 12px;padding:8px;border:1px solid #999;font-size:9pt}.issue-table-wrap{overflow:visible}table{font-size:7pt;table-layout:auto}th,td{padding:4px;word-break:break-word}.export-detail{min-width:45mm;max-width:75mm}a{color:#111;text-decoration:none}}
.row-actions{white-space:nowrap}.row-actions form{display:inline-flex;align-items:center;gap:6px;margin-left:5px}.row-actions .btn{padding:6px 9px}.delete-ack,.check-label{display:inline-flex;align-items:center;gap:6px;font-weight:500}.delete-ack{font-size:11px}.delete-ack input,.check-label input{width:auto;margin:0}@media(max-width:760px){.row-actions{white-space:normal}.row-actions form{display:flex;margin:6px 0 0;flex-wrap:wrap}}
.kanban-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:10px 13px;background:#eaf2f7;border:1px solid #c6d8e4;border-radius:4px;color:#395b73}.kanban-overview span{font-size:13px;color:#667784}.kanban-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px 2px 14px;scrollbar-color:var(--primary) #dfe7ec;scrollbar-width:auto}.kanban-scroll:focus{outline:2px solid #8db6d5;outline-offset:2px}.kanban-board{display:flex;align-items:flex-start;gap:14px;width:max-content;min-width:100%}.kanban-column{flex:0 0 315px;width:315px;overflow:hidden;border-top:4px solid var(--status-colour);scroll-snap-align:start}.kanban-column>h2:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.kanban-column>h2 small{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 7px;border-radius:14px;background:rgba(255,255,255,.22);font-size:13px}.kanban-item{border:1px solid #ccd7e0;border-left:4px solid var(--status-colour);border-radius:4px;background:#fff;padding:10px;margin-bottom:9px;overflow:hidden}.kanban-item:last-child{margin-bottom:0}.kanban-reference{display:block;font-size:14px;font-weight:700;overflow-wrap:anywhere}.kanban-title{font-size:15px;line-height:1.3;margin:3px 0 8px;overflow-wrap:anywhere}.kanban-move{border-top:1px solid #e4e9ed;padding-top:8px}.kanban-move label{margin-bottom:4px}.kanban-move>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.kanban-move select,.kanban-move button{height:36px}.kanban-move button{padding:6px 11px}.kanban-empty{margin:4px 0;color:#6c7885;font-style:italic}@media(max-width:700px){.kanban-overview{align-items:flex-start;flex-direction:column;gap:4px}.kanban-column{flex-basis:280px;width:280px}.kanban-move>div{grid-template-columns:1fr}.kanban-move button{width:100%}}

/* v1.16.0 board controls */
.kanban-filter-actions .button{background:#fff;color:#3979aa;border:1px solid #8db6d5;border-radius:4px;padding:8px 12px;text-decoration:none}
.kanban-filter{margin-bottom:14px}.kanban-filter .toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(150px,1fr));align-items:end;gap:10px}.kanban-filter .toolbar>div{min-width:0}.kanban-filter input,.kanban-filter select{width:100%}.kanban-filter .check-option{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.kanban-filter .check-option input{width:auto}.kanban-filter-actions{display:flex;gap:8px}.kanban-filter-actions button,.kanban-filter-actions .button{min-height:38px;display:inline-flex;align-items:center;justify-content:center}.kanban-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-priority{border-left:4px solid var(--priority-colour);background:#edf2f5;border-radius:3px;padding:3px 6px;font-size:11px;color:#465966;white-space:nowrap}.kanban-detail{display:flex;flex-direction:column;gap:3px;margin:0 0 8px;color:#657581;font-size:12px}.kanban-compact .kanban-detail{display:none}.kanban-compact .kanban-move label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.kanban-compact .kanban-move{padding-top:6px}.kanban-no-results{margin-bottom:12px;text-align:center}.kanban-no-results h2{margin-bottom:4px}.kanban-no-results p{margin:0;color:#687782}@media(max-width:1250px){.kanban-filter .toolbar{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:700px){.kanban-filter .toolbar{grid-template-columns:1fr}.kanban-filter-actions button,.kanban-filter-actions .button{flex:1}.kanban-overview{align-items:flex-start;flex-direction:column;gap:4px}.kanban-column{flex-basis:280px;width:280px}.kanban-move>div{grid-template-columns:1fr}.kanban-move button{width:100%}}
