redesign.css 25 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181
  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: #4b5563 !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 {
  255. background: #f6ecd2;
  256. color: #8a6a1f;
  257. border-color: #ead9a7;
  258. }
  259. .gc-badge-danger {
  260. background: #fee2e2;
  261. color: #991b1b;
  262. border-color: #fecaca;
  263. }
  264. .gc-badge-success {
  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(1),
  626. .gc-table td:nth-child(1) {
  627. width: 54px;
  628. }
  629. /* Filiale / Bereich */
  630. .gc-table th:nth-child(2),
  631. .gc-table td:nth-child(2) {
  632. width: 115px;
  633. max-width: 115px;
  634. white-space: normal !important;
  635. }
  636. /* Kunde */
  637. .gc-table th:nth-child(3),
  638. .gc-table td:nth-child(3) {
  639. width: 230px;
  640. min-width: 230px;
  641. padding-left: 8px !important;
  642. }
  643. /* Verursacher */
  644. .gc-table th:nth-child(4),
  645. .gc-table td:nth-child(4) {
  646. width: 145px;
  647. min-width: 145px;
  648. padding-left: 6px !important;
  649. }
  650. /* RG-Nr. */
  651. .gc-table th:nth-child(5),
  652. .gc-table td:nth-child(5) {
  653. width: 118px;
  654. }
  655. /* RG-Datum / Fällig */
  656. .gc-table th:nth-child(6),
  657. .gc-table td:nth-child(6) {
  658. width: 120px;
  659. }
  660. /* RG-Betrag */
  661. .gc-table th:nth-child(7),
  662. .gc-table td:nth-child(7) {
  663. width: 105px;
  664. }
  665. /* offen / Kunde ges. */
  666. .gc-table th:nth-child(8),
  667. .gc-table td:nth-child(8) {
  668. width: 155px;
  669. }
  670. /* Mahnstufe / Staffel */
  671. .gc-table th:nth-child(9),
  672. .gc-table td:nth-child(9) {
  673. width: 125px;
  674. }
  675. /* Abw. */
  676. .gc-table th:nth-child(10),
  677. .gc-table td:nth-child(10) {
  678. width: 80px;
  679. }
  680. /* Kommentar Fibu */
  681. .gc-table th:nth-child(11),
  682. .gc-table td:nth-child(11) {
  683. width: 165px;
  684. }
  685. /* Kommentar Abteilung */
  686. .gc-table th:nth-child(12),
  687. .gc-table td:nth-child(12) {
  688. width: 165px;
  689. }
  690. /* Wiedervorlage */
  691. .gc-table th:nth-child(13),
  692. .gc-table td:nth-child(13) {
  693. width: 120px;
  694. }
  695. /* Abw. wieder im alten Gelb */
  696. .gc-table td:nth-child(10) .gc-badge-warning {
  697. background: #fef3c7 !important;
  698. color: #92400e !important;
  699. border-color: #fde68a !important;
  700. text-align: left;
  701. }
  702. /* =========================================================
  703. EDIT BUTTON LINKS HELLER
  704. ========================================================= */
  705. .gc-table td:first-child button,
  706. .gc-table td:first-child .btn,
  707. .gc-table td:first-child a {
  708. width: 34px;
  709. height: 34px;
  710. border-radius: 12px !important;
  711. border: 1px solid #d6dee8 !important;
  712. background: linear-gradient(
  713. 180deg,
  714. #9db0c2 0%,
  715. #879caf 100%
  716. ) !important;
  717. color: #ffffff !important;
  718. box-shadow:
  719. inset 0 1px 0 rgba(255,255,255,.28),
  720. 0 2px 6px rgba(15,23,42,.08);
  721. transition: all .18s ease;
  722. }
  723. /* Hover */
  724. .gc-table td:first-child button:hover,
  725. .gc-table td:first-child .btn:hover,
  726. .gc-table td:first-child a:hover {
  727. background: linear-gradient(
  728. 180deg,
  729. #a8b9c9 0%,
  730. #92a6b8 100%
  731. ) !important;
  732. transform: translateY(-1px);
  733. }
  734. /* Icon */
  735. .gc-table td:first-child i,
  736. .gc-table td:first-child svg {
  737. color: #ffffff !important;
  738. font-size: .9rem;
  739. }
  740. /* =========================================================
  741. DETAILSEITE: CHATVERLAUF OPTISCH AUFWERTEN
  742. ========================================================= */
  743. .chat-container2 {
  744. background: #ffffff !important;
  745. border-radius: 22px !important;
  746. overflow: hidden;
  747. }
  748. .chat-container2 .chat-content {
  749. background:
  750. radial-gradient(circle at top left, rgba(148, 163, 184, .16), transparent 22rem),
  751. linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
  752. padding: 1.25rem 1.5rem !important;
  753. }
  754. .chat-container2 .date-divider {
  755. margin: 1.25rem 0 1.5rem !important;
  756. }
  757. .chat-container2 .divider-line {
  758. background: #cbd5e1 !important;
  759. }
  760. .chat-container2 .divider-text {
  761. color: #64748b !important;
  762. font-weight: 900 !important;
  763. font-size: .76rem !important;
  764. }
  765. .chat-container2 .message {
  766. margin-bottom: 1.15rem !important;
  767. }
  768. .chat-container2 .message-header {
  769. margin-bottom: .4rem !important;
  770. }
  771. .chat-container2 .message-header .avatar {
  772. width: 34px !important;
  773. height: 34px !important;
  774. min-width: 34px !important;
  775. background: linear-gradient(180deg, #cbd5e1 0%, #94a3b8 100%) !important;
  776. color: #ffffff !important;
  777. border: 2px solid #ffffff !important;
  778. box-shadow: 0 3px 10px rgba(15, 23, 42, .10) !important;
  779. font-size: .68rem !important;
  780. text-transform: uppercase;
  781. }
  782. .chat-container2 .sender-name {
  783. color: #172033 !important;
  784. font-weight: 850 !important;
  785. font-size: .86rem !important;
  786. }
  787. .chat-container2 .timestamp {
  788. color: #94a3b8 !important;
  789. font-size: .72rem !important;
  790. }
  791. .chat-container2 .message-bubble {
  792. background: #ffffff !important;
  793. color: #1e293b !important;
  794. border: 1px solid #dbe3ee !important;
  795. border-radius: 16px 16px 16px 6px !important;
  796. padding: .72rem .95rem !important;
  797. box-shadow: 0 4px 14px rgba(15, 23, 42, .06) !important;
  798. line-height: 1.45 !important;
  799. }
  800. .chat-container2 .message-bubble:hover {
  801. border-color: #cbd5e1 !important;
  802. box-shadow: 0 8px 22px rgba(15, 23, 42, .09) !important;
  803. }
  804. /* Nachrichten rechts / Abteilung etwas anders einfärben */
  805. .chat-container2 .message.student .message-bubble,
  806. .chat-container2 .message.Abteilung .message-bubble,
  807. .chat-container2 .message.abteilung .message-bubble {
  808. background: #f8fafc;
  809. border-color: #e2e8f0;
  810. border-radius: 16px 16px 6px 16px !important;
  811. }
  812. /* Fibu / Standard links */
  813. .chat-container2 .message.teacher .message-bubble,
  814. .chat-container2 .message.Fibu .message-bubble,
  815. .chat-container2 .message.fibu .message-bubble {
  816. background: #ffffff !important;
  817. }
  818. /* Tabs schöner */
  819. .chat-container2 .tabs {
  820. background: #f8fafc !important;
  821. border-bottom: 1px solid #e2e8f0 !important;
  822. }
  823. .chat-container2 .tab {
  824. color: #64748b !important;
  825. font-weight: 850 !important;
  826. }
  827. .chat-container2 .tab.active {
  828. background: #64748b !important;
  829. color: #ffffff !important;
  830. box-shadow: 0 4px 10px rgba(15, 23, 42, .10) !important;
  831. }
  832. /* =========================================================
  833. BUTTONS: KEIN ZEILENUMBRUCH
  834. ========================================================= */
  835. .gc-action-btn,
  836. .gc-action-btn span,
  837. .gc-action-btn button,
  838. .btn {
  839. white-space: nowrap !important;
  840. }
  841. /* =========================================================
  842. RECHTE WORKFLOW-SPALTE:
  843. KEINE ZEILENUMBRÜCHE
  844. ========================================================= */
  845. .gc-action-panel button,
  846. .gc-action-panel .btn,
  847. .gc-action-panel .gc-badge,
  848. .gc-action-panel label,
  849. .gc-action-panel .form-label,
  850. .gc-action-panel .form-check-label,
  851. .gc-action-panel select,
  852. .gc-action-panel option {
  853. white-space: nowrap !important;
  854. }
  855. /* Buttons breiter */
  856. .gc-action-panel .btn {
  857. min-width: 150px;
  858. }
  859. /* Labels links etwas breiter */
  860. .gc-action-panel .row > div:first-child,
  861. .gc-action-panel .col-form-label {
  862. min-width: 125px;
  863. }
  864. /* Eingabefelder sauber ausrichten */
  865. .gc-action-panel .form-control,
  866. .gc-action-panel .form-select {
  867. min-width: 110px;
  868. }
  869. .gc-action-panel .btn:last-child {
  870. min-width: auto !important;
  871. width: auto !important;
  872. padding: .45rem .8rem !important;
  873. font-size: .92rem !important;
  874. }
  875. /* =========================================================
  876. BETRAGS-BUTTON RECHTS – EDLER
  877. ========================================================= */
  878. .gc-action-panel .btn-primary,
  879. .gc-action-panel .btn-success,
  880. .gc-action-panel .btn-purple {
  881. background: linear-gradient(
  882. 180deg,
  883. #64748b 0%,
  884. #475569 100%
  885. ) !important;
  886. border: 1px solid #475569 !important;
  887. color: #ffffff !important;
  888. box-shadow:
  889. 0 4px 12px rgba(15,23,42,.12),
  890. inset 0 1px 0 rgba(255,255,255,.12);
  891. min-width: auto !important;
  892. width: auto !important;
  893. padding: .45rem .8rem !important;
  894. font-size: .92rem !important;
  895. border-radius: 10px !important;
  896. }
  897. /* Hover */
  898. .gc-action-panel .btn-primary:hover,
  899. .gc-action-panel .btn-success:hover,
  900. .gc-action-panel .btn-purple:hover {
  901. background: linear-gradient(
  902. 180deg,
  903. #718197 0%,
  904. #526174 100%
  905. ) !important;
  906. transform: translateY(-1px);
  907. }
  908. /* =========================================================
  909. DETAILSEITE: SEITE BEI AUFGEKLAPPTEN BOXEN SCROLLBAR
  910. ========================================================= */
  911. body {
  912. overflow-y: auto !important;
  913. overflow-x: hidden !important;
  914. }
  915. .gc-shell {
  916. min-height: 100vh !important;
  917. height: auto !important;
  918. }
  919. .gc-page {
  920. min-height: calc(100vh - var(--gc-topbar-height)) !important;
  921. height: auto !important;
  922. overflow: visible !important;
  923. }
  924. .gc-detail-grid {
  925. align-items: start !important;
  926. overflow: visible !important;
  927. }
  928. .gc-detail-main,
  929. .gc-case-summary,
  930. .gc-action-panel {
  931. overflow: visible !important;
  932. }
  933. /* Falls Accordion/Boxen innen abgeschnitten werden */
  934. .accordion,
  935. .accordion-item,
  936. .accordion-collapse,
  937. .accordion-body,
  938. .collapse,
  939. .show {
  940. overflow: visible !important;
  941. }
  942. /* Chat bleibt trotzdem intern scrollbar */
  943. .gc-detail-main .chat-container2 {
  944. overflow: hidden !important;
  945. }
  946. .gc-detail-main .chat-content {
  947. overflow-y: auto !important;
  948. }
  949. /* =========================================================
  950. DETAILSEITE – ALLE AUFKLAPPBAREN BOXEN WIE "MAHNUNGEN"
  951. Inhalt bleibt in der Box, horizontaler Scroll erlaubt
  952. ========================================================= */
  953. .gc-detail-main .accordion-item,
  954. .gc-detail-main .accordion-collapse,
  955. .gc-detail-main .accordion-body {
  956. max-width: 100% !important;
  957. overflow: hidden !important;
  958. }
  959. .gc-detail-main .accordion-body {
  960. overflow-x: auto !important;
  961. overflow-y: visible !important;
  962. padding: 1rem !important;
  963. }
  964. /* Tabellen dürfen breiter sein, aber sprengen nicht mehr die Box */
  965. .gc-detail-main .accordion-body table {
  966. width: max-content !important;
  967. min-width: 100% !important;
  968. max-width: none !important;
  969. table-layout: auto !important;
  970. white-space: nowrap;
  971. }
  972. /* Zellen kompakt */
  973. .gc-detail-main .accordion-body table th,
  974. .gc-detail-main .accordion-body table td {
  975. padding: .55rem .65rem !important;
  976. vertical-align: top !important;
  977. white-space: nowrap;
  978. }
  979. /* Lange Beschreibungen dürfen umbrechen */
  980. .gc-detail-main .accordion-body table td:nth-child(4) {
  981. white-space: normal !important;
  982. min-width: 180px;
  983. max-width: 260px;
  984. }
  985. /* Horizontaler Scroll optisch sauber */
  986. .gc-detail-main .accordion-body::-webkit-scrollbar {
  987. height: 10px;
  988. }
  989. .gc-detail-main .accordion-body::-webkit-scrollbar-track {
  990. background: #eef2f7;
  991. border-radius: 999px;
  992. }
  993. .gc-detail-main .accordion-body::-webkit-scrollbar-thumb {
  994. background: #cbd5e1;
  995. border-radius: 999px;
  996. }
  997. .gc-detail-main .accordion-body::-webkit-scrollbar-thumb:hover {
  998. background: #94a3b8;
  999. }