profiler.css.twig 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272
  1. {# This file is partially duplicated in TwigBundle/Resources/views/exceotion.css.twig.
  2. If you make any change in this file, verify the same change is needed in the other file. #}
  3. {# Normalization
  4. (normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css)
  5. ========================================================================= #}
  6. *{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}
  7. :root {
  8. --font-sans-serif: Helvetica, Arial, sans-serif;
  9. --page-background: #f9f9f9;
  10. --color-text: #222;
  11. --color-muted: #999;
  12. /* when updating any of these colors, do the same in toolbar.css.twig */
  13. --color-success: #4f805d;
  14. --color-warning: #a46a1f;
  15. --color-error: #b0413e;
  16. --tab-background: #fff;
  17. --tab-color: #444;
  18. --tab-active-background: #666;
  19. --tab-active-color: #fafafa;
  20. --tab-disabled-background: #f5f5f5;
  21. --tab-disabled-color: #999;
  22. --metric-value-background: #fff;
  23. --metric-value-color: inherit;
  24. --metric-unit-color: #999;
  25. --metric-label-background: #e0e0e0;
  26. --metric-label-color: inherit;
  27. --trace-selected-background: #F7E5A1;
  28. --table-border: #e0e0e0;
  29. --table-background: #fff;
  30. --table-header: #e0e0e0;
  31. --info-background: #ddf;
  32. --tree-active-background: #F7E5A1;
  33. --exception-title-color: var(--base-2);
  34. --shadow: 0px 0px 1px rgba(128, 128, 128, .2);
  35. --border: 1px solid #e0e0e0;
  36. --background-error: var(--color-error);
  37. --highlight-comment: #969896;
  38. --highlight-default: #222222;
  39. --highlight-keyword: #a71d5d;
  40. --highlight-string: #183691;
  41. --base-0: #fff;
  42. --base-1: #f5f5f5;
  43. --base-2: #e0e0e0;
  44. --base-3: #ccc;
  45. --base-4: #666;
  46. --base-5: #444;
  47. --base-6: #222;
  48. --card-label-background: #eee;
  49. --card-label-color: var(--base-6);
  50. }
  51. .theme-dark {
  52. --page-background: #36393e;
  53. --color-text: #e0e0e0;
  54. --color-muted: #777;
  55. --color-error: #d43934;
  56. --tab-background: #555;
  57. --tab-color: #ccc;
  58. --tab-active-background: #888;
  59. --tab-active-color: #fafafa;
  60. --tab-disabled-background: var(--page-background);
  61. --tab-disabled-color: #777;
  62. --metric-value-background: #555;
  63. --metric-value-color: inherit;
  64. --metric-unit-color: #999;
  65. --metric-label-background: #777;
  66. --metric-label-color: #e0e0e0;
  67. --trace-selected-background: #71663acc;
  68. --table-border: #444;
  69. --table-background: #333;
  70. --table-header: #555;
  71. --info-background: rgba(79, 148, 195, 0.5);
  72. --tree-active-background: var(--metric-label-background);
  73. --exception-title-color: var(--base-2);
  74. --shadow: 0px 0px 1px rgba(32, 32, 32, .2);
  75. --border: 1px solid #666;
  76. --background-error: #b0413e;
  77. --highlight-comment: #dedede;
  78. --highlight-default: var(--base-6);
  79. --highlight-keyword: #ff413c;
  80. --highlight-string: #70a6fd;
  81. --base-0: #2e3136;
  82. --base-1: #444;
  83. --base-2: #666;
  84. --base-3: #666;
  85. --base-4: #666;
  86. --base-5: #e0e0e0;
  87. --base-6: #f5f5f5;
  88. --card-label-background: var(--tab-active-background);
  89. --card-label-color: var(--tab-active-color);
  90. }
  91. {# Basic styles
  92. ========================================================================= #}
  93. html, body {
  94. height: 100%;
  95. width: 100%;
  96. }
  97. body {
  98. background-color: var(--page-background);
  99. color: var(--base-6);
  100. display: flex;
  101. flex-direction: column;
  102. font-family: var(--font-sans-serif);
  103. font-size: 14px;
  104. line-height: 1.4;
  105. }
  106. h2, h3, h4 {
  107. font-weight: 500;
  108. margin: 1.5em 0 .5em;
  109. }
  110. h2 + h3,
  111. h3 + h4 {
  112. margin-top: 1em;
  113. }
  114. h2 {
  115. font-size: 24px;
  116. }
  117. h3 {
  118. font-size: 21px;
  119. }
  120. h4 {
  121. font-size: 18px;
  122. }
  123. h2 span, h3 span, h4 span,
  124. h2 small, h3 small, h4 small {
  125. color: var(--color-muted);
  126. }
  127. li {
  128. margin-bottom: 10px;
  129. }
  130. p {
  131. font-size: 16px;
  132. margin-bottom: 1em;
  133. }
  134. a {
  135. color: #218BC3;
  136. text-decoration: none;
  137. }
  138. a:hover {
  139. text-decoration: underline;
  140. }
  141. a.link-inverse {
  142. text-decoration: underline;
  143. }
  144. a.link-inverse:hover {
  145. text-decoration: none;
  146. }
  147. a:active,
  148. a:hover {
  149. outline: 0;
  150. }
  151. h2 a,
  152. h3 a,
  153. h4 a {
  154. text-decoration: underline;
  155. }
  156. h2 a:hover,
  157. h3 a:hover,
  158. h4 a:hover {
  159. text-decoration: none;
  160. }
  161. abbr {
  162. border-bottom: 1px dotted var(--base-5);
  163. cursor: help;
  164. }
  165. code, pre {
  166. font-family: monospace;
  167. font-size: 13px;
  168. }
  169. {# Buttons (the colors of this element don't change based on the selected theme)
  170. ------------------------------------------------------------------------- #}
  171. button {
  172. font-family: var(--font-sans-serif);
  173. }
  174. .btn {
  175. background: #777;
  176. border-radius: 2px;
  177. border: 0;
  178. color: #f5f5f5;
  179. display: inline-block;
  180. padding: .5em .75em;
  181. }
  182. .btn:hover {
  183. cursor: pointer;
  184. opacity: 0.8;
  185. text-decoration: none;
  186. }
  187. .btn-sm {
  188. font-size: 12px;
  189. }
  190. .btn-sm svg {
  191. height: 16px;
  192. width: 16px;
  193. vertical-align: middle;
  194. }
  195. .btn-link {
  196. border-color: transparent;
  197. color: #218BC3;
  198. text-decoration: none;
  199. background-color: transparent;
  200. outline: none;
  201. border: 0;
  202. padding: 0;
  203. cursor: pointer;
  204. }
  205. .btn-link:hover {
  206. text-decoration: underline;
  207. }
  208. {# Tables
  209. ------------------------------------------------------------------------- #}
  210. table, tr, th, td {
  211. background: var(--table-background);
  212. border-collapse: collapse;
  213. line-height: 1.5;
  214. vertical-align: top;
  215. }
  216. table {
  217. background: var(--base-0);
  218. border: var(--border);
  219. box-shadow: var(--shadow);
  220. margin: 1em 0;
  221. width: 100%;
  222. }
  223. table th, table td {
  224. padding: 8px 10px;
  225. }
  226. table th {
  227. font-weight: bold;
  228. text-align: left;
  229. }
  230. table thead th {
  231. background-color: var(--table-header);
  232. }
  233. table thead th.key {
  234. width: 19%;
  235. }
  236. table thead.small th {
  237. font-size: 12px;
  238. padding: 4px 10px;
  239. }
  240. table tbody th,
  241. table tbody td {
  242. border: 1px solid var(--base-2);
  243. border-width: 1px 0;
  244. font-family: monospace;
  245. font-size: 13px;
  246. }
  247. table tbody div {
  248. margin: .25em 0;
  249. }
  250. table tbody ul {
  251. margin: 0;
  252. padding: 0 0 0 1em;
  253. }
  254. table thead th.num-col,
  255. table tbody td.num-col {
  256. text-align: center;
  257. }
  258. {# Utility classes
  259. ========================================================================= #}
  260. .block {
  261. display: block;
  262. }
  263. .full-width {
  264. width: 100%;
  265. }
  266. .hidden {
  267. display: none;
  268. }
  269. .nowrap {
  270. white-space: pre;
  271. }
  272. .prewrap {
  273. white-space: pre-wrap;
  274. }
  275. .newline {
  276. display: block;
  277. }
  278. .break-long-words {
  279. -ms-word-break: break-all;
  280. word-break: break-all;
  281. word-break: break-word;
  282. -webkit-hyphens: auto;
  283. -moz-hyphens: auto;
  284. hyphens: auto;
  285. }
  286. .text-small {
  287. font-size: 12px !important;
  288. }
  289. .text-muted {
  290. color: var(--color-muted);
  291. }
  292. .text-danger {
  293. color: var(--color-error);
  294. }
  295. .text-bold {
  296. font-weight: bold;
  297. }
  298. .text-right {
  299. text-align: right;
  300. }
  301. .text-center {
  302. text-align: center;
  303. }
  304. .font-normal {
  305. font-family: var(--font-sans-serif);
  306. font-size: 14px;
  307. }
  308. .help {
  309. color: var(--color-muted);
  310. font-size: 14px;
  311. margin-bottom: .5em;
  312. }
  313. .empty {
  314. border: 4px dashed var(--base-2);
  315. color: var(--color-muted);
  316. margin: 1em 0;
  317. padding: .5em 2em;
  318. }
  319. .label {
  320. background-color: var(--base-4);
  321. color: #FAFAFA;
  322. display: inline-block;
  323. font-size: 12px;
  324. font-weight: bold;
  325. padding: 3px 7px;
  326. white-space: nowrap;
  327. }
  328. .label.same-width {
  329. min-width: 70px;
  330. text-align: center;
  331. }
  332. .label.status-success { background: var(--color-success); color: #FFF; }
  333. .label.status-warning { background: var(--color-warning); color: #FFF; }
  334. .label.status-error { background: var(--background-error); color: #FFF; }
  335. {# Metrics
  336. ------------------------------------------------------------------------- #}
  337. .metrics {
  338. margin: 1em 0 0;
  339. overflow: auto;
  340. }
  341. .metrics .metric {
  342. float: left;
  343. margin: 0 1em 1em 0;
  344. }
  345. .metric {
  346. background: var(--metric-value-background);
  347. border: 1px solid var(--table-border);
  348. box-shadow: var(--shadow);
  349. color: var(--metric-value-color);
  350. min-width: 100px;
  351. min-height: 70px;
  352. }
  353. .metric .value {
  354. display: block;
  355. font-size: 28px;
  356. padding: 8px 15px 4px;
  357. text-align: center;
  358. }
  359. .metric .value svg {
  360. margin: 5px 0 -5px;
  361. }
  362. .metric .unit {
  363. color: var(--metric-unit-color);
  364. font-size: 18px;
  365. margin-left: -4px;
  366. }
  367. .metric .label {
  368. background: var(--metric-label-background);
  369. color: var(--metric-label-color);
  370. display: block;
  371. font-size: 12px;
  372. padding: 5px;
  373. text-align: center;
  374. }
  375. .metrics-horizontal .metric {
  376. min-height: 0;
  377. min-width: 0;
  378. }
  379. .metrics-horizontal .metric .value,
  380. .metrics-horizontal .metric .label {
  381. display: inline;
  382. padding: 2px 6px;
  383. }
  384. .metrics-horizontal .metric .label {
  385. display: inline-block;
  386. padding: 6px;
  387. }
  388. .metrics-horizontal .metric .value {
  389. font-size: 16px;
  390. }
  391. .metrics-horizontal .metric .value svg {
  392. max-height: 14px;
  393. line-height: 10px;
  394. margin: 0;
  395. padding-left: 4px;
  396. vertical-align: middle;
  397. }
  398. .metric-divider {
  399. float: left;
  400. margin: 0 1em;
  401. min-height: 1px; {# required to apply 'margin' to an empty 'div' #}
  402. }
  403. {# Cards
  404. ------------------------------------------------------------------------- #}
  405. .card {
  406. background: var(--base-0);
  407. border: var(--border);
  408. box-shadow: var(--shadow);
  409. margin: 1em 0;
  410. padding: 10px;
  411. }
  412. .card-block + .card-block {
  413. border-top: 1px solid var(--base-2);
  414. padding-top: 10px;
  415. }
  416. .card *:first-child,
  417. .card-block *:first-child {
  418. margin-top: 0;
  419. }
  420. .card .label {
  421. background-color: var(--card-label-background);
  422. color: var(--card-label-color);
  423. }
  424. {# Status
  425. ------------------------------------------------------------------------- #}
  426. .status-success {
  427. background: rgba(94, 151, 110, 0.3);
  428. }
  429. .status-warning {
  430. background: rgba(240, 181, 24, 0.3);
  431. }
  432. .status-error {
  433. background: rgba(176, 65, 62, 0.2);
  434. }
  435. .status-success td,
  436. .status-warning td,
  437. .status-error td {
  438. background: transparent;
  439. }
  440. tr.status-error td,
  441. tr.status-warning td {
  442. border-bottom: 1px solid var(--base-2);
  443. border-top: 1px solid var(--base-2);
  444. }
  445. .status-warning .colored {
  446. color: var(--color-warning);
  447. }
  448. .status-error .colored {
  449. color: var(--color-error);
  450. }
  451. {# Syntax highlighting
  452. ========================================================================= #}
  453. .highlight pre {
  454. margin: 0;
  455. white-space: pre-wrap;
  456. }
  457. .highlight .keyword { color: #8959A8; font-weight: bold; }
  458. .highlight .word { color: var(--color-text); }
  459. .highlight .variable { color: #916319; }
  460. .highlight .symbol { color: var(--color-text); }
  461. .highlight .comment { color: #999999; }
  462. .highlight .backtick { color: #718C00; }
  463. .highlight .string { color: #718C00; }
  464. .highlight .number { color: #F5871F; font-weight: bold; }
  465. .highlight .error { color: #C82829; }
  466. {# Icons
  467. ========================================================================= #}
  468. .sf-icon {
  469. vertical-align: middle;
  470. background-repeat: no-repeat;
  471. background-size: contain;
  472. width: 16px;
  473. height: 16px;
  474. display: inline-block;
  475. }
  476. .sf-icon svg {
  477. width: 16px;
  478. height: 16px;
  479. }
  480. .sf-icon.sf-medium,
  481. .sf-icon.sf-medium svg {
  482. width: 24px;
  483. height: 24px;
  484. }
  485. .sf-icon.sf-large,
  486. .sf-icon.sf-large svg {
  487. width: 32px;
  488. height: 32px;
  489. }
  490. {# Layout
  491. ========================================================================= #}
  492. .container {
  493. max-width: 1300px;
  494. padding-right: 15px;
  495. }
  496. #header {
  497. flex: 0 0 auto;
  498. }
  499. #header .container {
  500. display: flex;
  501. flex-direction: row;
  502. justify-content: space-between;
  503. }
  504. #summary {
  505. flex: 0 0 auto;
  506. }
  507. #content {
  508. height: 100%;
  509. }
  510. #main {
  511. display: flex;
  512. flex-direction: row;
  513. min-height: 100%;
  514. }
  515. #sidebar {
  516. flex: 0 0 220px;
  517. }
  518. #collector-wrapper {
  519. flex: 0 1 100%;
  520. min-width: 0;
  521. }
  522. #collector-content {
  523. margin: 0 0 30px 0;
  524. padding: 14px 0 14px 20px;
  525. }
  526. #main h2:first-of-type {
  527. margin-top: 0;
  528. }
  529. {# Header (the colors of this element don't change based on the selected theme)
  530. ========================================================================= #}
  531. #header {
  532. background-color: #222;
  533. overflow: hidden;
  534. }
  535. #header h1 {
  536. color: #fff;
  537. flex: 1;
  538. font-weight: normal;
  539. font-size: 21px;
  540. margin: 0;
  541. padding: 10px 10px 8px;
  542. }
  543. #header h1 span {
  544. color: #ccc;
  545. }
  546. #header h1 svg {
  547. height: 40px;
  548. width: 40px;
  549. margin-top: -4px;
  550. vertical-align: middle;
  551. }
  552. #header h1 svg path,
  553. #header h1 svg .sf-svg-path {
  554. fill: #fff;
  555. }
  556. #header .search {
  557. padding-top: 11px;
  558. }
  559. #header .search input {
  560. border: 1px solid #ddd;
  561. margin-right: 4px;
  562. padding: 7px 8px;
  563. width: 200px;
  564. }
  565. {# Summary
  566. ========================================================================= #}
  567. #summary .status {
  568. background: var(--base-2);
  569. border: solid rgba(0, 0, 0, 0.1);
  570. border-width: 2px 0;
  571. padding: 10px;
  572. }
  573. #summary h2,
  574. #summary h2 a {
  575. color: var(--base-6);
  576. font-size: 21px;
  577. margin: 0;
  578. text-decoration: none;
  579. vertical-align: middle;
  580. }
  581. #summary h2 a:hover {
  582. text-decoration: underline;
  583. }
  584. #summary h2 a.referer {
  585. margin-left: .5em;
  586. font-size: 75%;
  587. color: rgba(255, 255, 255, 0.5);
  588. }
  589. #summary h2 a.referer:before {
  590. content: '\1F503\00a0';
  591. }
  592. #summary .status-success { background: var(--color-success); }
  593. #summary .status-warning { background: var(--color-warning); }
  594. #summary .status-error { background: var(--background-error); }
  595. #summary .status-success h2,
  596. #summary .status-success a,
  597. #summary .status-warning h2,
  598. #summary .status-warning a,
  599. #summary .status-error h2,
  600. #summary .status-error a {
  601. color: #FFF;
  602. }
  603. #summary dl.metadata,
  604. #summary dl.metadata a {
  605. margin: 5px 0 0;
  606. color: rgba(255, 255, 255, 0.75);
  607. }
  608. #summary dl.metadata dt,
  609. #summary dl.metadata dd {
  610. display: inline-block;
  611. font-size: 13px;
  612. }
  613. #summary dl.metadata dt {
  614. font-weight: bold;
  615. }
  616. #summary dl.metadata dt:after {
  617. content: ':';
  618. }
  619. #summary dl.metadata dd {
  620. margin: 0 1.5em 0 0;
  621. }
  622. #summary dl.metadata .label {
  623. background: rgba(255, 255, 255, 0.2);
  624. }
  625. {# Sidebar
  626. ========================================================================= #}
  627. #sidebar {
  628. background: #444;
  629. color: #ccc;
  630. padding-bottom: 30px;
  631. position: relative;
  632. width: 220px;
  633. z-index: 9999;
  634. }
  635. #sidebar .module {
  636. padding: 10px;
  637. width: 220px;
  638. }
  639. {# Sidebar Shortcuts
  640. ------------------------------------------------------------------------- #}
  641. #sidebar #sidebar-shortcuts {
  642. background: #333;
  643. width: 220px;
  644. }
  645. #sidebar #sidebar-shortcuts .shortcuts {
  646. position: relative;
  647. padding: 16px 10px;
  648. }
  649. #sidebar-shortcuts .icon {
  650. display: block;
  651. float: left;
  652. width: 50px;
  653. margin: 2px 0 0 -10px;
  654. text-align: center;
  655. }
  656. #sidebar #sidebar-shortcuts .btn {
  657. color: #f5f5f5;
  658. }
  659. #sidebar #sidebar-shortcuts .btn + .btn {
  660. margin-left: 5px;
  661. }
  662. #sidebar #sidebar-shortcuts .btn {
  663. padding: .5em;
  664. }
  665. {# Sidebar Search (the colors of this element don't change based on the selected theme)
  666. ------------------------------------------------------------------------- #}
  667. #sidebar-search .form-group:first-of-type {
  668. padding-top: 20px;
  669. }
  670. #sidebar-search .form-group {
  671. clear: both;
  672. overflow: hidden;
  673. padding-bottom: 10px;
  674. }
  675. #sidebar-search .form-group label {
  676. float: left;
  677. font-size: 13px;
  678. line-height: 24px;
  679. width: 60px;
  680. }
  681. #sidebar-search .form-group input,
  682. #sidebar-search .form-group select {
  683. float: left;
  684. font-size: 13px;
  685. padding: 3px 6px;
  686. }
  687. #sidebar-search .form-group input {
  688. background: #ccc;
  689. border: 1px solid var(--color-muted);
  690. color: #222;
  691. width: 120px;
  692. }
  693. #sidebar-search .form-group select {
  694. color: #222;
  695. }
  696. #sidebar-search .form-group .btn {
  697. float: right;
  698. margin-right: 10px;
  699. }
  700. {# Sidebar Menu (the colors of this element don't change based on the selected theme)
  701. ------------------------------------------------------------------------- #}
  702. #menu-profiler {
  703. margin: 0;
  704. padding: 0;
  705. list-style-type: none;
  706. }
  707. #menu-profiler li {
  708. position: relative;
  709. margin-bottom: 0;
  710. }
  711. #menu-profiler li a {
  712. border: solid transparent;
  713. border-width: 2px 0;
  714. color: var(--base-3);
  715. display: block;
  716. }
  717. #menu-profiler li a:hover {
  718. text-decoration: none;
  719. }
  720. #menu-profiler li a .label {
  721. background: transparent;
  722. color: #EEE;
  723. display: block;
  724. padding: 8px 10px 8px 50px;
  725. overflow: hidden;
  726. white-space: nowrap;
  727. }
  728. #menu-profiler li a .label .icon {
  729. display: block;
  730. position: absolute;
  731. left: 0;
  732. top: 8px;
  733. width: 50px;
  734. text-align: center;
  735. }
  736. #menu-profiler .label .icon img,
  737. #menu-profiler .label .icon svg {
  738. height: 24px;
  739. max-width: 24px;
  740. }
  741. #menu-profiler li a .label .icon svg path,
  742. #menu-profiler li a .label .icon svg .sf-svg-path {
  743. fill: #DDD;
  744. }
  745. #menu-profiler li a .label strong {
  746. font-size: 16px;
  747. font-weight: normal;
  748. }
  749. #menu-profiler li a .label.disabled {
  750. opacity: .25;
  751. }
  752. #menu-profiler li a:hover .label.disabled,
  753. #menu-profiler li.selected a .label.disabled {
  754. opacity: 1;
  755. }
  756. #menu-profiler li.selected a,
  757. #menu-profiler:hover li.selected a:hover,
  758. #menu-profiler li a:hover {
  759. background: #666;
  760. border: solid #555;
  761. border-width: 2px 0;
  762. }
  763. #menu-profiler li.selected a .label,
  764. #menu-profiler li a:hover .label {
  765. color: #FFF;
  766. }
  767. #menu-profiler li.selected a .icon svg path,
  768. #menu-profiler li.selected a .icon svg .sf-svg-path,
  769. #menu-profiler li a:hover .icon svg path,
  770. #menu-profiler li a:hover .icon svg .sf-svg-path {
  771. fill: #fff;
  772. }
  773. #menu-profiler li a .count {
  774. background-color: #666;
  775. color: #fff;
  776. display: inline-block;
  777. font-weight: bold;
  778. min-width: 10px;
  779. padding: 2px 6px;
  780. position: absolute;
  781. right: 10px;
  782. text-align: center;
  783. vertical-align: baseline;
  784. white-space: nowrap;
  785. }
  786. #menu-profiler li a span.count span {
  787. font-size: 12px;
  788. }
  789. #menu-profiler li a span.count span + span::before {
  790. content: " / ";
  791. color: #AAA;
  792. }
  793. #menu-profiler .label-status-warning .count {
  794. background: var(--color-warning);
  795. }
  796. #menu-profiler .label-status-error .count {
  797. background: var(--background-error);
  798. }
  799. {# Timeline panel
  800. ========================================================================= #}
  801. #timeline-control {
  802. background: var(--table-background);
  803. box-shadow: var(--shadow);
  804. margin: 1em 0;
  805. padding: 10px;
  806. }
  807. #timeline-control label {
  808. font-weight: bold;
  809. margin-right: 1em;
  810. }
  811. #timeline-control input {
  812. background: var(--metric-value-background);
  813. border: 1px solid var(--table-border);
  814. font-size: 16px;
  815. padding: 4px;
  816. text-align: right;
  817. width: 5em;
  818. }
  819. #timeline-control .help {
  820. margin-left: 1em;
  821. }
  822. .sf-profiler-timeline .legends {
  823. font-size: 12px;
  824. line-height: 1.5em;
  825. }
  826. .sf-profiler-timeline + p.help {
  827. margin-top: 0;
  828. }
  829. {# Tabbed navigation
  830. ========================================================================= #}
  831. .tab-navigation {
  832. margin: 0 0 1em 0;
  833. padding: 0;
  834. }
  835. .tab-navigation li {
  836. background: var(--tab-background);
  837. border: 1px solid var(--table-border);
  838. color: var(--tab-color);
  839. cursor: pointer;
  840. display: inline-block;
  841. font-size: 16px;
  842. margin: 0 0 0 -1px;
  843. padding: .5em .75em;
  844. z-index: 1;
  845. }
  846. .tab-navigation li .badge {
  847. background-color: var(--base-1);
  848. color: var(--base-4);
  849. display: inline-block;
  850. font-size: 14px;
  851. font-weight: bold;
  852. margin-left: 8px;
  853. min-width: 10px;
  854. padding: 1px 6px;
  855. text-align: center;
  856. white-space: nowrap;
  857. }
  858. .tab-navigation li.disabled {
  859. background: var(--tab-disabled-background);
  860. color: var(--tab-disabled-color);
  861. }
  862. .tab-navigation li.active {
  863. background: var(--tab-active-background);
  864. color: var(--tab-active-color);
  865. z-index: 1100;
  866. }
  867. .tab-navigation li.active .badge {
  868. background-color: var(--base-5);
  869. color: var(--base-2);
  870. }
  871. .tab-content > *:first-child {
  872. margin-top: 0;
  873. }
  874. .tab-navigation li .badge.status-warning { background: var(--color-warning); color: #FFF; }
  875. .tab-navigation li .badge.status-error { background: var(--background-error); color: #FFF; }
  876. .sf-tabs .tab:not(:first-child) { display: none; }
  877. {# Toggles
  878. ========================================================================= #}
  879. .sf-toggle-content {
  880. -moz-transition: display .25s ease;
  881. -webkit-transition: display .25s ease;
  882. transition: display .25s ease;
  883. }
  884. .sf-toggle-content.sf-toggle-hidden {
  885. display: none;
  886. }
  887. .sf-toggle-content.sf-toggle-visible {
  888. display: block;
  889. }
  890. {# Filters
  891. ========================================================================= #}
  892. [data-filters] { position: relative; }
  893. [data-filtered] { cursor: pointer; }
  894. [data-filtered]:after { content: '\00a0\25BE'; }
  895. [data-filtered]:hover .filter-list li { display: inline-flex; }
  896. [class*="filter-hidden-"] { display: none; }
  897. .filter-list { position: absolute; border: var(--border); box-shadow: var(--shadow); margin: 0; padding: 0; display: flex; flex-direction: column; }
  898. .filter-list :after { content: ''; }
  899. .filter-list li {
  900. background: var(--tab-disabled-background);
  901. border-bottom: var(--border);
  902. color: var(--tab-disabled-color);
  903. display: none;
  904. list-style: none;
  905. margin: 0;
  906. padding: 5px 10px;
  907. text-align: left;
  908. font-weight: normal;
  909. }
  910. .filter-list li.active {
  911. background: var(--tab-background);
  912. color: var(--tab-color);
  913. }
  914. .filter-list li.last-active {
  915. background: var(--tab-active-background);
  916. color: var(--tab-active-color);
  917. }
  918. .filter-list-level li { cursor: s-resize; }
  919. .filter-list-level li.active { cursor: n-resize; }
  920. .filter-list-level li.last-active { cursor: default; }
  921. .filter-list-level li.last-active:before { content: '\2714\00a0'; }
  922. .filter-list-choice li:before { content: '\2714\00a0'; color: transparent; }
  923. .filter-list-choice li.active:before { color: unset; }
  924. {# Twig panel
  925. ========================================================================= #}
  926. #twig-dump pre {
  927. font-size: 12px;
  928. line-height: 1.7;
  929. background-color: var(--base-0);
  930. border: var(--border);
  931. padding: 15px;
  932. box-shadow: 0 0 1px rgba(128, 128, 128, .2);
  933. }
  934. #twig-dump span {
  935. border-radius: 2px;
  936. padding: 1px 2px;
  937. }
  938. #twig-dump .status-error { background: transparent; color: var(--color-error); }
  939. #twig-dump .status-warning { background: rgba(240, 181, 24, 0.3); }
  940. #twig-dump .status-success { background: rgba(100, 189, 99, 0.2); }
  941. #twig-dump .status-info { background: var(--info-background); }
  942. #twig-table tbody td {
  943. vertical-align: middle;
  944. }
  945. #twig-table tbody td > a {
  946. margin-left: -5px;
  947. }
  948. #twig-table tbody td div {
  949. margin: 0;
  950. }
  951. .icon-twig {
  952. vertical-align: text-bottom;
  953. }
  954. .icon-twig svg path {
  955. fill: #7eea12;
  956. }
  957. {# Logger panel
  958. ========================================================================= #}
  959. table.logs .metadata {
  960. display: block;
  961. font-size: 12px;
  962. }
  963. .theme-dark tr.status-error td,
  964. .theme-dark tr.status-warning td { border-bottom: unset; border-top: unset; }
  965. {# Doctrine panel
  966. ========================================================================= #}
  967. .sql-runnable {
  968. background: var(--base-1);
  969. margin: .5em 0;
  970. padding: 1em;
  971. }
  972. .sql-explain {
  973. overflow-x: auto;
  974. max-width: 920px;
  975. }
  976. .sql-explain table td, .sql-explain table tr {
  977. word-break: normal;
  978. }
  979. .queries-table pre {
  980. margin: 0;
  981. white-space: pre-wrap;
  982. -ms-word-break: break-all;
  983. word-break: break-all;
  984. word-break: break-word;
  985. -webkit-hyphens: auto;
  986. -moz-hyphens: auto;
  987. hyphens: auto;
  988. }
  989. {# Security panel
  990. ========================================================================= #}
  991. #collector-content .decision-log .voter_result td {
  992. border-top-width: 1px;
  993. border-bottom-width: 0;
  994. padding-bottom: 0;
  995. }
  996. #collector-content .decision-log .voter_details td {
  997. border-top-width: 0;
  998. border-bottom-width: 1px;
  999. padding-bottom: 0;
  1000. }
  1001. #collector-content .decision-log .voter_details table {
  1002. border: 0;
  1003. margin: 0;
  1004. box-shadow: unset;
  1005. }
  1006. #collector-content .decision-log .voter_details table td {
  1007. border: 0;
  1008. padding: 0 0 8px 0;
  1009. }
  1010. {# Validator panel
  1011. ========================================================================= #}
  1012. #collector-content .sf-validator {
  1013. margin-bottom: 2em;
  1014. }
  1015. #collector-content .sf-validator .sf-validator-context,
  1016. #collector-content .sf-validator .trace {
  1017. border: var(--border);
  1018. background: var(--base-0);
  1019. padding: 10px;
  1020. margin: 0.5em 0;
  1021. overflow: auto;
  1022. }
  1023. #collector-content .sf-validator .trace {
  1024. font-size: 12px;
  1025. }
  1026. #collector-content .sf-validator .trace li {
  1027. margin-bottom: 0;
  1028. padding: 0;
  1029. }
  1030. #collector-content .sf-validator .trace li.selected {
  1031. background: rgba(255, 255, 153, 0.5);
  1032. }
  1033. {# Messenger panel
  1034. ========================================================================= #}
  1035. #collector-content .message-bus .trace {
  1036. border: 1px solid #DDD;
  1037. background: #FFF;
  1038. padding: 10px;
  1039. margin: 0.5em 0;
  1040. overflow: auto;
  1041. }
  1042. #collector-content .message-bus .trace {
  1043. font-size: 12px;
  1044. }
  1045. #collector-content .message-bus .trace li {
  1046. margin-bottom: 0;
  1047. padding: 0;
  1048. }
  1049. #collector-content .message-bus .trace li.selected {
  1050. background: rgba(255, 255, 153, 0.5);
  1051. }
  1052. {# Dump panel
  1053. ========================================================================= #}
  1054. pre.sf-dump, pre.sf-dump .sf-dump-default {
  1055. z-index: 1000 !important;
  1056. }
  1057. #collector-content .sf-dump {
  1058. margin-bottom: 2em;
  1059. }
  1060. #collector-content pre.sf-dump,
  1061. #collector-content .sf-dump code,
  1062. #collector-content .sf-dump samp {
  1063. font-family: monospace;
  1064. font-size: 13px;
  1065. }
  1066. #collector-content .sf-dump a {
  1067. cursor: pointer;
  1068. }
  1069. #collector-content .sf-dump pre.sf-dump,
  1070. #collector-content .sf-dump .trace {
  1071. border: var(--border);
  1072. padding: 10px;
  1073. margin: 0.5em 0;
  1074. overflow: auto;
  1075. }
  1076. #collector-content pre.sf-dump,
  1077. #collector-content .sf-dump-default {
  1078. background: none;
  1079. }
  1080. #collector-content .sf-dump-ellipsis { max-width: 100em; }
  1081. #collector-content .sf-dump {
  1082. margin: 0;
  1083. padding: 0;
  1084. line-height: 1.4;
  1085. }
  1086. #collector-content .dump-inline .sf-dump {
  1087. display: inline;
  1088. white-space: normal;
  1089. font-size: inherit;
  1090. line-height: inherit;
  1091. }
  1092. #collector-content .dump-inline .sf-dump:after {
  1093. display: none;
  1094. }
  1095. #collector-content .sf-dump .trace {
  1096. font-size: 12px;
  1097. }
  1098. #collector-content .sf-dump .trace li {
  1099. margin-bottom: 0;
  1100. padding: 0;
  1101. }
  1102. {# Search Results page
  1103. ========================================================================= #}
  1104. #search-results td {
  1105. font-family: var(--font-sans-serif);
  1106. vertical-align: middle;
  1107. }
  1108. #search-results .sf-search {
  1109. visibility: hidden;
  1110. margin-left: 2px;
  1111. }
  1112. #search-results tr:hover .sf-search {
  1113. visibility: visible;
  1114. }
  1115. {# Small screens
  1116. ========================================================================= #}
  1117. .visible-small {
  1118. display: none;
  1119. }
  1120. .hidden-small {
  1121. display: inherit;
  1122. }
  1123. @media (max-width: 768px) {
  1124. #sidebar {
  1125. flex-basis: 50px;
  1126. overflow-x: hidden;
  1127. transition: flex-basis 200ms ease-out;
  1128. }
  1129. #sidebar:hover, #sidebar.expanded {
  1130. flex-basis: 220px;
  1131. }
  1132. #sidebar-search {
  1133. display: none;
  1134. }
  1135. #sidebar:hover #sidebar-search.sf-toggle-visible, #sidebar.expanded #sidebar-search.sf-toggle-visible {
  1136. display: block;
  1137. }
  1138. #sidebar .module {
  1139. display: none;
  1140. }
  1141. #sidebar:hover .module, #sidebar.expanded .module {
  1142. display: block;
  1143. }
  1144. #sidebar:not(:hover):not(.expanded) .label .count {
  1145. border-radius: 50%;
  1146. border: 1px solid #eee;
  1147. height: 8px;
  1148. min-width: 0;
  1149. padding: 0;
  1150. right: 4px;
  1151. text-indent: -9999px;
  1152. top: 50%;
  1153. width: 8px;
  1154. }
  1155. .visible-small {
  1156. display: inherit;
  1157. }
  1158. .hidden-small {
  1159. display: none;
  1160. }
  1161. .btn-sm svg {
  1162. margin-left: 2px;
  1163. }
  1164. }
  1165. {# Config Options
  1166. ========================================================================= #}
  1167. body.width-full .container {
  1168. max-width: 100%;
  1169. }
  1170. body.theme-light #collector-content .sf-dump pre.sf-dump,
  1171. body.theme-light #collector-content .sf-dump .trace {
  1172. background: #FFF;
  1173. }
  1174. body.theme-light #collector-content pre.sf-dump,
  1175. body.theme-light #collector-content .sf-dump-default {
  1176. color: #CC7832;
  1177. }
  1178. body.theme-light #collector-content .sf-dump-str { color: #629755; }
  1179. body.theme-light #collector-content .sf-dump-private,
  1180. body.theme-light #collector-content .sf-dump-protected,
  1181. body.theme-light #collector-content .sf-dump-public { color: #262626; }
  1182. body.theme-light #collector-content .sf-dump-note { color: #6897BB; }
  1183. body.theme-light #collector-content .sf-dump-key { color: #789339; }
  1184. body.theme-light #collector-content .sf-dump-ref { color: #6E6E6E; }
  1185. body.theme-light #collector-content .sf-dump-ellipsis { color: #CC7832; max-width: 100em; }
  1186. body.theme-light #collector-content .sf-dump-ellipsis-path { max-width: 5em; }
  1187. body.theme-light #collector-content .sf-dump .trace li.selected {
  1188. background: rgba(255, 255, 153, 0.5);
  1189. }