:root{--fo-primary:#061b49;--fo-border:#d7dfeb;--fo-danger:#c62828;--fo-surface:#fff;--fo-muted:#64748b}
.fo-crud-toolbar,.fo-crud-inline-create{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap}
.fo-crud-add-btn,.fo-crud-edit-btn,.fo-crud-delete-btn{min-height:42px;border-radius:10px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;cursor:pointer}
.fo-crud-add-btn,.fo-crud-edit-btn{background:var(--fo-primary)!important;color:#fff!important;border-color:var(--fo-primary)!important}
.fo-crud-delete-btn{background:#fff!important;color:var(--fo-danger)!important;border-color:#efb5b5!important}
.fo-crud-add-btn svg,.fo-crud-edit-btn svg,.fo-crud-delete-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fo-crud-editor,.fo-crud-confirm{display:none;position:fixed;inset:0;background:rgba(6,27,73,.45);backdrop-filter:blur(4px);z-index:25000;align-items:center;justify-content:center;padding:18px}
.fo-crud-editor.is-open,.fo-crud-confirm.is-open{display:flex}
.fo-crud-dialog{width:min(900px,96vw);max-height:min(90vh,900px);background:var(--fo-surface);border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:0 28px 80px rgba(6,27,73,.28);overflow:hidden;display:flex;flex-direction:column}
.fo-crud-dialog.fo-crud-dialog-sm{width:min(520px,94vw)}.fo-crud-dialog.fo-crud-dialog-lg{width:min(1100px,96vw)}
.fo-crud-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--fo-border);background:#f8fafc}
.fo-crud-title{margin:0;color:var(--fo-primary);font-size:21px;font-weight:950;display:flex;align-items:center;gap:10px}
.fo-crud-title-icon{width:38px;height:38px;border-radius:11px;background:var(--fo-primary);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}
.fo-crud-title-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fo-crud-close{width:42px;height:42px;border-radius:10px;border:1px solid var(--fo-border);background:#fff;color:var(--fo-primary);font-size:22px;font-weight:900;cursor:pointer}
.fo-crud-body{padding:18px;overflow:auto;min-height:0}.fo-crud-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--fo-border);background:#f8fafc}
.fo-crud-confirm-message{font-size:15px;line-height:1.55;color:#334155;font-weight:700}.fo-crud-confirm-target{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid var(--fo-border);color:var(--fo-primary);font-weight:900}
/* The application pages are read-only canvases: editor forms live in the common popup. */
#customersPage .customer-admin-form,#usersPage #userCreateWrapper,#machinesPage #machineCreateBox,#activityBoardPage #activityFormBox,#planningTeamsModal #planningDepartmentForm{display:none!important}
.fo-crud-editor .customer-admin-form,.fo-crud-editor #userCreateWrapper,.fo-crud-editor #machineCreateBox,.fo-crud-editor #activityFormBox,.fo-crud-editor #planningDepartmentForm{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;max-width:none!important}
.fo-crud-editor .customer-admin-form>h2,.fo-crud-editor #userCreateWrapper>.user-create-header,.fo-crud-editor #machineCreateBox>.machine-create-header,.fo-crud-editor #activityFormBox>.activity-form-header{display:none!important}
.fo-crud-editor #userCreateWrapper.collapsed form,.fo-crud-editor #machineCreateBox.collapsed .machine-create-body,.fo-crud-editor #activityFormBox.collapsed .activity-form-body{display:block!important;max-height:none!important;opacity:1!important;visibility:visible!important}
.fo-crud-editor .filters,.fo-crud-editor .activity-grid-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.fo-crud-editor .modal-actions,.fo-crud-editor .user-form-actions,.fo-crud-editor .activity-form-actions,.fo-crud-editor .planning-assignment-actions{position:sticky;bottom:-18px;background:#fff;padding:14px 0 0;margin-top:16px;border-top:1px solid var(--fo-border);z-index:2}
/* Home shortcuts no longer expose inline forms. */
#homeUserCreateWrapper,#homeMachineCreateBox,#homeActivityFormBox{display:none!important}
.fo-home-crud-button{margin:0 0 14px}
/* Permission profiles: read-only summary + popup editor. */
.fo-permission-role-list{display:grid;gap:10px}.fo-permission-role-card{border:1px solid var(--fo-border);border-radius:14px;background:#fff;overflow:hidden}.fo-permission-role-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--fo-primary);color:#fff}.fo-permission-role-name{font-weight:950;font-size:15px}.fo-permission-role-actions{display:flex;gap:8px;flex-wrap:wrap}.fo-permission-summary{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px}.fo-permission-summary-chip{display:inline-flex;border:1px solid var(--fo-border);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850;color:var(--fo-primary);background:#f8fafc}
.fo-permission-editor-grid{display:grid;gap:10px}.fo-permission-editor-row{display:grid;grid-template-columns:minmax(180px,1fr) 190px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f7}.fo-permission-editor-row label{font-weight:900;color:var(--fo-primary)}.fo-permission-editor-row select{width:100%;min-height:44px}
/* Department relationships are edited only in popup. */
.planning-team-members{display:none!important}.fo-department-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.fo-department-people-box{border:1px solid var(--fo-border);border-radius:12px;padding:12px;background:#f8fafc}.fo-department-people-box h4{margin:0 0 8px;color:var(--fo-primary)}.fo-department-checks{display:grid;gap:7px;max-height:240px;overflow:auto}.fo-department-checks label{display:flex;align-items:center;gap:8px;font-weight:750;color:#334155}
.fo-department-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.fo-department-summary>div{padding:10px 12px;border:1px solid var(--fo-border);border-radius:10px;background:#f8fafc}.fo-department-summary span{display:block;font-size:11px;text-transform:uppercase;color:var(--fo-muted);font-weight:900}.fo-department-summary strong{display:block;margin-top:4px;color:var(--fo-primary);font-weight:900}
/* Machine edit is popup-only. */
.machine-edit-panel{display:none!important}.fo-machine-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fo-machine-edit-grid label{display:grid;gap:6px;font-weight:850;color:var(--fo-primary)}.fo-machine-edit-grid input,.fo-machine-edit-grid select{width:100%}
/* Machine file add is popup-only. */
.machine-custom-file-box{display:none!important}.fo-file-add-box{display:grid;gap:12px}.fo-file-add-box input[type=file]{width:100%}
body.dark-mode .fo-crud-dialog,body.dark-mode .fo-permission-role-card{background:#0f172a;border-color:#334155}body.dark-mode .fo-crud-head,body.dark-mode .fo-crud-footer,body.dark-mode .fo-department-people-box,body.dark-mode .fo-department-summary>div,body.dark-mode .fo-permission-summary-chip{background:#111827;border-color:#334155}body.dark-mode .fo-crud-title,body.dark-mode .fo-permission-editor-row label,body.dark-mode .fo-department-summary strong,body.dark-mode .fo-department-people-box h4{color:#e5edff}body.dark-mode .fo-crud-confirm-message,body.dark-mode .fo-department-checks label{color:#d1d5db}body.dark-mode .fo-crud-close{background:#111827;border-color:#334155;color:#fff}
@media(max-width:760px){.fo-crud-editor,.fo-crud-confirm{padding:0;align-items:flex-end}.fo-crud-dialog,.fo-crud-dialog.fo-crud-dialog-sm,.fo-crud-dialog.fo-crud-dialog-lg{width:100%;max-width:none;max-height:92%;border-radius:18px 18px 0 0}.fo-crud-head{padding:14px 16px}.fo-crud-body{padding:16px}.fo-crud-title{font-size:18px}.fo-crud-editor .filters,.fo-crud-editor .activity-grid-form,.fo-machine-edit-grid,.fo-department-people,.fo-department-summary,.fo-permission-editor-row{grid-template-columns:1fr!important}.fo-crud-toolbar,.fo-crud-inline-create{justify-content:stretch}.fo-crud-add-btn{width:100%}.fo-crud-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
