:root { --app-bg:#f4f6f9; --app-radius:18px; }
body { background:var(--app-bg); padding-bottom:82px; }
.app-header { background:#fff; border-bottom:1px solid #e9ecef; position:sticky; top:0; z-index:1020; }
.brand-mark { width:42px; height:42px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:#343a40; color:#fff; }
.app-card { border:0; border-radius:var(--app-radius); box-shadow:0 8px 28px rgba(0,0,0,.06); }
.quick-icon { width:48px; height:48px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:#f1f3f5; font-size:1.2rem; }
.form-control, .custom-select, .select2-container .select2-selection--single { min-height:44px; border-radius:12px!important; border:1px solid #ced4da!important; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height:42px!important; padding-left:12px; }
.select2-container .select2-selection--single .select2-selection__arrow { height:42px!important; right:8px!important; }
textarea.form-control { min-height:110px; }
.btn { border-radius:11px; }
.bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:1040; background:#fff; border-top:1px solid #dee2e6; display:flex; justify-content:space-around; padding:7px 4px calc(7px + env(safe-area-inset-bottom)); }
.bottom-nav a { color:#6c757d; text-decoration:none; width:20%; text-align:center; font-size:.72rem; }
.bottom-nav i { display:block; font-size:1.25rem; margin-bottom:3px; }
.bottom-nav a.active { color:#212529; font-weight:700; }
.fc .fc-toolbar-title { font-size:1.15rem; }
@media (min-width: 992px) { body { padding-bottom:0; } .bottom-nav { position:static; max-width:900px; margin:20px auto; border:0; border-radius:18px; box-shadow:0 8px 28px rgba(0,0,0,.06); } }
