redesign.css 25 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183
  1. :root {
  2. --gc-bg: #f4f6fb;
  3. --gc-surface: #ffffff;
  4. --gc-surface-soft: #f8fafc;
  5. --gc-border: #e5e7eb;
  6. --gc-text: #111827;
  7. --gc-muted: #6b7280;
  8. --gc-primary: #475569;
  9. --gc-primary-dark: #334155;
  10. --gc-primary-soft: #eef2f7;
  11. --gc-danger: #dc2626;
  12. --gc-warning: #d97706;
  13. --gc-success: #16a34a;
  14. --gc-radius-sm: 10px;
  15. --gc-radius-md: 16px;
  16. --gc-radius-lg: 22px;
  17. --gc-shadow-sm: 0 4px 14px rgba(15, 23, 42, .06);
  18. --gc-shadow-md: 0 18px 45px rgba(15, 23, 42, .10);
  19. --gc-topbar-height: 72px;
  20. }
  21. /* Basis */
  22. html,
  23. body {
  24. min-height: 100%;
  25. background: var(--gc-bg);
  26. color: var(--gc-text);
  27. }
  28. body {
  29. overflow-y: auto;
  30. overflow-x: auto;
  31. font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  32. }
  33. /* App Shell */
  34. .gc-shell {
  35. height: 100vh;
  36. display: flex;
  37. flex-direction: column;
  38. background:
  39. radial-gradient(circle at top left, rgba(100, 116, 139, .10), transparent 34rem),
  40. linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  41. }
  42. .gc-topbar {
  43. height: var(--gc-topbar-height);
  44. flex: 0 0 var(--gc-topbar-height);
  45. display: flex;
  46. align-items: center;
  47. padding: 0 1.5rem;
  48. background: rgba(255, 255, 255, .86);
  49. backdrop-filter: blur(18px);
  50. border-bottom: 1px solid rgba(226, 232, 240, .9);
  51. z-index: 1000;
  52. }
  53. .gc-logo {
  54. height: 38px;
  55. width: auto;
  56. object-fit: contain;
  57. }
  58. .gc-brand {
  59. font-size: 1rem;
  60. font-weight: 800;
  61. letter-spacing: -.02em;
  62. color: var(--gc-text);
  63. }
  64. .gc-nav-link {
  65. display: inline-flex;
  66. align-items: center;
  67. min-height: 38px;
  68. padding: .45rem .8rem;
  69. border-radius: 999px;
  70. color: var(--gc-muted);
  71. font-weight: 700;
  72. text-decoration: none;
  73. transition: all .18s ease;
  74. }
  75. .gc-nav-link:hover {
  76. color: #334155;
  77. background: #eef2f7;
  78. text-decoration: none;
  79. }
  80. .gc-page {
  81. flex: 1;
  82. width: 100%;
  83. max-width: 1840px;
  84. margin: 0 auto;
  85. padding: 1.25rem;
  86. overflow: hidden;
  87. display: flex;
  88. flex-direction: column;
  89. gap: 1rem;
  90. }
  91. /* Cards */
  92. .gc-card {
  93. background: rgba(255, 255, 255, .95);
  94. border: 1px solid rgba(226, 232, 240, .95);
  95. border-radius: var(--gc-radius-lg);
  96. box-shadow: var(--gc-shadow-sm);
  97. }
  98. /* Filter */
  99. .gc-filterbar {
  100. padding: 1rem;
  101. }
  102. .gc-filterbar .form-label {
  103. font-size: .74rem;
  104. font-weight: 800;
  105. text-transform: uppercase;
  106. color: var(--gc-muted);
  107. letter-spacing: .04em;
  108. }
  109. .gc-filterbar .form-control,
  110. .gc-filterbar .form-select {
  111. border-radius: 12px;
  112. border-color: var(--gc-border);
  113. font-weight: 600;
  114. }
  115. .gc-filterbar .form-control:focus,
  116. .gc-filterbar .form-select:focus {
  117. border-color: #94a3b8;
  118. box-shadow: 0 0 0 .2rem rgba(100, 116, 139, .12);
  119. }
  120. /* Tabelle */
  121. .gc-table-wrap {
  122. flex: 1;
  123. overflow: auto;
  124. border-radius: var(--gc-radius-lg);
  125. padding-top: 0 !important;
  126. }
  127. .gc-table {
  128. width: 100%;
  129. min-width: 1450px;
  130. margin: 0 !important;
  131. border-collapse: separate !important;
  132. border-spacing: 0 !important;
  133. table-layout: auto !important;
  134. font-size: .88rem;
  135. }
  136. .gc-table thead {
  137. position: static !important;
  138. z-index: auto !important;
  139. }
  140. .gc-table thead th {
  141. position: static !important;
  142. top: auto !important;
  143. z-index: auto !important;
  144. background: #f3f4f6 !important;
  145. color: #667085;
  146. font-size: .7rem;
  147. font-weight: 900;
  148. text-transform: uppercase;
  149. letter-spacing: .055em;
  150. padding: .85rem .8rem !important;
  151. border-top: 0 !important;
  152. border-bottom: 1px solid #d7dde5 !important;
  153. box-shadow: none !important;
  154. white-space: nowrap;
  155. vertical-align: bottom;
  156. }
  157. .gc-table tbody td {
  158. background: #ffffff;
  159. padding: .85rem .8rem !important;
  160. border-top: 1px solid #edf2f7;
  161. vertical-align: top;
  162. }
  163. .gc-table tbody tr {
  164. transition: background .15s ease;
  165. }
  166. .gc-table tbody tr:hover td {
  167. background: #fafbfc;
  168. }
  169. /* Spalten */
  170. .gc-table th:nth-child(2),
  171. .gc-table td:nth-child(2) {
  172. width: 120px;
  173. white-space: normal !important;
  174. }
  175. .gc-table th:nth-child(3),
  176. .gc-table td:nth-child(3) {
  177. padding-left: 14px !important;
  178. }
  179. .gc-table th:nth-child(8),
  180. .gc-table td:nth-child(8),
  181. .gc-table td:nth-child(8) *,
  182. .gc-table th:nth-child(9),
  183. .gc-table td:nth-child(9),
  184. .gc-table td:nth-child(9) * {
  185. white-space: nowrap !important;
  186. }
  187. /* Tabellenlinks neutral/grau */
  188. .gc-table a {
  189. color: #008 !important;
  190. text-decoration: none;
  191. font-weight: 600;
  192. }
  193. .gc-table a:hover {
  194. color: #1f2937 !important;
  195. text-decoration: underline;
  196. }
  197. /* Typografie */
  198. .gc-title {
  199. color: var(--gc-text);
  200. font-weight: 750;
  201. line-height: 1.25;
  202. }
  203. .gc-subtitle {
  204. margin-top: .15rem;
  205. color: var(--gc-muted);
  206. font-size: .78rem;
  207. line-height: 1.35;
  208. }
  209. .gc-main-cell {
  210. min-width: 290px;
  211. }
  212. .gc-money {
  213. font-variant-numeric: tabular-nums;
  214. font-weight: 400;
  215. white-space: nowrap;
  216. }
  217. /* Offen / Kunde ges. weiterhin fett */
  218. .gc-table td:nth-child(8) .gc-money {
  219. font-weight: 800 !important;
  220. }
  221. /* Buttons */
  222. .gc-action-btn {
  223. border-radius: 10px;
  224. font-weight: 700;
  225. background: #7b8ea3 !important;
  226. border-color: #7b8ea3 !important;
  227. color: #ffffff !important;
  228. box-shadow: none !important;
  229. }
  230. .gc-action-btn:hover {
  231. background: #66788c !important;
  232. border-color: #66788c !important;
  233. color: #ffffff !important;
  234. }
  235. /* Badges */
  236. .gc-badge {
  237. display: inline-flex;
  238. align-items: center;
  239. justify-content: center;
  240. gap: .3rem;
  241. min-height: 24px;
  242. padding: .22rem .55rem;
  243. border-radius: 999px;
  244. font-size: .7rem;
  245. font-weight: 800;
  246. border: 1px solid transparent;
  247. white-space: nowrap;
  248. }
  249. .gc-badge-info {
  250. background: #edf2f7;
  251. color: #475569;
  252. border-color: #dbe3ee;
  253. }
  254. .gc-badge-warning, .gc-badge-1 {
  255. background: #f6ecd2;
  256. color: #8a6a1f;
  257. border-color: #ead9a7;
  258. }
  259. .gc-badge-danger, .gc-badge-2 {
  260. background: #fee2e2;
  261. color: #991b1b;
  262. border-color: #fecaca;
  263. }
  264. .gc-badge-success, .gc-badge-0 {
  265. background: #dcfce7;
  266. color: #166534;
  267. border-color: #bbf7d0;
  268. }
  269. /* Mahnstufen */
  270. .gc-mahnstufe-1 {
  271. background: #fee2e2 !important;
  272. color: #991b1b !important;
  273. border-color: #fecaca !important;
  274. }
  275. .gc-mahnstufe-2 {
  276. background: #fecaca !important;
  277. color: #7f1d1d !important;
  278. border-color: #fca5a5 !important;
  279. }
  280. .gc-mahnstufe-3 {
  281. background: #dc2626 !important;
  282. color: #ffffff !important;
  283. border-color: #991b1b !important;
  284. }
  285. /* Wiedervorlage */
  286. .gc-wv-overdue {
  287. background: #fee2e2 !important;
  288. color: #991b1b !important;
  289. border-color: #fecaca !important;
  290. }
  291. .gc-wv-today {
  292. background: #f6ecd2 !important;
  293. color: #8a6a1f !important;
  294. border-color: #ead9a7 !important;
  295. }
  296. .gc-wv-future {
  297. background: #dcfce7 !important;
  298. color: #166534 !important;
  299. border-color: #bbf7d0 !important;
  300. }
  301. /* Infinite Scroll */
  302. .gc-load-sentinel,
  303. .gc-load-sentinel td {
  304. height: 1px !important;
  305. padding: 0 !important;
  306. border: 0 !important;
  307. background: transparent !important;
  308. }
  309. /* Detailseite Layout */
  310. .gc-case-header,
  311. .gc-panel,
  312. .gc-case-summary {
  313. padding: 1.25rem;
  314. }
  315. .gc-case-summary .gc-panel-title {
  316. margin-bottom: 1rem;
  317. font-size: .85rem;
  318. font-weight: 800;
  319. color: #334155;
  320. }
  321. .gc-summary-section {
  322. margin-bottom: 1rem;
  323. }
  324. .gc-summary-label {
  325. font-size: .72rem;
  326. font-weight: 800;
  327. color: #64748b;
  328. text-transform: uppercase;
  329. letter-spacing: .05em;
  330. margin-bottom: .15rem;
  331. }
  332. .gc-summary-main {
  333. font-size: .98rem;
  334. font-weight: 700;
  335. color: #172033;
  336. line-height: 1.25;
  337. }
  338. .gc-summary-sub {
  339. font-size: .85rem;
  340. color: #64748b;
  341. margin-top: .15rem;
  342. }
  343. .gc-summary-grid {
  344. display: grid;
  345. grid-template-columns: 1fr 1fr;
  346. gap: .75rem;
  347. margin-bottom: 1rem;
  348. }
  349. .gc-summary-value {
  350. font-size: .98rem;
  351. font-weight: 700;
  352. color: #172033;
  353. }
  354. .gc-case-summary hr {
  355. margin: 1.25rem 0;
  356. border-color: #e6eaf0;
  357. opacity: 1;
  358. }
  359. .gc-detail-grid {
  360. display: grid !important;
  361. grid-template-columns: 320px minmax(600px, 1fr) 360px !important;
  362. gap: 1rem !important;
  363. align-items: start !important;
  364. width: 100% !important;
  365. }
  366. .gc-detail-grid > .gc-case-summary {
  367. grid-column: 1 !important;
  368. width: 100% !important;
  369. }
  370. .gc-detail-grid > .gc-detail-main {
  371. grid-column: 2 !important;
  372. min-width: 0 !important;
  373. width: 100% !important;
  374. }
  375. .gc-detail-grid > .gc-action-panel {
  376. grid-column: 3 !important;
  377. width: 100% !important;
  378. position: sticky !important;
  379. top: calc(var(--gc-topbar-height) + 1rem) !important;
  380. }
  381. .gc-accordion-clean .accordion-item {
  382. border: 1px solid var(--gc-border);
  383. border-radius: var(--gc-radius-md) !important;
  384. overflow: hidden;
  385. margin-bottom: .75rem;
  386. }
  387. /* Chat / Timeline */
  388. .gc-detail-main .chat-container2 {
  389. height: calc(100vh - var(--gc-topbar-height) - 15rem);
  390. max-height: 620px;
  391. min-height: 420px;
  392. display: flex;
  393. flex-direction: column;
  394. background: #ffffff;
  395. border: 1px solid rgba(226, 232, 240, .95);
  396. border-radius: var(--gc-radius-lg);
  397. box-shadow: var(--gc-shadow-sm);
  398. overflow: hidden;
  399. }
  400. .chat-container2 .header {
  401. flex: 0 0 auto;
  402. display: flex;
  403. align-items: center;
  404. justify-content: space-between;
  405. padding: .85rem 1rem;
  406. background: #ffffff;
  407. border-bottom: 1px solid #e5e7eb;
  408. }
  409. .chat-container2 .header-left {
  410. display: flex;
  411. align-items: center;
  412. gap: .75rem;
  413. min-width: 0;
  414. }
  415. .chat-container2 .avatar {
  416. width: 32px;
  417. height: 32px;
  418. flex: 0 0 32px;
  419. border-radius: 999px;
  420. background: #e5e7eb;
  421. color: #ffffff;
  422. display: inline-flex;
  423. align-items: center;
  424. justify-content: center;
  425. font-size: .72rem;
  426. font-weight: 900;
  427. overflow: hidden;
  428. }
  429. .chat-container2 .course-title {
  430. font-size: .95rem;
  431. font-weight: 850;
  432. color: #111827;
  433. line-height: 1.25;
  434. white-space: nowrap;
  435. overflow: hidden;
  436. text-overflow: ellipsis;
  437. }
  438. .chat-container2 .course-participants {
  439. margin-top: .1rem;
  440. font-size: .76rem;
  441. color: #64748b;
  442. }
  443. .chat-container2 .header-actions {
  444. display: flex;
  445. align-items: center;
  446. gap: .35rem;
  447. }
  448. .chat-container2 .icon-button {
  449. width: 32px;
  450. height: 32px;
  451. border: 1px solid #e5e7eb;
  452. border-radius: 10px;
  453. background: #f8fafc;
  454. color: #64748b;
  455. display: inline-flex;
  456. align-items: center;
  457. justify-content: center;
  458. }
  459. .chat-container2 .icon-button:hover {
  460. background: #eef2f7;
  461. color: #334155;
  462. border-color: #cbd5e1;
  463. }
  464. .chat-container2 .tabs {
  465. flex: 0 0 auto;
  466. display: flex;
  467. gap: .35rem;
  468. padding: .65rem .85rem;
  469. background: #f8fafc;
  470. border-bottom: 1px solid #e5e7eb;
  471. overflow-x: auto;
  472. }
  473. .chat-container2 .tab {
  474. padding: .38rem .65rem;
  475. border-radius: 999px;
  476. font-size: .75rem;
  477. font-weight: 800;
  478. color: #64748b;
  479. white-space: nowrap;
  480. }
  481. .chat-container2 .tab.active {
  482. background: #64748b;
  483. color: #ffffff;
  484. }
  485. .chat-container2 .chat-content {
  486. flex: 1;
  487. min-height: 0;
  488. overflow-y: auto;
  489. padding: 1rem;
  490. background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  491. }
  492. .chat-container2 .date-divider {
  493. display: flex;
  494. align-items: center;
  495. gap: .75rem;
  496. margin: .4rem 0 1rem;
  497. }
  498. .chat-container2 .divider-line {
  499. flex: 1;
  500. height: 1px;
  501. background: #e5e7eb;
  502. }
  503. .chat-container2 .divider-text {
  504. font-size: .7rem;
  505. font-weight: 850;
  506. color: #64748b;
  507. text-transform: uppercase;
  508. letter-spacing: .04em;
  509. }
  510. .chat-container2 .message {
  511. max-width: 78%;
  512. margin-bottom: .85rem;
  513. }
  514. .chat-container2 .message.teacher,
  515. .chat-container2 .message.Fibu,
  516. .chat-container2 .message.fibu {
  517. margin-right: auto;
  518. }
  519. .chat-container2 .message.student,
  520. .chat-container2 .message.Abteilung,
  521. .chat-container2 .message.abteilung {
  522. margin-left: auto;
  523. }
  524. .chat-container2 .message-header {
  525. display: flex;
  526. align-items: center;
  527. gap: .45rem;
  528. margin-bottom: .3rem;
  529. }
  530. .chat-container2 .sender-name {
  531. font-size: .76rem;
  532. font-weight: 850;
  533. color: #334155;
  534. }
  535. .chat-container2 .timestamp {
  536. font-size: .7rem;
  537. color: #94a3b8;
  538. margin-left: .25rem;
  539. }
  540. .chat-container2 .message-bubble {
  541. display: inline-block;
  542. padding: .65rem .85rem;
  543. border-radius: 15px;
  544. font-size: .86rem;
  545. line-height: 1.42;
  546. background: #f1f5f9;
  547. color: #172033;
  548. border: 1px solid #e2e8f0;
  549. box-shadow: 0 3px 10px rgba(15, 23, 42, .04);
  550. }
  551. .chat-container2 .message.student .message-bubble,
  552. .chat-container2 .message.Abteilung .message-bubble,
  553. .chat-container2 .message.abteilung .message-bubble {
  554. background: #f8fafc;
  555. color: #172033;
  556. border-color: #cbd5e1;
  557. }
  558. .chat-container2 .message.teacher .message-bubble,
  559. .chat-container2 .message.Fibu .message-bubble,
  560. .chat-container2 .message.fibu .message-bubble {
  561. background: #ffffff;
  562. color: #172033;
  563. border-color: #e2e8f0;
  564. }
  565. .chat-container2 .input-area {
  566. flex: 0 0 auto;
  567. min-height: 46px;
  568. padding: .6rem .85rem;
  569. background: #ffffff;
  570. border-top: 1px solid #e5e7eb;
  571. }
  572. .chat-container2 .toolbar {
  573. display: flex;
  574. align-items: center;
  575. gap: .5rem;
  576. }
  577. .chat-container2 .tool-button {
  578. width: 32px;
  579. height: 32px;
  580. border-radius: 10px;
  581. border: 1px dashed #cbd5e1;
  582. background: #f8fafc;
  583. }
  584. /* Responsive */
  585. @media (max-width: 1200px) {
  586. .gc-detail-grid {
  587. grid-template-columns: 1fr !important;
  588. }
  589. .gc-detail-grid > .gc-case-summary,
  590. .gc-detail-grid > .gc-detail-main,
  591. .gc-detail-grid > .gc-action-panel {
  592. grid-column: auto !important;
  593. }
  594. .gc-detail-grid > .gc-action-panel {
  595. position: static !important;
  596. }
  597. .gc-detail-main .chat-container2 {
  598. height: auto;
  599. min-height: 520px;
  600. max-height: none;
  601. }
  602. }
  603. @media (max-width: 992px) {
  604. body {
  605. overflow: auto;
  606. }
  607. .gc-shell {
  608. min-height: 100vh;
  609. height: auto;
  610. }
  611. .gc-page {
  612. overflow: visible;
  613. }
  614. .gc-table-wrap {
  615. overflow-x: auto;
  616. }
  617. }
  618. /* =========================================================
  619. HAUPTSEITE: SINNVOLLERE SPALTENBREITEN
  620. ========================================================= */
  621. .gc-table {
  622. min-width: 1380px;
  623. }
  624. /* Aktion */
  625. .gc-table th:nth-child(12),
  626. .gc-table td:nth-child(12) {
  627. width: 54px;
  628. }
  629. /* Filiale / Bereich */
  630. .gc-table th:nth-child(1),
  631. .gc-table td:nth-child(1) {
  632. width: 115px;
  633. max-width: 115px;
  634. white-space: normal !important;
  635. }
  636. /* Verursacher */
  637. .gc-table th:nth-child(2),
  638. .gc-table td:nth-child(2) {
  639. width: 145px;
  640. min-width: 145px;
  641. padding-left: 6px !important;
  642. }
  643. /* RG-Nr. */
  644. .gc-table th:nth-child(3),
  645. .gc-table td:nth-child(3) {
  646. width: 118px;
  647. }
  648. /* RG-Datum / Fällig */
  649. .gc-table th:nth-child(4),
  650. .gc-table td:nth-child(4) {
  651. width: 120px;
  652. }
  653. /* Kunde */
  654. .gc-table th:nth-child(5),
  655. .gc-table td:nth-child(5) {
  656. width: 230px;
  657. min-width: 230px;
  658. padding-left: 8px !important;
  659. }
  660. /* offen / Kunde ges. */
  661. .gc-table th:nth-child(6),
  662. .gc-table td:nth-child(6) {
  663. width: 155px;
  664. }
  665. /* Mahnstufe / Staffel */
  666. .gc-table th:nth-child(7),
  667. .gc-table td:nth-child(7) {
  668. width: 125px;
  669. }
  670. /* Abw. */
  671. .gc-table th:nth-child(8),
  672. .gc-table td:nth-child(8) {
  673. width: 80px;
  674. }
  675. /* Kommentar Fibu */
  676. .gc-table th:nth-child(9),
  677. .gc-table td:nth-child(9) {
  678. width: 165px;
  679. }
  680. /* Kommentar Abteilung */
  681. .gc-table th:nth-child(10),
  682. .gc-table td:nth-child(10) {
  683. width: 165px;
  684. }
  685. /* Wiedervorlage */
  686. .gc-table th:nth-child(11),
  687. .gc-table td:nth-child(11) {
  688. width: 120px;
  689. }
  690. /* Abw. wieder im alten Gelb */
  691. .gc-table td:nth-child(8) .gc-badge-warning {
  692. background: #fef3c7 !important;
  693. color: #92400e !important;
  694. border-color: #fde68a !important;
  695. text-align: left;
  696. }
  697. /* =========================================================
  698. EDIT BUTTON LINKS HELLER
  699. ========================================================= */
  700. .gc-table td:nth-child(12) button,
  701. .gc-table td:nth-child(12) .btn,
  702. .gc-table td:nth-child(12) a {
  703. width: 34px;
  704. height: 34px;
  705. border-radius: 12px !important;
  706. border: 1px solid #d6dee8 !important;
  707. background: linear-gradient(
  708. 180deg,
  709. #9db0c2 0%,
  710. #879caf 100%
  711. ) !important;
  712. color: #ffffff !important;
  713. box-shadow:
  714. inset 0 1px 0 rgba(255,255,255,.28),
  715. 0 2px 6px rgba(15,23,42,.08);
  716. transition: all .18s ease;
  717. }
  718. /* Hover */
  719. .gc-table td:nth-child(12) button:hover,
  720. .gc-table td:nth-child(12) .btn:hover,
  721. .gc-table td:nth-child(12) a:hover {
  722. background: linear-gradient(
  723. 180deg,
  724. #a8b9c9 0%,
  725. #92a6b8 100%
  726. ) !important;
  727. transform: translateY(-1px);
  728. }
  729. /* Icon */
  730. .gc-table td:nth-child(12) i,
  731. .gc-table td:nth-child(12) svg {
  732. color: #ffffff !important;
  733. font-size: .9rem;
  734. }
  735. /* =========================================================
  736. DETAILSEITE: CHATVERLAUF OPTISCH AUFWERTEN
  737. ========================================================= */
  738. .chat-container2 {
  739. background: #ffffff !important;
  740. border-radius: 22px !important;
  741. overflow: hidden;
  742. }
  743. .chat-container2 .chat-content {
  744. background:
  745. radial-gradient(circle at top left, rgba(148, 163, 184, .16), transparent 22rem),
  746. linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
  747. padding: 1.25rem 1.5rem !important;
  748. }
  749. .chat-container2 .date-divider {
  750. margin: 1.25rem 0 1.5rem !important;
  751. }
  752. .chat-container2 .divider-line {
  753. background: #cbd5e1 !important;
  754. }
  755. .chat-container2 .divider-text {
  756. color: #64748b !important;
  757. font-weight: 900 !important;
  758. font-size: .76rem !important;
  759. }
  760. .chat-container2 .message {
  761. margin-bottom: 1.15rem !important;
  762. }
  763. .chat-container2 .message-header {
  764. margin-bottom: .4rem !important;
  765. }
  766. .chat-container2 .message-header .avatar {
  767. width: 34px !important;
  768. height: 34px !important;
  769. min-width: 34px !important;
  770. background: linear-gradient(180deg, #cbd5e1 0%, #94a3b8 100%) !important;
  771. color: #ffffff !important;
  772. border: 2px solid #ffffff !important;
  773. box-shadow: 0 3px 10px rgba(15, 23, 42, .10) !important;
  774. font-size: .68rem !important;
  775. text-transform: uppercase;
  776. }
  777. .chat-container2 .sender-name {
  778. color: #172033 !important;
  779. font-weight: 850 !important;
  780. font-size: .86rem !important;
  781. }
  782. .chat-container2 .timestamp {
  783. color: #94a3b8 !important;
  784. font-size: .72rem !important;
  785. }
  786. .chat-container2 .message-bubble {
  787. background: #ffffff !important;
  788. color: #1e293b !important;
  789. border: 1px solid #dbe3ee !important;
  790. border-radius: 16px 16px 16px 6px !important;
  791. padding: .72rem .95rem !important;
  792. box-shadow: 0 4px 14px rgba(15, 23, 42, .06) !important;
  793. line-height: 1.45 !important;
  794. }
  795. .chat-container2 .message-bubble:hover {
  796. border-color: #cbd5e1 !important;
  797. box-shadow: 0 8px 22px rgba(15, 23, 42, .09) !important;
  798. }
  799. /* Nachrichten rechts / Abteilung etwas anders einfärben */
  800. .chat-container2 .message.student .message-bubble,
  801. .chat-container2 .message.Abteilung .message-bubble,
  802. .chat-container2 .message.abteilung .message-bubble {
  803. background: #f8fafc;
  804. border-color: #e2e8f0;
  805. border-radius: 16px 16px 6px 16px !important;
  806. }
  807. /* Fibu / Standard links */
  808. .chat-container2 .message.teacher .message-bubble,
  809. .chat-container2 .message.Fibu .message-bubble,
  810. .chat-container2 .message.fibu .message-bubble {
  811. background: #ffffff !important;
  812. }
  813. /* Tabs schöner */
  814. .chat-container2 .tabs {
  815. background: #f8fafc !important;
  816. border-bottom: 1px solid #e2e8f0 !important;
  817. }
  818. .chat-container2 .tab {
  819. color: #64748b !important;
  820. font-weight: 850 !important;
  821. }
  822. .chat-container2 .tab.active {
  823. background: #64748b !important;
  824. color: #ffffff !important;
  825. box-shadow: 0 4px 10px rgba(15, 23, 42, .10) !important;
  826. }
  827. /* =========================================================
  828. BUTTONS: KEIN ZEILENUMBRUCH
  829. ========================================================= */
  830. .gc-action-btn,
  831. .gc-action-btn span,
  832. .gc-action-btn button,
  833. .btn {
  834. white-space: nowrap !important;
  835. }
  836. /* =========================================================
  837. RECHTE WORKFLOW-SPALTE:
  838. KEINE ZEILENUMBRÜCHE
  839. ========================================================= */
  840. .gc-action-panel button,
  841. .gc-action-panel .btn,
  842. .gc-action-panel .gc-badge,
  843. .gc-action-panel label,
  844. .gc-action-panel .form-label,
  845. .gc-action-panel .form-check-label,
  846. .gc-action-panel select,
  847. .gc-action-panel option {
  848. white-space: nowrap !important;
  849. }
  850. /* Buttons breiter */
  851. .gc-action-panel .btn {
  852. min-width: 150px;
  853. }
  854. /* Labels links etwas breiter */
  855. .gc-action-panel .row > div:first-child,
  856. .gc-action-panel .col-form-label {
  857. min-width: 125px;
  858. }
  859. /* Eingabefelder sauber ausrichten */
  860. .gc-action-panel .form-control,
  861. .gc-action-panel .form-select {
  862. min-width: 110px;
  863. }
  864. .gc-action-panel .btn:last-child {
  865. min-width: auto !important;
  866. width: auto !important;
  867. padding: .45rem .8rem !important;
  868. font-size: .92rem !important;
  869. }
  870. /* =========================================================
  871. BETRAGS-BUTTON RECHTS – EDLER
  872. ========================================================= */
  873. .gc-action-panel .btn-primary,
  874. .gc-action-panel .btn-success,
  875. .gc-action-panel .btn-purple {
  876. background: linear-gradient(
  877. 180deg,
  878. #64748b 0%,
  879. #475569 100%
  880. ) !important;
  881. border: 1px solid #475569 !important;
  882. color: #ffffff !important;
  883. box-shadow:
  884. 0 4px 12px rgba(15,23,42,.12),
  885. inset 0 1px 0 rgba(255,255,255,.12);
  886. min-width: auto !important;
  887. width: auto !important;
  888. padding: .45rem .8rem !important;
  889. font-size: .92rem !important;
  890. border-radius: 10px !important;
  891. }
  892. /* Hover */
  893. .gc-action-panel .btn-primary:hover,
  894. .gc-action-panel .btn-success:hover,
  895. .gc-action-panel .btn-purple:hover {
  896. background: linear-gradient(
  897. 180deg,
  898. #718197 0%,
  899. #526174 100%
  900. ) !important;
  901. transform: translateY(-1px);
  902. }
  903. .btn-warning {
  904. background-color: #e80;
  905. }
  906. /* =========================================================
  907. DETAILSEITE: SEITE BEI AUFGEKLAPPTEN BOXEN SCROLLBAR
  908. ========================================================= */
  909. body {
  910. overflow-y: auto !important;
  911. overflow-x: hidden !important;
  912. }
  913. .gc-shell {
  914. min-height: 100vh !important;
  915. height: auto !important;
  916. }
  917. .gc-page {
  918. min-height: calc(100vh - var(--gc-topbar-height)) !important;
  919. height: auto !important;
  920. overflow: visible !important;
  921. }
  922. .gc-detail-grid {
  923. align-items: start !important;
  924. overflow: visible !important;
  925. }
  926. .gc-detail-main,
  927. .gc-case-summary,
  928. .gc-action-panel {
  929. overflow: visible !important;
  930. }
  931. /* Falls Accordion/Boxen innen abgeschnitten werden */
  932. .accordion,
  933. .accordion-item,
  934. .accordion-collapse,
  935. .accordion-body,
  936. .collapse,
  937. .show {
  938. overflow: visible !important;
  939. }
  940. /* Chat bleibt trotzdem intern scrollbar */
  941. .gc-detail-main .chat-container2 {
  942. overflow: hidden !important;
  943. }
  944. .gc-detail-main .chat-content {
  945. overflow-y: auto !important;
  946. }
  947. /* =========================================================
  948. DETAILSEITE – ALLE AUFKLAPPBAREN BOXEN WIE "MAHNUNGEN"
  949. Inhalt bleibt in der Box, horizontaler Scroll erlaubt
  950. ========================================================= */
  951. .gc-detail-main .accordion-item,
  952. .gc-detail-main .accordion-collapse,
  953. .gc-detail-main .accordion-body {
  954. max-width: 100% !important;
  955. overflow: hidden !important;
  956. }
  957. .gc-detail-main .accordion-body {
  958. overflow-x: auto !important;
  959. overflow-y: visible !important;
  960. padding: 1rem !important;
  961. }
  962. /* Tabellen dürfen breiter sein, aber sprengen nicht mehr die Box */
  963. .gc-detail-main .accordion-body table {
  964. width: max-content !important;
  965. min-width: 100% !important;
  966. max-width: none !important;
  967. table-layout: auto !important;
  968. white-space: nowrap;
  969. }
  970. /* Zellen kompakt */
  971. .gc-detail-main .accordion-body table th,
  972. .gc-detail-main .accordion-body table td {
  973. padding: .55rem .65rem !important;
  974. vertical-align: top !important;
  975. white-space: nowrap;
  976. }
  977. /* Lange Beschreibungen dürfen umbrechen */
  978. .gc-detail-main .accordion-body table td:nth-child(4) {
  979. white-space: normal !important;
  980. min-width: 180px;
  981. max-width: 260px;
  982. }
  983. /* Horizontaler Scroll optisch sauber */
  984. .gc-detail-main .accordion-body::-webkit-scrollbar {
  985. height: 10px;
  986. }
  987. .gc-detail-main .accordion-body::-webkit-scrollbar-track {
  988. background: #eef2f7;
  989. border-radius: 999px;
  990. }
  991. .gc-detail-main .accordion-body::-webkit-scrollbar-thumb {
  992. background: #cbd5e1;
  993. border-radius: 999px;
  994. }
  995. .gc-detail-main .accordion-body::-webkit-scrollbar-thumb:hover {
  996. background: #94a3b8;
  997. }
  998. .gc-link {
  999. color: #008;
  1000. }