/* === ParisRP - Casier Judiciaire - Style Windows 95 === */

:root {
	--w95-bg: #008080;          /* desktop teal */
	--w95-window: #c0c0c0;      /* light gray */
	--w95-title: #000080;       /* dark blue title bar */
	--w95-title-inactive: #808080;
	--w95-text: #000000;
	--w95-text-light: #ffffff;
	--w95-shadow-dark: #404040;
	--w95-shadow-light: #ffffff;
	--w95-mid-dark: #808080;
	--w95-disabled: #808080;
	--w95-highlight: #000080;
	--w95-red: #aa0000;
	--w95-yellow: #ffff00;
	--w95-green: #008000;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html, body {
	background: var(--w95-bg);
	color: var(--w95-text);
	font-family: "MS Sans Serif", "Tahoma", "Geneva", "Microsoft Sans Serif", sans-serif;
	font-size: 12px;
	min-height: 100vh;
	overflow-x: hidden;
}

body {
	padding: 8px 8px 36px 8px;
	background-image:
		radial-gradient(circle at 25px 25px, rgba(255,255,255,0.06) 1px, transparent 2px),
		radial-gradient(circle at 75px 75px, rgba(0,0,0,0.06) 1px, transparent 2px);
	background-size: 100px 100px;
}

/* === BORDURES 3D === */
.bevel-out {
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
}
.bevel-in {
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}

/* === FENETRE === */
.window {
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	box-shadow: 1px 1px 0 #000;
	margin: 0 auto;
	max-width: 980px;
	padding: 2px;
}

.title-bar {
	background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	padding: 3px 4px 3px 6px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 22px;
	user-select: none;
}

.title-bar-text {
	display: flex;
	align-items: center;
	gap: 6px;
	letter-spacing: 0.3px;
}

.title-bar-icon {
	width: 16px;
	height: 16px;
	display: inline-block;
	background: #c0c0c0;
	border: 1px solid #000;
	position: relative;
	box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #808080;
}

.title-bar-controls {
	display: flex;
	gap: 2px;
}

.title-bar-btn {
	background: var(--w95-window);
	width: 18px;
	height: 16px;
	border-top: 1px solid var(--w95-shadow-light);
	border-left: 1px solid var(--w95-shadow-light);
	border-right: 1px solid var(--w95-shadow-dark);
	border-bottom: 1px solid var(--w95-shadow-dark);
	color: #000;
	font-size: 10px;
	font-weight: bold;
	font-family: "Marlett", "Webdings", "MS Sans Serif", sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.title-bar-btn:active {
	border-top: 1px solid var(--w95-shadow-dark);
	border-left: 1px solid var(--w95-shadow-dark);
	border-right: 1px solid var(--w95-shadow-light);
	border-bottom: 1px solid var(--w95-shadow-light);
}

/* === MENU BAR === */
.menu-bar {
	background: var(--w95-window);
	padding: 2px 4px;
	display: flex;
	gap: 0;
	border-bottom: 1px solid var(--w95-shadow-dark);
	font-size: 12px;
}
.menu-bar-item {
	padding: 3px 8px;
	cursor: default;
}
.menu-bar-item:hover {
	background: var(--w95-highlight);
	color: #fff;
}
.menu-bar-item u { text-decoration: underline; }

/* === BODY === */
.window-body {
	padding: 12px;
	background: var(--w95-window);
}

/* === GROUP BOX === */
.group-box {
	border-top: 1px solid var(--w95-shadow-dark);
	border-left: 1px solid var(--w95-shadow-dark);
	border-right: 1px solid var(--w95-shadow-light);
	border-bottom: 1px solid var(--w95-shadow-light);
	padding: 16px 12px 12px 12px;
	margin: 18px 0;
	position: relative;
	background: var(--w95-window);
}
.group-box::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
	border-top: 1px solid var(--w95-shadow-light);
	border-left: 1px solid var(--w95-shadow-light);
	border-right: 1px solid var(--w95-shadow-dark);
	border-bottom: 1px solid var(--w95-shadow-dark);
	pointer-events: none;
}
.group-box-title {
	position: absolute;
	top: -8px;
	left: 12px;
	background: var(--w95-window);
	padding: 0 6px;
	font-weight: bold;
	font-size: 12px;
	z-index: 1;
}

/* === BUTTONS === */
.btn {
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	color: var(--w95-text);
	font-family: inherit;
	font-size: 12px;
	padding: 4px 16px;
	min-width: 75px;
	cursor: pointer;
	position: relative;
}
.btn:active, .btn.pressed {
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	padding: 5px 15px 3px 17px;
}
.btn:focus {
	outline: 1px dotted #000;
	outline-offset: -4px;
}
.btn[disabled] {
	color: var(--w95-disabled);
	text-shadow: 1px 1px 0 #fff;
	cursor: default;
}

/* === INPUTS === */
.input, input[type=text], input[type=password] {
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	font-family: inherit;
	font-size: 12px;
	padding: 3px 4px;
	color: #000;
	outline: none;
}
.input:focus, input[type=text]:focus, input[type=password]:focus {
	outline: 1px dotted #000;
	outline-offset: -3px;
}

label.field-label {
	display: inline-block;
	margin-right: 6px;
	margin-bottom: 4px;
	font-size: 12px;
}

/* === TITLES === */
.app-title {
	font-size: 22px;
	font-weight: bold;
	color: #000;
	text-align: center;
	margin: 6px 0 10px;
	letter-spacing: 1px;
}
.app-subtitle {
	font-size: 12px;
	color: #404040;
	text-align: center;
	margin-bottom: 14px;
}

/* === STATUS BAR === */
.status-bar {
	display: flex;
	border-top: 1px solid var(--w95-shadow-dark);
	margin-top: 8px;
	background: var(--w95-window);
}
.status-bar-field {
	border-top: 1px solid var(--w95-shadow-dark);
	border-left: 1px solid var(--w95-shadow-dark);
	border-right: 1px solid var(--w95-shadow-light);
	border-bottom: 1px solid var(--w95-shadow-light);
	padding: 3px 8px;
	flex: 1;
	font-size: 11px;
}
.status-bar-field:first-child { flex: 2; }

/* === TASKBAR (bas de page) === */
.taskbar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	height: 28px;
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	display: flex;
	align-items: center;
	padding: 2px 2px 2px 2px;
	z-index: 100;
	box-shadow: 0 -1px 0 #404040;
}
.start-btn {
	display: flex;
	align-items: center;
	gap: 5px;
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	padding: 2px 8px 2px 4px;
	font-weight: bold;
	font-size: 12px;
	cursor: pointer;
	height: 22px;
}
.start-btn:active {
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}
.start-flag {
	display: inline-block;
	width: 16px;
	height: 14px;
	background:
		linear-gradient(135deg, #ff0000 0%, #ff0000 25%, transparent 25%) 0 0/8px 7px no-repeat,
		linear-gradient(135deg, #00ff00 0%, #00ff00 25%, transparent 25%) 8px 0/8px 7px no-repeat,
		linear-gradient(135deg, #0080ff 0%, #0080ff 25%, transparent 25%) 0 7px/8px 7px no-repeat,
		linear-gradient(135deg, #ffff00 0%, #ffff00 25%, transparent 25%) 8px 7px/8px 7px no-repeat,
		#fff;
}
.taskbar-spacer { flex: 1; }
.taskbar-logout {
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	font-family: inherit;
	font-size: 11px;
	font-weight: bold;
	padding: 2px 10px;
	margin-right: 4px;
	height: 22px;
	cursor: pointer;
	color: #aa0000;
}
.taskbar-logout:active {
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}
.taskbar-tray {
	border-top: 1px solid var(--w95-shadow-dark);
	border-left: 1px solid var(--w95-shadow-dark);
	border-right: 1px solid var(--w95-shadow-light);
	border-bottom: 1px solid var(--w95-shadow-light);
	padding: 2px 8px;
	font-size: 11px;
	margin-right: 2px;
}

/* === LOGIN FORM === */
.login-box {
	max-width: 420px;
	margin: 50px auto;
}
.login-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 12px;
	background: linear-gradient(135deg, #ffd700 0%, #ff8c00 100%);
	border: 2px solid #000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 38px;
	box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #808080;
}
.login-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 10px 0;
}
.login-row label { min-width: 80px; }
.login-row input { flex: 1; }
.login-actions {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 16px;
}

/* === DIALOG MESSAGES === */
.dialog-error, .dialog-info {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	margin: 14px 0;
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
}
.dialog-error .dialog-icon {
	width: 32px; height: 32px;
	background: var(--w95-red);
	color: #fff;
	font-weight: bold;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 2px solid #000;
	flex-shrink: 0;
}
.dialog-info .dialog-icon {
	width: 32px; height: 32px;
	background: #0080ff;
	color: #fff;
	font-weight: bold;
	font-size: 22px;
	font-style: italic;
	font-family: "Times New Roman", serif;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 2px solid #000;
	flex-shrink: 0;
}
.dialog-text { padding-top: 4px; font-size: 12px; }

/* === FICHE / DOSSIER === */
.fiche-header {
	display: flex;
	gap: 14px;
	margin-bottom: 16px;
}
.fiche-photo {
	width: 130px;
	height: 160px;
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fiche-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	image-rendering: auto;
}
.fiche-photo .placeholder {
	color: #808080;
	font-size: 11px;
}
.fiche-id {
	flex: 1;
}
.fiche-name {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 4px;
}
.fiche-subname {
	font-size: 11px;
	color: #404040;
	margin-bottom: 8px;
}
.dossier-ref {
	font-family: "Courier New", monospace;
	font-size: 11px;
	color: #000080;
}

/* === DATA GRID === */
.data-grid {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 1px;
	background: #808080;
	border: 1px solid #808080;
}
.data-grid > .lbl, .data-grid > .val {
	background: var(--w95-window);
	padding: 5px 8px;
	font-size: 12px;
}
.data-grid > .lbl {
	background: #d4d0c8;
	font-weight: bold;
}
.data-grid > .val .empty { color: #808080; font-style: italic; }
.data-grid > .val .warn { color: var(--w95-red); font-weight: bold; }
.data-grid > .val .ok { color: var(--w95-green); }

/* OQTF badge */
.badge-oqtf {
	display: inline-block;
	background: var(--w95-red);
	color: #fff;
	font-weight: bold;
	font-size: 11px;
	padding: 1px 6px;
	margin-left: 6px;
	border: 1px solid #000;
	letter-spacing: 1px;
}
.badge-locked {
	display: inline-block;
	background: var(--w95-yellow);
	color: #000;
	font-weight: bold;
	font-size: 11px;
	padding: 1px 6px;
	margin-left: 6px;
	border: 1px solid #000;
}

/* === CASIER === */
.casier-box {
	background: #fffacd;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	padding: 12px 14px;
	font-family: "Courier New", "Courier", monospace;
	font-size: 13px;
	line-height: 1.5;
	color: #000;
	margin-top: 6px;
}
.casier-vierge {
	font-family: "Courier New", monospace;
	color: var(--w95-green);
	font-weight: bold;
	font-size: 14px;
	text-align: center;
	padding: 14px;
	background: #f0fff0;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}
.casier-meta {
	display: flex;
	gap: 18px;
	margin-bottom: 6px;
	font-size: 11px;
	font-family: "MS Sans Serif", sans-serif;
}
.casier-meta b { color: #000080; }
.casier-rule {
	border: 0;
	border-top: 1px dashed #806000;
	margin: 8px 0;
}

/* === LOCKED OVERLAY === */
.locked-screen {
	background: #c0c0c0;
	padding: 30px 20px;
	text-align: center;
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	margin: 14px 0;
}
.locked-icon {
	font-size: 56px;
	color: #aa0000;
	margin-bottom: 10px;
}
.locked-title {
	font-size: 16px;
	font-weight: bold;
	color: #aa0000;
	margin-bottom: 6px;
	letter-spacing: 1px;
}
.locked-msg {
	color: #000;
	margin-bottom: 16px;
	font-size: 12px;
}
.unlock-form {
	max-width: 320px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* === SCANLINE OPTIONAL CRT EFFECT (subtle) === */
.crt::before {
	content: "";
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: repeating-linear-gradient(
		0deg,
		rgba(0,0,0,0.04),
		rgba(0,0,0,0.04) 1px,
		transparent 1px,
		transparent 3px
	);
	pointer-events: none;
	z-index: 9999;
}

/* === AUTOCOMPLETE === */
.autocomplete-wrapper {
	position: relative;
	flex: 1;
}
.autocomplete-list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	max-height: 200px;
	overflow-y: auto;
	display: none;
	z-index: 50;
	font-size: 12px;
}
.autocomplete-list.active { display: block; }
.autocomplete-item {
	padding: 3px 6px;
	cursor: default;
}
.autocomplete-item:hover, .autocomplete-item.selected {
	background: var(--w95-highlight);
	color: #fff;
}

/* === LINKS === */
a { color: #000080; }
a:visited { color: #800080; }

/* === RESPONSIVE === */
@media (max-width: 720px) {
	.data-grid { grid-template-columns: 110px 1fr; }
	.fiche-header { flex-direction: column; align-items: center; text-align: center; }
}

/* ============================================================ */
/* === FDP - Fichier des peines === */
/* ============================================================ */
.window-mdt {
	max-width: 1180px;
}
.mdt-layout {
	display: flex;
	min-height: 600px;
	background: var(--w95-window);
}
.mdt-sidebar {
	width: 200px;
	background: #c0c0c0;
	border-right: 2px solid var(--w95-shadow-dark);
	padding: 10px 6px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-shrink: 0;
}
.mdt-nav-title {
	font-size: 10px;
	color: #000080;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 2px 6px 8px;
	border-bottom: 1px solid var(--w95-shadow-dark);
	margin-bottom: 4px;
}
.mdt-tab {
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	font-family: inherit;
	font-size: 12px;
	padding: 6px 8px;
	cursor: pointer;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 8px;
	color: #000;
}
.mdt-tab:hover { background: #d4d0c8; }
.mdt-tab.active {
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	background: #fff;
	font-weight: bold;
}
.mdt-tab-icon {
	display: inline-block;
	width: 18px;
	font-size: 14px;
	text-align: center;
}
.mdt-sidebar-spacer { flex: 1; }
.mdt-status-bubble {
	font-size: 11px;
	padding: 6px 8px;
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	line-height: 1.5;
}

.mdt-main {
	flex: 1;
	padding: 14px 16px 20px;
	overflow-y: auto;
	min-width: 0;
}
.mdt-panel { display: none; }
.mdt-panel.active { display: block; }

.mdt-panel-head { margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid #808080; }
.mdt-panel-head h2 { font-size: 16px; color: #000080; font-weight: bold; }
.mdt-panel-head .mdt-sub { font-size: 11px; color: #404040; margin-top: 2px; }

.btn-primary {
	font-weight: bold;
}

/* === FORM ROWS === */
.form-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 8px 0;
}
.form-row .field-label { min-width: 200px; font-size: 12px; }
.form-row input { flex: 1; }
.form-row-col { flex-direction: column; align-items: stretch; }
.form-row-col .field-label { min-width: 0; margin-bottom: 4px; }

textarea {
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	font-family: inherit;
	font-size: 12px;
	padding: 5px 6px;
	color: #000;
	resize: vertical;
	width: 100%;
	outline: none;
}
textarea:focus { outline: 1px dotted #000; outline-offset: -3px; }

.form-actions {
	display: flex;
	gap: 6px;
	margin-top: 12px;
	justify-content: flex-end;
}

/* === LOADER === */
.proc-loading {
	margin: 14px 0;
	padding: 10px;
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}
.loader-bar {
	height: 16px;
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	overflow: hidden;
	position: relative;
}
.loader-bar span {
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 40%;
	background: repeating-linear-gradient(
		90deg,
		#000080 0, #000080 8px,
		#c0c0c0 8px, #c0c0c0 12px
	);
	animation: loader-slide 1.4s linear infinite;
}
@keyframes loader-slide {
	from { left: -45%; }
	to   { left: 105%; }
}
.loader-text { font-size: 11px; margin-top: 6px; color: #404040; }

/* === VERDICT CARD === */
.verdict-card {
	margin-top: 18px;
	background: #fdfaee;
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	padding: 14px 16px;
	box-shadow: 2px 2px 0 #404040;
}
.verdict-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 10px;
	border-bottom: 1px dashed #806020;
	margin-bottom: 12px;
}
.verdict-seal {
	width: 50px; height: 50px;
	background: radial-gradient(circle at 30% 30%, #c00000, #500000);
	color: #fff;
	font-size: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	box-shadow: inset 2px 2px 0 rgba(255,255,255,0.3), inset -2px -2px 0 rgba(0,0,0,0.4);
	border: 2px solid #200;
	font-family: "Times New Roman", serif;
}
.verdict-title {
	font-family: "Times New Roman", "Georgia", serif;
	font-size: 22px;
	font-weight: bold;
	color: #500000;
	letter-spacing: 2px;
}
.verdict-subtitle { font-size: 11px; color: #404040; font-style: italic; }
.verdict-id {
	margin-left: auto;
	font-family: "Courier New", monospace;
	font-size: 11px;
	color: #000080;
}

.verdict-label {
	font-size: 10px;
	text-transform: uppercase;
	color: #806000;
	letter-spacing: 1px;
	font-weight: bold;
	margin-bottom: 3px;
}
.verdict-qual { margin-bottom: 12px; }
.verdict-value {
	font-family: "Times New Roman", serif;
	font-size: 15px;
	font-weight: bold;
	color: #000;
}

.verdict-amende-row {
	display: flex;
	gap: 12px;
	margin: 10px 0 14px;
}
.amende-box, .peine-box {
	flex: 1;
	padding: 10px 14px;
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}
.amende-box {
	background: linear-gradient(180deg, #fff8d0 0%, #fde890 100%);
}
.amende-label {
	font-size: 10px;
	text-transform: uppercase;
	color: #806000;
	font-weight: bold;
	letter-spacing: 1px;
}
.amende-value {
	font-family: "Courier New", "Consolas", monospace;
	font-size: 32px;
	font-weight: bold;
	color: #500000;
	margin-top: 2px;
	letter-spacing: 1px;
	line-height: 1.1;
}
.amende-eur { font-size: 22px; margin-left: 4px; }
.peine-value {
	font-size: 13px;
	margin-top: 6px;
	color: #000;
	font-style: italic;
}

.verdict-text { margin-top: 8px; }
.verdict-quote {
	font-family: "Times New Roman", "Georgia", serif;
	font-size: 14px;
	line-height: 1.55;
	color: #000;
	padding: 8px 16px;
	border-left: 4px double #806000;
	background: rgba(255, 240, 200, 0.5);
	white-space: pre-wrap;
}

/* === HISTORIQUE === */
.history-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 10px;
}
.history-empty {
	padding: 16px;
	text-align: center;
	color: #808080;
	font-style: italic;
	grid-column: 1 / -1;
}
.history-card {
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	padding: 8px 10px;
	font-size: 11px;
}
.history-card-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4px;
}
.history-id { font-family: "Courier New", monospace; color: #000080; font-weight: bold; }
.history-amende { color: #500000; font-weight: bold; }
.history-qual { font-weight: bold; color: #000; margin-bottom: 3px; font-size: 11px; }
.history-suspect { color: #404040; margin-bottom: 4px; }
.history-verdict {
	font-style: italic;
	color: #303030;
	font-size: 11px;
	line-height: 1.4;
	max-height: 70px;
	overflow: hidden;
	position: relative;
}
.history-verdict::after {
	content: '';
	position: absolute; bottom: 0; left: 0; right: 0; height: 18px;
	background: linear-gradient(transparent, #fff);
}
.history-date {
	font-family: "Courier New", monospace;
	font-size: 10px;
	color: #808080;
	text-align: right;
	margin-top: 4px;
}

/* === BAREME === */
.bareme-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	font-size: 12px;
}
.bareme-table th {
	background: #000080;
	color: #fff;
	text-align: left;
	padding: 5px 8px;
	font-weight: bold;
	font-size: 11px;
}
.bareme-table td {
	padding: 6px 8px;
	border-bottom: 1px solid #c0c0c0;
}
.bareme-table tr:nth-child(even) td { background: #f4f4f4; }
.bareme-table .lv {
	width: 38px;
	text-align: center;
	font-weight: bold;
	font-family: "Times New Roman", serif;
	font-size: 14px;
	color: #fff;
}
.bareme-table .lv-0 { background: #4a4a4a; }
.bareme-table .lv-1 { background: #008000; }
.bareme-table .lv-2 { background: #408000; }
.bareme-table .lv-3 { background: #b08000; }
.bareme-table .lv-4 { background: #c04000; }
.bareme-table .lv-5 { background: #800000; }

/* === Taskbar window button (FDP) === */
.taskbar-window {
	display: flex;
	align-items: center;
	padding: 2px 12px;
	margin-left: 4px;
	background: var(--w95-window);
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	font-weight: bold;
	font-size: 11px;
	height: 22px;
}

/* === BROUILLON / ENREGISTRÉ === */
.verdict-status {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
}
.status-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: bold;
	padding: 2px 8px;
	border: 1px solid #000;
	letter-spacing: 1px;
}
.status-draft { background: #ffeb70; color: #806000; }
.status-saved { background: #008000; color: #fff; }

/* Boutons révision */
.btn-harsher  { background: #fde4e4; }
.btn-lighter  { background: #e4f0fd; }
.btn-validate { background: #d8f0d8; font-weight: bold; }
.btn-harsher:hover  { background: #f9c8c8; }
.btn-lighter:hover  { background: #cfe1f4; }
.btn-validate:hover { background: #b8e0b8; }

.verdict-actions {
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px;
	padding-top: 10px;
	border-top: 1px dashed #806020;
}
.verdict-actions .btn { min-width: 130px; }

/* === Jugements sur la fiche === */
.jugement-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.jugement-card {
	background: #fff;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
	padding: 8px 12px;
	font-size: 12px;
}
.jugement-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4px;
}
.jugement-id {
	font-family: "Courier New", monospace;
	font-weight: bold;
	color: #000080;
	font-size: 11px;
}
.jugement-amende {
	font-family: "Courier New", monospace;
	font-weight: bold;
	color: #500000;
	font-size: 14px;
}
.jugement-qual {
	font-weight: bold;
	color: #000;
	font-family: "Times New Roman", serif;
	font-size: 13px;
}
.jugement-peine {
	font-size: 11px;
	color: #404040;
	margin-top: 2px;
}
.jugement-details {
	margin-top: 6px;
	font-size: 11px;
}
.jugement-details summary {
	cursor: pointer;
	color: #000080;
	font-weight: bold;
}
.jugement-verdict {
	font-family: "Times New Roman", "Georgia", serif;
	margin-top: 6px;
	padding: 6px 12px;
	border-left: 3px double #806000;
	background: rgba(255, 240, 200, 0.4);
	font-size: 12px;
	line-height: 1.5;
}
.jugement-meta {
	display: flex;
	justify-content: space-between;
	color: #808080;
	font-size: 10px;
	font-family: "Courier New", monospace;
	margin-top: 6px;
	padding-top: 4px;
	border-top: 1px dotted #c0c0c0;
}

/* ============================================================ */
/* === MODE ADMIN === */
/* ============================================================ */
.admin-banner {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	background: #fff3c4;
	border-top: 2px solid var(--w95-shadow-light);
	border-left: 2px solid var(--w95-shadow-light);
	border-right: 2px solid var(--w95-shadow-dark);
	border-bottom: 2px solid var(--w95-shadow-dark);
	padding: 8px 12px;
	margin-bottom: 14px;
	font-size: 12px;
}
.admin-banner-tag {
	background: #aa0000;
	color: #fff;
	font-weight: bold;
	padding: 2px 8px;
	border: 1px solid #000;
	letter-spacing: 1px;
}
.admin-edit-toggle { margin-left: auto; }

.admin-form-box { background: #fffdf0; }
.admin-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 14px;
	margin-bottom: 10px;
}
.admin-grid label, .admin-casier-edit label, .case-edit-form label {
	display: flex;
	flex-direction: column;
	font-size: 11px;
	font-weight: bold;
	color: #000080;
	gap: 3px;
}
.admin-grid label.admin-full { grid-column: 1 / -1; }
.admin-grid input, .admin-grid select,
.admin-casier-edit input, .admin-casier-edit textarea,
.case-edit-form input, .case-edit-form textarea {
	font-weight: normal;
	color: #000;
}
.admin-checks {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	padding: 8px 0;
	margin-bottom: 8px;
	border-top: 1px dashed #c0a000;
	border-bottom: 1px dashed #c0a000;
}
.admin-checks label {
	flex-direction: row;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #000;
	font-weight: normal;
}
.admin-subtitle {
	font-weight: bold;
	color: #806000;
	margin: 10px 0 6px;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1px;
}
.admin-casier-edit label.admin-full { display: flex; flex-direction: column; margin-top: 8px; }
.admin-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--w95-shadow-dark);
}

/* boutons admin compacts */
.admin-mini { min-width: 0; padding: 2px 10px; font-size: 11px; }
.jugement-admin {
	display: flex;
	gap: 6px;
	margin-top: 8px;
	padding-top: 6px;
	border-top: 1px dotted #c0c0c0;
}
.case-edit-form {
	margin-top: 8px;
	padding: 10px;
	background: #fffdf0;
	border-top: 2px solid var(--w95-shadow-dark);
	border-left: 2px solid var(--w95-shadow-dark);
	border-right: 2px solid var(--w95-shadow-light);
	border-bottom: 2px solid var(--w95-shadow-light);
}
.case-edit-form label.admin-full { display: flex; flex-direction: column; margin-bottom: 8px; }

@media (max-width: 880px) {
	.mdt-layout { flex-direction: column; }
	.admin-grid { grid-template-columns: 1fr; }
	.mdt-sidebar { width: 100%; flex-direction: row; flex-wrap: wrap; padding: 6px; }
	.mdt-sidebar-spacer { display: none; }
	.mdt-nav-title { display: none; }
	.mdt-tab { flex: 1 1 auto; }
	.mdt-status-bubble { display: none; }
	.verdict-amende-row { flex-direction: column; }
	.form-row { flex-direction: column; align-items: stretch; }
	.form-row .field-label { min-width: 0; margin-bottom: 4px; }
}
