/* FormMake base styles (APPFORMDECK-001) */
.fmk-root { position: relative; }
.fmk { position: relative; }
.fmk [x-cloak] { display: none !important; }
.fmk-modes { margin-bottom: 12px; }
.fmk-modes > li > a { padding: 6px 12px; }
.fmk-modes .fmk-mode-icon { margin-right: 6px; }
.fmk-modes > li.disabled > a { cursor: not-allowed; opacity: .5; }
.fmk-loading { padding: 12px; color: #999; text-align: center; }
.fmk-error { margin: 8px 0; }
.fmk-body { min-height: 40px; }
.fmk-field-error { color: #a94442; font-size: 12px; margin-top: 2px; }
.fmk-has-error .form-control { border-color: #a94442; }
.fmk-toolbar { margin-bottom: 10px; }
.fmk-toolbar .btn + .btn { margin-left: 4px; }
.fmk-form .form-group { margin-bottom: 10px; }
.fmk-autosearch { position: relative; }
.fmk-ac-menu { display: block; width: 100%; max-height: 260px; overflow-y: auto; }
.fmk-ac-menu small { margin-left: 6px; }
.fmk-switch .btn { margin-right: 2px; }
.fmk-file-frame { width: 95%; height: 45px; }
.fmk-file-thumb { max-width: 120px; max-height: 80px; }
.fmk-toolbar .label { margin-right: 6px; }
.fmk-list-tools > * { display: inline-block; vertical-align: middle; margin-right: 6px; }
.fmk-search { width: 300px; max-width: 100%; }
.fmk-views { width: auto; display: inline-block; }
/* The saefy theme leaves .table-responsive with overflow-x: visible on desktop */
.fmk-table-wrap { overflow-x: auto; }
.fmk-table { margin-bottom: 8px; }
.fmk-table th a { color: inherit; white-space: nowrap; }
.fmk-col-check, .fmk-col-note { width: 30px; }
.fmk-col-actions { width: 1%; white-space: nowrap; }
.fmk-table tbody tr { cursor: default; }
.fmk-totals td { border-top: 2px solid #ddd !important; }
.fmk-pager-info .fmk-per-page { display: inline-block; width: auto; margin-left: 8px; }
.fmk-pager .pagination { margin: 0; }
.fmk-bulk { margin-right: 8px; }
@media (max-width: 767px) {
    .fmk-list-tools > * { display: block; margin: 0 0 6px; }
    .fmk-search { width: 100%; }
    .fmk-list-toolbar .pull-right, .fmk-pager .pull-right, .fmk-pager .pull-left { float: none !important; }
}
/* Kanban */
.fmk-board { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; align-items: flex-start; }
.fmk-board-loading { opacity: .6; }
.fmk-kcol { flex: 0 0 260px; background: #f3f4f7; border-radius: 6px; border-top: 3px solid #c7cbd6; display: flex; flex-direction: column; max-height: 70vh; }
.fmk-kcol-primary { border-top-color: #428bca; }
.fmk-kcol-success { border-top-color: #5cb85c; }
.fmk-kcol-info { border-top-color: #5bc0de; }
.fmk-kcol-warning { border-top-color: #f0ad4e; }
.fmk-kcol-danger { border-top-color: #d9534f; }
.fmk-kcol-head { padding: 8px 10px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.fmk-kcol-body { padding: 0 8px 8px; overflow-y: auto; min-height: 60px; flex: 1; }
.fmk-kcol-empty { color: #aaa; font-size: 12px; text-align: center; padding: 12px 0; }
.fmk-kcol-more { font-size: 12px; color: #888; padding: 4px 10px 8px; }
.fmk-card { background: #fff; border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.12); padding: 8px 10px; margin-bottom: 8px; cursor: pointer; }
.fmk-card-movable { cursor: grab; }
.fmk-card-title { font-weight: 600; margin-bottom: 2px; }
.fmk-card-field { font-size: 12px; }
.gu-mirror .fmk-card, .gu-mirror.fmk-card { cursor: grabbing; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.fmk-kanban-hint { line-height: 30px; }
@media (max-width: 767px) { .fmk-kcol { flex-basis: 85vw; } }
/* Calendar */
.fmk-cal { background: #fff; }
.fmk-cal .fc-event { cursor: pointer; font-size: 12px; }
.fmk-cal .fc-toolbar h2 { font-size: 18px; text-transform: capitalize; }
/* Chart */
.fmk-chart-controls .fmk-list-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; float: left; }
.fmk-chart-controls .fmk-list-tools > * { margin: 0; }
.fmk-chart-controls .fmk-search { width: 200px; }
.fmk-ctl { font-weight: normal; font-size: 12px; color: #52514e; margin: 0; }
.fmk-ctl select { display: inline-block; width: auto; margin-left: 4px; }
.fmk-measures .checkbox-inline { font-size: 12px; padding-top: 0; }
.fmk-chart-types { float: right; }
.fmk-chart-box { background: #fff; border: 1px solid #ececea; border-radius: 6px; padding: 12px 14px; margin-bottom: 10px; transition: opacity .15s; }
.fmk-chart-loading { opacity: .55; }
.fmk-chart-title { font-weight: 600; color: #0b0b0b; margin-bottom: 6px; }
.fmk-chart-canvas { position: relative; height: 340px; }
.fmk-chart-empty { padding: 40px 0; text-align: center; }
.fmk-chart-table td, .fmk-chart-table th { font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { .fmk-chart-types { float: none; margin-top: 6px; } .fmk-chart-canvas { height: 280px; } }
/* Pivot */
.fmk-pivot-table { background: #fff; font-size: 12px; margin-bottom: 8px; }
.fmk-pivot-table th, .fmk-pivot-table td { white-space: nowrap; font-variant-numeric: tabular-nums; }
/* The saefy theme paints thead text white (for its dark header): set both colors */
.fmk .fmk-pivot-table thead tr th { background: #f6f6f4; color: #0b0b0b; position: sticky; top: 0; z-index: 1; }
.fmk-pivot-dim { font-weight: 600; text-align: left; }
.fmk-pivot-total { background: #f6f6f4; font-weight: 600; }
.fmk-pivot-foot td { background: #eeeeec; border-top: 2px solid #d6d5d0 !important; }
.fmk .fmk-pivot-table thead tr th.fmk-pivot-mhead { font-weight: normal; color: #52514e; }
.fmk-pivot-wrap { max-height: 70vh; transition: opacity .15s; }
/* Lines */
.fmk-lines { margin: 8px 0 12px; }
.fmk-lines-table { margin-bottom: 6px; }
.fmk-lines-table td { vertical-align: top !important; }
.fmk-lines-table .form-control { min-width: 70px; }
.fmk-line-ac { min-width: 220px; }
.fmk-line-n { width: 28px; padding-top: 10px !important; }
.fmk-line-ro { display: inline-block; padding-top: 5px; font-variant-numeric: tabular-nums; }
.fmk-line-actions { width: 34px; }
.fmk-draft-banner { padding: 8px 12px; }
/* Import */
.fmk-import { margin: 8px 0; }
.fmk-import-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.fmk-import-table { font-size: 12px; }
