632 lines
19 KiB
CSS
632 lines
19 KiB
CSS
|
|
|
||
|
|
body,
|
||
|
|
.o_form_view,
|
||
|
|
.o_form_view .o_field_widget,
|
||
|
|
.o_form_view label,
|
||
|
|
.o_form_view .o_wrap_label,
|
||
|
|
.o_form_view h1, .o_form_view h2, .o_form_view h3,
|
||
|
|
.o_list_renderer th,
|
||
|
|
.o_list_renderer td,
|
||
|
|
.o_main_navbar .o_menu_brand,
|
||
|
|
.o_main_navbar .o_menu_sections a,
|
||
|
|
.breadcrumb,
|
||
|
|
.o_statusbar_status button,
|
||
|
|
select,
|
||
|
|
select option,
|
||
|
|
.o_field_selection select,
|
||
|
|
.o_field_selection select option,
|
||
|
|
.o_select_menu,
|
||
|
|
.o_select_menu .o_select_menu_item,
|
||
|
|
.o_select_menu_item_label,
|
||
|
|
.dropdown-menu,
|
||
|
|
.dropdown-menu .dropdown-item,
|
||
|
|
.o_field_many2one_selection .o_external_button,
|
||
|
|
.ui-autocomplete,
|
||
|
|
.ui-autocomplete .ui-menu-item {
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.o_main_navbar,
|
||
|
|
.o_main_navbar .o_menu_sections,
|
||
|
|
.o_main_navbar .o_menu_sections > *,
|
||
|
|
.o_main_navbar .o_menu_brand,
|
||
|
|
.o_navbar,
|
||
|
|
.o_menu_sections {
|
||
|
|
background-color: #0a5e98 !important;
|
||
|
|
background: #0a5e98 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Section header - orange/brown like design */
|
||
|
|
.o_xf_section_header {
|
||
|
|
color: #c0392b;
|
||
|
|
font-weight: bold;
|
||
|
|
font-size: 1.1rem;
|
||
|
|
margin: 16px 0 8px 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Approvers group title font size */
|
||
|
|
.o_group.o_inner_group .o_horizontal_separator,
|
||
|
|
.o_horizontal_separator {
|
||
|
|
font-size: 1.2rem !important;
|
||
|
|
font-weight: bold !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/* Make source container full width matching the table */
|
||
|
|
.o_xf_source_container {
|
||
|
|
width: 100% !important;
|
||
|
|
box-sizing: border-box !important;
|
||
|
|
margin: 0 !important;
|
||
|
|
}
|
||
|
|
.o_xf_source_label {
|
||
|
|
white-space: nowrap !important;
|
||
|
|
flex-shrink: 0 !important;
|
||
|
|
min-width: 180px !important;
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
justify-content: center !important;
|
||
|
|
}
|
||
|
|
.o_xf_source_container {
|
||
|
|
align-items: stretch !important;
|
||
|
|
}
|
||
|
|
.o_xf_source_container > div {
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Inline radio widget using field name selector */
|
||
|
|
[name="document_source"] {
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: row !important;
|
||
|
|
flex-wrap: nowrap !important;
|
||
|
|
align-items: center !important;
|
||
|
|
}
|
||
|
|
[name="document_source"] .o_radio_item {
|
||
|
|
display: inline-flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
white-space: nowrap !important;
|
||
|
|
flex-shrink: 0 !important;
|
||
|
|
margin: 0 !important;
|
||
|
|
}
|
||
|
|
[name="document_source"] .o_radio_item:not(:last-child)::after {
|
||
|
|
content: '|' !important;
|
||
|
|
margin: 0 10px !important;
|
||
|
|
color: #999 !important;
|
||
|
|
}
|
||
|
|
[name="document_source"] input[type="radio"] {
|
||
|
|
display: none !important;
|
||
|
|
}
|
||
|
|
[name="document_source"] label {
|
||
|
|
cursor: pointer !important;
|
||
|
|
color: #0a5e98 !important;
|
||
|
|
margin: 0 !important;
|
||
|
|
padding: 0 !important;
|
||
|
|
font-weight: normal !important;
|
||
|
|
background: none !important;
|
||
|
|
border: none !important;
|
||
|
|
white-space: nowrap !important;
|
||
|
|
}
|
||
|
|
[name="document_source"] .o_radio_item.o_checked label {
|
||
|
|
font-weight: bold !important;
|
||
|
|
color: #000 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Confirmation dialog — Khmer ── */
|
||
|
|
/* Title: replace "Confirmation" */
|
||
|
|
.o_dialog .modal-title {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_dialog .modal-title::after {
|
||
|
|
content: 'ការបញ្ជាក់' !important;
|
||
|
|
font-size: 1.1rem !important;
|
||
|
|
color: #000 !important;
|
||
|
|
font-weight: 600 !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
/* OK button: target buttons with no [name] attr (confirmation dialog only) */
|
||
|
|
.o_dialog .modal-footer button.btn-primary:not([name]) {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_dialog .modal-footer button.btn-primary:not([name])::after {
|
||
|
|
content: 'យល់ព្រម' !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
color: #fff !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
/* Cancel button: no [name], no [special] = confirmation dialog Cancel */
|
||
|
|
.o_dialog .modal-footer button.btn-secondary:not([name]):not([special]) {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_dialog .modal-footer button.btn-secondary:not([name]):not([special])::after {
|
||
|
|
content: 'បោះបង់' !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
color: #212529 !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
/* Wizard Cancel button (special="cancel") */
|
||
|
|
.o_dialog .modal-footer button[special="cancel"] {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_dialog .modal-footer button[special="cancel"]::after {
|
||
|
|
content: 'បោះបង់' !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
color: #212529 !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Chatter buttons — Khmer ── */
|
||
|
|
.o_chatter_button_new_message {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_chatter_button_new_message::after {
|
||
|
|
content: 'ផ្ញើសារ' !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
color: #fff !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
.o_chatter_button_log_note {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_chatter_button_log_note::after {
|
||
|
|
content: 'កត់សម្គាល់' !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
color: inherit !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Replace "Add a line" with Khmer in approver table */
|
||
|
|
.o_field_one2many[name="approver_ids"] a[role="button"] {
|
||
|
|
font-size: 0 !important;
|
||
|
|
color: transparent !important;
|
||
|
|
}
|
||
|
|
.o_field_one2many[name="approver_ids"] a[role="button"]::after {
|
||
|
|
content: 'បន្ថែម' !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
color: #0a5e98 !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Remove background from sort icon in approver table header */
|
||
|
|
.o_field_one2many[name="approver_ids"] .o_list_sortable_icon {
|
||
|
|
background: none !important;
|
||
|
|
background-color: transparent !important;
|
||
|
|
color: #ffffff !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Approver table - header */
|
||
|
|
.o_form_view .o_field_one2many .o_list_renderer thead th {
|
||
|
|
background-color: #2e75b6 !important;
|
||
|
|
color: #ffffff !important;
|
||
|
|
text-align: center !important;
|
||
|
|
padding: 8px 10px !important;
|
||
|
|
font-weight: bold !important;
|
||
|
|
border: 1px solid #1a5a96 !important;
|
||
|
|
white-space: nowrap;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Approver table - rows */
|
||
|
|
.o_form_view .o_field_one2many .o_list_renderer tbody td {
|
||
|
|
padding: 6px 10px !important;
|
||
|
|
border: 1px solid #d0d0d0 !important;
|
||
|
|
vertical-align: middle !important;
|
||
|
|
text-align: center !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Approver table - alternating rows */
|
||
|
|
.o_form_view .o_field_one2many .o_list_renderer tbody tr:nth-child(odd) td {
|
||
|
|
background-color: #ffffff !important;
|
||
|
|
}
|
||
|
|
.o_form_view .o_field_one2many .o_list_renderer tbody tr:nth-child(even) td {
|
||
|
|
background-color: #e8f0f9 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Hover row highlight */
|
||
|
|
.o_form_view .o_field_one2many .o_list_renderer tbody tr:hover td {
|
||
|
|
background-color: #cce0f5 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Remove default Odoo row borders */
|
||
|
|
.o_form_view .o_field_one2many .o_list_renderer table {
|
||
|
|
border-collapse: collapse !important;
|
||
|
|
width: 100% !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Hide selection checkbox in approver_ids list */
|
||
|
|
.o_field_one2many[name="approver_ids"] .o_list_record_selector,
|
||
|
|
.o_field_one2many[name="approver_ids"] .o_list_record_selector * {
|
||
|
|
display: none !important;
|
||
|
|
width: 0 !important;
|
||
|
|
min-width: 0 !important;
|
||
|
|
padding: 0 !important;
|
||
|
|
margin: 0 !important;
|
||
|
|
border: none !important;
|
||
|
|
}
|
||
|
|
.o_field_one2many[name="approver_ids"] input[type="checkbox"] {
|
||
|
|
display: none !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.btn-primary,
|
||
|
|
.o_form_button_save,
|
||
|
|
button.oe_highlight,
|
||
|
|
.o_statusbar_buttons .oe_highlight {
|
||
|
|
background-color: #0a5e98 !important;
|
||
|
|
border-color: #0a5e98 !important;
|
||
|
|
color: #fff !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ===================================================
|
||
|
|
Section ខ — Modern Card Design
|
||
|
|
=================================================== */
|
||
|
|
|
||
|
|
/* Section title */
|
||
|
|
.o_xf_section_b .o_horizontal_separator {
|
||
|
|
font-size: 1.05rem !important;
|
||
|
|
font-weight: 700 !important;
|
||
|
|
color: #0a5e98 !important;
|
||
|
|
padding: 6px 0 10px 2px !important;
|
||
|
|
border-bottom: 2px solid #0a5e98 !important;
|
||
|
|
margin-bottom: 12px !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Card wrapper */
|
||
|
|
.o_xf_table {
|
||
|
|
width: 100% !important;
|
||
|
|
background: #ffffff !important;
|
||
|
|
border-radius: 10px !important;
|
||
|
|
box-shadow: 0 2px 8px rgba(10, 94, 152, 0.10),
|
||
|
|
0 0 0 1px #dde8f5 !important;
|
||
|
|
overflow: hidden !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Row ── */
|
||
|
|
.o_xf_row {
|
||
|
|
display: flex !important;
|
||
|
|
min-height: 50px !important;
|
||
|
|
border-bottom: 1px solid #eef3fa !important;
|
||
|
|
}
|
||
|
|
.o_xf_row:last-child { border-bottom: none !important; }
|
||
|
|
.o_xf_row_tall {
|
||
|
|
align-items: stretch !important;
|
||
|
|
min-height: 80px !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Label cell ── */
|
||
|
|
.o_xf_cell_label {
|
||
|
|
flex: 0 0 200px !important;
|
||
|
|
width: 200px !important;
|
||
|
|
background: #f4f7fb !important;
|
||
|
|
border-right: 3px solid #0a5e98 !important;
|
||
|
|
padding: 0 16px !important;
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
font-size: 0.875rem !important;
|
||
|
|
font-weight: 600 !important;
|
||
|
|
color: #234d73 !important;
|
||
|
|
white-space: nowrap !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Value cell ── */
|
||
|
|
.o_xf_cell_value {
|
||
|
|
flex: 1 !important;
|
||
|
|
padding: 0 16px !important;
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
background: #ffffff !important;
|
||
|
|
min-width: 0 !important;
|
||
|
|
}
|
||
|
|
.o_xf_cell_value > .o_field_widget {
|
||
|
|
width: 100% !important;
|
||
|
|
min-width: 0 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Input fields inside value cell — clean underline style */
|
||
|
|
.o_xf_cell_value .o_field_widget input.o_input,
|
||
|
|
.o_xf_cell_value .o_field_widget textarea.o_input {
|
||
|
|
border: none !important;
|
||
|
|
border-bottom: 1.5px solid #d0dcea !important;
|
||
|
|
border-radius: 0 !important;
|
||
|
|
background: transparent !important;
|
||
|
|
padding: 4px 2px !important;
|
||
|
|
font-size: 0.9rem !important;
|
||
|
|
color: #1a3550 !important;
|
||
|
|
width: 100% !important;
|
||
|
|
transition: border-color 0.15s !important;
|
||
|
|
}
|
||
|
|
.o_xf_cell_value .o_field_widget input.o_input:focus,
|
||
|
|
.o_xf_cell_value .o_field_widget textarea.o_input:focus {
|
||
|
|
border-bottom-color: #0a5e98 !important;
|
||
|
|
outline: none !important;
|
||
|
|
box-shadow: none !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Many2one field styling */
|
||
|
|
.o_xf_cell_value .o_field_many2one .o_input_dropdown input {
|
||
|
|
border: none !important;
|
||
|
|
border-bottom: 1.5px solid #d0dcea !important;
|
||
|
|
border-radius: 0 !important;
|
||
|
|
background: transparent !important;
|
||
|
|
font-size: 0.9rem !important;
|
||
|
|
color: #1a3550 !important;
|
||
|
|
}
|
||
|
|
.o_xf_cell_value .o_field_many2one .o_input_dropdown input:focus {
|
||
|
|
border-bottom-color: #0a5e98 !important;
|
||
|
|
box-shadow: none !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Selection (dropdown) field */
|
||
|
|
.o_xf_cell_value .o_field_selection select,
|
||
|
|
.o_xf_cell_value .o_field_widget select {
|
||
|
|
border: none !important;
|
||
|
|
border-bottom: 1.5px solid #d0dcea !important;
|
||
|
|
border-radius: 0 !important;
|
||
|
|
background: transparent !important;
|
||
|
|
font-size: 0.9rem !important;
|
||
|
|
color: #1a3550 !important;
|
||
|
|
padding: 4px 2px !important;
|
||
|
|
width: 100% !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Read-only values */
|
||
|
|
.o_xf_cell_value .o_field_widget.o_readonly,
|
||
|
|
.o_xf_cell_value .o_field_char.o_field_readonly,
|
||
|
|
.o_form_readonly .o_xf_cell_value .o_field_widget {
|
||
|
|
font-size: 0.9rem !important;
|
||
|
|
color: #1a3550 !important;
|
||
|
|
font-weight: 500 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Placeholder text */
|
||
|
|
.o_xf_cell_value input::placeholder,
|
||
|
|
.o_xf_cell_value textarea::placeholder {
|
||
|
|
color: #b0bec5 !important;
|
||
|
|
font-style: italic !important;
|
||
|
|
font-size: 0.85rem !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Tall value cell (documents / description) ── */
|
||
|
|
.o_xf_cell_tall {
|
||
|
|
align-items: flex-start !important;
|
||
|
|
padding-top: 10px !important;
|
||
|
|
padding-bottom: 10px !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Split cell: file | note ── */
|
||
|
|
.o_xf_cell_split {
|
||
|
|
padding: 0 !important;
|
||
|
|
align-items: stretch !important;
|
||
|
|
}
|
||
|
|
.o_xf_split_left,
|
||
|
|
.o_xf_split_right {
|
||
|
|
flex: 1 !important;
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: column !important;
|
||
|
|
justify-content: center !important;
|
||
|
|
padding: 8px 16px !important;
|
||
|
|
gap: 5px !important;
|
||
|
|
}
|
||
|
|
.o_xf_split_divider {
|
||
|
|
width: 1px !important;
|
||
|
|
background: #dde8f5 !important;
|
||
|
|
flex-shrink: 0 !important;
|
||
|
|
}
|
||
|
|
.o_xf_split_hint {
|
||
|
|
font-size: 0.7rem !important;
|
||
|
|
color: #90aac4 !important;
|
||
|
|
font-weight: 700 !important;
|
||
|
|
text-transform: uppercase !important;
|
||
|
|
letter-spacing: 0.07em !important;
|
||
|
|
}
|
||
|
|
.o_xf_split_left .o_field_widget,
|
||
|
|
.o_xf_split_right .o_field_widget {
|
||
|
|
width: 100% !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Upload zone (ឯកសារ row) ── */
|
||
|
|
.o_xf_upload_zone {
|
||
|
|
flex-direction: column !important;
|
||
|
|
align-items: flex-start !important;
|
||
|
|
gap: 8px !important;
|
||
|
|
padding: 12px 16px !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone > .o_field_widget {
|
||
|
|
width: 100% !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Wrapper for the whole many2many_binary widget */
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary {
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: column !important;
|
||
|
|
gap: 6px !important;
|
||
|
|
width: 100% !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Style the raw file input ── */
|
||
|
|
.o_xf_upload_zone input[type="file"] {
|
||
|
|
width: 100% !important;
|
||
|
|
font-size: 0.84rem !important;
|
||
|
|
color: #555 !important;
|
||
|
|
cursor: pointer !important;
|
||
|
|
border: 1.5px dashed #a0bfdf !important;
|
||
|
|
border-radius: 8px !important;
|
||
|
|
padding: 8px 12px !important;
|
||
|
|
background: #f7fafd !important;
|
||
|
|
transition: border-color 0.15s, background 0.15s !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone input[type="file"]:hover {
|
||
|
|
border-color: #0a5e98 !important;
|
||
|
|
background: #edf4ff !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* "Choose Files" browser button part */
|
||
|
|
.o_xf_upload_zone input[type="file"]::file-selector-button {
|
||
|
|
padding: 5px 16px !important;
|
||
|
|
border: none !important;
|
||
|
|
border-radius: 5px !important;
|
||
|
|
background: #0a5e98 !important;
|
||
|
|
color: #ffffff !important;
|
||
|
|
font-size: 0.83rem !important;
|
||
|
|
font-weight: 600 !important;
|
||
|
|
cursor: pointer !important;
|
||
|
|
margin-right: 12px !important;
|
||
|
|
transition: background 0.15s !important;
|
||
|
|
font-family: 'Segoe UI', Roboto, Arial, 'Battambang', sans-serif !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone input[type="file"]::file-selector-button:hover {
|
||
|
|
background: #084e82 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── Uploaded file rows ── */
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_attachments,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary ul {
|
||
|
|
width: 100% !important;
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: column !important;
|
||
|
|
gap: 5px !important;
|
||
|
|
list-style: none !important;
|
||
|
|
padding: 0 !important;
|
||
|
|
margin: 0 !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_attachment,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary li {
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
gap: 8px !important;
|
||
|
|
padding: 6px 12px !important;
|
||
|
|
background: #edf4ff !important;
|
||
|
|
border: 1px solid #c5daef !important;
|
||
|
|
border-radius: 6px !important;
|
||
|
|
font-size: 0.84rem !important;
|
||
|
|
color: #1a3d5c !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_attachment a,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary li a {
|
||
|
|
color: #0a5e98 !important;
|
||
|
|
text-decoration: none !important;
|
||
|
|
font-weight: 500 !important;
|
||
|
|
flex: 1 !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_attachment a:hover,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary li a:hover {
|
||
|
|
text-decoration: underline !important;
|
||
|
|
}
|
||
|
|
/* Delete button */
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_delete,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .delete {
|
||
|
|
color: #c0392b !important;
|
||
|
|
opacity: 0.55 !important;
|
||
|
|
cursor: pointer !important;
|
||
|
|
font-size: 0.9rem !important;
|
||
|
|
margin-left: auto !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_delete:hover {
|
||
|
|
opacity: 1 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── document_ids list in non-draft (ឯកសារ row) ── */
|
||
|
|
.o_xf_doc_list .o_list_renderer {
|
||
|
|
border: none !important;
|
||
|
|
box-shadow: none !important;
|
||
|
|
}
|
||
|
|
.o_xf_doc_list .o_list_renderer thead { display: none !important; }
|
||
|
|
.o_xf_doc_list .o_list_renderer tbody td {
|
||
|
|
border: none !important;
|
||
|
|
padding: 3px 6px !important;
|
||
|
|
background: transparent !important;
|
||
|
|
}
|
||
|
|
.o_xf_doc_list .o_list_renderer tbody tr {
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
gap: 8px !important;
|
||
|
|
padding: 4px 8px !important;
|
||
|
|
background: #edf4ff !important;
|
||
|
|
border: 1px solid #c5daef !important;
|
||
|
|
border-radius: 6px !important;
|
||
|
|
margin-bottom: 4px !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── File download list (non-draft state) ── */
|
||
|
|
.o_xf_files_list {
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: column !important;
|
||
|
|
gap: 5px !important;
|
||
|
|
width: 100% !important;
|
||
|
|
padding: 4px 0 !important;
|
||
|
|
}
|
||
|
|
.o_xf_file_item {
|
||
|
|
display: flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
gap: 8px !important;
|
||
|
|
padding: 6px 12px !important;
|
||
|
|
background: #edf4ff !important;
|
||
|
|
border: 1px solid #c5daef !important;
|
||
|
|
border-radius: 6px !important;
|
||
|
|
font-size: 0.84rem !important;
|
||
|
|
}
|
||
|
|
.o_xf_file_item a {
|
||
|
|
color: #0a5e98 !important;
|
||
|
|
text-decoration: none !important;
|
||
|
|
font-weight: 500 !important;
|
||
|
|
flex: 1 !important;
|
||
|
|
}
|
||
|
|
.o_xf_file_item a:hover { text-decoration: underline !important; }
|
||
|
|
.o_xf_file_icon { color: #5a9fd4 !important; font-size: 0.85rem !important; }
|
||
|
|
|
||
|
|
/* ── Readonly many2many_binary: ensure files are always visible ── */
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary {
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: column !important;
|
||
|
|
gap: 6px !important;
|
||
|
|
width: 100% !important;
|
||
|
|
}
|
||
|
|
/* Odoo 19 OWL: readonly renders files as <a> links directly */
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary a,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary .o_form_uri,
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary span[title] {
|
||
|
|
display: inline-flex !important;
|
||
|
|
align-items: center !important;
|
||
|
|
gap: 6px !important;
|
||
|
|
padding: 6px 12px !important;
|
||
|
|
background: #edf4ff !important;
|
||
|
|
border: 1px solid #c5daef !important;
|
||
|
|
border-radius: 6px !important;
|
||
|
|
font-size: 0.84rem !important;
|
||
|
|
color: #0a5e98 !important;
|
||
|
|
text-decoration: none !important;
|
||
|
|
font-weight: 500 !important;
|
||
|
|
}
|
||
|
|
.o_xf_upload_zone .o_field_many2many_binary a:hover {
|
||
|
|
text-decoration: underline !important;
|
||
|
|
background: #dceeff !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ── QR Code section ── */
|
||
|
|
.o_xf_qr_group {
|
||
|
|
margin-top: 16px !important;
|
||
|
|
padding: 24px 20px !important;
|
||
|
|
background: #f7fafd !important;
|
||
|
|
border-radius: 10px !important;
|
||
|
|
border: 1px dashed #b0cce8 !important;
|
||
|
|
display: flex !important;
|
||
|
|
flex-direction: column !important;
|
||
|
|
align-items: center !important;
|
||
|
|
gap: 10px !important;
|
||
|
|
}
|
||
|
|
.o_xf_qr_label {
|
||
|
|
font-size: 0.78rem !important;
|
||
|
|
color: #7a9ec0 !important;
|
||
|
|
font-weight: 700 !important;
|
||
|
|
text-transform: uppercase !important;
|
||
|
|
letter-spacing: 0.09em !important;
|
||
|
|
}
|
||
|
|
.o_xf_qr_group .o_field_image img {
|
||
|
|
border-radius: 8px !important;
|
||
|
|
box-shadow: 0 2px 12px rgba(0,0,0,0.13) !important;
|
||
|
|
border: 4px solid #ffffff !important;
|
||
|
|
}
|