body {font-family: Arial, sans-serif; margin: 0; background:#f5f7fb;}
header {background:#1f2937; color:#fff; padding:16px 24px; display:flex; justify-content:space-between; align-items:center;}
nav a {color:#fff; margin-left:12px; text-decoration:none;}
main {max-width:1100px; margin:24px auto; padding:0 16px;}
.card {background:#fff; border-radius:10px; padding:20px; box-shadow: 0 2px 10px rgba(0,0,0,.08); margin-bottom:16px;}
label {display:block; margin-bottom:12px;}
input, textarea, select, button {width:100%; padding:10px; margin-top:6px; box-sizing:border-box;}
button {cursor:pointer; border: none; border-radius: 6px; background:#2563eb; color:#fff;}
button.danger {background:#dc2626;}
.auth-card {max-width:420px; margin:20px auto;}
.hint {color:#666; font-size:14px;}
.flash {padding:10px 12px; border-radius:6px; margin-bottom:10px;}
.flash.success {background:#dcfce7;}
.flash.error {background:#fee2e2;}
.profile-form .grid {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px;}
.profile-form .full-width {grid-column:1 / -1;}
.avatar-block {margin-bottom:16px;}
.avatar {width:140px; height:140px; object-fit:cover; border-radius:12px; border:1px solid #ddd; display:block; margin-bottom:10px;}
.avatar.placeholder {display:flex; align-items:center; justify-content:center; background:#f3f4f6; color:#6b7280;}
table {width:100%; border-collapse:collapse;}
th, td {padding:10px; border-bottom:1px solid #e5e7eb; text-align:left;}
.inner-table th, .inner-table td {font-size:14px;}
.details-row.hidden {display:none;}
.toggle-btn {padding:6px 10px; width:auto; background:#4b5563;}
.inline-form {display:grid; gap:10px; align-items:end; margin-bottom:12px;}
.grid-3 {grid-template-columns:repeat(3, minmax(0,1fr));}
.grid-4 {grid-template-columns:repeat(4, minmax(0,1fr));}
.grid-5 {grid-template-columns:2fr 1fr 1fr 2fr auto;}
.admin-block {border:1px solid #e5e7eb; border-radius:8px; padding:12px; margin-bottom:12px;}
.inline-delete {display:inline-block; margin-bottom:10px;}
.project-form {display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:8px; align-items:center;}
.totals {font-weight:bold; margin-top:10px;}

.modal {position: fixed; inset: 0; background: rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; padding:16px;}
.modal-content {background:#fff; border-radius:10px; padding:16px; max-width:1000px; width:100%; max-height:90vh; overflow:auto;}
.hidden {display:none !important;}
.modal-open {width:auto; margin-bottom:12px;}
